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 BoxConstraints contentConstraints,
  7. required EdgeInsetsGeometry contentPadding,
  8. required double contentSpacing,
  9. required BoxConstraints iconConstraints,
  10. required double iconSize,
  11. 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 BoxConstraints contentConstraints,
  required EdgeInsetsGeometry contentPadding,
  required double contentSpacing,
  required BoxConstraints iconConstraints,
  required double iconSize,
  required EdgeInsetsGeometry iconPadding,
}) => FButtonStyle(
  decoration: decoration,
  focusedOutlineStyle: style.focusedOutlineStyle,
  contentStyle: FButtonContentStyle(
    textStyle: .from(
      textStyle.copyWith(color: foregroundColor, fontWeight: .w500, height: 1),
      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,
    constraints: contentConstraints,
  ),
  iconContentStyle: FButtonIconContentStyle(
    iconStyle: .from(
      IconThemeData(color: foregroundColor, size: iconSize),
      variants: {
        [.disabled]: .delta(color: disabledForegroundColor),
      },
    ),
    padding: iconPadding,
    constraints: iconConstraints,
  ),
  tappableStyle: style.tappableStyle,
);