From 94008abe530015367b0a437f7f707bcb7e2dd74d Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 22 May 2024 16:32:48 +0800 Subject: [PATCH 1/6] Add support for text --- .github/workflows/forui_example_build.yaml | 2 +- forui/lib/src/theme/font.dart | 40 +++++++++++++++++ forui/lib/src/theme/style.dart | 7 ++- forui/lib/src/theme/theme.dart | 26 ++++++++--- forui/lib/src/theme/theme_data.dart | 4 +- forui/lib/src/widgets/box/box.dart | 9 ++-- forui/lib/src/widgets/box/box_style.dart | 7 +-- forui/lib/src/widgets/card/card.dart | 13 +++--- forui/lib/src/widgets/card/card_content.dart | 8 ++-- .../src/widgets/card/card_content_style.dart | 27 ++++++++++-- forui/lib/src/widgets/card/card_style.dart | 43 ++++++++++++++----- 11 files changed, 144 insertions(+), 42 deletions(-) diff --git a/.github/workflows/forui_example_build.yaml b/.github/workflows/forui_example_build.yaml index af5861869..3f304b563 100644 --- a/.github/workflows/forui_example_build.yaml +++ b/.github/workflows/forui_example_build.yaml @@ -47,5 +47,5 @@ jobs: - run: flutter analyze - run: flutter test - run: pod repo update - working-directory: samples/ios + working-directory: forui/example/ios - run: flutter build ios --debug --no-codesign --no-pub diff --git a/forui/lib/src/theme/font.dart b/forui/lib/src/theme/font.dart index f22989fab..f3f57ff94 100644 --- a/forui/lib/src/theme/font.dart +++ b/forui/lib/src/theme/font.dart @@ -185,3 +185,43 @@ final class FFont with Diagnosticable { heightScalar.hashCode; } + +/// Provides functions for working with [FFont]s. +extension FontTextStyle on TextStyle { + + /// Returns a [TextStyle] scaled using the given [font]. + /// + /// ```dart + /// final font = FFont( + /// family: 'packages/forui/my-font', + /// sizeScalar: 2, + /// letterSpacingScalar: 3, + /// wordSpacingScalar: 4, + /// heightScalar: 5, + /// ); + /// + /// final style = TextStyle( + /// fontFamily: 'default-font', + /// fontSize: 1, + /// letterSpacing: 1, + /// wordSpacing: 1, + /// height: 1, + /// ).withFont(font); + /// + /// print(style.fontFamily); // 'packages/forui/my-font' + /// print(style.fontSize); // 2 + /// print(style.letterSpacing); // 3 + /// print(style.wordSpacing); // 4 + /// print(style.height); // 5 + /// ``` + TextStyle withFont(FFont font) => TextStyle( + fontFamily: font.family, + fontSize: _scale(fontSize, font.sizeScalar), + letterSpacing: _scale(letterSpacing, font.letterSpacingScalar), + wordSpacing: _scale(wordSpacing, font.wordSpacingScalar), + height: _scale(height, font.heightScalar), + ); + + double? _scale(double? value, double factor) => value == null ? null : value * factor; + +} diff --git a/forui/lib/src/theme/style.dart b/forui/lib/src/theme/style.dart index c2cf19a9e..f36fad8af 100644 --- a/forui/lib/src/theme/style.dart +++ b/forui/lib/src/theme/style.dart @@ -7,8 +7,13 @@ final class FStyle with Diagnosticable { /// The border radius. final BorderRadius borderRadius; + /// The text style. + final TextStyle textStyle; + /// Creates an [FStyle]. - FStyle({BorderRadius? borderRadius}) : borderRadius = borderRadius ?? BorderRadius.circular(8); + FStyle({BorderRadius? borderRadius, TextStyle? textStyle}): + borderRadius = borderRadius ?? BorderRadius.circular(8), + textStyle = textStyle ?? const TextStyle(fontSize: 10); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { diff --git a/forui/lib/src/theme/theme.dart b/forui/lib/src/theme/theme.dart index b6125c1b6..278b4e9bc 100644 --- a/forui/lib/src/theme/theme.dart +++ b/forui/lib/src/theme/theme.dart @@ -3,13 +3,10 @@ import 'package:flutter/material.dart'; import 'package:forui/forui.dart'; -/// Represents a ForUI theme. +/// Represents a Forui theme. +/// +/// See [ThemeBuildContext.theme] for accessing the current theme. class FTheme extends StatelessWidget { - /// Retrieves the theme data. - static FThemeData of(BuildContext context) { - final theme = context.dependOnInheritedWidgetOfExactType<_InheritedTheme>(); - return theme?.data ?? FThemes.zinc.light; - } /// The theme data. final FThemeData data; @@ -35,7 +32,10 @@ class FTheme extends StatelessWidget { data: data, child: Directionality( textDirection: textDirection ?? Directionality.of(context), - child: child, + child: DefaultTextStyle( + style: data.style.textStyle.withFont(data.font), + child: child, + ), ), ); @@ -55,3 +55,15 @@ class _InheritedTheme extends InheritedWidget { @override bool updateShouldNotify(covariant _InheritedTheme old) => data != old.data; } + +/// Provides functions for accessing the current [FThemeData]. +extension ThemeBuildContext on BuildContext { + + /// Retrieves the current [FThemeData] from an ancestor [FTheme]. Defaults to [FThemes.zinc.light] if there is no + /// ancestor [FTheme]. + FThemeData get theme { + final theme = dependOnInheritedWidgetOfExactType<_InheritedTheme>(); + return theme?.data ?? FThemes.zinc.light; + } + +} diff --git a/forui/lib/src/theme/theme_data.dart b/forui/lib/src/theme/theme_data.dart index 353c0ab00..441faf1d1 100644 --- a/forui/lib/src/theme/theme_data.dart +++ b/forui/lib/src/theme/theme_data.dart @@ -34,8 +34,8 @@ class FThemeData with Diagnosticable { required this.font, required this.style, }): - boxStyle = FBoxStyle.inherit(colorScheme: colorScheme, font: font), - cardStyle = FCardStyle.inherit(colorScheme: colorScheme, font: font, style: style); + boxStyle = FBoxStyle.inherit(colorScheme: colorScheme), + cardStyle = FCardStyle.inherit(colorScheme: colorScheme, style: style); /// Creates a copy of this [FThemeData] with the given properties replaced. FThemeData copyWith({ diff --git a/forui/lib/src/widgets/box/box.dart b/forui/lib/src/widgets/box/box.dart index 68e61545c..6545391e3 100644 --- a/forui/lib/src/widgets/box/box.dart +++ b/forui/lib/src/widgets/box/box.dart @@ -17,13 +17,12 @@ class FBox extends StatelessWidget { @override Widget build(BuildContext context) { - final style = this.style ?? FTheme.of(context).boxStyle; - + final FBoxStyle(:color, :text) = style ?? context.theme.boxStyle; return ColoredBox( - color: style.color, + color: color, child: Text( - text, - style: style.text, + this.text, + style: text.withFont(context.theme.font), ), ); } diff --git a/forui/lib/src/widgets/box/box_style.dart b/forui/lib/src/widgets/box/box_style.dart index 893694ca4..b0895537f 100644 --- a/forui/lib/src/widgets/box/box_style.dart +++ b/forui/lib/src/widgets/box/box_style.dart @@ -11,7 +11,8 @@ class FBoxStyle { /// Creates a [FBoxStyle]. const FBoxStyle({required this.color, required this.text}); - /// Creates a [FBoxStyle] that inherits its properties from [font] and [colorScheme]. - FBoxStyle.inherit({required FColorScheme colorScheme, required FFont font}): - color = colorScheme.muted, text = font.toTextStyle(fontSize: 20); + /// Creates a [FBoxStyle] that inherits its properties from [colorScheme]. + FBoxStyle.inherit({required FColorScheme colorScheme}): + color = colorScheme.muted, + text = const TextStyle(fontSize: 20); } diff --git a/forui/lib/src/widgets/card/card.dart b/forui/lib/src/widgets/card/card.dart index c8008d0a2..639a77235 100644 --- a/forui/lib/src/widgets/card/card.dart +++ b/forui/lib/src/widgets/card/card.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; - +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; import 'package:forui/forui.dart'; part 'card_content.dart'; @@ -28,11 +28,14 @@ class FCard extends StatelessWidget { @override Widget build(BuildContext context) { - final style = this.style ?? FTheme.of(context).cardStyle; - + final theme = context.theme; + final style = this.style ?? theme.cardStyle; return DecoratedBox( decoration: style.decoration, - child: child, + child: DefaultTextStyle( + style: style.text.withFont(theme.font), + child: child, + ), ); } } diff --git a/forui/lib/src/widgets/card/card_content.dart b/forui/lib/src/widgets/card/card_content.dart index dcf51066a..81af7d719 100644 --- a/forui/lib/src/widgets/card/card_content.dart +++ b/forui/lib/src/widgets/card/card_content.dart @@ -19,15 +19,15 @@ final class FCardContent extends StatelessWidget { @override Widget build(BuildContext context) { - final style = this.style ?? FTheme.of(context).cardStyle.content; - + final font = context.theme.font; + final style = this.style ?? context.theme.cardStyle.content; return Padding( padding: style.padding, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - if (title != null) Text(title!, style: style.title), - if (subtitle != null) Text(subtitle!, style: style.subtitle), + if (title != null) Text(title!, style: style.title.withFont(font)), + if (subtitle != null) Text(subtitle!, style: style.subtitle.withFont(font)), if (child != null) Padding( padding: (title == null && subtitle == null) ? const EdgeInsets.only(top: 4) : const EdgeInsets.only(top: 10), diff --git a/forui/lib/src/widgets/card/card_content_style.dart b/forui/lib/src/widgets/card/card_content_style.dart index 513d79ebb..9b4e247a1 100644 --- a/forui/lib/src/widgets/card/card_content_style.dart +++ b/forui/lib/src/widgets/card/card_content_style.dart @@ -1,7 +1,7 @@ part of 'card.dart'; /// [FCardContent]'s style. -class FCardContentStyle { +class FCardContentStyle with Diagnosticable { /// The padding. final EdgeInsets padding; @@ -14,10 +14,10 @@ class FCardContentStyle { /// Creates a [FCardContentStyle]. const FCardContentStyle({required this.padding, required this.title, required this.subtitle}); - /// Creates a [FCardContentStyle] that inherits its properties from [colorScheme] and [font]. - FCardContentStyle.inherit({required FColorScheme colorScheme, required FFont font}): + /// Creates a [FCardContentStyle] that inherits its properties from [colorScheme]. + FCardContentStyle.inherit({required FColorScheme colorScheme}): padding = const EdgeInsets.fromLTRB(16, 12, 16, 16), - title = font.toTextStyle( + title = TextStyle( fontSize: 16, fontWeight: FontWeight.w600, color: colorScheme.foreground, @@ -27,4 +27,23 @@ class FCardContentStyle { color: colorScheme.mutedForeground, ); + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('padding', padding)) + ..add(DiagnosticsProperty('title', title)) + ..add(DiagnosticsProperty('subtitle', subtitle)); + } + + @override + bool operator ==(Object other) => identical(this, other) || other is FCardContentStyle && + runtimeType == other.runtimeType && + padding == other.padding && + title == other.title && + subtitle == other.subtitle; + + @override + int get hashCode => padding.hashCode ^ title.hashCode ^ subtitle.hashCode; + } diff --git a/forui/lib/src/widgets/card/card_style.dart b/forui/lib/src/widgets/card/card_style.dart index 7f5abb72d..446b3740f 100644 --- a/forui/lib/src/widgets/card/card_style.dart +++ b/forui/lib/src/widgets/card/card_style.dart @@ -1,21 +1,44 @@ part of 'card.dart'; /// [FCard]'s style. -class FCardStyle { +final class FCardStyle with Diagnosticable { /// The decoration. final BoxDecoration decoration; + /// The body. + final TextStyle text; + /// The [FCardContent] style. final FCardContentStyle content; /// Creates a [FCardStyle]. - FCardStyle({required this.decoration, required this.content}); - - /// Creates a [FCardStyle] that inherits its properties from [colorScheme] and [font]. - FCardStyle.inherit({required FColorScheme colorScheme, required FFont font, required FStyle style}) - : decoration = BoxDecoration( - border: Border.all(color: colorScheme.border), - borderRadius: style.borderRadius, - ), - content = FCardContentStyle.inherit(colorScheme: colorScheme, font: font); + FCardStyle({required this.decoration, required this.text, required this.content}); + + /// Creates a [FCardStyle] that inherits its properties from [colorScheme] and [style]. + FCardStyle.inherit({required FColorScheme colorScheme, required FStyle style}): + decoration = BoxDecoration( + border: Border.all(color: colorScheme.border), + borderRadius: style.borderRadius, + ), + text = style.textStyle, + content = FCardContentStyle.inherit(colorScheme: colorScheme); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('text', text)) + ..add(DiagnosticsProperty('content', content)); + } + + @override + bool operator ==(Object other) => identical(this, other) || other is FCardStyle && + runtimeType == other.runtimeType && + decoration == other.decoration && + text == other.text && + content == other.content; + + @override + int get hashCode => decoration.hashCode ^ text.hashCode ^ content.hashCode; + } From 9154bd8e85fef5fdd68b40edef3cbd7f89424a48 Mon Sep 17 00:00:00 2001 From: Pante Date: Wed, 22 May 2024 08:34:23 +0000 Subject: [PATCH 2/6] Commit from GitHub Actions (Forui Presubmit) --- forui/lib/src/widgets/card/card.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/forui/lib/src/widgets/card/card.dart b/forui/lib/src/widgets/card/card.dart index 639a77235..45624a013 100644 --- a/forui/lib/src/widgets/card/card.dart +++ b/forui/lib/src/widgets/card/card.dart @@ -1,5 +1,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; + import 'package:forui/forui.dart'; part 'card_content.dart'; From 0ef5c79241945f3a53c4fedca7ed1ba779508e55 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 23 May 2024 14:42:31 +0800 Subject: [PATCH 3/6] Add back FTheme.of(...) --- forui/lib/src/theme/theme.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/forui/lib/src/theme/theme.dart b/forui/lib/src/theme/theme.dart index 278b4e9bc..01eb1dcac 100644 --- a/forui/lib/src/theme/theme.dart +++ b/forui/lib/src/theme/theme.dart @@ -8,6 +8,14 @@ import 'package:forui/forui.dart'; /// See [ThemeBuildContext.theme] for accessing the current theme. class FTheme extends StatelessWidget { + /// Retrieves the current theme data. + /// + /// It is recommended to use [ThemeBuildContext.theme] to access the current theme instead. + static FThemeData of(BuildContext context) { + final theme = context.dependOnInheritedWidgetOfExactType<_InheritedTheme>(); + return theme?.data ?? FThemes.zinc.light; + } + /// The theme data. final FThemeData data; From 3df8553222607c1bce5376ee351bd6f260cfd621 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 23 May 2024 15:05:51 +0800 Subject: [PATCH 4/6] Fix PR issues --- forui/lib/src/theme/style.dart | 24 ++++++++++++++-------- forui/lib/src/theme/themes.dart | 14 +++++++++++-- forui/lib/src/widgets/card/card.dart | 5 +---- forui/lib/src/widgets/card/card_style.dart | 12 +++-------- 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/forui/lib/src/theme/style.dart b/forui/lib/src/theme/style.dart index f36fad8af..305fb80ee 100644 --- a/forui/lib/src/theme/style.dart +++ b/forui/lib/src/theme/style.dart @@ -4,27 +4,33 @@ import 'package:flutter/widgets.dart'; /// The overarching style that is used to configure the properties of widget-specific styles if they are not provided. final class FStyle with Diagnosticable { - /// The border radius. - final BorderRadius borderRadius; - /// The text style. final TextStyle textStyle; + /// The border radius. + final BorderRadius borderRadius; + /// Creates an [FStyle]. - FStyle({BorderRadius? borderRadius, TextStyle? textStyle}): - borderRadius = borderRadius ?? BorderRadius.circular(8), - textStyle = textStyle ?? const TextStyle(fontSize: 10); + FStyle({required this.textStyle, BorderRadius? borderRadius}): + borderRadius = borderRadius ?? BorderRadius.circular(8); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); - properties.add(DiagnosticsProperty('borderRadius', borderRadius)); + properties + ..add(DiagnosticsProperty('textStyle', textStyle)) + ..add(DiagnosticsProperty('borderRadius', borderRadius)); } @override - bool operator ==(Object other) => identical(this, other) || other is FStyle && borderRadius == other.borderRadius; + bool operator ==(Object other) => + identical(this, other) || + other is FStyle && + runtimeType == other.runtimeType && + textStyle == other.textStyle && + borderRadius == other.borderRadius; @override - int get hashCode => borderRadius.hashCode; + int get hashCode => textStyle.hashCode ^ borderRadius.hashCode; } diff --git a/forui/lib/src/theme/themes.dart b/forui/lib/src/theme/themes.dart index 2d7d8a000..da5fd27f6 100644 --- a/forui/lib/src/theme/themes.dart +++ b/forui/lib/src/theme/themes.dart @@ -22,7 +22,12 @@ extension FThemes on Never { destructiveForeground: Color(0xFFFAFAFA), border: Color(0xFFE4E4E7), ), - style: FStyle(), + style: FStyle( + textStyle: const TextStyle( + fontSize: 10, + color: Color(0xFF09090B), + ), + ), ), dark: FThemeData.inherit( font: FFont(), @@ -39,7 +44,12 @@ extension FThemes on Never { destructiveForeground: Color(0xFFFAFAFA), border: Color(0xFF27272A), ), - style: FStyle(), + style: FStyle( + textStyle: const TextStyle( + fontSize: 10, + color: Color(0xFFFAFAFA), + ), + ), ), ); } diff --git a/forui/lib/src/widgets/card/card.dart b/forui/lib/src/widgets/card/card.dart index 45624a013..e9f2df2f1 100644 --- a/forui/lib/src/widgets/card/card.dart +++ b/forui/lib/src/widgets/card/card.dart @@ -33,10 +33,7 @@ class FCard extends StatelessWidget { final style = this.style ?? theme.cardStyle; return DecoratedBox( decoration: style.decoration, - child: DefaultTextStyle( - style: style.text.withFont(theme.font), - child: child, - ), + child: child, ); } } diff --git a/forui/lib/src/widgets/card/card_style.dart b/forui/lib/src/widgets/card/card_style.dart index 446b3740f..56040a7df 100644 --- a/forui/lib/src/widgets/card/card_style.dart +++ b/forui/lib/src/widgets/card/card_style.dart @@ -5,14 +5,11 @@ final class FCardStyle with Diagnosticable { /// The decoration. final BoxDecoration decoration; - /// The body. - final TextStyle text; - /// The [FCardContent] style. final FCardContentStyle content; /// Creates a [FCardStyle]. - FCardStyle({required this.decoration, required this.text, required this.content}); + FCardStyle({required this.decoration, required this.content}); /// Creates a [FCardStyle] that inherits its properties from [colorScheme] and [style]. FCardStyle.inherit({required FColorScheme colorScheme, required FStyle style}): @@ -20,25 +17,22 @@ final class FCardStyle with Diagnosticable { border: Border.all(color: colorScheme.border), borderRadius: style.borderRadius, ), - text = style.textStyle, content = FCardContentStyle.inherit(colorScheme: colorScheme); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties - ..add(DiagnosticsProperty('text', text)) - ..add(DiagnosticsProperty('content', content)); + .add(DiagnosticsProperty('content', content)); } @override bool operator ==(Object other) => identical(this, other) || other is FCardStyle && runtimeType == other.runtimeType && decoration == other.decoration && - text == other.text && content == other.content; @override - int get hashCode => decoration.hashCode ^ text.hashCode ^ content.hashCode; + int get hashCode => decoration.hashCode ^ content.hashCode; } From 354dd05390cba2e7cd918d5a5242924147f9cb3a Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 23 May 2024 15:17:13 +0800 Subject: [PATCH 5/6] Fix PR issues again --- forui/lib/src/theme/style.dart | 9 ++------- forui/lib/src/theme/theme.dart | 6 +++++- forui/lib/src/theme/themes.dart | 14 ++------------ 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/forui/lib/src/theme/style.dart b/forui/lib/src/theme/style.dart index 305fb80ee..7d6b976fe 100644 --- a/forui/lib/src/theme/style.dart +++ b/forui/lib/src/theme/style.dart @@ -4,21 +4,17 @@ import 'package:flutter/widgets.dart'; /// The overarching style that is used to configure the properties of widget-specific styles if they are not provided. final class FStyle with Diagnosticable { - /// The text style. - final TextStyle textStyle; - /// The border radius. final BorderRadius borderRadius; /// Creates an [FStyle]. - FStyle({required this.textStyle, BorderRadius? borderRadius}): + FStyle({BorderRadius? borderRadius}): borderRadius = borderRadius ?? BorderRadius.circular(8); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties - ..add(DiagnosticsProperty('textStyle', textStyle)) ..add(DiagnosticsProperty('borderRadius', borderRadius)); } @@ -27,10 +23,9 @@ final class FStyle with Diagnosticable { identical(this, other) || other is FStyle && runtimeType == other.runtimeType && - textStyle == other.textStyle && borderRadius == other.borderRadius; @override - int get hashCode => textStyle.hashCode ^ borderRadius.hashCode; + int get hashCode => borderRadius.hashCode; } diff --git a/forui/lib/src/theme/theme.dart b/forui/lib/src/theme/theme.dart index 01eb1dcac..01ddfc636 100644 --- a/forui/lib/src/theme/theme.dart +++ b/forui/lib/src/theme/theme.dart @@ -41,7 +41,11 @@ class FTheme extends StatelessWidget { child: Directionality( textDirection: textDirection ?? Directionality.of(context), child: DefaultTextStyle( - style: data.style.textStyle.withFont(data.font), + // TODO: replace with configurable default font. + style: data.font.toTextStyle( + fontSize: 10, + color: data.colorScheme.foreground, + ), child: child, ), ), diff --git a/forui/lib/src/theme/themes.dart b/forui/lib/src/theme/themes.dart index da5fd27f6..2d7d8a000 100644 --- a/forui/lib/src/theme/themes.dart +++ b/forui/lib/src/theme/themes.dart @@ -22,12 +22,7 @@ extension FThemes on Never { destructiveForeground: Color(0xFFFAFAFA), border: Color(0xFFE4E4E7), ), - style: FStyle( - textStyle: const TextStyle( - fontSize: 10, - color: Color(0xFF09090B), - ), - ), + style: FStyle(), ), dark: FThemeData.inherit( font: FFont(), @@ -44,12 +39,7 @@ extension FThemes on Never { destructiveForeground: Color(0xFFFAFAFA), border: Color(0xFF27272A), ), - style: FStyle( - textStyle: const TextStyle( - fontSize: 10, - color: Color(0xFFFAFAFA), - ), - ), + style: FStyle(), ), ); } From af590eea0e09d3f4eba7b451025eee5828830ba0 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 23 May 2024 15:17:33 +0800 Subject: [PATCH 6/6] Fix dart lint --- forui/lib/src/theme/style.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forui/lib/src/theme/style.dart b/forui/lib/src/theme/style.dart index 7d6b976fe..5d4cdde2a 100644 --- a/forui/lib/src/theme/style.dart +++ b/forui/lib/src/theme/style.dart @@ -15,7 +15,7 @@ final class FStyle with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties - ..add(DiagnosticsProperty('borderRadius', borderRadius)); + .add(DiagnosticsProperty('borderRadius', borderRadius)); } @override