apply method

ShadTextTheme apply({
  1. String? family,
  2. List<String>? fontFamilyFallback,
  3. String? package,
  4. double fontSizeFactor = 1.0,
  5. double fontSizeDelta = 0.0,
  6. Color? displayColor,
  7. Color? bodyColor,
  8. Color? decorationColor,
  9. TextDecoration? decoration,
  10. TextDecorationStyle? decorationStyle,
})

Implementation

ShadTextTheme apply({
  String? family,
  List<String>? fontFamilyFallback,
  String? package,
  double fontSizeFactor = 1.0,
  double fontSizeDelta = 0.0,
  Color? displayColor,
  Color? bodyColor,
  Color? decorationColor,
  TextDecoration? decoration,
  TextDecorationStyle? decorationStyle,
}) {
  final effectiveFamily = family ?? this.family;
  return ShadTextTheme.custom(
    canMerge: canMerge,
    family: effectiveFamily,
    h1Large: h1Large.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: displayColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    h1: h1.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: displayColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    h2: h2.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: displayColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    h3: h3.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: displayColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    h4: h4.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: displayColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    p: p.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: bodyColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    blockquote: blockquote.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: bodyColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    table: table.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: bodyColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    list: list.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: bodyColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    lead: lead.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: bodyColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    large: large.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
      color: bodyColor,
    ),
    small: small.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
      color: bodyColor,
    ),
    muted: muted.apply(
      fontFamily: effectiveFamily,
      fontFamilyFallback: fontFamilyFallback,
      package: package,
      fontSizeFactor: fontSizeFactor,
      fontSizeDelta: fontSizeDelta,
      color: bodyColor,
      decoration: decoration,
      decorationColor: decorationColor,
      decorationStyle: decorationStyle,
    ),
    googleFontBuilder: googleFontBuilder,
    custom: {
      for (final entry in custom.entries)
        entry.key: entry.value.apply(
          fontFamily: effectiveFamily,
          fontFamilyFallback: fontFamilyFallback,
          package: package,
          fontSizeFactor: fontSizeFactor,
          fontSizeDelta: fontSizeDelta,
          color: bodyColor,
          decoration: decoration,
          decorationColor: decorationColor,
          decorationStyle: decorationStyle,
        ),
    },
  );
}