From 45982725f3f30f90c5163fb019d87cf232daa1bd Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Tue, 18 Jun 2024 15:38:10 +0800 Subject: [PATCH 1/6] WIP constructor egronomics --- forui/example/lib/main.dart | 4 +- forui/lib/src/widgets/badge/badge.dart | 7 +- .../lib/src/widgets/badge/badge_content.dart | 21 ++++- forui/lib/src/widgets/button/button.dart | 24 ++++-- .../src/widgets/button/button_content.dart | 59 +++++++------- .../widgets/button/button_content_icon.dart | 29 +++++++ forui/lib/src/widgets/dialog/dialog.dart | 18 +++-- .../src/widgets/dialog/dialog_content.dart | 79 ++++++++++++------- forui/test/src/widgets/badge_golden_test.dart | 2 +- .../test/src/widgets/button_golden_test.dart | 2 +- .../widgets/dialog/dialog_golden_test.dart | 4 +- 11 files changed, 163 insertions(+), 86 deletions(-) create mode 100644 forui/lib/src/widgets/button/button_content_icon.dart diff --git a/forui/example/lib/main.dart b/forui/example/lib/main.dart index af9511083..cf654814c 100644 --- a/forui/example/lib/main.dart +++ b/forui/example/lib/main.dart @@ -58,8 +58,8 @@ class _ExampleWidgetState extends State { context: context, builder: (context) => FDialog( alignment: FDialogAlignment.horizontal, - title: 'Are you absolutely sure?', - subtitle: 'This action cannot be undone. This will permanently delete your account and remove your data from our servers.', + titleText: 'Are you absolutely sure?', + bodyText: 'This action cannot be undone. This will permanently delete your account and remove your data from our servers.', actions: [ FButton(design: FButtonVariant.outlined, text: 'Cancel', onPress: () { Navigator.of(context).pop(); diff --git a/forui/lib/src/widgets/badge/badge.dart b/forui/lib/src/widgets/badge/badge.dart index d6658af3d..4b409750e 100644 --- a/forui/lib/src/widgets/badge/badge.dart +++ b/forui/lib/src/widgets/badge/badge.dart @@ -18,10 +18,13 @@ class FBadge extends StatelessWidget { /// Creates a [FBadge]. FBadge({ - required String label, + Widget? label, + String? labelText, this.design = FBadgeVariant.primary, super.key, - }) : builder = ((context, style) => FBadgeContent(label: label, style: style)); + }) : + assert((label == null) ^ (labelText == null), 'Either "label" or "labelText" must be provided.'), + builder = ((context, style) => FBadgeContent(label: label, labelText: labelText, style: style)); /// Creates a [FBadge]. const FBadge.raw({required this.design, required this.builder, super.key}); diff --git a/forui/lib/src/widgets/badge/badge_content.dart b/forui/lib/src/widgets/badge/badge_content.dart index a4892633c..41fcd1884 100644 --- a/forui/lib/src/widgets/badge/badge_content.dart +++ b/forui/lib/src/widgets/badge/badge_content.dart @@ -2,15 +2,28 @@ part of 'badge.dart'; @internal final class FBadgeContent extends StatelessWidget { final FBadgeStyle style; - final String label; + final Widget? label; + final String? labelText; - const FBadgeContent({required this.style, required this.label, super.key}); + const FBadgeContent({ + required this.style, + this.label, + this.labelText, + super.key, + }); @override Widget build(BuildContext context) => Center( child: Padding( padding: style.content.padding, - child: Text(label, style: style.content.label.scale(context.theme.typography)), + child: DefaultTextStyle( + style: style.content.label.scale(context.theme.typography), + child: switch ((label, labelText)) { + (final Widget label, _) => label, + (_, final String label) => Text(label), + _ => const Placeholder(), + }, + ), ), ); @@ -19,7 +32,7 @@ part of 'badge.dart'; super.debugFillProperties(properties); properties ..add(DiagnosticsProperty('style', style)) - ..add(StringProperty('label', label)); + ..add(StringProperty('labelText', labelText)); } } diff --git a/forui/lib/src/widgets/button/button.dart b/forui/lib/src/widgets/button/button.dart index 42a4cf681..7094727d7 100644 --- a/forui/lib/src/widgets/button/button.dart +++ b/forui/lib/src/widgets/button/button.dart @@ -5,8 +5,10 @@ import 'package:meta/meta.dart'; import 'package:forui/forui.dart'; import 'package:forui/src/foundation/tappable.dart'; +import 'package:sugar/collection.dart'; part 'button_content.dart'; +part 'button_content_icon.dart'; part 'button_styles.dart'; /// A button. @@ -55,15 +57,21 @@ class FButton extends StatelessWidget { this.autofocus = false, this.focusNode, this.onFocusChange, - String? text, - SvgAsset? icon, + Widget? prefixIcon, + Widget? suffixIcon, + Widget? label, + String? labelText, super.key, - }) : builder = ((context, style) => FButtonContent( - text: text, - icon: icon, - style: style, - enabled: onPress != null, - )); + }) : + assert((label != null) ^ (labelText != null), 'Either label or labelText must be provided, but not both.'), + builder = ((context, style) => FButtonContent( + prefixIcon: prefixIcon, + suffixIcon: suffixIcon, + label: label, + labelText: labelText, + style: style, + enabled: onPress != null, + )); /// Creates a [FButton]. const FButton.raw({ diff --git a/forui/lib/src/widgets/button/button_content.dart b/forui/lib/src/widgets/button/button_content.dart index e1e0a53dc..eec07e3a5 100644 --- a/forui/lib/src/widgets/button/button_content.dart +++ b/forui/lib/src/widgets/button/button_content.dart @@ -3,16 +3,18 @@ part of 'button.dart'; @internal final class FButtonContent extends StatelessWidget { final FButtonStyle style; final bool enabled; - final String? text; - final SvgAsset? icon; // TODO: We should allow for custom heading and trailing widgets. - final Widget? child; + final Widget? prefixIcon; + final Widget? suffixIcon; + final Widget? label; + final String? labelText; const FButtonContent({ required this.style, this.enabled = true, - this.text, - this.icon, - this.child, + this.prefixIcon, + this.suffixIcon, + this.label, + this.labelText, super.key, }); @@ -23,17 +25,21 @@ part of 'button.dart'; padding: style.padding, child: Row( mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (icon != null) ...[ - icon!( - height: 20, // TODO: Icon size should be configurable. - colorFilter: ColorFilter.mode(enabled ? style.enabledIcon : style.disabledIcon, BlendMode.srcIn), - ), - const SizedBox(width: 10) - ], - if (text != null) Flexible(child: Text(text!, style: enabled ? style.enabledText : style.disabledText)), - if (child != null) child! - ], + children: separate([ + if (prefixIcon != null) + prefixIcon!, + + switch ((label, labelText)) { + (final Widget label, _) => label, + (_, final String label) => Text(label), + _ => const Placeholder(), + }, + + if (suffixIcon != null) + suffixIcon!, + ], by: [ + const SizedBox(width: 10), + ]), ), ); } @@ -44,8 +50,7 @@ part of 'button.dart'; properties ..add(DiagnosticsProperty('style', style)) ..add(FlagProperty('enabled', value: enabled, defaultValue: true)) - ..add(StringProperty('text', text)) - ..add(DiagnosticsProperty('icon', icon)); + ..add(StringProperty('labelText', labelText)); } } @@ -57,12 +62,6 @@ class FButtonContentStyle with Diagnosticable { /// The [TextStyle] when this button is disabled. final TextStyle disabledText; - /// The icon's color when this button is enabled. - final Color enabledIcon; - - /// The icon's color when this button is disabled. - final Color disabledIcon; - /// The padding. final EdgeInsets padding; @@ -70,8 +69,6 @@ class FButtonContentStyle with Diagnosticable { FButtonContentStyle({ required this.enabledText, required this.disabledText, - required this.enabledIcon, - required this.disabledIcon, required this.padding, }); @@ -90,9 +87,9 @@ class FButtonContentStyle with Diagnosticable { fontSize: typography.base, fontWeight: FontWeight.w500, color: disabledForeground, - ), - enabledIcon = foreground, - disabledIcon = disabledForeground; + ); + // enabledIcon = foreground, + // disabledIcon = disabledForeground; @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { @@ -100,8 +97,6 @@ class FButtonContentStyle with Diagnosticable { properties ..add(DiagnosticsProperty('enabledText', enabledText)) ..add(DiagnosticsProperty('disabledText', disabledText)) - ..add(DiagnosticsProperty('enabledIcon', enabledIcon)) - ..add(DiagnosticsProperty('disabledIcon', disabledIcon)) ..add(DiagnosticsProperty('padding', padding)); } } diff --git a/forui/lib/src/widgets/button/button_content_icon.dart b/forui/lib/src/widgets/button/button_content_icon.dart new file mode 100644 index 000000000..25d5a6ee5 --- /dev/null +++ b/forui/lib/src/widgets/button/button_content_icon.dart @@ -0,0 +1,29 @@ +part of 'button.dart'; + +class FButtonContentIcon extends StatelessWidget { + + final SvgAsset icon; + + const FButtonContentIcon({required this.icon, super.key}); + + @override + Widget build(BuildContext context) => icon( + height: 20, // TODO: Icon size should be configurable. + // colorFilter: ColorFilter.mode(enabled ? style.enabledIcon : style.disabledIcon, BlendMode.srcIn), + ); +} + +final class FButtonContentIconStyle with Diagnosticable { + + /// The icon's color when this button is enabled. + final Color enabledIcon; + + /// The icon's color when this button is disabled. + final Color disabledIcon; + + FButtonContentIconStyle({ + required this.enabledIcon, + required this.disabledIcon, + }); + +} diff --git a/forui/lib/src/widgets/dialog/dialog.dart b/forui/lib/src/widgets/dialog/dialog.dart index 41a90fde2..d7929ffae 100644 --- a/forui/lib/src/widgets/dialog/dialog.dart +++ b/forui/lib/src/widgets/dialog/dialog.dart @@ -52,23 +52,31 @@ class FDialog extends StatelessWidget { this.insetAnimationDuration = const Duration(milliseconds: 100), this.insetAnimationCurve = Curves.decelerate, String? semanticLabel, - String? title, - String? subtitle, + Widget? title, + String? titleText, + Widget? body, + String? bodyText, FDialogAlignment alignment = FDialogAlignment.vertical, super.key, }): - semanticLabel = semanticLabel ?? title ?? subtitle, + assert((title != null) ^ (titleText != null), 'Either title or titleText must be provided, but not both.'), + assert((body != null) ^ (bodyText != null), 'Either body or bodyText must be provided, but not both.'), + semanticLabel = semanticLabel ?? titleText, builder = switch (alignment) { FDialogAlignment.horizontal => (context, style) => FHorizontalDialogContent( style: style.horizontal, title: title, - subtitle: subtitle, + titleText: titleText, + body: body, + bodyText: bodyText, actions: actions, ), FDialogAlignment.vertical => (context, style) => FVerticalDialogContent( style: style.vertical, title: title, - subtitle: subtitle, + titleText: titleText, + body: body, + bodyText: bodyText, actions: actions, ), }; diff --git a/forui/lib/src/widgets/dialog/dialog_content.dart b/forui/lib/src/widgets/dialog/dialog_content.dart index 5c414fd13..c3c8c568d 100644 --- a/forui/lib/src/widgets/dialog/dialog_content.dart +++ b/forui/lib/src/widgets/dialog/dialog_content.dart @@ -3,26 +3,43 @@ part of 'dialog.dart'; @internal sealed class FDialogContent extends StatelessWidget { final FDialogContentStyle style; final CrossAxisAlignment alignment; - final String? title; + final Widget? title; + final String? titleText; final TextAlign titleTextAlign; - final String? subtitle; - final TextAlign subtitleTextAlign; + final Widget? body; + final String? bodyText; + final TextAlign bodyTextAlign; final List actions; const FDialogContent({ required this.style, - required this.alignment, - required this.titleTextAlign, - required this.subtitleTextAlign, - required this.actions, - this.title, - this.subtitle, + required this.alignment, + required this.title, + required this.titleText, + required this.titleTextAlign, + required this.body, + required this.bodyText, + required this.bodyTextAlign, + required this.actions, super.key, }); @override Widget build(BuildContext context) { final typography = context.theme.typography; + + final title = switch ((this.title, titleText)) { + (final Widget label, _) => label, + (_, final String label) => Text(label), + _ => null, + }; + + final body = switch ((this.body, bodyText)) { + (final Widget label, _) => label, + (_, final String label) => Text(label), + _ => null, + }; + return IntrinsicWidth( child: Padding( padding: style.padding, @@ -35,22 +52,22 @@ part of 'dialog.dart'; padding: const EdgeInsets.only(bottom: 12), child: Semantics( container: true, - child: Text( - title!, - style: style.title.scale(typography), + child: DefaultTextStyle( textAlign: titleTextAlign, + style: style.title.scale(typography), + child: title, ), ), ), - if (subtitle != null) + if (body != null) Padding( padding: const EdgeInsets.only(bottom: 16), child: Semantics( container: true, - child: Text( - subtitle!, - style: style.subtitle.scale(typography), - textAlign: subtitleTextAlign, + child: DefaultTextStyle( + textAlign: bodyTextAlign, + style: style.body.scale(typography), + child: body, ), ), ), @@ -69,10 +86,10 @@ part of 'dialog.dart'; properties ..add(DiagnosticsProperty('style', style)) ..add(DiagnosticsProperty('alignment', alignment)) - ..add(StringProperty('title', title)) + ..add(StringProperty('titleText', titleText)) ..add(DiagnosticsProperty('titleTextAlign', titleTextAlign)) - ..add(StringProperty('subtitle', subtitle)) - ..add(DiagnosticsProperty('subtitleTextAlign', subtitleTextAlign)) + ..add(StringProperty('bodyText', bodyText)) + ..add(DiagnosticsProperty('bodyTextAlign', bodyTextAlign)) ..add(IterableProperty('actions', actions)); } } @@ -81,12 +98,14 @@ part of 'dialog.dart'; const FHorizontalDialogContent({ required super.style, required super.title, - required super.subtitle, + required super.titleText, + required super.body, + required super.bodyText, required super.actions, }): super( alignment: CrossAxisAlignment.start, titleTextAlign: TextAlign.start, - subtitleTextAlign: TextAlign.start + bodyTextAlign: TextAlign.start ); @override @@ -109,12 +128,14 @@ part of 'dialog.dart'; const FVerticalDialogContent({ required super.style, required super.title, - required super.subtitle, + required super.titleText, + required super.body, + required super.bodyText, required super.actions, }): super( alignment: CrossAxisAlignment.center, titleTextAlign: TextAlign.center, - subtitleTextAlign: TextAlign.center + bodyTextAlign: TextAlign.center ); @override @@ -135,8 +156,8 @@ final class FDialogContentStyle with Diagnosticable { /// The title style. final TextStyle title; - /// The subtitle style. - final TextStyle subtitle; + /// The body style. + final TextStyle body; /// The padding between actions. final double actionPadding; @@ -145,7 +166,7 @@ final class FDialogContentStyle with Diagnosticable { FDialogContentStyle({ required this.padding, required this.title, - required this.subtitle, + required this.body, required this.actionPadding, }); @@ -161,7 +182,7 @@ final class FDialogContentStyle with Diagnosticable { fontWeight: FontWeight.w600, color: colorScheme.foreground, ), - subtitle = TextStyle( + body = TextStyle( fontSize: typography.sm, color: colorScheme.mutedForeground, ); @@ -172,7 +193,7 @@ final class FDialogContentStyle with Diagnosticable { properties ..add(DiagnosticsProperty('padding', padding)) ..add(DiagnosticsProperty('title', title)) - ..add(DiagnosticsProperty('subtitle', subtitle)) + ..add(DiagnosticsProperty('subtitle', body)) ..add(DoubleProperty('actionPadding', actionPadding)); } } diff --git a/forui/test/src/widgets/badge_golden_test.dart b/forui/test/src/widgets/badge_golden_test.dart index dd3e3b33b..b11dfe338 100644 --- a/forui/test/src/widgets/badge_golden_test.dart +++ b/forui/test/src/widgets/badge_golden_test.dart @@ -18,7 +18,7 @@ void main() { data: theme, background: background, child: FBadge( - label: 'Badge', + labelText: 'Badge', design: variant, ), ), diff --git a/forui/test/src/widgets/button_golden_test.dart b/forui/test/src/widgets/button_golden_test.dart index c6c3d9e27..5c2326e72 100644 --- a/forui/test/src/widgets/button_golden_test.dart +++ b/forui/test/src/widgets/button_golden_test.dart @@ -19,7 +19,7 @@ void main() { child: Padding( padding: const EdgeInsets.symmetric(horizontal: 20), child: FButton( - text: 'Button', + labelText: 'Button', design: variant, onPress: () {}, ), diff --git a/forui/test/src/widgets/dialog/dialog_golden_test.dart b/forui/test/src/widgets/dialog/dialog_golden_test.dart index 8794c8d97..2064d6553 100644 --- a/forui/test/src/widgets/dialog/dialog_golden_test.dart +++ b/forui/test/src/widgets/dialog/dialog_golden_test.dart @@ -14,8 +14,8 @@ class UnderTest extends StatelessWidget { @override Widget build(BuildContext context) => FDialog( alignment: alignment, - title: 'Are you absolutely sure?', - subtitle: 'This action cannot be undone. This will permanently delete your account and remove your data from our servers.', + titleText: 'Are you absolutely sure?', + bodyText: 'This action cannot be undone. This will permanently delete your account and remove your data from our servers.', actions: [ FButton(text: 'Continue', onPress: () {}), FButton(design: FButtonVariant.outlined, text: 'Cancel', onPress: () { From 0a60ad5590535e8a71dc35a4d8e10989dc85b961 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Tue, 18 Jun 2024 15:38:15 +0800 Subject: [PATCH 2/6] Whoops --- forui/test/src/widgets/button_golden_test.dart | 2 +- forui/test/src/widgets/dialog/dialog_golden_test.dart | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/forui/test/src/widgets/button_golden_test.dart b/forui/test/src/widgets/button_golden_test.dart index 5c2326e72..b0291cafa 100644 --- a/forui/test/src/widgets/button_golden_test.dart +++ b/forui/test/src/widgets/button_golden_test.dart @@ -40,7 +40,7 @@ void main() { child: Padding( padding: const EdgeInsets.symmetric(horizontal: 20), child: FButton( - text: 'Button', + labelText: 'Button', design: variant, onPress: null, ), diff --git a/forui/test/src/widgets/dialog/dialog_golden_test.dart b/forui/test/src/widgets/dialog/dialog_golden_test.dart index 2064d6553..438abc622 100644 --- a/forui/test/src/widgets/dialog/dialog_golden_test.dart +++ b/forui/test/src/widgets/dialog/dialog_golden_test.dart @@ -17,8 +17,8 @@ class UnderTest extends StatelessWidget { titleText: 'Are you absolutely sure?', bodyText: 'This action cannot be undone. This will permanently delete your account and remove your data from our servers.', actions: [ - FButton(text: 'Continue', onPress: () {}), - FButton(design: FButtonVariant.outlined, text: 'Cancel', onPress: () { + FButton(labelText: 'Continue', onPress: () {}), + FButton(design: FButtonVariant.outlined, labelText: 'Cancel', onPress: () { Navigator.of(context).pop(); }), ], From 4359c8ee10ff3bc50c8c36d33e5cd137dd90b5b5 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 18 Jun 2024 18:33:14 +0800 Subject: [PATCH 3/6] Button inherited widgets --- forui/lib/src/widgets/button/button.dart | 129 ++++++++++++------ .../src/widgets/button/button_content.dart | 81 ++++++----- .../widgets/button/button_content_icon.dart | 29 ---- forui/lib/src/widgets/button/button_icon.dart | 68 +++++++++ .../lib/src/widgets/button/button_styles.dart | 31 ++++- ...BadgeVariant.destructive-badge-content.png | Bin 26798 -> 22462 bytes ...rk-FBadgeVariant.outline-badge-content.png | Bin 27853 -> 23324 bytes ...rk-FBadgeVariant.primary-badge-content.png | Bin 26901 -> 22527 bytes ...-FBadgeVariant.secondary-badge-content.png | Bin 26789 -> 22370 bytes ...BadgeVariant.destructive-badge-content.png | Bin 26458 -> 22439 bytes ...ht-FBadgeVariant.outline-badge-content.png | Bin 27592 -> 23036 bytes ...ht-FBadgeVariant.primary-badge-content.png | Bin 26877 -> 22528 bytes ...-FBadgeVariant.secondary-badge-content.png | Bin 26456 -> 22118 bytes ...nt.destructive-disabled-button-content.png | Bin 25423 -> 30410 bytes ...ant.destructive-enabled-button-content.png | Bin 25598 -> 30743 bytes ...riant.outlined-disabled-button-content.png | Bin 25958 -> 30961 bytes ...ariant.outlined-enabled-button-content.png | Bin 26283 -> 31467 bytes ...ariant.primary-disabled-button-content.png | Bin 25317 -> 29594 bytes ...Variant.primary-enabled-button-content.png | Bin 26013 -> 31092 bytes ...iant.secondary-disabled-button-content.png | Bin 25284 -> 30329 bytes ...riant.secondary-enabled-button-content.png | Bin 25637 -> 30752 bytes ...nt.destructive-disabled-button-content.png | Bin 24758 -> 28392 bytes ...ant.destructive-enabled-button-content.png | Bin 25497 -> 30166 bytes ...riant.outlined-disabled-button-content.png | Bin 25856 -> 30756 bytes ...ariant.outlined-enabled-button-content.png | Bin 26315 -> 31544 bytes ...ariant.primary-disabled-button-content.png | Bin 25298 -> 29643 bytes ...Variant.primary-enabled-button-content.png | Bin 25953 -> 31035 bytes ...iant.secondary-disabled-button-content.png | Bin 25063 -> 29938 bytes ...riant.secondary-enabled-button-content.png | Bin 25363 -> 30640 bytes ...rk-FDialogAlignment.horizontal-content.png | Bin 23492 -> 8905 bytes ...dark-FDialogAlignment.vertical-content.png | Bin 23615 -> 9188 bytes ...ht-FDialogAlignment.horizontal-content.png | Bin 23249 -> 8821 bytes ...ight-FDialogAlignment.vertical-content.png | Bin 23265 -> 8906 bytes .../test/src/widgets/button_golden_test.dart | 8 +- 34 files changed, 238 insertions(+), 108 deletions(-) delete mode 100644 forui/lib/src/widgets/button/button_content_icon.dart create mode 100644 forui/lib/src/widgets/button/button_icon.dart diff --git a/forui/lib/src/widgets/button/button.dart b/forui/lib/src/widgets/button/button.dart index 7094727d7..8a5fad677 100644 --- a/forui/lib/src/widgets/button/button.dart +++ b/forui/lib/src/widgets/button/button.dart @@ -8,11 +8,19 @@ import 'package:forui/src/foundation/tappable.dart'; import 'package:sugar/collection.dart'; part 'button_content.dart'; -part 'button_content_icon.dart'; + +part 'button_icon.dart'; + part 'button_styles.dart'; /// A button. class FButton extends StatelessWidget { + @useResult + static _Data _of(BuildContext context) { + final theme = context.dependOnInheritedWidgetOfExactType<_InheritedData>(); + return theme?.data ?? (style: context.theme.buttonStyles.primary, enabled: true); + } + /// The design. Defaults to [FBadgeVariant.primary]. final FButtonDesign design; @@ -46,8 +54,8 @@ class FButton extends StatelessWidget { /// Called with true if this widget's node gains focus, and false if it loses focus. final ValueChanged? onFocusChange; - /// The builder. - final Widget Function(BuildContext, FButtonStyle) builder; + /// The child. + final Widget child; /// Creates a [FButton]. FButton({ @@ -62,22 +70,19 @@ class FButton extends StatelessWidget { Widget? label, String? labelText, super.key, - }) : - assert((label != null) ^ (labelText != null), 'Either label or labelText must be provided, but not both.'), - builder = ((context, style) => FButtonContent( - prefixIcon: prefixIcon, - suffixIcon: suffixIcon, - label: label, - labelText: labelText, - style: style, - enabled: onPress != null, - )); + }) : assert((label != null) ^ (labelText != null), 'Either label or labelText must be provided, but not both.'), + child = FButtonContent( + prefixIcon: prefixIcon, + suffixIcon: suffixIcon, + label: label, + labelText: labelText, + ); /// Creates a [FButton]. const FButton.raw({ required this.design, required this.onPress, - required this.builder, + required this.child, this.onLongPress, this.autofocus = false, this.focusNode, @@ -95,20 +100,25 @@ class FButton extends StatelessWidget { FButtonVariant.destructive => context.theme.buttonStyles.destructive, }; - return Semantics( - container: true, - button: true, - enabled: onPress != null || onLongPress != null, - child: FocusableActionDetector( - autofocus: autofocus, - focusNode: focusNode, - onFocusChange: onFocusChange, - child: FTappable( - onTap: onPress, - onLongPress: onLongPress, - child: DecoratedBox( - decoration: onPress == null ? style.disabledBoxDecoration : style.enabledBoxDecoration, - child: builder(context, style), + final enabled = onPress != null || onLongPress != null; + + return _InheritedData( + data: (style: style, enabled: enabled), + child: Semantics( + container: true, + button: true, + enabled: enabled, + child: FocusableActionDetector( + autofocus: autofocus, + focusNode: focusNode, + onFocusChange: onFocusChange, + child: FTappable( + onTap: onPress, + onLongPress: onLongPress, + child: DecoratedBox( + decoration: onPress == null ? style.disabledBoxDecoration : style.enabledBoxDecoration, + child: child, + ), ), ), ), @@ -125,7 +135,7 @@ class FButton extends StatelessWidget { ..add(FlagProperty('autofocus', value: autofocus, defaultValue: 'autofocus')) ..add(DiagnosticsProperty('focusNode', focusNode)) ..add(DiagnosticsProperty('onFocusChange', onFocusChange)) - ..add(DiagnosticsProperty('builder', builder)); + ..add(DiagnosticsProperty('builder', child)); } } @@ -133,7 +143,7 @@ class FButton extends StatelessWidget { sealed class FButtonDesign {} /// A pre-defined button variant. -enum FButtonVariant implements FButtonDesign { +enum FButtonVariant implements FButtonDesign { /// A primary-styled button. primary, @@ -148,40 +158,81 @@ enum FButtonVariant implements FButtonDesign { } /// Represents the theme data that is inherited by [FButtonStyle] and used by child [FButton]. -class FButtonStyle extends FButtonDesign with Diagnosticable{ - /// The content. - final FButtonContentStyle content; - +class FButtonStyle extends FButtonDesign with Diagnosticable { /// The box decoration for an enabled button. final BoxDecoration enabledBoxDecoration; /// The box decoration for a disabled button. final BoxDecoration disabledBoxDecoration; + /// The content. + final FButtonContentStyle content; + + /// The icon. + final FButtonIconStyle icon; + /// Creates a [FButtonStyle]. FButtonStyle({ - required this.content, required this.enabledBoxDecoration, required this.disabledBoxDecoration, + required this.content, + required this.icon, }); /// Creates a copy of this [FButtonStyle] with the given properties replaced. FButtonStyle copyWith({ - FButtonContentStyle? content, BoxDecoration? enabledBoxDecoration, BoxDecoration? disabledBoxDecoration, + FButtonContentStyle? content, + FButtonIconStyle? icon, }) => FButtonStyle( - content: content ?? this.content, enabledBoxDecoration: enabledBoxDecoration ?? this.enabledBoxDecoration, disabledBoxDecoration: disabledBoxDecoration ?? this.disabledBoxDecoration, + content: content ?? this.content, + icon: icon ?? this.icon, ); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); - properties..add(DiagnosticsProperty('content', content)) + properties ..add(DiagnosticsProperty('enabledBoxDecoration', enabledBoxDecoration)) - ..add(DiagnosticsProperty('disabledBoxDecoration', disabledBoxDecoration)); + ..add(DiagnosticsProperty('disabledBoxDecoration', disabledBoxDecoration)) + ..add(DiagnosticsProperty('content', content)) + ..add(DiagnosticsProperty('icon', icon)); + } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is FButtonStyle && + runtimeType == other.runtimeType && + enabledBoxDecoration == other.enabledBoxDecoration && + disabledBoxDecoration == other.disabledBoxDecoration && + content == other.content && + icon == other.icon; + + @override + int get hashCode => enabledBoxDecoration.hashCode ^ disabledBoxDecoration.hashCode ^ content.hashCode ^ icon.hashCode; +} + +typedef _Data = ({FButtonStyle style, bool enabled}); + +class _InheritedData extends InheritedWidget { + final _Data data; + + const _InheritedData({ + required this.data, + required super.child, + }); + + @override + bool updateShouldNotify(covariant _InheritedData old) => data != old.data; + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(DiagnosticsProperty('data', data)); } } diff --git a/forui/lib/src/widgets/button/button_content.dart b/forui/lib/src/widgets/button/button_content.dart index eec07e3a5..9bc7668e3 100644 --- a/forui/lib/src/widgets/button/button_content.dart +++ b/forui/lib/src/widgets/button/button_content.dart @@ -1,16 +1,13 @@ part of 'button.dart'; -@internal final class FButtonContent extends StatelessWidget { - final FButtonStyle style; - final bool enabled; +@internal +final class FButtonContent extends StatelessWidget { final Widget? prefixIcon; final Widget? suffixIcon; final Widget? label; final String? labelText; const FButtonContent({ - required this.style, - this.enabled = true, this.prefixIcon, this.suffixIcon, this.label, @@ -20,37 +17,34 @@ part of 'button.dart'; @override Widget build(BuildContext context) { - final style = this.style.content; - return Padding( - padding: style.padding, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: separate([ - if (prefixIcon != null) - prefixIcon!, - - switch ((label, labelText)) { - (final Widget label, _) => label, - (_, final String label) => Text(label), - _ => const Placeholder(), - }, + final typography = context.theme.typography; + final (:style, :enabled) = FButton._of(context); - if (suffixIcon != null) - suffixIcon!, - ], by: [ - const SizedBox(width: 10), - ]), - ), - ); + return Padding( + padding: style.content.padding, + child: DefaultTextStyle.merge( + style: enabled ? style.content.enabledText.scale(typography) : style.content.disabledText.scale(typography), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: separate([ + if (prefixIcon != null) prefixIcon!, + switch ((label, labelText)) { + (final Widget label, _) => label, + (_, final String label) => Text(label), + _ => const Placeholder(), + }, + if (suffixIcon != null) suffixIcon!, + ], by: [ + const SizedBox(width: 10), + ]), + ), + )); } @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); - properties - ..add(DiagnosticsProperty('style', style)) - ..add(FlagProperty('enabled', value: enabled, defaultValue: true)) - ..add(StringProperty('labelText', labelText)); + properties.add(StringProperty('labelText', labelText)); } } @@ -73,11 +67,14 @@ class FButtonContentStyle with Diagnosticable { }); /// Creates a [FButtonContentStyle] that inherits its properties from the given [foreground] and [disabledForeground]. - FButtonContentStyle.inherit({required FTypography typography, required Color foreground, required Color disabledForeground}) - : padding = const EdgeInsets.symmetric( - horizontal: 16, - vertical: 12.5, - ), + FButtonContentStyle.inherit({ + required FTypography typography, + required Color foreground, + required Color disabledForeground, + }) : padding = const EdgeInsets.symmetric( + horizontal: 16, + vertical: 12.5, + ), enabledText = TextStyle( fontSize: typography.base, fontWeight: FontWeight.w500, @@ -88,8 +85,6 @@ class FButtonContentStyle with Diagnosticable { fontWeight: FontWeight.w500, color: disabledForeground, ); - // enabledIcon = foreground, - // disabledIcon = disabledForeground; @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { @@ -99,4 +94,16 @@ class FButtonContentStyle with Diagnosticable { ..add(DiagnosticsProperty('disabledText', disabledText)) ..add(DiagnosticsProperty('padding', padding)); } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is FButtonContentStyle && + runtimeType == other.runtimeType && + enabledText == other.enabledText && + disabledText == other.disabledText && + padding == other.padding; + + @override + int get hashCode => enabledText.hashCode ^ disabledText.hashCode ^ padding.hashCode; } diff --git a/forui/lib/src/widgets/button/button_content_icon.dart b/forui/lib/src/widgets/button/button_content_icon.dart deleted file mode 100644 index 25d5a6ee5..000000000 --- a/forui/lib/src/widgets/button/button_content_icon.dart +++ /dev/null @@ -1,29 +0,0 @@ -part of 'button.dart'; - -class FButtonContentIcon extends StatelessWidget { - - final SvgAsset icon; - - const FButtonContentIcon({required this.icon, super.key}); - - @override - Widget build(BuildContext context) => icon( - height: 20, // TODO: Icon size should be configurable. - // colorFilter: ColorFilter.mode(enabled ? style.enabledIcon : style.disabledIcon, BlendMode.srcIn), - ); -} - -final class FButtonContentIconStyle with Diagnosticable { - - /// The icon's color when this button is enabled. - final Color enabledIcon; - - /// The icon's color when this button is disabled. - final Color disabledIcon; - - FButtonContentIconStyle({ - required this.enabledIcon, - required this.disabledIcon, - }); - -} diff --git a/forui/lib/src/widgets/button/button_icon.dart b/forui/lib/src/widgets/button/button_icon.dart new file mode 100644 index 000000000..cd6c16bfd --- /dev/null +++ b/forui/lib/src/widgets/button/button_icon.dart @@ -0,0 +1,68 @@ +part of 'button.dart'; + +/// Represents an icon that is used in a [FButton]. +class FButtonIcon extends StatelessWidget { + /// The icon. + final SvgAsset icon; + + /// Creates a [FButtonIcon]. + const FButtonIcon({required this.icon, super.key}); + + @override + Widget build(BuildContext context) { + final (:style, :enabled) = FButton._of(context); + + return icon( + height: 20, + colorFilter: ColorFilter.mode(enabled ? style.icon.enabled : style.icon.disabled, BlendMode.srcIn), + ); + } +} + +/// [FButtonIcon]'s style. +final class FButtonIconStyle with Diagnosticable { + /// The icon's color when this button is enabled. + final Color enabled; + + /// The icon's color when this button is disabled. + final Color disabled; + + /// The icon's height. Defaults to 20. + final double height; + + /// Creates a [FButtonIconStyle]. + FButtonIconStyle({ + required this.enabled, + required this.disabled, + required this.height, + }); + + /// Creates a [FButtonIconStyle] that inherits its properties from the given [foreground] and [disabledForeground]. + FButtonIconStyle.inherit({ + required Color foreground, + required Color disabledForeground, + }) : enabled = foreground, + disabled = disabledForeground, + height = 20; + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(ColorProperty('enabled', enabled)) + ..add(ColorProperty('disabled', disabled)) + ..add(DoubleProperty('height', height)); + } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is FButtonIconStyle && + runtimeType == other.runtimeType && + enabled == other.enabled && + disabled == other.disabled && + height == other.height; + + @override + int get hashCode => enabled.hashCode ^ disabled.hashCode ^ height.hashCode; +} diff --git a/forui/lib/src/widgets/button/button_styles.dart b/forui/lib/src/widgets/button/button_styles.dart index ebb569af0..c90303c3f 100644 --- a/forui/lib/src/widgets/button/button_styles.dart +++ b/forui/lib/src/widgets/button/button_styles.dart @@ -1,7 +1,7 @@ part of 'button.dart'; /// [FButtonStyle]'s style. -class FButtonStyles with Diagnosticable{ +class FButtonStyles with Diagnosticable { /// The primary style. final FButtonStyle primary; @@ -38,6 +38,10 @@ class FButtonStyles with Diagnosticable{ foreground: colorScheme.primaryForeground, disabledForeground: colorScheme.primaryForeground.withOpacity(0.5), ), + icon: FButtonIconStyle.inherit( + foreground: colorScheme.primaryForeground, + disabledForeground: colorScheme.primaryForeground.withOpacity(0.5), + ), ), secondary = FButtonStyle( enabledBoxDecoration: BoxDecoration( @@ -53,6 +57,10 @@ class FButtonStyles with Diagnosticable{ foreground: colorScheme.secondaryForeground, disabledForeground: colorScheme.secondaryForeground.withOpacity(0.5), ), + icon: FButtonIconStyle.inherit( + foreground: colorScheme.secondaryForeground, + disabledForeground: colorScheme.secondaryForeground.withOpacity(0.5), + ), ), destructive = FButtonStyle( enabledBoxDecoration: BoxDecoration( @@ -68,6 +76,10 @@ class FButtonStyles with Diagnosticable{ foreground: colorScheme.destructiveForeground, disabledForeground: colorScheme.destructiveForeground.withOpacity(0.5), ), + icon: FButtonIconStyle.inherit( + foreground: colorScheme.destructiveForeground, + disabledForeground: colorScheme.destructiveForeground.withOpacity(0.5), + ), ), outlined = FButtonStyle( enabledBoxDecoration: BoxDecoration( @@ -87,6 +99,10 @@ class FButtonStyles with Diagnosticable{ foreground: colorScheme.secondaryForeground, disabledForeground: colorScheme.secondaryForeground.withOpacity(0.5), ), + icon: FButtonIconStyle.inherit( + foreground: colorScheme.secondaryForeground, + disabledForeground: colorScheme.secondaryForeground.withOpacity(0.5), + ), ); @override @@ -98,4 +114,17 @@ class FButtonStyles with Diagnosticable{ ..add(DiagnosticsProperty('destructive', destructive)) ..add(DiagnosticsProperty('outlined', outlined)); } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is FButtonStyles && + runtimeType == other.runtimeType && + primary == other.primary && + secondary == other.secondary && + destructive == other.destructive && + outlined == other.outlined; + + @override + int get hashCode => primary.hashCode ^ secondary.hashCode ^ destructive.hashCode ^ outlined.hashCode; } diff --git a/forui/test/golden/badge/zinc-dark-FBadgeVariant.destructive-badge-content.png b/forui/test/golden/badge/zinc-dark-FBadgeVariant.destructive-badge-content.png index bc2c911540376518a98b98d88cba621137e680da..6b818296bf36b1236ee4668e2dd69acb61e4ec43 100644 GIT binary patch literal 22462 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 literal 27853 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 diff --git a/forui/test/golden/badge/zinc-dark-FBadgeVariant.primary-badge-content.png b/forui/test/golden/badge/zinc-dark-FBadgeVariant.primary-badge-content.png index 6a028ed14d48e4442bcd14e4136ba68cdf88e74b..291f623b1755f756d27373ad4251c6d5155ee905 100644 GIT binary patch literal 22527 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 Me7E^jdQlJm3w;b19RL6T literal 26901 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 literal 26789 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 diff --git a/forui/test/golden/badge/zinc-light-FBadgeVariant.destructive-badge-content.png b/forui/test/golden/badge/zinc-light-FBadgeVariant.destructive-badge-content.png index b958e13b08894a1470887f93c66bb717ce0b7997..763e1e13049474955f717139c09ae3f5a3fa500b 100644 GIT binary patch literal 22439 zcmeHPX;@Ro8a@e%K%uBnksyL-^=YpHRl%Z$O$2GFu_BgDlDdV;rZ=(}45YP{T5YLq z6(S0X4~Relh`|LRxfiPSs!43KutTMSk{}{PmV|icERpN|?T`9&&Yv@9&dhu>@ArP+ z%zS5_b7a%TAR8;H6@nl(!5acLBZwsvL8e()n1h_F%JC`SMq+Oc@<)Wyd5^)v6t;ix z77K74wAlF#f;c0=0e)N3PHS8IY$Wc}C6z+M?IZeSs;S+oOk4vdOqE{XRz_eDellc zs!*tUs%A=TV}*tZgpF#GYvazYOX}l$&2IHuKKh!%T|4J*%igOUHv8x4HukZ zM7j(Mv2jb?&VRDa&`1$IeQ-3awpO4obTnvM@*WBO8nSo(+KR;-Yu!M-Y6ZyW&7X+@ zL=hRZ)gGD8c53V;vrhROxOB20ZBX@Ip~p7IRzhp%iCOiYuNcuH1@tu#{!cd z8TC;W;5EYW#{$&*6JPwJLUH$EsDOpgmJg}LsxKH5rFcK4Vg2y!bHbhM)F6Bf7!*9{LvB#TDG;3oxb>s(?khYk@+9YI(Scx1&W3z2Cl@AhMS(TWukmk zZipAAb~%4SY)rPPsfm;!ocPLX5hzG_?Qikg(xpa2uV4wHcp%GAanO?$?!Vw2V)bN> z)T$`Ro{U{ZI+W5(qRPg*6Js)u4^o9XYaTT|UeQ)yRA6AZ7vVLRylw272HMm{7;e)e z>1cn7f5u1C*cMj-dRWPNG9pf*p#;s{j3IcIa!9EJ(wQ5k(C$vEQ3@=gJs^*X+`Gdv@&@{M0Kg6qVzg#Kjkim-w+clOT-z4nJ++}W8z-Vsa z!qyX|H7#*bbfl>|`Ogin77rKq*Pv3%J2KK=ebY4dC@Ah=m#@Yi@rVg8xnGn6xCSJJ zyo>A6UTh#sr{$@)sbAHRN<3VI>S#h01w?|YI2Q-{?lp&`@cnfpI?=6ws(G4)T$-ku{wcshnA) z5Xs)~0q@~Wn%U@UdRiX}ZAjyD549rQcCDOaE;k#XjWQFQyxU%}we6nXL;Oe|&Sjl7 z^IJiCMtVZqK{hTUn~<@ZE2D{$`$fRqLSu)zohnvzjt1gIWJHm4eR^lvJxxUt%`Dd? zPt9NqtTm<)J;hC9amN8|RpgqKav;a59H3M;)U*S%2rimOD+j&H8LWDvuBCpw@A{v| zgGy6Uqhuu4l`B^0r0Z;zJxhF=Ip~<=JL)lJtQ770{bOAY@SFO+vM4&q)wxw29h&Kt z5q%J)@XA%;_Sv@tL1@EU!us|1lKOtkauWX0(h?wbz&$L*OLJ&$%)a$uVc&Id$_9UY zA(h&yzrIvmTI#tfZg^Zn@!E6wM)Uyfsc%BZ-i81vHY@pHTI;$|ZMeH4`Dvr2_?;=n z&vqAY&2}tPR%D2DGl4u_rVFM(DSgcv(dbcz;)|S^(rZ43bLOqB0y`4LGe57aKbu?b z>8)>$eDT1pY&Q!`W}xEeD!lbC-NlzSA6>Fhq0LKD?M)UPX34fDBq*7z3%ZqEW>lGU z>pht|_Oo+=AAKZZKRhAI7>-SF^!klM1#L+5xb1=@f_!xtpNX-D=n~8gU}EkOYtf&_^PW1ds%f1PCMnBmpD=*jm7aAzTZ0R$jp zaT@&9=Lu-8&|IOpzA?)>Xs*y)p}9hHMXdlXEeKx#*P1vGkPwg%Z|crV6n6{z|Is0X zptrL212V##IeAES@#JqOVK%{WhzSk^Bm^V`g1mNXuu80|vKnt1>_gEFUcWIw=+FG} Ezi=cOt^fc4 literal 26458 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 Ny195z%J&EU`R_bXA4mWI literal 27592 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 Yv($A342j2%GPDERT?cH^c2d6k1%<~@NdN!< literal 26877 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 diff --git a/forui/test/golden/badge/zinc-light-FBadgeVariant.secondary-badge-content.png b/forui/test/golden/badge/zinc-light-FBadgeVariant.secondary-badge-content.png index 7666439f50b896bb320974cb4c63ae2989ca37ff..c6419b9c466fe3ee2d001910d651c45b0dfa001e 100644 GIT binary patch literal 22118 zcmeHPeNaW7X_ucni%sBhc?o2ydr}zEy zZcgq!_uk+6opbLy?M%k_^DFSS))|(n8GIk~gc2J(1x+ zu5}+FKiFo3N9|*g*L$p#4*>82QQN}y<(wbu3v*QaE?3vf=SNm`IJQrgz1hpM_Ub4r zvm+Z(ms&74VJ-taes%qe4{K~(%;l{qYHM@(12)fG1fN@y+w8r~Mf?{2 zqO0XdIf8{o0I>x*5#tLewxE#9PysC#Xbm;5kZ5axc3cb>&_)z(p&2TmCkynz#ZUn~ zhoZ-Gh6*ULfbuO26<*!MLQZevVVFU~!xnWJclqvqODrjZQcDue7l~<8BTQ%<5Fr@X zM}$Cx0LUAVHvoV_0SW~u6flthc>@E)FKul&%Y(1y>9YVRCYrtBm&O8Qd1QGK0YrO- z254_c1Az!(A%r43J4(1O+pX~V+n2vyeLC%*$%TJZwAL4;ymjeAO!5AEh7z|Dh2YW; zBU-!l4%O?te6AI{1$Wp#NxV=bFV~vSz2Tn#%iEc?mJ@TVC6*H&;ntQ^?T=JFEzSwf z8Nhk@fxzqC8!AZ2Y3o;F^hhR~cQ)R}6?1|&tD2OiJq^EME0aIk-ui87urprU~cejg4w7G zt-Oct_;#PZVKlivOPF!ZdGSzq}Ge9n0%0$P_p0WLwxa-NFcaUQ+@l!4V^#v z9iF>`0@3^7ouDQe*i~XLfQ+ekrz~Fo#f5kQzOr8I0>{6Uo_W#tmETUCR!8xOY=JW= zRy)(fS>usAxip9)cxTiDrZ zM)Te?zrnlw8a+rE(8n{v(*9I@<%5^HQzXrdf%C-+k^u=Eg(zmm86NiaesF#8nhZQr z8b7ATQb3J`_xF}KqFZ9S6^q6K6_k|*DtXa6(kBT1j8;E-aJr^bHzQa_Dh3g3gc*MgOH}Z4F!W?U1Gu*WZSI_ z!7{RuXe}dtT7xO|Czr8#_ihg~75pWp9BMrA%mFgPU2{WIA)iy3*anZ>u4$97;V7;1 zb-Hm?V)|U)jWTh?dU$x=HoM(r6fnu5-IF4&dwg{k-+oQq5=w$ ztt*p~#zy<11Jx4-O_OU9>`(J96K8sisyb*DYxL)nqnSl9h$Py3z0nYZX94_Tp z(aOPEqvz+YV&2RSt9eNwQN4KbZ5mFYED#gq2+H;ngvb!3=b2sooKu<6JxY`AR9>ykjo)iIL< z9A40Y^tou|LQcJTe?WJ9je>XuYJ7K;aRE zM-(2-Q2}`a@`j&{H{g9Q|MJ@ksMk_Qj3^uJuzvAB4@k_g7GXjIfe3*J0l>` Wm9u}aFz-8vSJd{M+vMTNr~VDMD?85s literal 26456 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 YCsr;^n##R959!6s*y==~q1zw-19v2oQUCw| diff --git a/forui/test/golden/button/zinc-dark-FButtonVariant.destructive-disabled-button-content.png b/forui/test/golden/button/zinc-dark-FButtonVariant.destructive-disabled-button-content.png index 432aeca15ee8e8dbdd37864853302df6523d94c1..95ec9014bd500ed8089c347652ee363025544810 100644 GIT binary patch literal 30410 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 aJf0{ydfr*2UOEQ4(>0Zw$_1BA|NLKh0^qj* literal 25423 zcmeHQXIK;4){c6PsECLt7LXt)sDP+QZyu%CfFsgDK~d?1PJo2KQI2#z3s`6>Dk5D7 zJp?I<3Zm4|l0YIgvR%BLjgg z`?f$J5P|dObWI?T&Grxo-=<9)fjy<|3%>y$>wHWM&OmaT#72NGzxkXwZ@LNC5SwmB zKp+y3^SXbS!js3k{}8B_fK;Ex#W!L}FTz4Z9%%f&>ziW^Qxxd5vWX?3_;_td@8{6p zd0)2g&F3{Ck{d*L?bA1_*YnyDTP=A_$o+Nvytc$i`*pmw?nXIYGxQ@kI8PU#T0pd{ zVgYm_kXu%v08%a(ELNca#!xV|ScL+Zae;~GDipvJ8eCbdLIGTGf$LBn6u{*)EEo}A)(oNcLXC$77N9wl{tq$Jp z^twBJqggR`D6D&C)Rb&pm3;BwFJ$=JFPSssr#5!{5<1uaTxXs8r6{-gmqcsb&s8}% zIFD!{lAv06y4Vh)g{O*8(20H){6TKv!9oJ0T%IZ*_rXZS(?tXrpn0k|4W<@6Re-4l zn27SQp!@$4Lj~++x_Qq6fb{$Gp#_kBc{l^<7hLeJVgX#jfaMV$E&LiRy2(MILryA+ zOqx2gf|#6m%c$Wbo_G>}>*;JqEpO3RZIJ9Z*zcWkkLE{W(*gs^8Y`v)kCli|?A>9% zd?w@8Qw4%wl_jCfF2MXAug{cRj-pSA&7emjbUEbd(}1CdrEx?mHudYYCx&#hYUp-Z zMR0%GLPYKR#!11&z%nxX`@;=9u#(?2G%n58QW5MqRp?zy=%MNbXvfn)q-tYUEeZV> zZz66jfwx&R{a#h5rQ?nX&0hg&Vk(FyVeuJdJzaroHDevy+-c$>b2^|WpA`+E$!OaJ zOb^1JnFX(%!DhfQO#ze8LE?Zn?Q-hQbsZ>p8Tl(T?w(CNZ$c2`7Qfr9xvAr*KuvPc zBN>MP+Pc&&^j$n*5WOcA$>QP%knPYQ1mfHm@!^$ZaeRAAKTk9F)&!&L*w+bSU$@< z=Don{yY}&p9#rtJm|yTLo!z5??phcwm78_}q}andJe7^<&MPEO3HT-n=MA+Ja+KAQ`13n%4Ho+O`fG2i!*(VPW3?d_1O$3jNo40iA{f-yZKljtA1BRa@@+> z>8K}LtR}zvCod%*`z0?t_)8`7!7q#J^FPz*|M_Kgb?%p1#KB)GcMpEahR*-9hi~s9 zaa4C&c5x=hF6zRq+jh;TUJBLX@7zSwUQkyuS9;`6Yo&22OMSScLX@g~;EsNlEw@D}K z*Cx(2U)^%K)MRDEEyG)$4zkFNsHmFFfzMSfQs%0w-C!Bt3~fqqqp_mWG3?u z)MeqLW+>U4iDSz95}K*E3T<&uFeq_^EhpZ z?dbBDGxF(8Tqq7E>!*vyvs-lxgNZ-PvMAWz5F5GiartC2;?wID7^v22{>4$0eX4pT z3Z;pdL>3HTnEXRoaj=0s$>sPd&Jv=Lg;jGszxph326 z$;6|A7au;r$HMrM$|wKkKNew(r1J~o$U!3mfQ26GEFq_FJ;up+l=jz>HPkiu2^G{l zwz>=Y%Gvksc~v6Vp#JcPh*CzPe1XUGpy1HwgwJ=C-nqNe9Z}O{))T?E9^kzGw z_^p1=E7u%S{)R z&MXacg7uwW7>e(V@k{y&sL;_r$f|AGIVd<8j{UQqCcF@@JR-imJuAVo4!%e2lC2Lm}fjJmR&zZGIEN>)-@*U`*`F(FCfn3h7T(LI+7)wj($85C(JEU3OER_S6zJ9-qo2XMi}3jI?qZ*q2rCkBv|U8p}gE{lOyK2HWsQ(RRC#Jb4Pjl83G0LxEoGhmY&{u32i?x@$8@L`| zM$Hv7_RXkz_np?9rb6)**rj$i*sUfFU`qVZ5yD#nbsi6exx_j`0}sCJ`<8jZMybQC zS2caP@<-d1%c9V6LF)W#jyBT+T<{cJ{(^VzrT>-F8YtlC07i;%eq~ZMx6A3jh264Nrh7{1_wL( za&2Y=UFC(=cH(~2!fYNM$FGn)p3`U*{rH%?7#VQom=3kM3axM|u^~z4zKbvX)yOby z_{G_9YC^F~E0gPRGe5p?a))ZMnLM3f|CTbB;9$9tk;p2vtF+Gi+nw~MJs#0eaxhFx zBWPypxHrqib@H$nS)~?2tDYc+Qvr%r!r<&ts8+%@K>;PCJTMl-@!m?1jB{?I(FZRo zDEYZt1Oy;Pvh0p*3%MYq;!fNrNc8#YOzK~<$TXGSrYyNJey0uvc5=~QMCY&k91Lbe zX>@iWW@0l(vR;bNUCyY}o%FCU4#KE)1rFiUSG9=E6*uawNbSAmnWmB#gzgKOxP`j~XJb zrZ=C<;e_w%rBz!&T+r4_3$q0Nq4LKH8d6NTE%AeQ^wTdRT+CkYXfH0_o73J(uz)`^ zcSmSeXmNxbd^$fb&&|+;$AX4ZYUpwG(Mi|RO+8q&mxr{7hISf+7~>u1a;&i-`m}6P z=?hPU?@c(4%UJdyE27G6ci+Dsu+asyXXWsTzyy~=pAGdbwHg+mk$c4y)osPj<=B>Z z0NpJsiainV;kp9z`}^sE0fHfSt=fGAwGsq z%1i3|8CBSH&!ygIZS8cwrl;S@2tq}D#(fTz=TEKBrbuZ0#l*UB3)WCg84y!z=mqzi zYv{&A#B>p}f)&@3ZmWi|lh08dN{+A8M|X<=8BI5hgrL{g&|hOP1^%sX-c0y?*kz$> z;5bwlsb5!Yan0R@o460^tOkEViN9g*kM=xW=Lf>C7?n&w=7O+v0OF73qh)g|ay@fR zkJf*&V|iy|`~K>^E%owR*6z4GqVGgZhjW{Z_L&nGgt9vF(irGF261&$^cOW{q7#*h z<>eI_2qchn(LW_=+o`I2L#g8Qqp8Xq>xiU|y1_V&&?^ZS20m?gZldc*crbjmKoYQT zG}yM(#cJd{@I;wR%9go;U{CuCoGJwTlbM*Au;j2T74aVSUV z@ISa|`f|&iF*uXw6L3_+3GU3S@2 z`Z{N8pnTlsI)CRRYe%SA^yUIMqyJt;uQ2z*@hcp(Zj_9Y5MRXey}?Y(rY*a58_e$7 zyI(wxkorl>CGT1uK1rdftqtv}oT@R>%eq=Y`Id??%qgVTQ2xi&7p@xO&DOznemr-D zcIo!q+@G2VGV*eguCKbQ1dvG3YlMvf+iD&kN#|pC0?{10yvS5R#&goqVH8=I z>fq4jj#B_kUd$f-;+$tw>@x6Z+IXpt?}X>vR1qzkSmfMN21KGcESnbWHPiRPnQ+A0 zo;gWjBPWBsD0B2S8pl1Kklz(zIE_$q^E^Vj?Wg5f+w^Pk-Eesz?Yu#5N+}p`Cs4kT z2955jcL7wW$*8{L^+}0Pr)OcOG(ug_zh^-CvfD1E#4hmAzF6EVn!tXIjy7Z(YKcBK z-UGwSz{-y#&iEQ+YSPIsx;wN7_QmQ;iO;ii>JAZXg?HN_{p74GRbQT>muHIa-$P$S z-7%QN>HzU?j|IsSDQAZ+_e|00RiyyIfj+8etb*J^_!uc{c=hp#Q=Pq7HI8L6>@o`r zU4OtDM4lTfOeBwULq?-B5VT^e+OyJu{7F)BK~OBBc9D@n7fuEI*?~Bpl1R96KmR)?C-v&hFH{ zSf^9_PIwOgDW(QL&KU3A>yVzVXw5;%b2Cj9-$B-P_hT!j4 z{pVu(=6~iQ7^oMt?<>UcDrFGMC)NdDoXa4tr>v*0a9$tfY@vnEcl9JE^5^6BkuGo9%`->!Q{N)`ZruxOT7o}kIL_uNjdpq1`e0p0 zzsPbvuSee{=XU9gLmRT2^`-pdV!txDv4C^B{U4ob%Hrvkef^{@>#}4bSj_RCnc`OS%-5s#gi>gb;b9aoo0W$dA%V!f~<3= z1;vTx+|B8lmLy4hZ|n&^=w@K}xOQ3r($}rHgf}zDbPY^jp9<$(@`*6O3}IzACi%X; z?Cm9qytX2(J;v9l7aIW&@Ri%v;Zlf6P)l#?>KYKse<&yanED`&@iy`1+QWZSP<_!@ zj*xeZs?@_FS*Hy$ckT`-GO*|p-p9LY9~>hNi;clKopqVP|7Q8{uwI>-d%LAwj=BKv zilK?8NKSRRbov~z6CM#0wK@OIW%+~~XMt4NJnKL$Pk+yMwMkI|9H?Birvxb-T4(-H z{le?vEYllSuXhj=yy2<`c)H*}uO+$BWp+5PonoIe=yk_%hy9^PQZFk^A}74nIGqkB zyu_GBF}#l)EyQq%hST%O8F@)yMtgEpZoHx|riBG*ZFE7u{mK{|JiyIDxTBwbATz?7 z9OOT=&h^i((t*-L{tdu<=2QP20$KT80Is9_!)v`DivAra0+GYj0PqJ4Er1gK%kD3M zoCD&X>;L~HxSyIF>n`9-xLN{5QyV)L$DKUHe#hF)Y>4#FAN>J$uc!yq$*LYeK!AXN zfZhOl15lg;L&gdWz<9Z$2M`coYye}!Dh5D$fGPF55F0s;gCfo$n2);5Xky= n&i@Di)%Gu|4OG=XKvh@P?}VfX>0dw1vDSG#Bi-CH_J92^k!ytg diff --git a/forui/test/golden/button/zinc-dark-FButtonVariant.destructive-enabled-button-content.png b/forui/test/golden/button/zinc-dark-FButtonVariant.destructive-enabled-button-content.png index eaa48f079dbe21d0da2a33ca766cba0be2d339e4..ebdc01d2600f04fde888cd45479c04e440553985 100644 GIT binary patch literal 30743 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 bRUghD`|zhJ8Th+V2;|UDM;%M|Lx1}(*l1Az diff --git a/forui/test/golden/button/zinc-dark-FButtonVariant.outlined-disabled-button-content.png b/forui/test/golden/button/zinc-dark-FButtonVariant.outlined-disabled-button-content.png index fe909754f57d7fad725d991939c39309f5185fab..a5fb6bb23fcc947609de5e7434d70d7acadd482c 100644 GIT binary patch literal 30961 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

}PL-i6$1tTv<2U$A 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 literal 25958 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 CCoUiW diff --git a/forui/test/golden/button/zinc-dark-FButtonVariant.outlined-enabled-button-content.png b/forui/test/golden/button/zinc-dark-FButtonVariant.outlined-enabled-button-content.png index 79f9cf47e20d59fa7519253e15a0cc4bfd9349d2..2abd960b84d256f7c35a7ea12b88e0ba5209a0ff 100644 GIT binary patch literal 31467 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