FButtonStyle.inherit constructor

FButtonStyle.inherit({
  1. required FStyle style,
  2. required FVariants<FTappableVariantConstraint, FTappableVariant, Decoration, DecorationDelta> decoration,
  3. required Color foregroundColor,
  4. required Color disabledForegroundColor,
  5. required TextStyle textStyle,
  6. required EdgeInsetsGeometry contentPadding,
  7. required double contentSpacing,
  8. required double iconSize,
  9. required EdgeInsetsGeometry iconPadding,
})

Creates a FButtonStyle that inherits its properties.

Implementation

factory FButtonStyle.inherit({
  required FStyle style,
  required FVariants<FTappableVariantConstraint, FTappableVariant, Decoration, DecorationDelta> decoration,
  required Color foregroundColor,
  required Color disabledForegroundColor,
  required TextStyle textStyle,
  required EdgeInsetsGeometry contentPadding,
  required double contentSpacing,
  required double iconSize,
  required EdgeInsetsGeometry iconPadding,
}) => FButtonStyle(
  decoration: decoration,
  focusedOutlineStyle: style.focusedOutlineStyle,
  contentStyle: FButtonContentStyle(
    textStyle: .from(
      textStyle.copyWith(color: foregroundColor, fontWeight: .w500, height: 1, leadingDistribution: .even),
      variants: {
        [.disabled]: .delta(color: disabledForegroundColor),
      },
    ),
    iconStyle: .from(
      IconThemeData(color: foregroundColor, size: textStyle.fontSize),
      variants: {
        [.disabled]: .delta(color: disabledForegroundColor),
      },
    ),
    circularProgressStyle: .from(
      FCircularProgressStyle(
        iconStyle: IconThemeData(color: foregroundColor, size: textStyle.fontSize),
      ),
      variants: {
        [.disabled]: .delta(iconStyle: .delta(color: disabledForegroundColor)),
      },
    ),
    padding: contentPadding,
    spacing: contentSpacing,
  ),
  iconContentStyle: FButtonIconContentStyle(
    iconStyle: .from(
      IconThemeData(color: foregroundColor, size: iconSize),
      variants: {
        [.disabled]: .delta(color: disabledForegroundColor),
      },
    ),
    padding: iconPadding,
  ),
  tappableStyle: style.tappableStyle,
);