From 0e1fc20e1dfc24083074cfba92ccd1c23a7c6d8c Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Wed, 25 Mar 2026 12:05:38 +0800 Subject: [PATCH 01/10] Unify popover menu submenu item & tile hover behavior. --- .../lib/usages/widgets/popover_menu.dart | 2 - forui/CHANGELOG.md | 1 - forui/lib/src/widgets/item/item.dart | 8 +-- forui/lib/src/widgets/item/item_mixin.dart | 2 - .../widgets/popover_menu/popover_menu.dart | 20 +------ .../widgets/popover_menu/submenu_item.dart | 23 ++++---- .../widgets/popover_menu/submenu_tile.dart | 23 ++++---- forui/lib/src/widgets/tile/tile_mixin.dart | 2 - .../popover_menu_golden_test.dart | 5 -- .../popover_menu/submenu_item_test.dart | 56 ++++++++++++------ .../popover_menu/submenu_tile_test.dart | 57 +++++++++++++------ 11 files changed, 109 insertions(+), 90 deletions(-) diff --git a/docs_snippets/lib/usages/widgets/popover_menu.dart b/docs_snippets/lib/usages/widgets/popover_menu.dart index 041259255..557111830 100644 --- a/docs_snippets/lib/usages/widgets/popover_menu.dart +++ b/docs_snippets/lib/usages/widgets/popover_menu.dart @@ -43,7 +43,6 @@ final popoverMenu = FPopoverMenu( // {@category "Core"} style: const .delta(maxWidth: 250), divider: .full, - hover: true, menu: [ .group( children: [ @@ -97,7 +96,6 @@ final popoverMenuTiles = FPopoverMenu.tiles( // {@category "Core"} style: const .delta(maxWidth: 250), divider: .full, - hover: true, menu: [ .group( children: [ diff --git a/forui/CHANGELOG.md b/forui/CHANGELOG.md index 58f000212..e19687eff 100644 --- a/forui/CHANGELOG.md +++ b/forui/CHANGELOG.md @@ -17,7 +17,6 @@ ### `FPopoverMenu` * Add `FSubmenuItem`. * Add `FSubmenuTile`. -* Add `FPopoverMenu.hover`. * Add `FPopoverMenuStyle.motion`. * Add `FPopoverMenuMotion`. * Add `FPopoverMenuStyle.minWidth`. diff --git a/forui/lib/src/widgets/item/item.dart b/forui/lib/src/widgets/item/item.dart index 751e62e10..7a1513d22 100644 --- a/forui/lib/src/widgets/item/item.dart +++ b/forui/lib/src/widgets/item/item.dart @@ -471,12 +471,12 @@ class FItemStyle with Diagnosticable, _$FItemStyleFunctions { static ({EdgeInsetsGeometry suffixedPadding, EdgeInsetsGeometry unsuffixedPadding, EdgeInsetsGeometry margin}) menuInsets({required bool touch}) => touch ? ( - suffixedPadding: const EdgeInsetsDirectional.fromSTEB(10, 12.5, 6, 12.5), + suffixedPadding: const .fromSTEB(10, 12.5, 6, 12.5), unsuffixedPadding: const .symmetric(horizontal: 10, vertical: 12.5), margin: const .symmetric(horizontal: 4), ) : ( - suffixedPadding: const EdgeInsetsDirectional.fromSTEB(10, 6.5, 5, 6.5), + suffixedPadding: const .fromSTEB(10, 6.5, 5, 6.5), unsuffixedPadding: const .symmetric(horizontal: 10, vertical: 6.5), margin: const .symmetric(horizontal: 4), ); @@ -485,12 +485,12 @@ class FItemStyle with Diagnosticable, _$FItemStyleFunctions { static ({EdgeInsetsGeometry suffixedPadding, EdgeInsetsGeometry unsuffixedPadding, EdgeInsetsGeometry margin}) selectInsets({required bool touch}) => touch ? ( - suffixedPadding: const EdgeInsetsDirectional.fromSTEB(10, 12.5, 6, 12.5), + suffixedPadding: const .fromSTEB(10, 12.5, 6, 12.5), unsuffixedPadding: const .symmetric(horizontal: 10, vertical: 12.5), margin: const .symmetric(horizontal: 4), ) : ( - suffixedPadding: const EdgeInsetsDirectional.fromSTEB(10, 6.5, 5, 6.5), + suffixedPadding: const .fromSTEB(10, 6.5, 5, 6.5), unsuffixedPadding: const .symmetric(horizontal: 10, vertical: 6.5), margin: const .symmetric(horizontal: 4), ); diff --git a/forui/lib/src/widgets/item/item_mixin.dart b/forui/lib/src/widgets/item/item_mixin.dart index 71bc7be66..6786f482e 100644 --- a/forui/lib/src/widgets/item/item_mixin.dart +++ b/forui/lib/src/widgets/item/item_mixin.dart @@ -102,7 +102,6 @@ mixin FItemMixin on Widget { TraversalEdgeBehavior? submenuTraversalEdgeBehavior, double submenuMaxHeight = .infinity, FItemDivider submenuDivider = .full, - bool? hover, Key? key, }) => .new( title: title, @@ -145,7 +144,6 @@ mixin FItemMixin on Widget { submenuTraversalEdgeBehavior: submenuTraversalEdgeBehavior, submenuMaxHeight: submenuMaxHeight, submenuDivider: submenuDivider, - hover: hover, key: key, ); diff --git a/forui/lib/src/widgets/popover_menu/popover_menu.dart b/forui/lib/src/widgets/popover_menu/popover_menu.dart index 3a5aea6b2..fccb4c961 100644 --- a/forui/lib/src/widgets/popover_menu/popover_menu.dart +++ b/forui/lib/src/widgets/popover_menu/popover_menu.dart @@ -19,8 +19,6 @@ class PopoverMenuScope extends InheritedWidget { final Object? groupId; - final bool hover; - final ValueNotifier active; const PopoverMenuScope({ @@ -28,13 +26,12 @@ class PopoverMenuScope extends InheritedWidget { required this.groupId, required this.active, required super.child, - this.hover = false, super.key, }); @override bool updateShouldNotify(PopoverMenuScope old) => - style != old.style || groupId != old.groupId || hover != old.hover || active != old.active; + style != old.style || groupId != old.groupId || active != old.active; @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { @@ -42,7 +39,6 @@ class PopoverMenuScope extends InheritedWidget { properties ..add(DiagnosticsProperty('style', style)) ..add(DiagnosticsProperty('groupId', groupId)) - ..add(FlagProperty('hover', value: hover, ifTrue: 'hover')) ..add(DiagnosticsProperty('active', active)); } } @@ -187,10 +183,6 @@ class FPopoverMenu extends StatefulWidget { /// Defaults to true. final bool useViewInsets; - /// Whether submenus are shown when hovering over an item. Defaults to true on desktop platforms and false on touch - /// platforms. - final bool? hover; - /// {@macro forui.widgets.FPopover.builder} final ValueWidgetBuilder builder; @@ -244,7 +236,6 @@ class FPopoverMenu extends StatefulWidget { this.traversalEdgeBehavior, this.useViewPadding = true, this.useViewInsets = true, - this.hover, List Function(BuildContext context, FPopoverController controller, List? menu) menuBuilder = defaultItemBuilder, @@ -310,7 +301,6 @@ class FPopoverMenu extends StatefulWidget { this.traversalEdgeBehavior, this.useViewPadding = true, this.useViewInsets = true, - this.hover, List Function(BuildContext context, FPopoverController controller, List? menu) menuBuilder = defaultTileBuilder, @@ -372,7 +362,6 @@ class FPopoverMenu extends StatefulWidget { ..add(EnumProperty('traversalEdgeBehavior', traversalEdgeBehavior)) ..add(FlagProperty('useViewPadding', value: useViewPadding, ifTrue: 'using view padding')) ..add(FlagProperty('useViewInsets', value: useViewInsets, ifTrue: 'using view insets')) - ..add(FlagProperty('hover', value: hover, ifTrue: 'hover')) ..add(ObjectFlagProperty.has('builder', builder)); } } @@ -396,8 +385,6 @@ class _FPopoverMenuState extends State { final groupId = widget.hideRegion == .excludeChild ? (widget.groupId ?? scope?.groupId ?? _groupId) : widget.groupId; - final hover = widget.hover ?? scope?.hover ?? context.platformVariant.desktop; - return FPopover( control: widget.control, style: style, @@ -424,11 +411,10 @@ class _FPopoverMenuState extends State { style: style, groupId: groupId, active: _active, - hover: hover, // The default behavior for non-submenu trigger items. child: FInheritedItemCallbacks( - onHoverEnter: hover ? () => _active.value = null : null, - onPress: hover ? null : () => _active.value = null, + onHoverEnter: () => _active.value = null, + onPress: () => _active.value = null, // We explicitly wrap this in a `FInheritedItemData` to prevent any ancestor data from accidentally leaking // into the popover menu's items. // diff --git a/forui/lib/src/widgets/popover_menu/submenu_item.dart b/forui/lib/src/widgets/popover_menu/submenu_item.dart index ffbb7d81b..18f7fe010 100644 --- a/forui/lib/src/widgets/popover_menu/submenu_item.dart +++ b/forui/lib/src/widgets/popover_menu/submenu_item.dart @@ -167,9 +167,6 @@ class FSubmenuItem extends StatelessWidget with FItemMixin { /// Defaults to [FItemDivider.full]. final FItemDivider submenuDivider; - /// Whether submenus are shown when hovering over an item. Defaults to true on desktop platforms. - final bool? hover; - /// Creates a [FSubmenuItem]. const FSubmenuItem({ required this.title, @@ -212,7 +209,6 @@ class FSubmenuItem extends StatelessWidget with FItemMixin { this.submenuTraversalEdgeBehavior, this.submenuMaxHeight = .infinity, this.submenuDivider = .full, - this.hover, super.key, }); @@ -254,8 +250,7 @@ class FSubmenuItem extends StatelessWidget with FItemMixin { ..add(ObjectFlagProperty.has('submenuOnFocusChange', submenuOnFocusChange)) ..add(EnumProperty('submenuTraversalEdgeBehavior', submenuTraversalEdgeBehavior)) ..add(DoubleProperty('submenuMaxHeight', submenuMaxHeight)) - ..add(EnumProperty('submenuDivider', submenuDivider)) - ..add(FlagProperty('hover', value: hover, ifTrue: 'hover')); + ..add(EnumProperty('submenuDivider', submenuDivider)); } @override @@ -282,7 +277,6 @@ class FSubmenuItem extends StatelessWidget with FItemMixin { focusNode: submenuFocusNode, onFocusChange: submenuOnFocusChange, traversalEdgeBehavior: submenuTraversalEdgeBehavior, - hover: hover, menu: submenu, builder: (context, controller, _) => _Trigger( controller: controller, @@ -337,6 +331,7 @@ class _State extends State<_Trigger> { final Key _key = UniqueKey(); PopoverMenuScope? _scope; int _monotonic = 0; + bool _hovered = false; @override void didChangeDependencies() { @@ -364,8 +359,9 @@ class _State extends State<_Trigger> { @override Widget build(BuildContext context) => switch (_scope) { null => widget.child, - final scope when scope.hover => FInheritedItemCallbacks( + final scope => FInheritedItemCallbacks( onHoverEnter: () async { + _hovered = true; final token = _monotonic; await Future.delayed(scope.style.motion.hoverEnterDuration); if (token == _monotonic && mounted) { @@ -373,11 +369,14 @@ class _State extends State<_Trigger> { unawaited(widget.controller.show()); } }, - onHoverExit: () => _monotonic++, - child: widget.child, - ), - final scope => FInheritedItemCallbacks( + onHoverExit: () { + _hovered = false; + _monotonic++; + }, onPress: () { + if (_hovered) { + return; + } if (scope.active.value == _key) { scope.active.value = null; widget.controller.hide(); diff --git a/forui/lib/src/widgets/popover_menu/submenu_tile.dart b/forui/lib/src/widgets/popover_menu/submenu_tile.dart index 359629f0f..aec75cebe 100644 --- a/forui/lib/src/widgets/popover_menu/submenu_tile.dart +++ b/forui/lib/src/widgets/popover_menu/submenu_tile.dart @@ -159,9 +159,6 @@ class FSubmenuTile extends StatelessWidget with FTileMixin { /// Defaults to [FItemDivider.full]. final FItemDivider submenuDivider; - /// Whether submenus are shown when hovering over an item. Defaults to true on desktop platforms. - final bool? hover; - /// Creates a [FSubmenuTile]. const FSubmenuTile({ required this.title, @@ -202,7 +199,6 @@ class FSubmenuTile extends StatelessWidget with FTileMixin { this.submenuTraversalEdgeBehavior, this.submenuMaxHeight = .infinity, this.submenuDivider = .full, - this.hover, super.key, }); @@ -242,8 +238,7 @@ class FSubmenuTile extends StatelessWidget with FTileMixin { ..add(ObjectFlagProperty.has('submenuOnFocusChange', submenuOnFocusChange)) ..add(EnumProperty('submenuTraversalEdgeBehavior', submenuTraversalEdgeBehavior)) ..add(DoubleProperty('submenuMaxHeight', submenuMaxHeight)) - ..add(EnumProperty('submenuDivider', submenuDivider)) - ..add(FlagProperty('hover', value: hover, ifTrue: 'hover')); + ..add(EnumProperty('submenuDivider', submenuDivider)); } @override @@ -270,7 +265,6 @@ class FSubmenuTile extends StatelessWidget with FTileMixin { focusNode: submenuFocusNode, onFocusChange: submenuOnFocusChange, traversalEdgeBehavior: submenuTraversalEdgeBehavior, - hover: hover, menu: menu, builder: (context, controller, _) => _Trigger( controller: controller, @@ -323,6 +317,7 @@ class _State extends State<_Trigger> { final Key _key = UniqueKey(); PopoverMenuScope? _scope; int _monotonic = 0; + bool _hovered = false; @override void didChangeDependencies() { @@ -350,8 +345,9 @@ class _State extends State<_Trigger> { @override Widget build(BuildContext context) => switch (_scope) { null => widget.child, - final scope when scope.hover => FInheritedItemCallbacks( + final scope => FInheritedItemCallbacks( onHoverEnter: () async { + _hovered = true; final token = _monotonic; await Future.delayed(scope.style.motion.hoverEnterDuration); if (token == _monotonic && mounted) { @@ -359,11 +355,14 @@ class _State extends State<_Trigger> { unawaited(widget.controller.show()); } }, - onHoverExit: () => _monotonic++, - child: widget.child, - ), - final scope => FInheritedItemCallbacks( + onHoverExit: () { + _hovered = false; + _monotonic++; + }, onPress: () { + if (_hovered) { + return; + } if (scope.active.value == _key) { scope.active.value = null; widget.controller.hide(); diff --git a/forui/lib/src/widgets/tile/tile_mixin.dart b/forui/lib/src/widgets/tile/tile_mixin.dart index 2624f8eeb..41045ed84 100644 --- a/forui/lib/src/widgets/tile/tile_mixin.dart +++ b/forui/lib/src/widgets/tile/tile_mixin.dart @@ -335,7 +335,6 @@ mixin FTileMixin on Widget { TraversalEdgeBehavior? submenuTraversalEdgeBehavior, double submenuMaxHeight = .infinity, FItemDivider submenuDivider = .full, - bool? hover, Key? key, }) => .new( title: title, @@ -376,7 +375,6 @@ mixin FTileMixin on Widget { submenuTraversalEdgeBehavior: submenuTraversalEdgeBehavior, submenuMaxHeight: submenuMaxHeight, submenuDivider: submenuDivider, - hover: hover, key: key, ); diff --git a/forui/test/src/widgets/popover_menu/popover_menu_golden_test.dart b/forui/test/src/widgets/popover_menu/popover_menu_golden_test.dart index 2cac1800e..e21356ddc 100644 --- a/forui/test/src/widgets/popover_menu/popover_menu_golden_test.dart +++ b/forui/test/src/widgets/popover_menu/popover_menu_golden_test.dart @@ -196,7 +196,6 @@ void main() { platform: platform, child: FPopoverMenu( control: const .managed(initial: true), - hover: false, menu: [ .group( children: [ @@ -237,7 +236,6 @@ void main() { platform: platform, child: FPopoverMenu.tiles( control: const .managed(initial: true), - hover: false, menu: [ .group( children: [ @@ -278,7 +276,6 @@ void main() { TestScaffold.app( child: FPopoverMenu( control: const .managed(initial: true), - hover: false, menu: [ .group( children: [ @@ -309,7 +306,6 @@ void main() { platform: .macOS, child: FPopoverMenu( control: const .managed(initial: true), - hover: false, style: .delta( minWidth: 300, maxWidth: 300, @@ -355,7 +351,6 @@ void main() { textDirection: .rtl, child: FPopoverMenu( control: const .managed(initial: true), - hover: false, menu: [ .group( children: [ diff --git a/forui/test/src/widgets/popover_menu/submenu_item_test.dart b/forui/test/src/widgets/popover_menu/submenu_item_test.dart index 15d52176c..4f698bd89 100644 --- a/forui/test/src/widgets/popover_menu/submenu_item_test.dart +++ b/forui/test/src/widgets/popover_menu/submenu_item_test.dart @@ -7,12 +7,11 @@ import '../../test_scaffold.dart'; void main() { group('FSubmenuItem', () { - group('tap mode', () { + group('tap', () { testWidgets('tap on submenu item opens submenu', (tester) async { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -46,7 +45,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -82,7 +80,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -128,7 +125,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -166,7 +162,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -203,7 +198,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -237,12 +231,11 @@ void main() { }); }); - group('hover mode', () { + group('hover', () { testWidgets('hover over submenu item shows submenu', (tester) async { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: true, menu: [ .group( children: [ @@ -278,7 +271,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: true, menu: [ .group( children: [ @@ -317,7 +309,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: true, menu: [ .group( children: [ @@ -366,7 +357,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu( - hover: true, menu: [ .group( children: [ @@ -406,7 +396,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu( - hover: true, menu: [ .group( children: [ @@ -440,6 +429,44 @@ void main() { await tester.pumpAndSettle(); expect(find.text('Email'), findsNothing); }); + + testWidgets('tap on hover-opened submenu item does not close submenu', (tester) async { + await tester.pumpWidget( + TestScaffold.app( + child: FPopoverMenu( + menu: [ + .group( + children: [ + .item(title: const Text('Edit'), onPress: () {}), + .submenu( + title: const Text('Share'), + submenu: [ + .group( + children: [.item(title: const Text('Email'), onPress: () {})], + ), + ], + ), + ], + ), + ], + builder: (_, controller, _) => FButton(onPress: controller.toggle, child: const Text('Open')), + ), + ), + ); + + await tester.tap(find.text('Open')); + await tester.pumpAndSettle(); + + final gesture = await tester.createPointerGesture(); + await gesture.moveTo(tester.getCenter(find.text('Share'))); + await tester.pump(const Duration(milliseconds: 150)); + await tester.pumpAndSettle(); + expect(find.text('Email'), findsOneWidget); + + await tester.tap(find.text('Share')); + await tester.pumpAndSettle(); + expect(find.text('Email'), findsOneWidget); + }); }); group('nested submenus', () { @@ -447,7 +474,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -492,7 +518,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: false, menu: [ .group( children: [ @@ -542,7 +567,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu( - hover: false, menu: [ .group( children: [ diff --git a/forui/test/src/widgets/popover_menu/submenu_tile_test.dart b/forui/test/src/widgets/popover_menu/submenu_tile_test.dart index d74eedb8f..1751da61b 100644 --- a/forui/test/src/widgets/popover_menu/submenu_tile_test.dart +++ b/forui/test/src/widgets/popover_menu/submenu_tile_test.dart @@ -7,12 +7,11 @@ import '../../test_scaffold.dart'; void main() { group('FSubmenuTile', () { - group('tap mode', () { + group('tap', () { testWidgets('tap on submenu tile opens submenu', (tester) async { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -46,7 +45,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -82,7 +80,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -128,7 +125,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -166,7 +162,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -203,7 +198,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -237,12 +231,11 @@ void main() { }); }); - group('hover mode', () { + group('hover', () { testWidgets('hover over submenu tile shows submenu', (tester) async { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: true, menu: [ .group( children: [ @@ -278,7 +271,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: true, menu: [ .group( children: [ @@ -317,7 +309,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: true, menu: [ .group( children: [ @@ -366,7 +357,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu.tiles( - hover: true, menu: [ .group( children: [ @@ -406,7 +396,6 @@ void main() { TestScaffold.app( platform: .macOS, child: FPopoverMenu.tiles( - hover: true, menu: [ .group( children: [ @@ -440,6 +429,44 @@ void main() { await tester.pumpAndSettle(); expect(find.text('Email'), findsNothing); }); + + testWidgets('tap on hover-opened submenu tile does not close submenu', (tester) async { + await tester.pumpWidget( + TestScaffold.app( + child: FPopoverMenu.tiles( + menu: [ + .group( + children: [ + .tile(title: const Text('Edit'), onPress: () {}), + .submenu( + title: const Text('Share'), + menu: [ + .group( + children: [.tile(title: const Text('Email'), onPress: () {})], + ), + ], + ), + ], + ), + ], + builder: (_, controller, _) => FButton(onPress: controller.toggle, child: const Text('Open')), + ), + ), + ); + + await tester.tap(find.text('Open')); + await tester.pumpAndSettle(); + + final gesture = await tester.createPointerGesture(); + await gesture.moveTo(tester.getCenter(find.text('Share'))); + await tester.pump(const Duration(milliseconds: 150)); + await tester.pumpAndSettle(); + expect(find.text('Email'), findsOneWidget); + + await tester.tap(find.text('Share')); + await tester.pumpAndSettle(); + expect(find.text('Email'), findsOneWidget); + }); }); group('nested submenus', () { @@ -447,7 +474,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -492,7 +518,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -542,7 +567,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ @@ -589,7 +613,6 @@ void main() { await tester.pumpWidget( TestScaffold.app( child: FPopoverMenu.tiles( - hover: false, menu: [ .group( children: [ From fe7b24e9db580d9357c291230b832fc71d61af88 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Sat, 28 Mar 2026 10:04:12 +0800 Subject: [PATCH 02/10] Add OTP field --- forui/CHANGELOG.md | 9 + forui/bin/commands/style/style.dart | 18 +- forui/lib/forui.dart | 1 + forui/lib/src/theme/theme_data.dart | 10 + .../autocomplete/autocomplete_style.dart | 6 + forui/lib/src/widgets/otp_field/caret.dart | 145 +++++ .../src/widgets/otp_field/otp_control.dart | 227 ++++++++ .../lib/src/widgets/otp_field/otp_field.dart | 505 ++++++++++++++++++ .../widgets/otp_field/otp_field_style.dart | 373 +++++++++++++ forui/lib/src/widgets/otp_field/otp_item.dart | 145 +++++ .../src/widgets/text_field/input/input.dart | 26 +- .../widgets/text_field/text_field_style.dart | 15 + forui/lib/widgets/otp_field.dart | 11 + .../macos/otp-field/caret-discrete-blink.png | Bin 0 -> 5897 bytes .../otp-field/caret-opacity-animates.png | Bin 0 -> 6019 bytes .../all-items-focused-divider.png | Bin 0 -> 31356 bytes .../neutral-dark/all-items-focused.png | Bin 0 -> 30607 bytes .../macos/otp-field/neutral-dark/basic.png | Bin 0 -> 23207 bytes .../neutral-dark/disabled-divider.png | Bin 0 -> 28792 bytes .../otp-field/neutral-dark/disabled-error.png | Bin 0 -> 37320 bytes .../macos/otp-field/neutral-dark/disabled.png | Bin 0 -> 28474 bytes .../macos/otp-field/neutral-dark/divider.png | Bin 0 -> 23539 bytes .../macos/otp-field/neutral-dark/error.png | Bin 0 -> 38496 bytes .../neutral-dark/many-items-focused.png | Bin 0 -> 29010 bytes .../macos/otp-field/neutral-dark/rtl.png | Bin 0 -> 39836 bytes .../single-empty-item-focused.png | Bin 0 -> 24507 bytes .../single-filled-item-focused.png | Bin 0 -> 30831 bytes .../otp-field/neutral-dark/single-item.png | Bin 0 -> 22841 bytes .../with-label-and-description.png | Bin 0 -> 34973 bytes .../with-label-description-and-error.png | Bin 0 -> 44452 bytes .../all-items-focused-divider.png | Bin 0 -> 31183 bytes .../neutral-light/all-items-focused.png | Bin 0 -> 30428 bytes .../macos/otp-field/neutral-light/basic.png | Bin 0 -> 23101 bytes .../neutral-light/disabled-divider.png | Bin 0 -> 28563 bytes .../neutral-light/disabled-error.png | Bin 0 -> 37032 bytes .../otp-field/neutral-light/disabled.png | Bin 0 -> 28246 bytes .../macos/otp-field/neutral-light/divider.png | Bin 0 -> 23423 bytes .../macos/otp-field/neutral-light/error.png | Bin 0 -> 37937 bytes .../neutral-light/many-items-focused.png | Bin 0 -> 28920 bytes .../macos/otp-field/neutral-light/rtl.png | Bin 0 -> 39670 bytes .../single-empty-item-focused.png | Bin 0 -> 24378 bytes .../single-filled-item-focused.png | Bin 0 -> 30785 bytes .../otp-field/neutral-light/single-item.png | Bin 0 -> 22769 bytes .../with-label-and-description.png | Bin 0 -> 34503 bytes .../with-label-description-and-error.png | Bin 0 -> 43518 bytes .../widgets/otp_field/caret_golden_test.dart | 28 + .../otp_field/otp_field_golden_test.dart | 286 ++++++++++ 47 files changed, 1792 insertions(+), 13 deletions(-) create mode 100644 forui/lib/src/widgets/otp_field/caret.dart create mode 100644 forui/lib/src/widgets/otp_field/otp_control.dart create mode 100644 forui/lib/src/widgets/otp_field/otp_field.dart create mode 100644 forui/lib/src/widgets/otp_field/otp_field_style.dart create mode 100644 forui/lib/src/widgets/otp_field/otp_item.dart create mode 100644 forui/lib/widgets/otp_field.dart create mode 100644 forui/test/golden/macos/otp-field/caret-discrete-blink.png create mode 100644 forui/test/golden/macos/otp-field/caret-opacity-animates.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/all-items-focused-divider.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/all-items-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/basic.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/disabled-divider.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/disabled-error.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/disabled.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/divider.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/error.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/many-items-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/rtl.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/single-empty-item-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/single-filled-item-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/single-item.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/with-label-and-description.png create mode 100644 forui/test/golden/macos/otp-field/neutral-dark/with-label-description-and-error.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/all-items-focused-divider.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/all-items-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/basic.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/disabled-divider.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/disabled-error.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/disabled.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/divider.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/error.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/many-items-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/rtl.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/single-empty-item-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/single-filled-item-focused.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/single-item.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/with-label-and-description.png create mode 100644 forui/test/golden/macos/otp-field/neutral-light/with-label-description-and-error.png create mode 100644 forui/test/src/widgets/otp_field/caret_golden_test.dart create mode 100644 forui/test/src/widgets/otp_field/otp_field_golden_test.dart diff --git a/forui/CHANGELOG.md b/forui/CHANGELOG.md index e19687eff..96140be5f 100644 --- a/forui/CHANGELOG.md +++ b/forui/CHANGELOG.md @@ -22,6 +22,11 @@ * Add `FPopoverMenuStyle.minWidth`. +### `FTextField` +* Add `FTextFieldStyle.cursorWidth`. +* Add `FTextFieldStyle.cursorOpacityAnimates`. + + ### `FTabs` * Add swipe navigation when `expands` is true. When swipe navigation is enabled (i.e. `expands` is true and `swipeablePhysics` resolves to true), the content area's `physics` defaults to `BouncingScrollPhysics`. * Add `FTabs.swipeablePhysics` to toggle swipe navigation independently from `scrollable`. @@ -32,6 +37,10 @@ * Add `FTileMixin.submenu(...)` shorthand for `FSubmenuTile`. +### `FOtpField` +* Add `FOtpField`. + + ### `FOverlay` * Add `FOverlay`. diff --git a/forui/bin/commands/style/style.dart b/forui/bin/commands/style/style.dart index 9bb281eec..685a4fa04 100644 --- a/forui/bin/commands/style/style.dart +++ b/forui/bin/commands/style/style.dart @@ -51,7 +51,7 @@ enum Style { null, ['autocomplete-field', 'autocompletefield'], ['FAutocompleteFieldStyle'], - 'FAutocompleteFieldStyle autocompleteFieldStyle({\n required FColors colors,\n required FTextFieldStyle field,\n}) => FAutocompleteFieldStyle(\n composingTextStyle: field.contentTextStyle.apply([\n .all(.delta(decoration: () => .underline)),\n ]),\n typeaheadTextStyle: FVariants(\n field.contentTextStyle.base.copyWith(color: colors.mutedForeground),\n variants: {\n [.disabled, .not(.focused)]: null,\n },\n ),\n keyboardAppearance: field.keyboardAppearance,\n color: field.color,\n cursorColor: field.cursorColor,\n contentPadding: field.contentPadding,\n clearButtonPadding: field.clearButtonPadding,\n obscureButtonPadding: field.obscureButtonPadding,\n scrollPadding: field.scrollPadding,\n iconStyle: field.iconStyle,\n clearButtonStyle: field.clearButtonStyle,\n obscureButtonStyle: field.obscureButtonStyle,\n contentTextStyle: field.contentTextStyle,\n hintTextStyle: field.hintTextStyle,\n counterTextStyle: field.counterTextStyle,\n border: field.border,\n labelTextStyle: field.labelTextStyle,\n descriptionTextStyle: field.descriptionTextStyle,\n errorTextStyle: field.errorTextStyle,\n labelPadding: field.labelPadding,\n descriptionPadding: field.descriptionPadding,\n errorPadding: field.errorPadding,\n childPadding: field.childPadding,\n labelMotion: field.labelMotion,\n);\n', + 'FAutocompleteFieldStyle autocompleteFieldStyle({\n required FColors colors,\n required FTextFieldStyle field,\n}) => FAutocompleteFieldStyle(\n composingTextStyle: field.contentTextStyle.apply([\n .all(.delta(decoration: () => .underline)),\n ]),\n typeaheadTextStyle: FVariants(\n field.contentTextStyle.base.copyWith(color: colors.mutedForeground),\n variants: {\n [.disabled, .not(.focused)]: null,\n },\n ),\n keyboardAppearance: field.keyboardAppearance,\n color: field.color,\n cursorColor: field.cursorColor,\n cursorWidth: field.cursorWidth,\n cursorOpacityAnimates: field.cursorOpacityAnimates,\n contentPadding: field.contentPadding,\n clearButtonPadding: field.clearButtonPadding,\n obscureButtonPadding: field.obscureButtonPadding,\n scrollPadding: field.scrollPadding,\n iconStyle: field.iconStyle,\n clearButtonStyle: field.clearButtonStyle,\n obscureButtonStyle: field.obscureButtonStyle,\n contentTextStyle: field.contentTextStyle,\n hintTextStyle: field.hintTextStyle,\n counterTextStyle: field.counterTextStyle,\n border: field.border,\n labelTextStyle: field.labelTextStyle,\n descriptionTextStyle: field.descriptionTextStyle,\n errorTextStyle: field.errorTextStyle,\n labelPadding: field.labelPadding,\n descriptionPadding: field.descriptionPadding,\n errorPadding: field.errorPadding,\n childPadding: field.childPadding,\n labelMotion: field.labelMotion,\n);\n', ), fautocompletesectionstyle( 'FAutocompleteSectionStyle', @@ -319,6 +319,20 @@ enum Style { ['FMultiSelectTagStyle'], 'FMultiSelectTagStyle multiSelectTagStyle({\n required FColors colors,\n required FStyle style,\n required TextStyle textStyle,\n required EdgeInsetsGeometry padding,\n required BorderRadiusGeometry borderRadius,\n}) => FMultiSelectTagStyle(\n decoration: FVariants(\n ShapeDecoration(\n shape: RoundedSuperellipseBorder(borderRadius: borderRadius),\n color: colors.secondary,\n ),\n variants: {\n [.hovered, .pressed]: ShapeDecoration(\n shape: RoundedSuperellipseBorder(borderRadius: borderRadius),\n color: colors.hover(colors.secondary),\n ),\n [.disabled]: ShapeDecoration(\n shape: RoundedSuperellipseBorder(borderRadius: borderRadius),\n color: colors.disable(colors.secondary),\n ),\n },\n ),\n labelTextStyle: FVariants.from(\n textStyle.copyWith(color: colors.secondaryForeground, height: 1),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.secondaryForeground)),\n },\n ),\n iconStyle: FVariants.from(\n IconThemeData(color: colors.mutedForeground, size: textStyle.fontSize),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.mutedForeground)),\n },\n ),\n tappableStyle: style.tappableStyle.copyWith(motion: FTappableMotion.none),\n focusedOutlineStyle: style.focusedOutlineStyle,\n padding: padding,\n spacing: 4,\n);\n', ), + fotpfielditemstyles( + 'FOtpFieldItemStyles', + 'FVariants', + ['otp-field-items', 'otpfielditems'], + ['FOtpFieldItemStyles'], + 'FOtpFieldItemStyles otpFieldItemStyles({\n required FColors colors,\n required FTypography typography,\n required FStyle style,\n}) => FOtpFieldItemStyles(\n .from(\n FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n border: Border(\n top: BorderSide(color: colors.border, width: style.borderWidth),\n bottom: BorderSide(color: colors.border, width: style.borderWidth),\n left: BorderSide(color: colors.border, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n variants: {\n [.start]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(color: colors.border, width: style.borderWidth),\n bottom: BorderSide(color: colors.border, width: style.borderWidth),\n left: BorderSide(color: colors.border, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.end]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(color: colors.border, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.start.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: style.borderRadius.sm,\n border: Border.all(color: colors.border, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.start)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.end)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: style.borderRadius.sm,\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.disabled]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: style.borderRadius.sm,\n border: Border.all(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n border: Border(\n top: BorderSide(color: colors.error, width: style.borderWidth),\n bottom: BorderSide(color: colors.error, width: style.borderWidth),\n left: BorderSide(color: colors.error, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(color: colors.error, width: style.borderWidth),\n bottom: BorderSide(color: colors.error, width: style.borderWidth),\n left: BorderSide(color: colors.error, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(color: colors.error, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: style.borderRadius.sm,\n border: Border.all(color: colors.error, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.disabled)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: style.borderRadius.sm,\n border: Border.all(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n },\n ),\n);\n', + ), + fotpfieldstyle( + 'FOtpFieldStyle', + null, + ['otp-field', 'otpfield'], + ['FOtpFieldStyle'], + 'FOtpFieldStyle otpFieldStyle({\n required FColors colors,\n required FTypography typography,\n required FStyle style,\n required bool touch,\n}) => FOtpFieldStyle.inherit(\n colors: colors,\n typography: typography,\n style: style,\n touch: touch,\n);\n', + ), fpaginationstyle( 'FPaginationStyle', null, @@ -538,7 +552,7 @@ enum Style { null, ['text-field', 'textfield'], ['FTextFieldStyle'], - 'FTextFieldStyle textFieldStyle({\n required FColors colors,\n required FStyle style,\n required FLabelStyle labelStyle,\n required TextStyle textStyle,\n required FVariants<\n FTextFieldVariantConstraint,\n FTextFieldVariant,\n IconThemeData,\n IconThemeDataDelta\n >\n iconStyle,\n required FButtonStyle buttonStyle,\n required EdgeInsetsGeometry contentPadding,\n}) => FTextFieldStyle(\n keyboardAppearance: colors.brightness,\n color: FVariants(\n colors.card,\n variants: {\n [.disabled]: colors.disable(colors.card),\n },\n ),\n cursorColor: colors.primary,\n contentPadding: contentPadding,\n iconStyle: iconStyle,\n clearButtonStyle: buttonStyle,\n obscureButtonStyle: buttonStyle.copyWith(\n tappableStyle: const .delta(\n motion: .delta(bounceTween: FTappableMotion.noBounceTween),\n ),\n ),\n contentTextStyle: FVariants.from(\n textStyle.copyWith(color: colors.foreground),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.foreground)),\n },\n ),\n hintTextStyle: FVariants.from(\n textStyle.copyWith(color: colors.mutedForeground),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.mutedForeground)),\n },\n ),\n counterTextStyle: FVariants.from(\n textStyle.copyWith(color: colors.foreground),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.foreground)),\n },\n ),\n border: FVariants(\n OutlineInputBorder(\n borderSide: BorderSide(color: colors.border, width: style.borderWidth),\n borderRadius: style.borderRadius.md,\n ),\n variants: {\n [.focused]: OutlineInputBorder(\n borderSide: BorderSide(color: colors.primary, width: style.borderWidth),\n borderRadius: style.borderRadius.md,\n ),\n [.disabled]: OutlineInputBorder(\n borderSide: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n borderRadius: style.borderRadius.md,\n ),\n [.error]: OutlineInputBorder(\n borderSide: BorderSide(color: colors.error, width: style.borderWidth),\n borderRadius: style.borderRadius.md,\n ),\n [.error.and(.disabled)]: OutlineInputBorder(\n borderSide: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n borderRadius: style.borderRadius.md,\n ),\n },\n ),\n labelTextStyle: style.formFieldStyle.labelTextStyle,\n descriptionTextStyle: style.formFieldStyle.descriptionTextStyle,\n errorTextStyle: style.formFieldStyle.errorTextStyle,\n labelPadding: labelStyle.labelPadding,\n descriptionPadding: labelStyle.descriptionPadding,\n errorPadding: labelStyle.errorPadding,\n childPadding: labelStyle.childPadding,\n clearButtonPadding: const .directional(end: 4),\n obscureButtonPadding: const .directional(end: 4),\n scrollPadding: const .all(20),\n labelMotion: const FLabelMotion(),\n);\n', + 'FTextFieldStyle textFieldStyle({\n required FColors colors,\n required FStyle style,\n required FLabelStyle labelStyle,\n required TextStyle textStyle,\n required FVariants<\n FTextFieldVariantConstraint,\n FTextFieldVariant,\n IconThemeData,\n IconThemeDataDelta\n >\n iconStyle,\n required FButtonStyle buttonStyle,\n required EdgeInsetsGeometry contentPadding,\n}) => FTextFieldStyle(\n keyboardAppearance: colors.brightness,\n color: FVariants(\n colors.card,\n variants: {\n [.disabled]: colors.disable(colors.card),\n },\n ),\n cursorColor: colors.primary,\n contentPadding: contentPadding,\n iconStyle: iconStyle,\n clearButtonStyle: buttonStyle,\n obscureButtonStyle: buttonStyle.copyWith(\n tappableStyle: const .delta(\n motion: .delta(bounceTween: FTappableMotion.noBounceTween),\n ),\n ),\n contentTextStyle: FVariants.from(\n textStyle.copyWith(color: colors.foreground),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.foreground)),\n },\n ),\n hintTextStyle: FVariants.from(\n textStyle.copyWith(color: colors.mutedForeground),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.mutedForeground)),\n },\n ),\n counterTextStyle: FVariants.from(\n textStyle.copyWith(color: colors.foreground),\n variants: {\n [.disabled]: .delta(color: colors.disable(colors.foreground)),\n },\n ),\n border: FVariants(\n OutlineInputBorder(\n borderSide: BorderSide(color: colors.border, width: style.borderWidth),\n borderRadius: style.borderRadius.md,\n ),\n variants: {\n [.focused]: OutlineInputBorder(\n borderSide: BorderSide(color: colors.primary, width: style.borderWidth),\n borderRadius: style.borderRadius.md,\n ),\n [.disabled]: OutlineInputBorder(\n borderSide: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n borderRadius: style.borderRadius.md,\n ),\n [.error]: OutlineInputBorder(\n borderSide: BorderSide(color: colors.error, width: style.borderWidth),\n borderRadius: style.borderRadius.md,\n ),\n [.error.and(.disabled)]: OutlineInputBorder(\n borderSide: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n borderRadius: style.borderRadius.md,\n ),\n },\n ),\n labelTextStyle: style.formFieldStyle.labelTextStyle,\n descriptionTextStyle: style.formFieldStyle.descriptionTextStyle,\n errorTextStyle: style.formFieldStyle.errorTextStyle,\n labelPadding: labelStyle.labelPadding,\n descriptionPadding: labelStyle.descriptionPadding,\n errorPadding: labelStyle.errorPadding,\n childPadding: labelStyle.childPadding,\n cursorWidth: 2.0,\n clearButtonPadding: const .directional(end: 4),\n obscureButtonPadding: const .directional(end: 4),\n scrollPadding: const .all(20),\n labelMotion: const FLabelMotion(),\n);\n', ), ftilecontentstyle( 'FTileContentStyle', diff --git a/forui/lib/forui.dart b/forui/lib/forui.dart index c0577aa74..b25c23aa6 100644 --- a/forui/lib/forui.dart +++ b/forui/lib/forui.dart @@ -24,6 +24,7 @@ export 'widgets/header.dart'; export 'widgets/item.dart'; export 'widgets/label.dart'; export 'widgets/line_calendar.dart'; +export 'widgets/otp_field.dart'; export 'widgets/pagination.dart'; export 'widgets/picker.dart'; export 'widgets/popover.dart'; diff --git a/forui/lib/src/theme/theme_data.dart b/forui/lib/src/theme/theme_data.dart index 061e28a08..a87471748 100644 --- a/forui/lib/src/theme/theme_data.dart +++ b/forui/lib/src/theme/theme_data.dart @@ -304,6 +304,10 @@ final class FThemeData with Diagnosticable, _$FThemeDataFunctions { @override final FModalSheetStyle modalSheetStyle; + /// The OTP field style. + @override + final FOtpFieldStyle otpFieldStyle; + /// The pagination style. /// /// ## CLI @@ -610,6 +614,7 @@ final class FThemeData with Diagnosticable, _$FThemeDataFunctions { FLineCalendarStyle? lineCalendarStyle, FMultiSelectStyle? multiSelectStyle, FModalSheetStyle? modalSheetStyle, + FOtpFieldStyle? otpFieldStyle, FPaginationStyle? paginationStyle, FPersistentSheetStyle? persistentSheetStyle, FPickerStyle? pickerStyle, @@ -692,6 +697,7 @@ final class FThemeData with Diagnosticable, _$FThemeDataFunctions { multiSelectStyle: multiSelectStyle ?? .inherit(colors: colors, typography: typography, style: style, touch: touch), modalSheetStyle: modalSheetStyle ?? .inherit(colors: colors), + otpFieldStyle: otpFieldStyle ?? .inherit(colors: colors, typography: typography, style: style, touch: touch), paginationStyle: paginationStyle ?? .inherit(colors: colors, typography: typography, style: style, touch: touch), persistentSheetStyle: persistentSheetStyle ?? const FPersistentSheetStyle(), pickerStyle: pickerStyle ?? .inherit(colors: colors, style: style, typography: typography), @@ -820,6 +826,7 @@ final class FThemeData with Diagnosticable, _$FThemeDataFunctions { lineCalendarStyle: a.lineCalendarStyle.lerp(b.lineCalendarStyle, t), multiSelectStyle: a.multiSelectStyle.lerp(b.multiSelectStyle, t), modalSheetStyle: a.modalSheetStyle.lerp(b.modalSheetStyle, t), + otpFieldStyle: a.otpFieldStyle.lerp(b.otpFieldStyle, t), paginationStyle: a.paginationStyle.lerp(b.paginationStyle, t), persistentSheetStyle: a.persistentSheetStyle.lerp(b.persistentSheetStyle, t), pickerStyle: a.pickerStyle.lerp(b.pickerStyle, t), @@ -903,6 +910,7 @@ final class FThemeData with Diagnosticable, _$FThemeDataFunctions { required this.lineCalendarStyle, required this.multiSelectStyle, required this.modalSheetStyle, + required this.otpFieldStyle, required this.paginationStyle, required this.persistentSheetStyle, required this.pickerStyle, @@ -1389,6 +1397,7 @@ final class FThemeData with Diagnosticable, _$FThemeDataFunctions { FLineCalendarStyleDelta? lineCalendarStyle, FMultiSelectStyleDelta? multiSelectStyle, FModalSheetStyleDelta? modalSheetStyle, + FOtpFieldStyleDelta? otpFieldStyle, FPaginationStyleDelta? paginationStyle, FPersistentSheetStyleDelta? persistentSheetStyle, FPickerStyleDelta? pickerStyle, @@ -1457,6 +1466,7 @@ final class FThemeData with Diagnosticable, _$FThemeDataFunctions { lineCalendarStyle: lineCalendarStyle?.call(this.lineCalendarStyle) ?? this.lineCalendarStyle, multiSelectStyle: multiSelectStyle?.call(this.multiSelectStyle) ?? this.multiSelectStyle, modalSheetStyle: modalSheetStyle?.call(this.modalSheetStyle) ?? this.modalSheetStyle, + otpFieldStyle: otpFieldStyle?.call(this.otpFieldStyle) ?? this.otpFieldStyle, paginationStyle: paginationStyle?.call(this.paginationStyle) ?? this.paginationStyle, persistentSheetStyle: persistentSheetStyle?.call(this.persistentSheetStyle) ?? this.persistentSheetStyle, pickerStyle: pickerStyle?.call(this.pickerStyle) ?? this.pickerStyle, diff --git a/forui/lib/src/widgets/autocomplete/autocomplete_style.dart b/forui/lib/src/widgets/autocomplete/autocomplete_style.dart index 5654b1d1d..b1bd71b15 100644 --- a/forui/lib/src/widgets/autocomplete/autocomplete_style.dart +++ b/forui/lib/src/widgets/autocomplete/autocomplete_style.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart' show InputBorder; import 'package:flutter/widgets.dart'; @@ -116,6 +118,8 @@ class FAutocompleteFieldStyle extends FTextFieldStyle with _$FAutocompleteFieldS required super.descriptionTextStyle, required super.errorTextStyle, super.cursorColor, + super.cursorWidth, + super.cursorOpacityAnimates, super.contentPadding, super.clearButtonPadding, super.obscureButtonPadding, @@ -140,6 +144,8 @@ class FAutocompleteFieldStyle extends FTextFieldStyle with _$FAutocompleteFieldS keyboardAppearance: field.keyboardAppearance, color: field.color, cursorColor: field.cursorColor, + cursorWidth: field.cursorWidth, + cursorOpacityAnimates: field.cursorOpacityAnimates, contentPadding: field.contentPadding, clearButtonPadding: field.clearButtonPadding, obscureButtonPadding: field.obscureButtonPadding, diff --git a/forui/lib/src/widgets/otp_field/caret.dart b/forui/lib/src/widgets/otp_field/caret.dart new file mode 100644 index 000000000..df83a57a1 --- /dev/null +++ b/forui/lib/src/widgets/otp_field/caret.dart @@ -0,0 +1,145 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; + +@internal +class Caret extends StatefulWidget { + final Color color; + final double width; + final double height; + final bool cursorOpacityAnimates; + + const Caret({ + required this.color, + required this.width, + required this.height, + required this.cursorOpacityAnimates, + super.key, + }); + + @override + State createState() => _CaretState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(ColorProperty('color', color)) + ..add(DoubleProperty('width', width)) + ..add(DoubleProperty('height', height)) + ..add(FlagProperty('cursorOpacityAnimates', value: cursorOpacityAnimates)); + } +} + +class _CaretState extends State with SingleTickerProviderStateMixin { + /// The duration of half a blink. + static const _blink = Duration(milliseconds: 500); + + late final _controller = AnimationController(vsync: this)..addListener(() => setState(() {})); + late final _simulation = _DiscreteKeyFrameSimulation(); + Timer? _timer; + + @override + void initState() { + super.initState(); + _startBlinking(); + } + + @override + void didUpdateWidget(covariant Caret old) { + super.didUpdateWidget(old); + if (old.cursorOpacityAnimates != widget.cursorOpacityAnimates) { + _timer?.cancel(); + _controller.stop(); + _startBlinking(); + } + } + + @override + void dispose() { + _timer?.cancel(); + _controller.dispose(); + super.dispose(); + } + + void _startBlinking() { + _controller.value = 1.0; + if (widget.cursorOpacityAnimates) { + // Schedule as async task to avoid blocking tester.pumpAndSettle indefinitely. + // See Flutter's editable_text.dart:4694–4701. + _controller.animateWith(_simulation).whenComplete(() => _timer = Timer(.zero, _startBlinking)); + } else { + _timer = .periodic(_blink, (_) => setState(() => _controller.value = _controller.value == 0 ? 1 : 0)); + } + } + + @override + Widget build(BuildContext context) => SizedBox( + width: widget.width, + height: widget.height, + child: ColoredBox(color: widget.color.withValues(alpha: widget.color.a * _controller.value)), + ); +} + +// Based on Flutter 3.41.5's _DiscreteKeyFrameSimulation in editable_text.dart:533. +class _DiscreteKeyFrameSimulation extends Simulation { + // Based on Flutter 3.41.5's _KeyFrame in editable_text.dart:511. + // + // Values extracted from iOS 15.4 UIKit. + static const _iOSBlinkingCaretKeyFrames = [ + (time: 0.0, value: 1.0), + (time: 0.5, value: 1.0), + (time: 0.5375, value: 0.75), + (time: 0.575, value: 0.5), + (time: 0.6125, value: 0.25), + (time: 0.65, value: 0.0), + (time: 0.85, value: 0.0), + (time: 0.8875, value: 0.25), + (time: 0.925, value: 0.5), + (time: 0.9625, value: 0.75), + (time: 1.0, value: 1.0), + ]; + + static const maxDuration = 1.0; + + // The index of the keyframe corresponds to the most recent input `time`. + int _lastKeyFrame = 0; + + _DiscreteKeyFrameSimulation(); + + @override + double x(double time) { + // Perform a linear search in the sorted key frame list, starting from the last key frame found, since the input + // `time` usually monotonically increases by a small amount. + int current; + final int end; + if (time < _iOSBlinkingCaretKeyFrames[_lastKeyFrame].time) { + // The simulation may have restarted. Search within the index range [0, _lastKeyFrame). + current = 0; + end = _lastKeyFrame; + } else { + current = _lastKeyFrame; + end = _iOSBlinkingCaretKeyFrames.length; + } + + // Find the target key frame. Don't have to check (end - 1): if (end - 2) doesn't work we'll have to pick (end - 1) + // anyways. + while (current < end - 1) { + assert(_iOSBlinkingCaretKeyFrames[current].time <= time); + if (time < _iOSBlinkingCaretKeyFrames[current + 1].time) { + break; + } + current += 1; + } + + _lastKeyFrame = current; + return _iOSBlinkingCaretKeyFrames[_lastKeyFrame].value; + } + + @override + double dx(double time) => 0; + + @override + bool isDone(double time) => maxDuration <= time; +} diff --git a/forui/lib/src/widgets/otp_field/otp_control.dart b/forui/lib/src/widgets/otp_field/otp_control.dart new file mode 100644 index 000000000..8b11ca147 --- /dev/null +++ b/forui/lib/src/widgets/otp_field/otp_control.dart @@ -0,0 +1,227 @@ +import 'dart:math'; + +import 'package:collection/collection.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart'; + +import 'package:forui/forui.dart'; + +part 'otp_control.control.dart'; + +/// A [FOtpFieldControl] defines how a [FOtpField] is controlled. +/// +/// {@macro forui.foundation.doc_templates.control} +sealed class FOtpFieldControl with Diagnosticable, _$FOtpFieldControlMixin { + /// Creates a [FOtpFieldControl]. + const factory FOtpFieldControl.managed({ + FOtpController? controller, + List children, + String? initial, + ValueChanged? onChange, + }) = FOtpFieldManagedControl; + + const FOtpFieldControl._(); + + (FOtpController, bool) _update(FOtpFieldControl old, FOtpController controller, VoidCallback callback); +} + +/// A [FOtpFieldManagedControl] enables widgets to manage their own controller internally while exposing parameters for +/// common configurations. +/// +/// {@macro forui.foundation.doc_templates.managed} +class FOtpFieldManagedControl extends FOtpFieldControl with _$FOtpFieldManagedControlMixin { + /// The controller. + @override + final FOtpController? controller; + + /// The children, which should be [FOtpItemMixin]s or [FOtpDivider]s. Defaults to six [FOtpItem]s. + /// + /// Ignored if [controller] is provided. Pass children to the controller instead. + @override + final List children; + + /// The initial value. Defaults to null. + /// + /// Ignored if [controller] is provided. Pass the initial text to the controller instead. + /// + /// ## Contract + /// Throws [AssertionError] if [initial] and [controller] are both provided. + @override + final String? initial; + + /// Called when the value changes. + @override + final ValueChanged? onChange; + + /// Creates a [FOtpFieldControl]. + const FOtpFieldManagedControl({ + this.controller, + this.children = const [FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem()], + this.initial, + this.onChange, + }) : assert( + controller == null || initial == null, + 'Cannot provide both controller and initial value. Pass initial value to the controller instead.', + ), + super._(); + + @override + FOtpController createController() { + final c = controller ?? FOtpController(children: children); + if (initial != null) { + c.text = initial!; + } + return c; + } +} + +// TODO: Add support for lifted OTP field. +class _Lifted extends FOtpFieldControl with _$_LiftedMixin { + const _Lifted() : super._(); + + @override + FOtpController createController() => throw UnimplementedError(); + + @override + void _updateController(FOtpController _) {} +} + +@internal +extension InternalFOtpController on FOtpController { + /// The currently focused item index. + int get focused => _focused; +} + +/// A controller that manages the state of an [FOtpField]. +/// +/// This controller does not handle formatting internally. Use [TextInputFormatter]s on [FOtpField] to restrict input. +class FOtpController extends TextEditingController { + /// The children, which should be [FOtpItemMixin]s or [FOtpDivider]s. Defaults to six [FOtpItem]s. + /// + /// For example, to add a divider in the middle: + /// ```dart + /// FOtpField( + /// controller: FOtpController( + /// children: [FOtpItem(), FOtpItem(), FOtpItem(), FOtpDivider(), FOtpItem(), FOtpItem(), FOtpItem()], + /// ), + /// ) + /// ``` + final List children; + final int _length; + int _focused; + + /// Creates a [FOtpController]. + FOtpController({this.children = const [FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem()]}) + : _length = children.whereType().length, + _focused = 0; + + @override + TextSpan buildTextSpan({required BuildContext context, required bool withComposing, TextStyle? style}) { + // It is very unlikely that the OTP code will contain grapheme clusters but there's no harm being calamitous. + final characters = text.characters; + final variants = FOtpFieldScope.of(context).variants; + + final spans = []; + int item = 0; + for (final (i, child) in children.indexed) { + if (child is FOtpItemMixin) { + final character = characters.elementAtOrNull(item); + spans.add( + WidgetSpan( + alignment: .middle, + child: FOtpItemScope( + character: character, + focused: switch (selection) { + _ when !variants.contains(FTextFieldVariant.focused) => false, + final s when s.isCollapsed => _focused == item, + final s => s.start <= item && item < s.end, + }, + start: i == 0 || children[i - 1] is! FOtpItemMixin, + end: i == children.length - 1 || children[i + 1] is! FOtpItemMixin, + child: child, + ), + ), + ); + item++; + continue; + } + + spans.add(WidgetSpan(alignment: .middle, child: child)); + } + + return TextSpan( + children: Directionality.of(context) == .ltr ? spans : spans.reversed.toList(), + ); + } + + /// Handles the traversal of the OTP items when the user presses the left or right arrow key. + void traverse({required bool forward}) { + /// The default traversal collapses to the start/end of the selection range. We instead move to the previous/next + /// item outside it. + if (selection.isCollapsed) { + final adjustment = (forward ? 1 : -1); + value = value.copyWith(selection: .collapsed(offset: (selection.baseOffset + adjustment).clamp(0, text.length))); + } else { + final offset = forward ? selection.end : max(selection.start - 1, 0); + value = value.copyWith(selection: .collapsed(offset: offset)); + } + } + + @override + set value(TextEditingValue newValue) { + if (newValue == value) { + return; + } + + /// Truncates the text to the maximum length. + if (newValue.text.characters.take(_length).string case final truncated when truncated != newValue.text) { + super.value = TextEditingValue( + text: truncated, + selection: .collapsed(offset: truncated.length), + ); + return; + } + + /// Calculates the focused index and caret position. Arrow key events are intercepted and routed via `traverse` + /// to avoid conflicts. + /// + /// WidgetSpan offset/affinity calculations are fucked. See https://github.com/flutter/flutter/issues/107432. + /// Tapping the right half of the first item produces while other items produce + /// . + _focused = newValue.selection.baseOffset.clamp(0, _length - 1); + if (newValue.selection.isCollapsed) { + /// Corrects the focused index when tapping the right half of the first item. + if (newValue.selection.baseOffset == 1 && newValue.selection.affinity == .upstream) { + _focused = 0; + super.value = newValue; + return; + } + + /// Handles replacement/deletion of middle items. + if (newValue.text.length != newValue.selection.baseOffset) { + /// Selects the previous item on deletion. + if (newValue.text.length != text.length) { + super.value = newValue.copyWith( + selection: TextSelection( + baseOffset: max(newValue.selection.baseOffset - 1, 0), + extentOffset: newValue.selection.baseOffset, + ), + ); + return; + } + + /// Selects the middle item at the caret so that backspace deletes it and typing replaces it. + super.value = newValue.copyWith( + selection: TextSelection( + baseOffset: newValue.selection.baseOffset, + extentOffset: newValue.selection.baseOffset + 1, + ), + ); + return; + } + } + + super.value = newValue; + } +} diff --git a/forui/lib/src/widgets/otp_field/otp_field.dart b/forui/lib/src/widgets/otp_field/otp_field.dart new file mode 100644 index 000000000..cf4bce818 --- /dev/null +++ b/forui/lib/src/widgets/otp_field/otp_field.dart @@ -0,0 +1,505 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; +import 'package:flutter/services.dart'; + +import 'package:flutter_localizations/flutter_localizations.dart'; + +import 'package:forui/forui.dart'; +import 'package:forui/src/foundation/debug.dart'; +import 'package:forui/src/theme/variant.dart'; +import 'package:forui/src/widgets/otp_field/otp_control.dart'; +import 'package:forui/src/widgets/text_field/input/form_input.dart'; + +/// Provides the [FOtpFieldStyle] to descendants. +class FOtpFieldScope extends InheritedWidget { + /// Returns the [FOtpFieldScope] from the enclosing [FOtpField]. + static FOtpFieldScope of(BuildContext context) { + assert(debugCheckHasAncestor('$FOtpField', context)); + return context.dependOnInheritedWidgetOfExactType()!; + } + + /// The style. + final FOtpFieldStyle style; + + /// The current variants. + final Set variants; + + /// Creates a [FOtpFieldScope]. + const FOtpFieldScope({required this.style, required this.variants, required super.child, super.key}); + + @override + bool updateShouldNotify(FOtpFieldScope old) => style != old.style || !setEquals(variants, old.variants); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('style', style)) + ..add(IterableProperty('variants', variants)); + } +} + +/// A one-time password input field. +/// +/// It is a [FormField] and therefore can be used in a [Form] widget. +/// +/// To add a divider in the middle: +/// ```dart +/// FOtpField( +/// control: .managed( +/// children: [FOtpItem(), FOtpItem(), FOtpItem(), FOtpDivider(), FOtpItem(), FOtpItem(), FOtpItem()], +/// ), +/// ) +/// ``` +/// +/// See: +/// * [FOtpController] for customizing the behavior of an OTP field. +/// * [FOtpFieldStyle] for customizing the appearance of an OTP field. +class FOtpField extends StatefulWidget with FFormFieldProperties { + /// The default input formatters that restrict input to digits only. + static final List defaultInputFormatters = [FilteringTextInputFormatter.digitsOnly]; + + /// The default builder that returns the child as-is. + static Widget defaultBuilder( + BuildContext context, + FOtpFieldStyle style, + Set variants, + Widget child, + ) => child; + + /// Defines how the OTP field's state is controlled. + /// + /// Defaults to [FOtpFieldControl.managed]. + final FOtpFieldControl control; + + /// The style. + final FOtpFieldStyleDelta style; + + /// {@macro forui.text_field.builder} + final FFieldBuilder builder; + + @override + final Widget? label; + + @override + final Widget? description; + + /// {@macro forui.text_field.magnifier_configuration} + final TextMagnifierConfiguration? magnifierConfiguration; + + /// {@macro forui.text_field_groupId} + final Object groupId; + + /// {@macro forui.text_field.focusNode} + final FocusNode? focusNode; + + /// {@macro forui.text_field.keyboardType} + final TextInputType? keyboardType; + + /// {@macro forui.text_field.textInputAction} + final TextInputAction? textInputAction; + + /// {@macro forui.text_field.textCapitalization} + final TextCapitalization textCapitalization; + + /// {@macro forui.text_field.textDirection} + final TextDirection? textDirection; + + /// {@macro forui.text_field.autofocus} + final bool autofocus; + + /// {@macro forui.text_field.statesController} + final WidgetStatesController? statesController; + + /// {@macro forui.text_field.readOnly} + final bool readOnly; + + /// {@macro forui.text_field.onTap} + final GestureTapCallback? onTap; + + /// {@macro forui.text_field.onTapOutside} + final TapRegionCallback? onTapOutside; + + /// {@macro forui.text_field.onTapAlwaysCalled} + final bool onTapAlwaysCalled; + + /// {@macro forui.text_field.onEditingComplete} + final VoidCallback? onEditingComplete; + + /// {@macro forui.text_field.onSubmit} + final ValueChanged? onSubmit; + + /// {@macro forui.text_field.onAppPrivateCommand} + final AppPrivateCommandCallback? onAppPrivateCommand; + + /// {@macro forui.text_field.inputFormatters} + final List? inputFormatters; + + @override + final bool enabled; + + /// {@macro forui.text_field.ignorePointers} + final bool? ignorePointers; + + /// {@macro forui.text_field.enableInteractiveSelection} + final bool enableInteractiveSelection; + + /// {@macro forui.text_field.selectionControls} + final TextSelectionControls? selectionControls; + + /// {@macro forui.text_field.dragStartBehavior} + final DragStartBehavior dragStartBehavior; + + /// {@macro forui.text_field.mouseCursor} + final MouseCursor? mouseCursor; + + /// {@macro forui.text_field.autofillHints} + final Iterable? autofillHints; + + /// {@macro forui.text_field.restorationId} + final String? restorationId; + + /// {@macro forui.text_field.stylusHandwritingEnabled} + final bool stylusHandwritingEnabled; + + /// {@macro forui.text_field.enableIMEPersonalizedLearning} + final bool enableIMEPersonalizedLearning; + + /// {@macro forui.text_field.contentInsertionConfiguration} + final ContentInsertionConfiguration? contentInsertionConfiguration; + + /// {@macro forui.text_field.contextMenuBuilder} + final EditableTextContextMenuBuilder? contextMenuBuilder; + + /// {@macro forui.text_field.canRequestFocus} + final bool canRequestFocus; + + /// {@macro forui.text_field.undoController} + final UndoHistoryController? undoController; + + @override + final FormFieldSetter? onSaved; + + @override + final VoidCallback? onReset; + + @override + final FormFieldValidator? validator; + + @override + final AutovalidateMode autovalidateMode; + + @override + final String? forceErrorText; + + @override + final Widget Function(BuildContext context, String message) errorBuilder; + + /// {@macro forui.foundation.doc_templates.formFieldKey} + final Key? formFieldKey; + + /// Creates an [FOtpField]. + FOtpField({ + this.control = const .managed(), + this.style = const .context(), + this.builder = defaultBuilder, + this.label, + this.description, + this.magnifierConfiguration, + this.groupId = EditableText, + this.focusNode, + this.keyboardType, + this.textInputAction = .done, + this.textCapitalization = .none, + this.textDirection, + this.autofocus = false, + this.statesController, + this.readOnly = false, + this.onTap, + this.onTapOutside, + this.onTapAlwaysCalled = false, + this.onEditingComplete, + this.onSubmit, + this.onAppPrivateCommand, + List? inputFormatters, + this.enabled = true, + this.ignorePointers, + this.enableInteractiveSelection = true, + this.selectionControls, + this.dragStartBehavior = .start, + this.mouseCursor, + this.autofillHints, + this.restorationId, + this.stylusHandwritingEnabled = true, + this.enableIMEPersonalizedLearning = true, + this.contentInsertionConfiguration, + this.contextMenuBuilder, + this.canRequestFocus = true, + this.undoController, + this.onSaved, + this.onReset, + this.validator, + this.autovalidateMode = .disabled, + this.forceErrorText, + this.errorBuilder = FFormFieldProperties.defaultErrorBuilder, + this.formFieldKey, + super.key, + }) : inputFormatters = inputFormatters ?? defaultInputFormatters; + + @override + State createState() => _FOtpFieldState(); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('control', control)) + ..add(DiagnosticsProperty('style', style)) + ..add(ObjectFlagProperty.has('builder', builder)) + ..add(DiagnosticsProperty('magnifierConfiguration', magnifierConfiguration)) + ..add(DiagnosticsProperty('groupId', groupId)) + ..add(DiagnosticsProperty('focusNode', focusNode)) + ..add(DiagnosticsProperty('keyboardType', keyboardType)) + ..add(EnumProperty('textInputAction', textInputAction)) + ..add(EnumProperty('textCapitalization', textCapitalization)) + ..add(EnumProperty('textDirection', textDirection)) + ..add(FlagProperty('autofocus', value: autofocus, ifTrue: 'autofocus')) + ..add(DiagnosticsProperty('statesController', statesController)) + ..add(FlagProperty('readOnly', value: readOnly, ifTrue: 'readOnly')) + ..add(ObjectFlagProperty.has('onTap', onTap)) + ..add(ObjectFlagProperty.has('onTapOutside', onTapOutside)) + ..add(FlagProperty('onTapAlwaysCalled', value: onTapAlwaysCalled, ifTrue: 'onTapAlwaysCalled')) + ..add(ObjectFlagProperty.has('onEditingComplete', onEditingComplete)) + ..add(ObjectFlagProperty.has('onSubmit', onSubmit)) + ..add(ObjectFlagProperty.has('onAppPrivateCommand', onAppPrivateCommand)) + ..add(IterableProperty('inputFormatters', inputFormatters)) + ..add(FlagProperty('enabled', value: enabled, ifTrue: 'enabled')) + ..add(FlagProperty('ignorePointers', value: ignorePointers, ifTrue: 'ignorePointers')) + ..add( + FlagProperty( + 'enableInteractiveSelection', + value: enableInteractiveSelection, + ifTrue: 'enableInteractiveSelection', + ), + ) + ..add(DiagnosticsProperty('selectionControls', selectionControls)) + ..add(EnumProperty('dragStartBehavior', dragStartBehavior)) + ..add(DiagnosticsProperty('mouseCursor', mouseCursor)) + ..add(IterableProperty('autofillHints', autofillHints)) + ..add(StringProperty('restorationId', restorationId)) + ..add( + FlagProperty('stylusHandwritingEnabled', value: stylusHandwritingEnabled, ifTrue: 'stylusHandwritingEnabled'), + ) + ..add( + FlagProperty( + 'enableIMEPersonalizedLearning', + value: enableIMEPersonalizedLearning, + ifTrue: 'enableIMEPersonalizedLearning', + ), + ) + ..add(DiagnosticsProperty('contentInsertionConfiguration', contentInsertionConfiguration)) + ..add(ObjectFlagProperty.has('contextMenuBuilder', contextMenuBuilder)) + ..add(FlagProperty('canRequestFocus', value: canRequestFocus, ifTrue: 'canRequestFocus')) + ..add(DiagnosticsProperty('undoController', undoController)) + ..add(ObjectFlagProperty.has('onSaved', onSaved)) + ..add(ObjectFlagProperty.has('onReset', onReset)) + ..add(ObjectFlagProperty.has('validator', validator)) + ..add(EnumProperty('autovalidateMode', autovalidateMode)) + ..add(StringProperty('forceErrorText', forceErrorText)) + ..add(ObjectFlagProperty.has('errorBuilder', errorBuilder)) + ..add(DiagnosticsProperty('formFieldKey', formFieldKey, level: .debug)); + } +} + +class _FOtpFieldState extends State { + late FOtpController _controller; + late WidgetStatesController _statesController; + + @override + void initState() { + super.initState(); + _controller = widget.control.create(_handleOnChange); + _statesController = widget.statesController ?? .new(); + _statesController.addListener(_handleStatesChange); + } + + @override + void didUpdateWidget(covariant FOtpField old) { + super.didUpdateWidget(old); + _controller = widget.control.update(old.control, _controller, _handleOnChange).$1; + + if (widget.statesController != old.statesController) { + if (old.statesController == null) { + _statesController.dispose(); + } else { + _statesController.removeListener(_handleStatesChange); + } + + _statesController = widget.statesController ?? .new(); + _statesController.addListener(_handleStatesChange); + } + } + + @override + void dispose() { + if (widget.statesController == null) { + _statesController.dispose(); + } else { + _statesController.removeListener(_handleStatesChange); + } + widget.control.dispose(_controller, _handleOnChange); + super.dispose(); + } + + void _handleOnChange() { + if (widget.control case FOtpFieldManagedControl(:final onChange?)) { + onChange(_controller.value); + } + } + + void _handleStatesChange() => SchedulerBinding.instance.addPostFrameCallback((_) { + if (mounted) { + setState(() {}); + } + }); + + @override + Widget build(BuildContext context) { + final style = widget.style(context.theme.otpFieldStyle); + final variants = toTextFieldVariants(context.platformVariant, _statesController.value); + + return FormInput( + key: widget.formFieldKey, + controller: _controller, + initialValue: _controller.text, + onSaved: widget.onSaved, + onReset: widget.onReset, + validator: widget.validator, + enabled: widget.enabled, + autovalidateMode: widget.autovalidateMode, + forceErrorText: widget.forceErrorText, + restorationId: widget.restorationId, + builder: (state) { + final errorText = state.errorText; + final error = errorText == null ? null : widget.errorBuilder(state.context, errorText); + + /// A stripped down version of the input used by [FTextField]. + final textfield = IntrinsicWidth( + child: CallbackShortcuts( + bindings: { + const SingleActivator(.arrowLeft): () => _controller.traverse(forward: false), + const SingleActivator(.arrowRight): () => _controller.traverse(forward: true), + }, + child: FOtpFieldScope( + style: style, + variants: variants, + child: TextField( + controller: _controller, + decoration: InputDecoration( + // This is necessary to prevent the TextField's height from shrinking to the textstyle's height. + border: WidgetStateInputBorder.resolveWith( + (_) => const OutlineInputBorder(borderSide: BorderSide(color: Colors.transparent), gapPadding: 0), + ), + constraints: .tightFor(height: style.itemSize.height), + contentPadding: .zero, + error: error == null ? null : const SizedBox(), + ), + focusNode: widget.focusNode, + undoController: widget.undoController, + cursorErrorColor: style.cursorColor, + cursorWidth: style.cursorWidth, + cursorOpacityAnimates: + style.cursorOpacityAnimates ?? + (context.platformVariant == .iOS || context.platformVariant == .macOS), + keyboardType: widget.keyboardType, + textInputAction: widget.textInputAction, + textCapitalization: widget.textCapitalization, + textDirection: widget.textDirection, + readOnly: widget.readOnly, + showCursor: false, + autofocus: widget.autofocus, + statesController: _statesController, + autocorrect: false, + enableSuggestions: false, + onTap: widget.onTap, + onTapOutside: widget.onTapOutside, + onTapAlwaysCalled: widget.onTapAlwaysCalled, + onEditingComplete: widget.onEditingComplete, + onSubmitted: widget.onSubmit, + onAppPrivateCommand: widget.onAppPrivateCommand, + inputFormatters: widget.inputFormatters, + enabled: widget.enabled, + ignorePointers: widget.ignorePointers, + enableInteractiveSelection: widget.enableInteractiveSelection, + keyboardAppearance: style.keyboardAppearance, + scrollPadding: .zero, + dragStartBehavior: widget.dragStartBehavior, + mouseCursor: widget.mouseCursor, + selectAllOnFocus: false, + selectionControls: widget.selectionControls, + scrollPhysics: const NeverScrollableScrollPhysics(), + autofillHints: widget.autofillHints, + restorationId: widget.restorationId, + stylusHandwritingEnabled: widget.stylusHandwritingEnabled, + enableIMEPersonalizedLearning: widget.enableIMEPersonalizedLearning, + contentInsertionConfiguration: widget.contentInsertionConfiguration, + contextMenuBuilder: widget.contextMenuBuilder, + canRequestFocus: widget.canRequestFocus, + magnifierConfiguration: widget.magnifierConfiguration, + groupId: widget.groupId, + ), + ), + ), + ); + + Widget field = FLabel( + axis: .vertical, + variants: variants as Set, + label: widget.label, + style: style, + description: widget.description, + error: error ?? const SizedBox(), + child: widget.builder(context, style, variants, textfield), + ); + + field = MergeSemantics( + child: Material( + color: Colors.transparent, + child: Theme( + data: Theme.of(context).copyWith( + visualDensity: .standard, + textSelectionTheme: TextSelectionThemeData( + cursorColor: Colors.transparent, + selectionColor: Colors.transparent, + selectionHandleColor: style.cursorColor, + ), + ), + child: CupertinoTheme( + data: CupertinoTheme.of(context).copyWith(primaryColor: style.cursorColor), + child: field, + ), + ), + ), + ); + + final materialLocalizations = Localizations.of(context, MaterialLocalizations); + if (materialLocalizations == null) { + field = Localizations( + locale: Localizations.maybeLocaleOf(context) ?? const Locale('en', 'US'), + delegates: const [ + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + ], + child: field, + ); + } + + return field; + }, + ); + } +} diff --git a/forui/lib/src/widgets/otp_field/otp_field_style.dart b/forui/lib/src/widgets/otp_field/otp_field_style.dart new file mode 100644 index 000000000..18ff7b3f4 --- /dev/null +++ b/forui/lib/src/widgets/otp_field/otp_field_style.dart @@ -0,0 +1,373 @@ +import 'dart:ui'; + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:forui/src/theme/variant.dart'; + +import 'package:meta/meta.dart'; + +import 'package:forui/forui.dart'; +import 'package:forui/src/foundation/annotations.dart'; + +@Variants('FOtpFieldItem', { + 'disabled': (2, 'The semantic variant when this widget is disabled and cannot be interacted with.'), + 'error': (2, 'The semantic variant when this widget is in an error state.'), + 'focused': (1, 'The interaction variant when the given widget or any of its descendants have focus.'), + 'hovered': (1, 'The interaction variant when the user drags their mouse cursor over the given widget.'), + 'pressed': (1, 'The interaction variant when the user is actively pressing down on the given widget.'), + 'start': (1, 'The variant for the first item in a group (e.g. the first item or the first item after a divider).'), + 'end': (1, 'The variant for the last item in a group (e.g. the last item or the last item before a divider).'), +}) +part 'otp_field_style.design.dart'; + +/// The [FOtpField]'s style. +class FOtpFieldStyle extends FLabelStyle with _$FOtpFieldStyleFunctions { + /// The appearance of the keyboard. Defaults to [FColors.brightness]. + /// + /// This setting is only honored on iOS devices. + @override + final Brightness keyboardAppearance; + + /// The color of the cursor. Defaults to [CupertinoColors.activeBlue]. + /// + /// The cursor indicates the current location of text insertion point in the field. + @override + final Color cursorColor; + + /// The width of the cursor. Defaults to 2.0. + /// + /// The cursor indicates the current location of text insertion point in the field. + @override + final double cursorWidth; + + /// Whether the cursor opacity animates. Defaults to the current platform's behavior (true on iOS and macOS, false on + /// other platforms). + @override + final bool? cursorOpacityAnimates; + + /// The item size. + @override + final Size itemSize; + + /// The item styles per variant. + @override + final FOtpFieldItemStyles itemStyles; + + /// The divider's padding. Defaults to `EdgeInsets.symmetric(horizontal: 6)`. + @override + final EdgeInsetsGeometry dividerPadding; + + /// The divider's size. Defaults to `Size(12, 1)`. + @override + final Size dividerSize; + + /// The divider's color. + @override + final FVariants dividerColor; + + /// Creates a [FOtpFieldStyle]. + FOtpFieldStyle({ + required this.keyboardAppearance, + required this.itemSize, + required this.itemStyles, + required this.dividerColor, + required super.labelTextStyle, + required super.descriptionTextStyle, + required super.errorTextStyle, + this.cursorColor = CupertinoColors.activeBlue, + this.cursorWidth = 2.0, + this.cursorOpacityAnimates, + this.dividerPadding = const .symmetric(horizontal: 6), + this.dividerSize = const Size(12, 1), + super.labelPadding, + super.descriptionPadding, + super.errorPadding, + super.childPadding, + super.labelMotion, + }); + + /// Creates a [FOtpFieldStyle] that inherits its properties. + FOtpFieldStyle.inherit({ + required FColors colors, + required FTypography typography, + required super.style, + required bool touch, + }) : keyboardAppearance = colors.brightness, + cursorColor = colors.primary, + cursorWidth = 2.0, + cursorOpacityAnimates = null, + itemSize = touch ? const Size(44, 44) : const Size(36, 36), + itemStyles = .inherit(colors: colors, typography: typography, style: style), + dividerPadding = const .symmetric(horizontal: 4), + dividerSize = const Size(12, 1), + dividerColor = FVariants( + colors.foreground, + variants: { + [.disabled]: colors.disable(colors.foreground), + }, + ), + super.inherit(childPadding: const .symmetric(vertical: 2)); +} + +/// The [FOtpFieldItemStyle]s for each variant. +extension type FOtpFieldItemStyles( + FVariants _ +) + implements + FVariants { + /// Creates [FOtpFieldItemStyles] that inherit their properties. + factory FOtpFieldItemStyles.inherit({ + required FColors colors, + required FTypography typography, + required FStyle style, + }) => FOtpFieldItemStyles( + .from( + FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + border: BorderDirectional( + top: BorderSide(color: colors.border, width: style.borderWidth), + bottom: BorderSide(color: colors.border, width: style.borderWidth), + start: BorderSide(color: colors.border, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + variants: { + // --- default --- + [.start]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + borderRadius: BorderRadiusDirectional.only( + topStart: style.borderRadius.sm.topLeft, + bottomStart: style.borderRadius.sm.bottomLeft, + ), + border: BorderDirectional( + top: BorderSide(color: colors.border, width: style.borderWidth), + bottom: BorderSide(color: colors.border, width: style.borderWidth), + start: BorderSide(color: colors.border, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.end]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + borderRadius: BorderRadiusDirectional.only( + topEnd: style.borderRadius.sm.topRight, + bottomEnd: style.borderRadius.sm.bottomRight, + ), + border: Border.all(color: colors.border, width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.start.and(.end)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + borderRadius: style.borderRadius.sm, + border: Border.all(color: colors.border, width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + // --- focused --- + [.focused]: FOtpFieldItemStyle( + decoration: ShapeDecoration( + color: colors.card, + shape: RoundedSuperellipseBorder( + side: BorderSide(color: colors.foreground, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.focused.and(.start)]: FOtpFieldItemStyle( + decoration: ShapeDecoration( + color: colors.card, + shape: RoundedSuperellipseBorder( + borderRadius: BorderRadiusDirectional.only( + topStart: style.borderRadius.sm.topLeft, + bottomStart: style.borderRadius.sm.bottomLeft, + ), + side: BorderSide(color: colors.foreground, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.focused.and(.end)]: FOtpFieldItemStyle( + decoration: ShapeDecoration( + color: colors.card, + shape: RoundedSuperellipseBorder( + borderRadius: BorderRadiusDirectional.only( + topEnd: style.borderRadius.sm.topRight, + bottomEnd: style.borderRadius.sm.bottomRight, + ), + side: BorderSide(color: colors.foreground, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.focused.and(.start).and(.end)]: FOtpFieldItemStyle( + decoration: ShapeDecoration( + color: colors.card, + shape: RoundedSuperellipseBorder( + borderRadius: style.borderRadius.sm, + side: BorderSide(color: colors.foreground, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + // --- disabled --- + [.disabled]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + border: BorderDirectional( + top: BorderSide(color: colors.disable(colors.border), width: style.borderWidth), + bottom: BorderSide(color: colors.disable(colors.border), width: style.borderWidth), + start: BorderSide(color: colors.disable(colors.border), width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + [.disabled.and(.start)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + borderRadius: BorderRadiusDirectional.only( + topStart: style.borderRadius.sm.topLeft, + bottomStart: style.borderRadius.sm.bottomLeft, + ), + border: BorderDirectional( + top: BorderSide(color: colors.disable(colors.border), width: style.borderWidth), + bottom: BorderSide(color: colors.disable(colors.border), width: style.borderWidth), + start: BorderSide(color: colors.disable(colors.border), width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + [.disabled.and(.end)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + borderRadius: BorderRadiusDirectional.only( + topEnd: style.borderRadius.sm.topRight, + bottomEnd: style.borderRadius.sm.bottomRight, + ), + border: Border.all(color: colors.disable(colors.border), width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + [.disabled.and(.start).and(.end)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + borderRadius: style.borderRadius.sm, + border: Border.all(color: colors.disable(colors.border), width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + // --- error --- + [.error]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + border: BorderDirectional( + top: BorderSide(color: colors.error, width: style.borderWidth), + bottom: BorderSide(color: colors.error, width: style.borderWidth), + start: BorderSide(color: colors.error, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.error.and(.start)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + borderRadius: BorderRadiusDirectional.only( + topStart: style.borderRadius.sm.topLeft, + bottomStart: style.borderRadius.sm.bottomLeft, + ), + border: BorderDirectional( + top: BorderSide(color: colors.error, width: style.borderWidth), + bottom: BorderSide(color: colors.error, width: style.borderWidth), + start: BorderSide(color: colors.error, width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.error.and(.end)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + borderRadius: BorderRadiusDirectional.only( + topEnd: style.borderRadius.sm.topRight, + bottomEnd: style.borderRadius.sm.bottomRight, + ), + border: Border.all(color: colors.error, width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + [.error.and(.start).and(.end)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.card, + borderRadius: style.borderRadius.sm, + border: Border.all(color: colors.error, width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.foreground), + ), + // --- error + disabled --- + [.error.and(.disabled)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + border: BorderDirectional( + top: BorderSide(color: colors.disable(colors.error), width: style.borderWidth), + bottom: BorderSide(color: colors.disable(colors.error), width: style.borderWidth), + start: BorderSide(color: colors.disable(colors.error), width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + [.error.and(.disabled).and(.start)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + borderRadius: BorderRadiusDirectional.only( + topStart: style.borderRadius.sm.topLeft, + bottomStart: style.borderRadius.sm.bottomLeft, + ), + border: BorderDirectional( + top: BorderSide(color: colors.disable(colors.error), width: style.borderWidth), + bottom: BorderSide(color: colors.disable(colors.error), width: style.borderWidth), + start: BorderSide(color: colors.disable(colors.error), width: style.borderWidth), + ), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + [.error.and(.disabled).and(.end)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + borderRadius: BorderRadiusDirectional.only( + topEnd: style.borderRadius.sm.topRight, + bottomEnd: style.borderRadius.sm.bottomRight, + ), + border: Border.all(color: colors.disable(colors.error), width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + [.error.and(.disabled).and(.start).and(.end)]: FOtpFieldItemStyle( + decoration: BoxDecoration( + color: colors.disable(colors.card), + borderRadius: style.borderRadius.sm, + border: Border.all(color: colors.disable(colors.error), width: style.borderWidth), + ), + contentTextStyle: typography.sm.copyWith(color: colors.disable(colors.foreground)), + ), + }, + ), + ); +} + +/// The style of an individual item in an [FOtpField]. +class FOtpFieldItemStyle with Diagnosticable, _$FOtpFieldItemStyleFunctions { + /// The decoration. + @override + final Decoration decoration; + + /// The content's [TextStyle]. + @override + final TextStyle contentTextStyle; + + /// Creates a [FOtpFieldItemStyle]. + const FOtpFieldItemStyle({required this.decoration, required this.contentTextStyle}); +} diff --git a/forui/lib/src/widgets/otp_field/otp_item.dart b/forui/lib/src/widgets/otp_field/otp_item.dart new file mode 100644 index 000000000..91a76718f --- /dev/null +++ b/forui/lib/src/widgets/otp_field/otp_item.dart @@ -0,0 +1,145 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:forui/forui.dart'; + +import 'package:forui/src/foundation/debug.dart'; +import 'package:forui/src/widgets/otp_field/caret.dart'; + +/// A marker interface which denotes that mixed-in widgets is an item in an OTP field. +mixin FOtpItemMixin on Widget {} + +/// Provides the state of an individual item in an [FOtpField] to its descendants. +class FOtpItemScope extends InheritedWidget { + /// Returns the [FOtpItemScope] from the enclosing [FOtpField]. + static FOtpItemScope of(BuildContext context) { + assert(debugCheckHasAncestor('$FOtpField', context)); + return context.dependOnInheritedWidgetOfExactType()!; + } + + /// The character to display, or null if the item is empty. + final String? character; + + /// Whether this item is focused (i.e. the caret should be shown). + final bool focused; + + /// Whether this item is the first in its group (e.g. the first item or the first item after a divider). + final bool start; + + /// Whether this item is the last in its group (e.g. the last item or the last item before a divider). + final bool end; + + /// Creates an [FOtpItemScope]. + const FOtpItemScope({ + required this.character, + required this.focused, + required this.start, + required this.end, + required super.child, + super.key, + }); + + @override + bool updateShouldNotify(FOtpItemScope old) => + character != old.character || focused != old.focused || start != old.start || end != old.end; + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(StringProperty('character', character)) + ..add(FlagProperty('focused', value: focused, ifTrue: 'focused')) + ..add(FlagProperty('start', value: start, ifTrue: 'start')) + ..add(FlagProperty('end', value: end, ifTrue: 'end')); + } +} + +/// An item in an [FOtpField]. +class FOtpItem extends StatefulWidget with FOtpItemMixin { + /// Creates an [FOtpItem]. + const FOtpItem({super.key}); + + @override + State createState() => _FOtpItemState(); +} + +class _FOtpItemState extends State { + late FOtpFieldStyle _style; + late FPlatformVariant _platform; + late String? _character; + late bool _focused; + late FOtpFieldItemStyle _itemStyle; + late double _cursorHeight; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + final FOtpFieldScope(:style, :variants) = FOtpFieldScope.of(context); + final FOtpItemScope(:character, :focused, :start, :end) = FOtpItemScope.of(context); + + _style = style; + _platform = context.platformVariant; + _character = character; + _focused = focused; + + final itemVariants = { + ...variants.difference({FTextFieldVariant.focused}), + if (start) FOtpFieldItemVariant.start, + if (end) FOtpFieldItemVariant.end, + if (focused) FOtpFieldItemVariant.focused, + }; + + _itemStyle = style.itemStyles.resolve(itemVariants); + + final painter = TextPainter( + text: TextSpan(text: ' ', style: _itemStyle.contentTextStyle), + textDirection: .ltr, + )..layout(); + + _cursorHeight = painter.preferredLineHeight + (_platform == .iOS || _platform == .macOS ? 2 : -4); + + painter.dispose(); + } + + @override + Widget build(BuildContext context) => DecoratedBox( + // Adjacent items cause double borders. This is typically avoided by painting only the right border, but focused + // items are an exception since one or many items can be focused at once. + decoration: _itemStyle.decoration, + child: SizedBox.fromSize( + size: _style.itemSize, + child: switch (_character) { + final character? => Center(child: Text(character, style: _itemStyle.contentTextStyle)), + _ when _focused => Center( + child: Caret( + color: _style.cursorColor, + width: _style.cursorWidth, + height: _cursorHeight, + cursorOpacityAnimates: _style.cursorOpacityAnimates ?? (_platform == .iOS || _platform == .macOS), + ), + ), + _ => null, + }, + ), + ); +} + +/// A divider between groups of items in an [FOtpField]. +/// +/// Does not mix in [FOtpItemMixin], so [FOtpController] treats it as a visual separator and uses it to determine +/// `start`/`end` boundaries on adjacent [FOtpItem]s. +class FOtpDivider extends StatelessWidget { + /// Creates an [FOtpDivider]. + const FOtpDivider({super.key}); + + @override + Widget build(BuildContext context) { + final FOtpFieldScope(:style, :variants) = FOtpFieldScope.of(context); + return Padding( + padding: style.dividerPadding, + child: SizedBox.fromSize( + size: style.dividerSize, + child: ColoredBox(color: style.dividerColor.resolve(variants)), + ), + ); + } +} diff --git a/forui/lib/src/widgets/text_field/input/input.dart b/forui/lib/src/widgets/text_field/input/input.dart index 1f4b2eb38..b3d1a7e28 100644 --- a/forui/lib/src/widgets/text_field/input/input.dart +++ b/forui/lib/src/widgets/text_field/input/input.dart @@ -274,6 +274,17 @@ class _InputState extends State { } } + @override + void dispose() { + widget.controller.removeListener(_handleTextChange); + if (widget.statesController == null) { + _statesController.dispose(); + } else { + _statesController.removeListener(_handleStatesChange); + } + super.dispose(); + } + void _handleStatesChange() => SchedulerBinding.instance.addPostFrameCallback((_) { if (mounted) { setState(() { @@ -299,6 +310,10 @@ class _InputState extends State { focusNode: widget.focusNode, undoController: widget.undoController, cursorErrorColor: style.cursorColor, + cursorWidth: style.cursorWidth, + // TextField doesn't apply cursorOpacityAnimates on macOS by default even though it should be. + cursorOpacityAnimates: + style.cursorOpacityAnimates ?? (context.platformVariant == .iOS || context.platformVariant == .macOS), keyboardType: widget.keyboardType, textInputAction: widget.textInputAction, textCapitalization: widget.textCapitalization, @@ -457,15 +472,4 @@ class _InputState extends State { error: widget.error == null ? null : const SizedBox(), ); } - - @override - void dispose() { - widget.controller.removeListener(_handleTextChange); - if (widget.statesController == null) { - _statesController.dispose(); - } else { - _statesController.removeListener(_handleStatesChange); - } - super.dispose(); - } } diff --git a/forui/lib/src/widgets/text_field/text_field_style.dart b/forui/lib/src/widgets/text_field/text_field_style.dart index 79811d806..68457ee41 100644 --- a/forui/lib/src/widgets/text_field/text_field_style.dart +++ b/forui/lib/src/widgets/text_field/text_field_style.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -115,6 +117,17 @@ class FTextFieldStyle extends FLabelStyle with _$FTextFieldStyleFunctions { @override final Color cursorColor; + /// The width of the cursor. Defaults to 2.0. + /// + /// The cursor indicates the current location of text insertion point in the field. + @override + final double cursorWidth; + + /// Whether the cursor opacity animates. Defaults to the current platform's behavior (true on iOS and macOS, false on + /// other platforms). + @override + final bool? cursorOpacityAnimates; + /// The padding surrounding this text field's content. /// /// Defaults to `const EdgeInsets.symmetric(horizontal: 10, vertical: 9)`. @@ -184,6 +197,8 @@ class FTextFieldStyle extends FLabelStyle with _$FTextFieldStyleFunctions { required super.descriptionTextStyle, required super.errorTextStyle, this.cursorColor = CupertinoColors.activeBlue, + this.cursorWidth = 2.0, + this.cursorOpacityAnimates, this.contentPadding = const .symmetric(horizontal: 10, vertical: 9), this.clearButtonPadding = const .directional(end: 4), this.obscureButtonPadding = const .directional(end: 4), diff --git a/forui/lib/widgets/otp_field.dart b/forui/lib/widgets/otp_field.dart new file mode 100644 index 000000000..f839165d1 --- /dev/null +++ b/forui/lib/widgets/otp_field.dart @@ -0,0 +1,11 @@ +/// {@category Widgets} +/// +/// A one-time password input field. +/// +/// See https://forui.dev/docs/form/otp-field for working examples. +library forui.widgets.otp_field; + +export '../src/widgets/otp_field/otp_control.dart' hide InternalFOtpController, InternalFOtpFieldControl; +export '../src/widgets/otp_field/otp_field.dart'; +export '../src/widgets/otp_field/otp_field_style.dart'; +export '../src/widgets/otp_field/otp_item.dart'; diff --git a/forui/test/golden/macos/otp-field/caret-discrete-blink.png b/forui/test/golden/macos/otp-field/caret-discrete-blink.png new file mode 100644 index 0000000000000000000000000000000000000000..a378e13ca695a62c5d157586bbbf284fe5da42d2 GIT binary patch literal 5897 zcmeAS@N?(olHy`uVBq!ia0y~yV86h?z!bs31{AS+T$>G~Sc;uILpXq-h9ji|$Y(4L za(7}_cTVOd1B2LRPZ!6KiaBp?Z|r3;>Ot}Kw9=LJ=xIJ*?9dLW#%7?hK>{HUto!Mi@Y#HC%mOsqmAB}KuSd3;5NRk-hxfWj;SAY7< zoSBuiY&DZWxfffeuIV3o#aKh}xjWVGUn@g%^aE4*(NY~87K6Pg9<7?8NtXN;!~bbB zEsa0_;`yNht&%Y^^$$6C)jV|CD$nQa{C@AcJ2ZF>WZS{oVxvtrXqdnwbu^PhLS*>0 zzwy=N(9X?hZv~niMjNk?fEdP&*U=;oisI2W6Ew$@-)4f26^#!5KtmFD3*z7H&B;ta zRV|L+{NHYr3IJw70a)KkpbJiDCc;(`njxgN@xNAb*d2$ literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/caret-opacity-animates.png b/forui/test/golden/macos/otp-field/caret-opacity-animates.png new file mode 100644 index 0000000000000000000000000000000000000000..6f133b92fd25d2e103e1ba63e9ca3daf9eba7ede GIT binary patch literal 6019 zcmeAS@N?(olHy`uVBq!ia0y~yV86h?z!bs31{AS+T$>G~Sc;uILpXq-h9ji|$Y(4L za(7}_cTVOd1B1A(r;B4q#hf>{HwsD{@US=@n!D1ZblJHV50Z{8Ilfy|;pYps&EM~F z1GRy`zvB8lc?gq%L0{kkBZTeXzz$(FaJ+!ZDlA}z%CVF{h2Y8+n5>{eaODDwvQQzo z@{R^Rs1RJa3(Ot{xN;?!Jq>W>g2T;Ozns(3&YpQ|{J`@YV>)*9Q4Ss=Lni>U*WRpt zf7=}z%Lj7phFipqCUa2Sjur~g6pmC@{hKy3(zy6HPsOC#12eIsJ?=xVv^x-${q5fG zZ-P({7tH1#E&Rb@G3@H3(V`6$ugFE){?xQ0X7Bg6%FtZ?z)XI$BL@x( zq&6F@J30gl@zLHmBw-KZL4wf+87PX88)PGN0IFgC+uIv?nGJ!1dAm%eE<1PSruB^* z8|6OuuueCK5*Yr0)bPLL+|1&0ZzVr?y<@JsU40(dA?2x1{m!_5?bfulrPXYECjG9E zAA-YW#-A(aJ>O}|1S!fG@;*1hYNR34%ox(+wh3wb4&*s@ZcPvk07ZePtDnm{r-UW| DH-1+A literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/all-items-focused-divider.png b/forui/test/golden/macos/otp-field/neutral-dark/all-items-focused-divider.png new file mode 100644 index 0000000000000000000000000000000000000000..e100eedb520f3af41f96a70ea17d177b48306041 GIT binary patch literal 31356 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/all-items-focused.png b/forui/test/golden/macos/otp-field/neutral-dark/all-items-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..abe08dfcce778a3e317450d475a10690009d89f1 GIT binary patch literal 30607 zcmeHw_ghox+HM>-5BT`~aVr@9-sXB;Q+*EfiQ{WlYhn&_|va%GMs*^SA{afhB?Jk+?-aFtK+6O<{vF+D)6vpDiZ@>Ns z-lg~JE9%iU#$VqLi<x&pn1(xJsqSD+&~TA8>8jc3~gJy=C%6mwV)u$H`gD%6|pl-^nL?>t){g zY2}?Q=XWt^-g)nH#Mu7Y=`W|R2m2E1Pu*brgdGg0oD-io-NQ~a zzf7N+KK%CG3-PmK>zjUxJ_?=-_l1va`-f{?`j>XM@1L}K|3Ci#FZ%6!>6W280o@5u zbSI!Y0o@5ubSI!Y0o@5ubSL;<>I8-tTEG2z7XZj19m}7ivmCk;(4Byu2~cz=_}}XU zuXM86pj`cU<7d{AWGfjDd0s$Ok7+>U0t0aPMu3bUA_I58qa|H7FMItNS3rU;XPJL$s)r) zX2u#MDDtz39k{_|FW)5N_z-oqt5?4%StWH(hZy4b$II4q?{6D(;?aocEB0QP^V5aR zFh-)_6&EjCKcXG_t+3OfH_iSY4w(~Z<3#=ZQk^Wlev$>VG^Gh`OBxNYF!`PF{(o0C z6_nP2qbv-R`i=CJiY_~DE;%JHEt5SbBb*Xvm-1k2?n8)ym)(>Fj3$&pYzbtA5(rTt0KAo167|70YWplY|ZodX}<)t}x+6p*{rh zA{sht%E*`Jgs&0135@HN3)fcq%DwZur#;+dw6c{aWM;P9Wa4d$dh)S7(;ft)?C=si znVe8IAhA-mb#v6`Yr#T%`g*B)+QJcBU5}(g_l@n_x92yZi*LWWc<~~4m#de|u3fvn zrK-hR#uxD@Buwon?b_q!dwu;?i*-XlyjvgT*|$CHiItX>9gS9}eBbrrV;_t@4w*64TM>MpQzUt63gb(^>zj>Wc*k6VX_hcDU3%f)>T+A|>b zf&I{-x5+9I%eT}Pn_gWAnj!CSUmqma1-y(!4rMU;6%L1M&otDv>&VJnB6V~uPxsi( z4ONQ~2QW9$Of&u3in1;lCgf>5d1C<->fCwiA`Wh*C%oOCT`9U?``Cs}*d$|ca8Sl| z^lD$RbFvj_JDg&FXQv)4gg{;xv-9#Qe(>OdZBLJJ*#w+lamWDl&$U(SF3m#_sf1@ z37%~o+34&i{2J|8F4@TscecBe=SQM*h5hHc*vW0NOTDAv^2SHO6F%=n6kvJJ+mwDE zQuzJ?zplJ!R~0Ph+f2iv_7c}IpHfK_>igVT-(`D;uDlVf?&Sd6kx=TbnArt+V-6U@ z?@#E{1}3bHcHj(fYh(?}03IHmY~wNy!WDb4-yDyrIv z-rF%guW~u|%D9LJ?mZWtSA1A>=OZPNs{6Z~mDT=Zw$J_X!8p@k^C8u5`@gE*=8V$C zkFcz)VuMB5nME$0OXe2>p`2;kuE~Sdf4|oE^`-9KY#?G?Y4 zeQQ3rrS%a@-K|mGxq`vZqK#mk9Ki#~iW_!G7h`(2FcgiaPoF9&RSi{#5j)Kz!qXB1 zWJuOR27nI-I8=w434(iyd_Cl#CfQympC`Jab>E= zX_k83KIAt@C6T41>@~HgQBkn$y9|s&%RNrbGW$@dYquP6o6Egy65a1lMv$^M)Y>1x zOfj^XCaI!`jK}8y9C*S8x>n^0mqI=uuc;Xa}Qk`Cix2hB|o#axtb!d=K2NMLnQz z?`^cWld(L}zH;u9->xpe5~_tMr8mEY98J#1INc@(7h<&#(_MER|F}cB%tM=*IoFo( z&TFwnB_9i~P9G?V7PG3Uep%BZG2!QFykmpDxO5O+33sd>!aAQrg)Bmf&$uV z&<+j`a&uMtOYlLQox=ae6u0}sA4AAm#elgxolooK9QO39{cBUK5f+ehmbyWS9V?WS zz@<-&!nbI5m9Gwkl@Rak$wRDt&4{)wzbuua-nsPb$`~8CYKqUjJ@~2Dc{U;Oi#P=L zhf(TXHxQ?EPg95E{`z$uTML?mck^589ihV)>#{* z;Lt*rXiJ#7HjTE*q@gEHZ^kgLTwp6h@l&Sy$eky6X~WMuMV>&`*+{Tv{IpX5`C5H} zW)2SOUp=o13ne}6k>$R8LA~{D4ssYd^7BQ98z^_7a-M7dY4ND2F)Ry`8b<5U+tSN3 z{L-^wua}-sLnSmXFR$0x-`}6M5e;KwcYr#>=m%6K03sz>vSS~Ozi zmnH1kfg@`$%n5Gl%-==^q+$1+tXWWA0?l3{bEhPwq#W~{LR{#p5xIleI|@1cXxiax z4(&#+pEp9owQ8Ct$I}kMg$qVHkUpOQITTg)yW!rg&-ee_Zw8skPCQo9!Jr{VLLmQY zN^(*XZgNwVu$Q%j})`Uzp-i0^CZ=sjbaoVPTPL)0V1NV5@x^T`8A(HF{rLnntsXZMxli zhMP3s;6@w)b#fej==C0p&mBwfWtA)PS+Zrwh}YBC*EjN=E|@FG_7}W-g^?}E5!Qc0 zS69W|-8~MoMHadF>Au(atDqqj#WhWEAFIdF?QL1cWyPa0c0*s#TP{xw`JY8asjM$g zC;P82=Yo~+wU3UP15gn0S+rKpFurDEW7F%={#Q zS+o4g!$(I|3TsP#-@}~|Sg_v)KuoX87eVLYM=FwJ&x^{+%5F2gXJtHRI6I77)r_30 zSww7FQ;Nx>v0`)xsNgikG0h1)x&Zk|Q9C}4A~dV{<`B%vuj zPe#&HpFV$H1Ir_pj3tCYF)Sj8Jx+kxYr=#p4+5BTn!mXA+-y(hNN*eDW(+ph96$3IM=>^z5;7k8xP#}Rdc4eW9}JWanD9_N zn`{WOpn?vQ*wqJKU^^q9iPt5Bh)(j-RF_!g=CqR)*S!Orw?AytS9w`GRWuNQc%?Gf ze}4rIjSCQgQCOQHTs}PSLPGgcUslduN6Lazb!2;? z5GN%@>161&oPS$;8FA=4JGg`A=Tj*in~#rQ8Op|N+S&IOi})-}vQ+pih1S>C-|d*j zQMR1h)TFBQt>T}ZpIjWKcn&sSf}HU)4R>lgMlQ|{D9#iUvE#iZuI-w&U%|~ghONGD zt_(!n{QRKWceXDdb7*UQR=7B%8@6~*!uH11c$oriu{NKq^7(o`%C3#?_x6~5 zd!sownV!umr>n1jDBr3XJJVMt6%z$Us|wjqlpP?er(5zFS|xZ}E>02zNC#6=teO)T z@{wusEWU`=T_}VgY#pxGZI)ZO8t1><#c;f=wY7D1L>O~ufZXJ{vru+xQWwWA@4LLH z4+-zm9l<}gp#r~6X9$?OPqZF~bdp;=Pk@aOv9dFl{oa|6pR}+1E$nw>xyvf?E;%_ufqnb$yR7s4SeSDi`$`YW zxLKbzD$e;{l8lu(HK+6701ohc&EIS$FWh%s|MvPy)ZOS$4Oupn&6S9wSm`9w0D`t| zbqIe#=Wz2MOG``6bJc88-qfPOKXJ!X*n6Tla z#sHxOUTnfi+P0sKG59m>?Lr=LyoWZqZ1SPD{Nz&n09xqyJc z7n$?vhGiZOan3b|M8K?_IX5q~J6~$4T%R#K;|owN)*Y)zAvZIKF=TMHp||Fv^oksf zXLQxn)EZ)?vh~Nj=Ii(wE#)CAe|&o2-u(PLpDwOs@?CmNugAmq3y|-hK9}4=zu)qo zjj4q9ehxH164c7sIn)km9}mg0V|+H=oz%{9pv;5y_-h?%(N`f$mIH+ebjSfiSzB8N zcja5*aT{N7o#(CD3f5=J*fN@a)C**blQ?~+a#cQNoRu;?$qf}~#v_qfvC=Q_qJpxu z-s5i)`h`W;h#7GvabHqq(GWaiKi~WxkKJl4=KWs8@T+-|nfo>5a!n%uIK95#=_x00%BG1m%ej^{i`@SH;jX@`uA14H^Xgy_TLbH9 zy+~D713aXjgZy!~&nN3&xNre6YP1C}ml{is31)K%na!laN5ZGvzAF!@+?L)@Lan(G z@Ds?I;-`G2(<;%QT|O%_GkoMrl-2W~DWpb01v5H>fglvCyFe-)d2YDV5**y=w88rm zPvlap0CB*6m%Hssh?A3(2j#qObNY(6|;)c%1j?|sRJDmg$_7t;x+g;f=)t15VRDBKrqySNBPYPvfV{a z1J;&hCB|)#^LX~i{Wu3qKs-iRKkpclnj2hN@&eY{5^GF+rwP`DaC)l~8kiV;zSf13 zX8$bHLfClmP^iGrDlsAgbQy7SB>WYiJMcb&2w;qRXEBz4nNhEZz#wQ3p3OyWy*$iqOM;9ETFjF)x2{wLT>&N zpLcCjF!NC}@HfCT+CSpVnwpSN>^H_$6i>ZKbZt7TBh{@8b*8}7qr=#<`i*9CpuoFgOQ!UQ`zJL2OjLUpJ2XQlx`+*(3YB!-e5UL!>g!afX+ zF#Wshk6dtX;e>#-iKkCm4IC?$+V48x6a41uyry#TqF1oAK3|+cy(yEUH zaqb&ft&uY8D|Huqfqm~rYR@z+1e*Cm!cOOgj*cYB2nKYLTc65zhDgN&kv2GU95EY} zW}%c#fg+1oe|>qEtgUOz0vb>4vHh8LMSUJ&Adon<*-6=V?xh|;YOJH}l2M8|l(Lp= zH11+Pl=|vutAuDc-HvakJXH}xhyZ3eC}O4*78l{>P`Pwlsp`E=Ta0n#njRcMFNU&- z1dd*biv{B`pnBiiI;mhn8DixL{#=zao{McP-qYlx-$d(c=aFZ+mXAY*L@-+$<2^;$ z^91#jygX5%vZ=hg0^XO^N3kC1Y_2VFku&VpFOs=Jk4Ph z=X_C)vaz7HW#3om&{GWYW+)*AR!gMPv&c|TTQZKG(_}wmdd|pyiNLUc7z0F<$Etjx zUyw6lWD|ObWUXRnA~=;Pehy7pLbt$J7pb+#p{VaU*sTaqb}@(z$)28@C7n=&dtw5?S@W*tKRE@+jj@IX(-CiK+)2v16KHfpUS*acqtDeS#rMfl)95x zk*xA@=Lult2>tL{pDq&na?u$<&JPcY@NO-pDJlcH%)@^6Ku`jwYlBF*C2}*AjRw(2 z;YcJyxNLmip%{$W8pB|r)K!1~cu%n)SQm_Z^y0%{D8p=Wx&{X9V{xwP0;#DI_9nFr zD-B}JRj@siYnAmYP?oC!M)wT6DsBw!F+2uD4P{8<+UK`1vXeS<%@JmG>eQ*731yJm zh!L0#bH0*G8c>iBh`o{yY9qo0ipP_}%(gbjnrJloM?zD)EFKcQW{w1l>;nK!#e)wx zc8+SLUhT3i`At$+SC@^7(_I%DodU$3Ts>Cw`WcgyWA8zLyxpNE7|*1V#K5No4n30GP>4FAoG~VpLA(*yNZHND*t!hB(-AEOVNgd^un+HS z-%+#Btcd#si+yz{3xbNQo`-Phg4FXwAkBTIx1`QR zxZ18UMnbKrS&_0~>A-&$PM;5u;NboJg#tW?SE?g)7j^vxSQbfrQ(!@c=Ehhl;U;+E zs*9!{pkrognpmFdVrb@qqiZSioW1Ju=;~~Lh56!m3&R4E-k-=#ak2`Va5_~i>3rN+ zNTm4jd0(;;5u2+|1TMcJUg8QEAH zmIp8tD3uNGw9|K5s%73P5KQnI3c0Hf6>5Jx>@(0oH^CjIMRjWTy0xh}cis$QX^0X= zbAyLL@{)aUQY*D;b&kl<2%#LS&mA-7JFsrD2nE9wv;%gj-rJwkDshmh8S;-@cyOS6 z1q9HC03IA=+wzjh1C-5yyZS|reWG>eMb$FR3f(4JfuG^ATt6qLIwR`j3vrw4eoN_S z!5264dyKJeV`~K$0sKllrogU4sHMbbaa{AvI*^8aRv;~y_RwUZTHz@BN{0PYQ#Iin zZ02~Z;EQad5>c$e+Bky8_)4sex9`~faNG9Z#be}`zG=E$a|KwGqtfw_nq3(dkWKvS1|0L5BBH>=?oTc%UP3lZm5Rep&W z`Gp2C=b;dO$#tV3ZXfH9Q?nS#y2r@&yd@$JMf!Ipc7V0Wu>c;EOiTtHt8V%dn~+f_ z?;%wcuqdLCv_KN<%>Y1-6e_RLXsa0atTuI7D0E(PL#%cB_I_`{R44dme84Nt37j2$ zVQw}*T*t70kWWM+pDkZdha`cA6li=#cJ=$cWYAa|6*_>?>7Fqxb+Z|=Pa(y7_J_a& zd|TRvhCRdHQkeMGMyv&-5Qh9wR&imZ?wGBETxK(z4hVQT zLVlwP35|>?q&=9`3mFCl?@SdycF{2Y)2_GJ*}3WL*ntKPcJ?7f%7UVyIRAuRg^xR; zcrz?Odf`viNUS8RV4)ZVz|`X8UiS{;4zojHcc_w_nFZpVDC@uCWj(P$JOR?6?rQz$ zE%#n9`~Kk$0z51eJppMsFEmOOUAx>W8nCg-=M?7&LIXEuV~(mvy-iC9MG8-@A9;Sf z_4O4$@)tDr7F8|`EuB>&CZEC?aQ$P8+?4~ah=vW*RSu>HFnqD80J?D zQGLQ!O^i_F26Tc2XO^CPlWYbRy9Hz(zGlxxiH<4=JFUwaS7f0E4gs?k?DV+(A#mH= zP?&HH?1v4Qw-q9UK!lmYy5}GZ%l*EaQ!i)8QmN{SaK!;gP?Y!~5Q0#q9aISuB{<$B zJNppS6~07Sm~ZG!GWN1t|Js@laJH|m&GOVSA9Bl=elLOAckryst%savMTe4~$;Fi3 zsVsqfAdspa-+jvaj$0qVS|o0(K~db9Kmz;(>5_?=XOk<3{4O-sckpjEB(yT0KWkqB zS*HrxC7V>@>`N{Um@S7k|IYXmH}twOv@ntyLgLbvoz;n~`)~6Yt{}!`TU+>S{kB3Iv<6TZ_lD zFz5?#;CV0`>Lu(k2tB!$K~u?x2M%{Vf4uEO(=7xgIrbJKC~0wvi9@mq9PYC;DI?!N zjw3P?++BKYJefFCHmiQ)LSysv`G>;KczRP;>(jHaiE@2s4>ThNh1Qm<3TdHs+&nR|WYe zqNSWn7AM;Hvq~r5>4Dw>4BBaF2@%WUyho#*p|3RiQ~>RNnj(`_d6PuB3LesWgIX$0 zJ0dY{<86g4UD16&d!32lQkGozbi{AfMrItnRt3BfIaCqv`QbMi84raq6|Gc%Gtk~I<)5T0ao z(-k_>NC(MlZ6ZyvAo4RdyRwohTo-T5e}TRi+=#53N}GXu1S3oX5z1-+jd0B3C;{!x zS~vf#?B_5XIcE+WC;uHwj`G52V;EK5zQ>yfE6{syt=TRjN+=F|W^(|l)kTlK?06^) zZ|9i+FPQocXQ$Y)NdF^$ym49`{yl^y=jS16?=LU<)`4-kcZ?EC0t@!=;sU9O<>iZF z5;!m*=HIF9$*)G?MTg&0olmZJ3GTf9DiCA?`-qDS8NbtdJ)e!CUwD{>%#g8>c>(T# zwhK!R)pv%d_onb-!uC>cZKMYB0Rc~WSoe)#CuV97P+WKGaw(HH`UgB)8&k#&u6GK~ z$^{PsJ+%wvAqO1`^1s_vn&_3foqALu%~j%*DS@_-pQ;qpoPV{lx($$g`O=F9Fy5pW zQClrWAQsJZvfhWee(KDRF!!jP4{IUXV3(;Ktm;&?MEk!wp&DGxhvms8Y_R0ml5C6C z3}6T1v^GrVjk1%TaTp>%2WoT7fvTwd>ggCzhwC{)kulTCq}lPmK}=P+V+7zQU~d0z zxS2t*Dj@=T{xvHpI2_t7O9ik78|v`ab4`#1cJ4+>JQq|#g*K!tkZEIQped@`1b%f4 zjXree5IR5+OHrk5s@t99f`9hx*+15W229VS9UOcst-+j>YUwaj3@;G;yajk|2@$yG zzZdzBiy+7I^Z2ON4VAF7O@a^@O6K5y{aQ!`Y~`SJ{rcmcyE(639cj-*C%PYlYn-0Y zJ`TKrNM!Ze>Abv2@865dxQ$05Kbr0UMB_V*9q{&4ruIT5Y4pf)B5$OG*o@g)pskD( zD8I&x7dh6+0%`Y}x>B9O*2K^I=1eh2`akd5TwiJC!mYM`%B+Mudf0(>7i)R>3C~^- zduV3HZV2BlFFuFZ=!6jMj(J8s6)tzA5qv8K+LR{(0OX6Nm;3&ss#=aAbCrJdhZh9 zRJmD1?VnqRQqSNWgRpR@em-R{Gc$Bm=AhjqicEd(Q4A0<5QJ5fsxCxqD6mr8ZK!V+ z?4&Iz_V(a$O(2TQ%m|Z(CY&7Ysk8I7N6n#lF!MNAZRLmYS#Uwi@TDr%N|Vn|`^!7V zxv0#{LFEACtgs4WLS$G19MR|Ea*UNq( z<8BMhGb=7If2|(U(m~i_$pSaD*$0CJ%v*;A^09ElIm*;Yp#gZ?;-S2+(Tp?D)ge$t zbN9i~PJLPiS^O^PZX0gpvtE8GUz-uwnzh2FU$jh|)@%(w}EkpKYb zNK4SXE6)Of^iX7_^02Tt`)V*c7t(f0koT=Y+O$a1@CGzl%V$bs9Yd}Ntw&rGAVLb7 z`h%LGlCH!4HYNwMgE`WAnH6JiJI0Zx+gzIwa;Of}P8t{&2QDp@4}n0CcQm!M_S>~* zgp`(+zRAvxfcLd}oq;wb+`W6()}PbGASL$>Zv-F327|blmJno5 zmWym2yW^*@XSk?WAmx!-&2b%K?Oj)@63M6{-k4(sdJuS?K8icOfTjEs!B4oP@H zD*})(4+y7W(4bL<4EWxzV@4}~bD~QTU!1rh$67gWaEgLtT>}GE<)wZm{UG?>`8dm1 zfn#8+{iMjKVR90_zb_Aafzf-TPOO}jc_Sq_LZpWwq}KFH;9<28&nl+>W7R+uY7mWI)0gNx(`2QgSIk>xWmuSzIk_tU*7}o|N94O$)o*r=@Jr6w9nxqR4zpQ zgZ{uix|QgzfutjPJWwq_j|Y0H{Qsvu1X7x_5NM1-?V2x2_&hTNFCwB$_x)2n`Tj|M z^vl!)fI`u2LNf&2A?OZ4kA|N_d+RdNk0ZfgTND0eUK+rviE^pr?ZWovGlBu`G0!QK*B%PVzy0)$mgEnLm+#EtK|o z5(q6e+J}Dmry=Mzp*sXUNPY$biXIL0XrM;}JsQ9Q^i)7k1@u(#D-~!3KP#{N+hgS* PazRyDT`B9l>D~VUu4$1g literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/basic.png b/forui/test/golden/macos/otp-field/neutral-dark/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..12255842dc8aec3d450e8eda9d64eb4fa96371d0 GIT binary patch literal 23207 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 aSFrA*4~#w`b2kE#^2{mIlf}oK{`e34#MOKN literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/divider.png b/forui/test/golden/macos/otp-field/neutral-dark/divider.png new file mode 100644 index 0000000000000000000000000000000000000000..b566c18bd2b7817dcb11308562bf7ca376b83048 GIT binary patch literal 23539 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/error.png b/forui/test/golden/macos/otp-field/neutral-dark/error.png new file mode 100644 index 0000000000000000000000000000000000000000..2c119ea83049c8005f6d9df57f98883712893b2c GIT binary patch literal 38496 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 z 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/many-items-focused.png b/forui/test/golden/macos/otp-field/neutral-dark/many-items-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea2a857043d0ad041a4e909a300c94f5e5230f8 GIT binary patch literal 29010 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/single-item.png b/forui/test/golden/macos/otp-field/neutral-dark/single-item.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b86950b1256e6877119052d502620459c612d6 GIT binary patch literal 22841 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/with-label-and-description.png b/forui/test/golden/macos/otp-field/neutral-dark/with-label-and-description.png new file mode 100644 index 0000000000000000000000000000000000000000..7bdf2c1fdcb547475368abd979e44a509ffdae40 GIT binary patch literal 34973 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/all-items-focused.png b/forui/test/golden/macos/otp-field/neutral-light/all-items-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..58db86d6f52f856934cd699bc6258550cdb20a4d GIT binary patch literal 30428 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 LCE2X&`kwy>m!)w$ literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/basic.png b/forui/test/golden/macos/otp-field/neutral-light/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..630a750b48dcbe0384a5f40c9b3107154cdf639a GIT binary patch literal 23101 zcmeHPYgAKL7QQ}O@QI~WQIVjvrM3)Ek@9|2ZLRe|tD@0jcvKTb1tbO#LqcmS?O;h= zcI2g`tu54`i8Un=f(aIB+9iRRg&{%=5mS-{AtoV&yhxaH^AP%XR)2J6&RJRH-h0kH zci-=R``i2Mb;;-N?by6v?((?^f-Knb&ZeCRGAA8Dyu7`i1xId)t+T<`Y~qG3yS+gp zdmsD^?9U+X+`Iu{cKQz?NFcIh)0?{sFOBrQxu7*{QR@xn#E%z$UeGpL^=hy8%)qXy zs%O9%&elq>X+7IW$p_1BJl$D6Yl&w&>0s+j&-Q2Yv7Sxj{ET^??Z9>EGd$ayo(=YF zmi$`s^iqr9U@kTA7?8JC+2FcF0*w3`ZWWdRpl zZYscaC|sVqsQ?QLu-@XP!hdgJp|F?7tL1bCBUhwv_`UG%{iM-JYWj*bzUS}%f+3#& zWL^03M#FB##^#F$=d1|f{9gRg$yy?A^^7SISTn6gH+x!n0htOJzSGthGp9K7&a@ic zoN233IJuiu$RY@f2Z|ENmZ?HFbRrKe0-?5epg_(;$@O6I8H_|8D3V}+_CSHayk)AS z15*nREnsT#r{?Fca^jGf2#cc&q!`etPy2M zyFRy4L75yRMRkmrh;hdECXSR1j@~mpJO0sRI;OBQLH988$4bS&sN~T0Ogz4^x;-zt zOgwz==umAgf;tih;0F5q?}?f1_0NOZ$VR*-f~vj*bjoyzv#X*T}4{UawlV zPaHRurTKXt7aKx2bt<}{tZW}H)%zxblwi)HYb!HTlSr+VwVf$Do>)29F~X7VV@cRX znM2_^n}8|Ijt=*osL&KfbvU}~d#Tp-h6qNiZK!_V0bFg-dN7k<6I%5mS1ha%#Zk;* zr9$DPC9*-B)!EsJZ`?1+YP5c!Qm}eQ^25W~vTW7pXkKSmS8}{>&_UXV3}9ZT1n9tyh!JmTM=~rczBlr=WnH%2G{Oi!Sna0SrEME|TRHiW31^ zEx}}Dnsb(vwReBYF&4$ES(|of@zvehy%L1wa8$uU0lhn`+cWy?KrA_Ie~ROq8< zG#b127@jBV%;#MO`-X_SeJ#{P!rr|^ht=4Td1Ckks8KjV(elJ2-ie1=!s!B2PV(*j z!ApoFQiMbzVdt&_?-Js^%Zc1g=AD0B7}qJJVN?SH18eVE^T*6qC4Nb5E}4sf);|5m2%$5;{~}bOK(fGe^~=QL2nJk>zW^ zi;B2&gIB!(eICTebtoli^v4bDnXhxXT!W!2v5W=m^WyBkt`yZo5{X2^*j*{$M~w-9 zqstxEgVP)@pjF7+oi-63U`Fo`t+;o}Hm*s%C0z+RUk?clRcWMLcB+HY`&jRwjMs>^ zs6d=Ihod3B^*8?lUT?oF{&r$)Y)yf-Uu3aZoc#`pN~JP9k@2EqV^3R;oi2zJ%AR~j z1gK3s=e(e=ynJz$;)GItft8(;vohKnK_=4yJ-`l?>f57_0!GryUjuh$4nQ;bk_&|` z0y^p+qRdr%U;&>0Ha0RcGQ6z4qr=~1vn)Mry6MmT$M+d0XZ>2UX4lP>_l*v1ec4Mp z58^75#*?!BPJY!qC@-J=3TyEl@4&V*@lmr@D%$QSG@6GW0<*{$P~zWe9w0L*0*sbw zu@LAh0laV5i0UX51HMIz3CJoWUn0E>Y{_{JRkFP%v&B$&TdEmuFI&p)oP{94UH2+N zkMd;YCKZpjPX)%9mpJb>rA?1*(?|6SDE6YBQ(%U{>L*LBZQq>jK7#Hdjuoz9v^4%X zNoX4Xnm8*$9R~o;yDm`&1t}9^o&nZj1D&HHDl!W5tYVQ!bj<+Hy%!n(%+aU-^}6{^ z8+4nUjLNFhi;HeEnQHuHfFYL8RA=4B(M;XNz$sgOy-`FPhI~r(MO>*U2F$G^Z!`H! z?^WMQMIUj}!DediOhAzv>z(tydX~>>PW{C;6toGoJG9&0cF1oyFQF^O2Tc5x6U1^p zCUkFu_}UdPqAOWKQWy{U;V**=r@xD8LTdZijNiuY%mL#~i%=l9zJ!+6nH$i~iN(n? zul+WM2TmnEk9JB{p`DJ8gKXYG=>ELb&cTn@nZS@%cF%fI;c+TB9{l;Vs?fAjfcLcZ z-v;y+T&?6wI2=w!=0PmMkTiv1{dTiWl3_tPR#nZ2=Rr^s#R%E~29$vnMsA?RG}6t5SZ;#GHfHnzU|$iycg>a}vm ziqpVO3!VP}Om$J4&t@kXv}PlQYHC!D2*TMT1z;ujJhA0JWz zo#0e?rooa5_7(Q5n{;3acCIU`X!1YM;KTdn{r#QJ*;2dh8+fvW==YZbNnYy=O}@fjpG+S<86%2$9@yqz-+h&0 zA3M^b#kKs9-&j2@Lb9=fQ@gfHQc}c&c~@ze#65Bokp@J*aG{cky3={{$|6VT9vrdinA zMZjY5kR+`kq=Lb)jt%VskGIHfC0*ac2?25R#Ta0M#h{7_pa~|;Qi4~kela+_t?=&v z)!+?WsrZR}lBp>5Ar09Wj2QogBoMpn_p*kS%DU>hs?*y5gLA^>Zv@X?Y`5Dl$ZMDl z8i6C_i;6H{9pUamkXK^Q;Tst;s$&sB5>$P^?m{6Ktn~ST0hPKX$gZ7 zQn3{O$?O_rmVy#_gd- zfxkV6{FDKo3%-^eV=%IGix#UtO1u$Jc{89gD{{rrfvTf@oIV+|S;OhmaF*9U0G^%b zjdD&GeBkUiA;pu%96yGYe=NI}R(JfZljojZy}EAgWUS3{n89dfR&%b`srimMOzi)=>ln2_udmRY5u?C@5BnbSXhVK@lP?v{1$wkd6#0(gzUfAW}jP zDi9S2AP`D`2%(1-Isw8xZ`5yG>-YQferw(D-n?tM@)DA>_t|Hc=h-{KAZ<;Jy}OU? zhQVNauU=8V1%vIffWda`+_@b*Q`*7U3LdsPU%aZf6I|Gx)`8$>4(D4M7h!os{&5&g z5O!7lf}VT)WY2}YHD?agyvbWHc=3Mkhq)Nh?wwl%n`2_Ofp@U38k@D5ANMdnlcR6` z^}`9yBR}p{t!uXYxDVW8^y3y5$-(vGUQpVC= z>>&Cc3+&v&PPyM*fn6-vHS|Y?WJ3!!;`;6jY#_>p(BEBw%`Di2>$@wkc_^Ene|H6T zV}ado`R)q;xs3()?utKhYx5-hQr5Plyk>67qoiI0KSBxV*LyDh6`AvD_d7-9#~31S zO`jU^vD(R>8gg5I>LtMbsSm&WL?*WU;~-alYRK*SiF$JUlTO%+fA=OB>;&5^KWuS; z?JYk{;l~c5f13U5-15UM1lcL~hbdr@>`L^*7J=*n{lgThY-sVr6l`e02BJTFLH*xS zL-p=>UHS1@fbWw2J%ZSavn;?adH;+o*d^~rY_m%qyUFm~7yi>|V}-L6(7g0vLpd>r zmXqE_n=NbIB}ZN{G7D23Xw4WF&>2|QuOh*f7AoA{3BrLkCEKBb+N4;y1 zZg7w<>?2NM~?88`+MeDa}j z;LN=2iS8MjJ`b)jjkECl=+&KuwOH_RIiEMf$o>mpH_Tcm6`~4)$PgyX0*%E{;VVYi z*!7fnlB*_4E=7(!^{|BOEEOa(hb>j1MGH+=GuMS0Fv`we%Grbkloi5UzEiCq`sIia z*jVAJ`wsB%>D zSbtjnK(hlr$+%Nd1=-v%KTo4{ez^0Z?LKMEt8?x>c5CUCpH@JN6R0^!$YyfeXPmse zv$Gd%<)q*Bx8mSVxnjd-pO%*M`drve8eL(YmS5OQQFa4v7Epi z`QpPJ(vv4K@^KAoYir$W|8=2D%OUujnO(!!OZ}*qOoBXMS!iig+ZxGD!%g=bklwLP_4qxoPV4z$Ms;OXH4;IL*Bmt^Roq2v!R}%0SIYwjR7R8z zH=N}|Md;stao53jwJ!1+%y6QDwq8!eGF2MlsEc58h+`~w5{87#zRT6p%8zT1ky%^w zife!wIvBs`rcgGSA#L|Z#>eBYd%A)BL=Yf15{0&dwFX)Z%zC={y2-~)E#+L_@^!T9 zA+8W#;Z=nf*oQw}_GESE?C&uVFqrDEpik=;F-fN{j)3h>H8mMWbJjE$SCz$VzIDsj zGU%|Wu1V^v7$50TZTnmB>)zu!aoH&uw(3_;1Ru3(bd+|Kj?rt%jLp((s#KC1LB7mX z8l7s7SBi4cKd`km!&H5nx@2FA=~~IM$FG)dGndPKU6v=N7gzO+ zJJyW7@;!Hot=*ZS;C!=<%r@@6lY}P$V>>lLyJB32$ogDXs!&Sd{KAK`#lAwKy{Bc*Wb&uKNfMr0-_z9e?@aO0$pvM(paVnVwo!JI0B~d$N&3FbQDm-W;bR9 z_I1x(F=v= z`DYvu1nu?v^~)}cfA#E6{sP?c`*r0cB<`rNWpIH|TI*M$1@cg|L)l}ANIMe0*s1!v3hBqvU3g>&6&4qr7iKT55S zXf8M7m6ni@p!ZkI)F+vHo|b%hURg3hUh2dN$?BoMGLqyZXiL0;d=#wAwX`paNjB5| zJoO7lWwyT(4u}X34~JBq>?)Di2S@NXH8r(*&RMs2bkq%<*0p3TjMI7MM+vJkHuw5O zfme>~zB%lqNIM0pLb9%{eVCJpiMqO8XM63-o}L_&W4AOS1i~oD`5V|-<{CG_fZ}R+ zPSW({Rh034JNqzVyy<@MZn^5!d+X!F(bSa!D;sa-%C19$uerr6>0i>+zEB=LO{XOn z7RvOS;t|Y+!H`zWL^D>-P*$$q9!EiB{b4kfo7?I*;Tv)B=FMjsblDc&{!uF}yysZ* z$|FK}Fyp2?gPwegO>3HTMYR8Z%56bB(b~&H)c&Pt`{Zw%qK;mbjr+R#&KwUu%B%shUo}QNs7T zO$K^RSIOUNj*+q5xIpUn9!)U+U>GW?ar^f6NmCz!+k)-=`$57!^Ko6pc7{o)w)XbJ z`_Hdfm=-=X?)4?Z=jOG`@}GhxZg-ThVchNR6(%0RXhKN2JELoZCKV|uS`uaxKArx~wsuoVHM-ESk*Mv^}|j1I@gA1jhi=b))gS}YYr+n zj6FEO9FvVz$|fT3!9y1ba4KbkNB#uc$!P28Ikve*VNQh(WSclt$xbs!xPVHjfc`ji zrH)Poq+Q|+Hr;C_Db02} zSuFQK9esUnw>;xR*Ym4N2D=#Y{eibK&xvfj*QSk)1*RuqrD<}!7oY4uo|Unyaj2~z zRfDP}Ri&qcU#_5papQWw*sX}3uw*_rtVbbdRr3kvzKb0kGlzf+D;#3^QUZ}kG;z5BM3H;)c4Bl}$77 zwP`r=d)&bXodmdH`w=PQUpmd*%ntAN&&S#)YX_1+@CVZdu3W!qb4Q>U&o<|Il|jfy3Woxg6?b0rW~HP zZLO_31y*CvPU|vcg{1I-_WPgc0RTI>S_d0d2_ujBBai;T`P{1@7$OuBP{38 z)sl-@7;ELA9ek@T8BL9$Y~-ad!<453V|#jTcv{XD<8TDJ6`{PNu>{LlNsSPFa6PYV zB&R}c$z@}&d~Mu$hYsw@?7+(&p_d>zow?1b@Tr;wMxn8>v89f6!KL@Q-)3aJT}2BN z7Z=xoWMAF^>RwmAb5Ti&K|7;D@YC!Y+fRQP6KJ(d#gZpynO+NYh#J-A( zj=YyhBvj0L$YdE>$h!^`cbB&?14(bFz!Ycm@vV6$*86j%Iu5+&m;hf^vKTt}&8vEP zdRFMj4c#QPEMd$A#5@%Dqb}jih>fBYxh97PWyNkY{lT#&n6rN!S9Cg==*<{+D29}t zqM@2|gaa;Lm%?c!=ov;|m9n-2mD|Oux76Z7C?670=mQLYSu`84!J3Sd*g91xVc`hi zFfAv$3St)3FhKa=q9H0bLn}u5wc*QxLn2OdL!W|8bj&@w?^YpjX=%U3?h^>562j~L3_6tR zFgKKuogHFXprGCd67n9j!AYRg-#qZC-lG+sTi@Ix#>W^Vtw+0BQ|X%m-sgZqBUS|aeP^m1io2ahYPaAHH2C*pYK|fATzu$B%XRneD+if#V$l_H&z`#t zDURax;i02OPEE1}?&Du<->8YeU{9S{ z0I)^P%gak;zJj9P4*Bp6#;?k2%Tpm5aF3JW3vW#t=lIZ#uY?s0b8~a)3%XkR?f5d! z;=VAa!P#Ur?&2o`*f*Wa<$2*nMYZrmFG=QXuXBNCQ>?A&8;b)K)^CohsKIEpL5JvH zxTI?9_wo@v!}roU2_TnQ(f|6bz^OyDq6L_yY`EJ1=TRPc!dEpv9s|_m;XZn2-?5F{I3xJ=M zjw(}vu11~OYY`0v?H?@Q>{8%OE^!|ojuxAslv4L`HKyui>ID;g7PArO-58-qp|u?c zF7fR3L#sfPWu#%>xk!vjJ?9sp|Ed4X>E~<;BOy zTbX(VoIO1E%pP43H!3|dk$y8IQ#buGz^aa~(tbm%4n-Ml_Sium z+MAAQM#8hJ>0uXU;7|>rH$mS}R9C-#{rdXEz!R|vP~pMZXMx=1?qT0o-c{i3C2m?I z0+O?6U|ryRJuROAkWYEX5eakt!qLW0Akxi2q41iikOGJ#Wq5W#0lV@@PhY=oFzvcm z)e&evjQeet11Xp2y*$qqKILFs zCS92L@iN$nM>HyNp$95s#PD!;J8HedB9t}4r^wW|wex?4E#>dD=zG+5vtaOrN%h=f z+p%MV`PG{nE8|)|w;U&P!}zuV!schnN~40EN=izDoe}3rH2de%t3)@;iT2Exg}Rp0 zM?&aG=4z4_avGq3L&BO6uYnM7WtE5XB?UBuK)-Ho;OT$BH$LW)c@L5h8!nfo;@tX; z3kvsQpI=NqfWlM5ZD+;;-THkh$OTR4s^9!%--jNRdEMy=s(mle&|3*29`z7T@mZZu za?3_{S1KCx`*?-&$vdcef_lR{J^6e;pd}8^ucf&UA~$6a%(2v9tL)C4Ac#ywRev;a zb#=WFd+zi|V*($_q)eK*hFn)O#bZ6{=J)X{9N;76H^0&ti-7QK0^Fx77c*Yzadz{w z7@%#D+1ettpULR_3^ci17Qnev=ObS)?cr$bup=$dFn>9Z5W~Qc=V#1xSFOb}0R7{= z$|AcTbBmi*4#6uoeJ*XhFhPgaZ{vc3Xf%XeeF8~@(ESKduJj}@eCH>?w_y+EoFFPSB z{q(w2_3XuOm~ElQj>_P3_y|}Xj+TcSLN>#&ae2_RjF5*nYpCjxasATi5x!g=$Bl= zTx|&{Z zjH1Ytav!A6g-97p#yWQoM{6Xg8cyGMsZfxD8LSPu;rVM*tvPcapXaVyivKllon|^Bho#3uA_pqxf&GuGxSxqK|N0Q5E?g(W z_xy6NV#0D+v0cUayd=4sFtH~+w@t(z6jx1V)Xuv4NXg{lzTQPG9I5651@GGizcnwM ztO!d}^jc~JkOPcYx|Zmbl9eSIRn2QE@nkb6O^6fd`FMG;*sDAmC| zul`g7Q1Z+z7GQeH1?6!KxKC*c!kLt_vgEyd$+bA*V`|3}WlXJ%*7=TH3`7QkO&rFT z%RIN2ojCFOMuMm22FIQ>$aM|PeacLxn0O|wbT%b~fepWv2@+@bEuERE7nnULkV+x{ zC*$mu&B&_*PaIcTl3%Lay@n?id$hd{j!mG0!&RYANdudw_W#bgV=xlMe4EnW(sE$A z&({~^Bbc zGnQ4-pVobp_O1^N?g3qlHSQWuueR3;fGgvA{CUi*g+Cp%W$GKca#>tbUmqwN9W%$syUt|ioll+1|zDHSopGH_hohQ+i$IFJgvvp>$nYTd(xApmu6n=@ApNL z5TMK9yf{%zC?{0~ z9EAmB-*01A80?cU8Lau8vu`3l&x9w*d&wB0 z)GuY+901=B41`*1EDSpzCNGNN4b$Bu#=5@SrbYtnt>)2J-LsH~f4T0vZiOwk(aI+f zOHw}=9tC+|eFeTr=T{Qqa*Yy(S`^2%m`gZrLO5Lch+UG$$O08G19P5dUgh)C6;>lT z#+?0PH5PH_Z8V`;Qd#a`R#zYqCr^0M6epzFRGC*z; z8kz3P+@OesdzV^iV8OqnW?2v+rK@%*zOVa0J`X_R1i`sj=qWkAAb*ZTLVd4^ifJX< zJmZ(@a{G>~(((dFKP66HPh5`aQ7)oWTxp?y{tHv*o4r_CE@$siW80UA^VQ2WoFL&u zVZ&nz@71}@;3*EaAdO0{o&;;dhAvaz`=143S2hZpA&#}S!5EjhSDRo*s`VI6LW)31 zMR~eX2I|T*pI>{J^gi9J&%60NR2FyS$_MnvmpM~+_%6HAhtR%W^=9hL)~$nej^s|f zBo?IWp%+?ekhCy9`8+MzvHS1;++~cbQB?9BX{f3CNugO`#GZ2y`kz=tK%=M?$Sy zz{>(N7Z*oeuD_0aRaGpjq-ny%yvNXY((~E7dFM%pzjC*%R+HtV*yBMDlF|pYGcZgFW&&wta7*Vhjn$C?Kf~FcD`M4Tk@fY&`Kfj4_>WGGOil5BE|vButs!+mCxxYcpF~$78fb)D_Xn(4=bN#PUy) zk}tY0jwdODUdPlnzky_$%9xVy9GD*eEzEim7fYSgJg&y$$74#i)XcWn3kDTXP8vzgY9HB-Z?ku)DZ8-FJF&ED#Wt z8*3aEwyq^OH{Th!vRnfuVDJ1vK?>{D_;0WNTxWT>eEpOgIp~ni#AIWUFf8D5W}!@v zW}?bQskYg1o#E^hFdX|fPQ10!4g$hM9`jH=`4Qs|^d8A*8T(y+@AM_3Q>SW!q`3Sa z_nr3yXXV72sPF_~<`%*^~Lh^aaV%J%m$rj$b*Afzvq$H!SrQ7)zSfx&qu2lgcbMK(ICO+4K z*owOPGf?QXP1c5~y2{=zML3%t9vEk8YE_lxj`a6k1v+_o#G?EGB6cfpA0*5|aAhk< zTk!^YnL!uz^`B`ahAI@pT7BlMpD8Ip3GDFtc7>WiU7*C&(5LANIquy@qSt^#Uhi*j zUp)-o?xG7Y0WT5(;C7%c?(5h$yJvtk&&tXk^uI{5-}2}P7|$s6^rWQb=C1vol@;hn z?KQ|u0;A_vmj2sWeGBc(tcm$cBPAuxo62daxe`h}m(NVm*1TqGKaGM)D1OOxE)(V>%+QX-OchyFM+Q(OFUS)t5s|BEZ`A9*@CQ#F!} zLNjv1-oB~%dKRwn+k9kRBcYY$3fp5%4gf8^b5nBRqaJ3z|#8h^ODv{)n4g<%sy6uP3X zub%nLm1hr+|KrWg@RR8dXhX@vDcbt344Z%*^NxSYz{fvh`Hdmv1v!5no@Tvu_>tOS z7O(zyjZFXZhra9`{BX|y#gl#ZA+rw|vcUiKPq?t-fE@?_jyPZLP zM2KbPms?rSLHB-FYXBVkcCnxSW(T%S*bV`Mv7><<4ea#zJrl5_;kzN&wSiq5*tOwD zR$xa1I~v&0@INgYqJR5X1cU8A3jH4eY=+0Cw~&9b+03^nWml~4*^2ED|6Ygq8#BfF zo~Ff9{31Vw2Mix!up3+c^_9+=lh8*@zg_I7zuAFp6ShOJgXFspz}V5ijs|u#u%iK3 ffSn5dTT=nYmbFDZx^yN3TJ`EBP4&Es7LWf6c)VFB literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/disabled-error.png b/forui/test/golden/macos/otp-field/neutral-light/disabled-error.png new file mode 100644 index 0000000000000000000000000000000000000000..5062e97163436770b1a6c2989397152f3dad7ac3 GIT binary patch literal 37032 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/disabled.png b/forui/test/golden/macos/otp-field/neutral-light/disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..5372ffe50e4e446ec0f40d9e12df4a0fdd7916e4 GIT binary patch literal 28246 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 AF8}}l literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/error.png b/forui/test/golden/macos/otp-field/neutral-light/error.png new file mode 100644 index 0000000000000000000000000000000000000000..65d96a5d00dd8672260f716fc4b6ed33decad129 GIT binary patch literal 37937 zcmeIbcUV(f*FB1Qu)wi{N>>qSA_^iM6hs816M9jq5{i`2La`whiXcV0NDn1+q$D6n zFHu_Ph?D>U0s;vw$z1_`-|zqX{GRU?@|*)Zn`G~~<{ER%G3Q!|Z?rU&k20__(9zKy zRk?RZhmP*Z13J1xhYueFXTJ1q{sVsf8Tz{ajSBLJE=YOEE z*I3x=xBP*^|9cw?UISI#=c?wUf+uRE%S9KyKYsl7j%wiZkLL+Dv&@-( zbElW-AKW{WESbd5FKE&2Vn$dwV;o>FmtZ z8LfG%SkVRyu2(YCZ}}3rCbpB5q;~IrbmdO{x9E8J&wtwz7xw*^U-n+U=b2l3AlL)J z9ti06K(GgbJrL0CfnW~=dmy0ue=-P6yd*~c?giM>@_SXzUO~54>h4wbC;nGJkmBul z9JHwV**hjQ^{CTB2=Dc9`=o?i+YamAxEA}%*fQCWj%%*ppY_VDFRf7hx5wN#&rQo* zYxjO&Xh$U@DkeJ1>tgJs&o11siR=Ya{<&K zM@?|4^<*#F98>CSS(M;c>P0vwsggibt3_H_`f;x<$5LNiAy=H}OFoSu$5i|Xg zqNsLJoT;9u=dck1k*U<=0I=_w^%x`H1$Zc#-dx9%cO&ga>MI}OW$ni zIgmCkfA9wL#4{Ix{w60viaX;xjN?MyWOQMDM~TQ&Ln zD|tOAEITmM_j9j0xY*X2Bp=t1fXV)^euU3zIn+EhW7@@*l6U6V2%8J9v<;Pi{6xNt zU|zalknaRL4Q9yG0p1ZMwi#M}bTL!jL!q}g07^SwTf?9rijmg*SGV~oclmu44;%g8fC#cEG)A&$!b)l zm=h1|ugI*j#Hph*s!4%4IkfozC+W;XX}Y(8 zb5D2t!3?eqVJHIneO2xLo9o7TK z@|?hc%jD|im2W^Vn~Z=txptoxKJB3?7Vq8ZX_nXyPQGAQ3&9t)l?iKGejHd(}%Rl*nK>GPka6DWBm}E z#K~(lLUq~pGZQU7mgjzPP(4ye zyCXnm(rJ+@J0r;)-5*<#KgMM;WDf6G>}==EZ@_POc@4w;rZ@eOn0ZrCcrgKO@$C&A zu;PC__D=jC@J9;)2H;0W_vBKn7&Q8()9_4|nA5OfDHKc0<&6y1;!C4vJTsFTCfBvO zhA(xQxa&Ajqy)*)@8!=-_&nE}gCB$zw*UU=S)3U3 zvWk6I+8Z4mooc7!O4jWkuQLSI2PS1|r`|>AW@?15zU-Q)eRcr6FnYQ@HZ_Dz+g=J=B2#AS6B5ruh8$u9zDq*t3kBb#JPL@~Wx10Dh zVq;@jWqnGLyr)@gtgXLrVw#(^e0(a=lualYt2)YOO=qagQOs-U!E;09^Fw95rBH*8 zcyY~$8_uKE^T=ecUq{yPSj@yRZ6*;Bk)C2Z%*EIol@FIUm+Ftdv%cyj%*60`eQBKa zri0$-X-y#ACi+dtUbQzgcz5^`>1K?Lk(xl~|>;S_ToHC@4B z!l2vp1I4|-#D%e%nr66SiwWAdBJQRm7_5GSnEw`Wp>lIBr_^<-^&;VDdUw8A)#`V} z(Q zR!yNoDV^HvHysDlz&)ooyuTMbRP4<$(6mc%c~#~#f&c*5e|J_m)QjR+K9Ye%Z>lm2 z>R)-*IiB9c6_Aj8LHTt_$qfS`9v&sRWZ~%wgaOk0j@ehiL&w;)07h0!S@OU=z=)$y zojO(Gv0zLyp)Fd-Em7RI{akOZk*-;#JO8tM8g}Xa+1XzE=`bw<0phzslvO*?b8b$4 z(7ZT$06?$z+ndv{9&KeC>|iOBm+VI!yYi_tdF;(JU)*F15 z?=t}8SVe7vHDs3WV6DDB&^j)&^z^c3(tH-uqQ?C6<@;Ks#gTWVc3${4;hLU!XY?$L zjqgJEenT*MSeGUaoQnKXU%|uri}}85fFKY6U8?u*yZ1N_^{vi!_hxExVLh6T%WoG9 zmN~Yec7Vb2ROs+d7`_HmuZ&CdG*24O$xQY)M%GY#-jD(#NWa^JtL)X|Zu}T>u30#2 zF{M{(59x>%RqlurbCbR4vpQord%D4SVX%}{-oHABGVF$#C6mU&&Y>gHZk_*h-Kufs z>me?8*_-w~e1Qrnma}I^w*WXUq8BB69s3KuLb$KFS#N@Otj!l=D(48*E1{bt0)fFo zCF0>ZT5L>rCbGG7p5(sEq=uyVoQ`+@&O)-*9T8Dc?tE8Wq`544j7m=SAuZ;;eEE;2 zk7CO}!NV74t{DEz0$^6t&A6{!;X3u3BmU#ZEC4({e*PBiWDy&NXYqquJ|g0C`I!F@1YBP=eC-g;-e$IaJ6W6W?tw$cdbT%K zVAHX7J|hgO%>WZ-rEmhOymqNqe*d#u-+G;If>69fPO&Dhc5CJv=jO11*c^tmarD=Y zkK>X9`rI(GxGWwXp4m6NNlUrBOf_QAK8a9G*)=_k&oj?s>=HkXZx`PUVXdT6wo;QO zHt|RURn@nt(Md^*l}$8j=#(&j^NR$)eo|vFOTEAut74}EjZU#RN1!h&*KYsie z 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/single-empty-item-focused.png b/forui/test/golden/macos/otp-field/neutral-light/single-empty-item-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..62a3f78774839ae91cb24761c3e1302aaee661c2 GIT binary patch literal 24378 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/single-item.png b/forui/test/golden/macos/otp-field/neutral-light/single-item.png new file mode 100644 index 0000000000000000000000000000000000000000..103f134523c323ffac23a5eaae66e1944fba3fc2 GIT binary patch literal 22769 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/with-label-and-description.png b/forui/test/golden/macos/otp-field/neutral-light/with-label-and-description.png new file mode 100644 index 0000000000000000000000000000000000000000..6f9379b8b0c466b12fe48b743a78428ce9ca30c2 GIT binary patch literal 34503 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
c5!rshIR7U=W$Oi^d`yL=6FXipV8c6A}x)sCE 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/macos/otp-field/neutral-light/with-label-description-and-error.png b/forui/test/golden/macos/otp-field/neutral-light/with-label-description-and-error.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb7f11dbf73c54ecf2db8bbf9a5710157fb8e10 GIT binary patch literal 43518 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%0DY$O!PdwVX);_~%p!)g9)3bx`IBve1 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 Date: Sun, 29 Mar 2026 01:17:45 +0800 Subject: [PATCH 03/10] Add OTP fields tests. --- .../lib/src/widgets/otp_field/otp_field.dart | 4 +- ...tp_control.dart => otp_field_control.dart} | 42 ++- forui/lib/widgets/otp_field.dart | 2 +- .../otp_field/otp_field_control_test.dart | 269 ++++++++++++++++++ .../otp_field/otp_field_golden_test.dart | 46 +-- 5 files changed, 318 insertions(+), 45 deletions(-) rename forui/lib/src/widgets/otp_field/{otp_control.dart => otp_field_control.dart} (90%) create mode 100644 forui/test/src/widgets/otp_field/otp_field_control_test.dart diff --git a/forui/lib/src/widgets/otp_field/otp_field.dart b/forui/lib/src/widgets/otp_field/otp_field.dart index cf4bce818..07f6b414b 100644 --- a/forui/lib/src/widgets/otp_field/otp_field.dart +++ b/forui/lib/src/widgets/otp_field/otp_field.dart @@ -10,7 +10,7 @@ import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:forui/forui.dart'; import 'package:forui/src/foundation/debug.dart'; import 'package:forui/src/theme/variant.dart'; -import 'package:forui/src/widgets/otp_field/otp_control.dart'; +import 'package:forui/src/widgets/otp_field/otp_field_control.dart'; import 'package:forui/src/widgets/text_field/input/form_input.dart'; /// Provides the [FOtpFieldStyle] to descendants. @@ -231,7 +231,7 @@ class FOtpField extends StatefulWidget with FFormFieldProperties { this.selectionControls, this.dragStartBehavior = .start, this.mouseCursor, - this.autofillHints, + this.autofillHints = const [AutofillHints.oneTimeCode], this.restorationId, this.stylusHandwritingEnabled = true, this.enableIMEPersonalizedLearning = true, diff --git a/forui/lib/src/widgets/otp_field/otp_control.dart b/forui/lib/src/widgets/otp_field/otp_field_control.dart similarity index 90% rename from forui/lib/src/widgets/otp_field/otp_control.dart rename to forui/lib/src/widgets/otp_field/otp_field_control.dart index 8b11ca147..06e8aace9 100644 --- a/forui/lib/src/widgets/otp_field/otp_control.dart +++ b/forui/lib/src/widgets/otp_field/otp_field_control.dart @@ -7,7 +7,7 @@ import 'package:flutter/widgets.dart'; import 'package:forui/forui.dart'; -part 'otp_control.control.dart'; +part 'otp_field_control.control.dart'; /// A [FOtpFieldControl] defines how a [FOtpField] is controlled. /// @@ -17,7 +17,7 @@ sealed class FOtpFieldControl with Diagnosticable, _$FOtpFieldControlMixin { const factory FOtpFieldControl.managed({ FOtpController? controller, List children, - String? initial, + TextEditingValue? initial, ValueChanged? onChange, }) = FOtpFieldManagedControl; @@ -35,20 +35,20 @@ class FOtpFieldManagedControl extends FOtpFieldControl with _$FOtpFieldManagedCo @override final FOtpController? controller; - /// The children, which should be [FOtpItemMixin]s or [FOtpDivider]s. Defaults to six [FOtpItem]s. - /// - /// Ignored if [controller] is provided. Pass children to the controller instead. - @override - final List children; - /// The initial value. Defaults to null. /// - /// Ignored if [controller] is provided. Pass the initial text to the controller instead. + /// Ignored if [controller] is provided. Pass the initial value to the controller instead. /// /// ## Contract /// Throws [AssertionError] if [initial] and [controller] are both provided. @override - final String? initial; + final TextEditingValue? initial; + + /// The children, which should be [FOtpItemMixin]s or [FOtpDivider]s. Defaults to six [FOtpItem]s. + /// + /// Ignored if [controller] is provided. Pass children to the controller instead. + @override + final List children; /// Called when the value changes. @override @@ -67,13 +67,7 @@ class FOtpFieldManagedControl extends FOtpFieldControl with _$FOtpFieldManagedCo super._(); @override - FOtpController createController() { - final c = controller ?? FOtpController(children: children); - if (initial != null) { - c.text = initial!; - } - return c; - } + FOtpController createController() => controller ?? FOtpController(children: children, value: initial ?? .empty); } // TODO: Add support for lifted OTP field. @@ -112,9 +106,12 @@ class FOtpController extends TextEditingController { int _focused; /// Creates a [FOtpController]. - FOtpController({this.children = const [FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem()]}) - : _length = children.whereType().length, - _focused = 0; + FOtpController({ + this.children = const [FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem()], + TextEditingValue value = .empty, + }) : _length = children.whereType().length, + _focused = 0, + super.fromValue(value); @override TextSpan buildTextSpan({required BuildContext context, required bool withComposing, TextStyle? style}) { @@ -150,9 +147,7 @@ class FOtpController extends TextEditingController { spans.add(WidgetSpan(alignment: .middle, child: child)); } - return TextSpan( - children: Directionality.of(context) == .ltr ? spans : spans.reversed.toList(), - ); + return TextSpan(children: Directionality.of(context) == .ltr ? spans : spans.reversed.toList()); } /// Handles the traversal of the OTP items when the user presses the left or right arrow key. @@ -176,6 +171,7 @@ class FOtpController extends TextEditingController { /// Truncates the text to the maximum length. if (newValue.text.characters.take(_length).string case final truncated when truncated != newValue.text) { + _focused = (truncated.length - 1).clamp(0, _length - 1); super.value = TextEditingValue( text: truncated, selection: .collapsed(offset: truncated.length), diff --git a/forui/lib/widgets/otp_field.dart b/forui/lib/widgets/otp_field.dart index f839165d1..813731f59 100644 --- a/forui/lib/widgets/otp_field.dart +++ b/forui/lib/widgets/otp_field.dart @@ -5,7 +5,7 @@ /// See https://forui.dev/docs/form/otp-field for working examples. library forui.widgets.otp_field; -export '../src/widgets/otp_field/otp_control.dart' hide InternalFOtpController, InternalFOtpFieldControl; +export '../src/widgets/otp_field/otp_field_control.dart' hide InternalFOtpController, InternalFOtpFieldControl; export '../src/widgets/otp_field/otp_field.dart'; export '../src/widgets/otp_field/otp_field_style.dart'; export '../src/widgets/otp_field/otp_item.dart'; diff --git a/forui/test/src/widgets/otp_field/otp_field_control_test.dart b/forui/test/src/widgets/otp_field/otp_field_control_test.dart new file mode 100644 index 000000000..e674022a5 --- /dev/null +++ b/forui/test/src/widgets/otp_field/otp_field_control_test.dart @@ -0,0 +1,269 @@ +import 'package:flutter/widgets.dart'; + +import 'package:flutter_test/flutter_test.dart'; + +import 'package:forui/forui.dart'; +import 'package:forui/src/widgets/otp_field/otp_field_control.dart'; + +void main() { + late FOtpController controller; + + setUp(() { + controller = FOtpController(); + }); + + tearDown(() { + controller.dispose(); + }); + + group('FOtpController()', () { + test('defaults', () { + expect(controller.children.length, 6); + expect(controller.text, ''); + expect(controller.focused, 0); + }); + + test('children with dividers', () { + controller.dispose(); + controller = FOtpController(children: const [FOtpItem(), FOtpDivider(), FOtpItem(), FOtpItem()]); + + expect(controller.children.length, 4); + expect(controller.focused, 0); + }); + }); + + group('traverse', () { + setUp(() { + controller.value = const TextEditingValue(text: '123', selection: .collapsed(offset: 3)); + }); + + test('forward does nothing', () { + controller.traverse(forward: true); + + expect(controller.selection, const TextSelection.collapsed(offset: 0)); + expect(controller.focused, 0); + }); + + test('backward does nothing', () { + controller.traverse(forward: false); + + expect(controller.selection, const TextSelection.collapsed(offset: 0)); + expect(controller.focused, 0); + }); + + test('forward from collapsed', () { + // At offset 1 (middle), value setter expands to [1, 2]. + controller + ..value = controller.value.copyWith(selection: const .collapsed(offset: 1)) + ..traverse(forward: true); + + // Traverse moves to offset 2, value setter expands middle selection to [2, 3]. + expect(controller.selection, const TextSelection(baseOffset: 2, extentOffset: 3)); + expect(controller.focused, 2); + }); + + test('backward from collapsed', () { + controller + ..value = controller.value.copyWith(selection: const .collapsed(offset: 1)) + ..traverse(forward: false); + + // Traverse moves to offset 0, value setter expands middle selection to [0, 1]. + expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 1)); + expect(controller.focused, 0); + }); + + test('forward clamped at text.length', () { + controller.traverse(forward: true); + + // At text.length, value setter passes through as collapsed. + expect(controller.selection, const TextSelection.collapsed(offset: 3)); + expect(controller.focused, 3); + }); + + test('backward clamped at 0', () { + controller + ..value = controller.value.copyWith(selection: const .collapsed(offset: 0)) + ..traverse(forward: false); + + // At offset 0, value setter expands middle selection to [0, 1]. + expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 1)); + expect(controller.focused, 0); + }); + + test('forward from expanded selection', () { + controller + ..value = controller.value.copyWith(selection: const TextSelection(baseOffset: 0, extentOffset: 2)) + ..traverse(forward: true); + + // Collapses to end (2), value setter expands middle selection to [2, 3]. + expect(controller.selection, const TextSelection(baseOffset: 2, extentOffset: 3)); + expect(controller.focused, 2); + }); + + test('backward from expanded selection', () { + controller + ..value = controller.value.copyWith(selection: const TextSelection(baseOffset: 1, extentOffset: 3)) + ..traverse(forward: false); + + // Collapses to max(start - 1, 0) = 0, value setter expands to [0, 1]. + expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 1)); + expect(controller.focused, 0); + }); + + test('backward from expanded selection at start', () { + controller + ..value = controller.value.copyWith(selection: const TextSelection(baseOffset: 0, extentOffset: 2)) + ..traverse(forward: false); + + // Collapses to max(0 - 1, 0) = 0, value setter expands to [0, 1]. + expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 1)); + expect(controller.focused, 0); + }); + }); + + group('value', () { + test('no-op when setting same value', () { + int count = 0; + controller + ..addListener(() => count++) + ..value = controller.value; + + expect(count, 0); + }); + + test('truncates text longer than length', () { + controller.value = const TextEditingValue(text: '12345678', selection: .collapsed(offset: 8)); + + expect(controller.text, '123456'); + expect(controller.selection, const TextSelection.collapsed(offset: 6)); + expect(controller.focused, 5); + }); + + test('truncates text longer than length when partially filled', () { + controller + ..value = const TextEditingValue(text: '123', selection: .collapsed(offset: 3)) + ..value = const TextEditingValue(text: '45678910', selection: .collapsed(offset: 8)); + + expect(controller.text, '456789'); + expect(controller.selection, const TextSelection.collapsed(offset: 6)); + expect(controller.focused, 5); + }); + + test('does not truncate text at length', () { + controller.value = const TextEditingValue(text: '123456', selection: .collapsed(offset: 6)); + + expect(controller.text, '123456'); + expect(controller.focused, 5); + }); + + test('truncates grapheme clusters', () { + // Each flag emoji is a single grapheme cluster but multiple code units. + controller.dispose(); + controller = FOtpController(children: [const FOtpItem(), const FOtpItem()]) + ..value = const TextEditingValue( + text: '🇺🇸🇬🇧🇫🇷', + selection: .collapsed(offset: '🇺🇸🇬🇧🇫🇷'.length), + ); + + expect(controller.text, '🇺🇸🇬🇧'); + expect(controller.focused, 1); + }); + + test('focused clamped to length - 1', () { + controller.value = const TextEditingValue(text: '123456', selection: .collapsed(offset: 6)); + + expect(controller.focused, 5); + }); + + test('first-item affinity workaround', () { + controller.value = const TextEditingValue( + text: '12', + selection: .collapsed(offset: 1, affinity: .upstream), + ); + + expect(controller.focused, 0); + }); + + test('middle item deletion selects previous item', () { + controller + // Tap item at index 2 — value setter expands selection to [2, 3]. + ..value = const TextEditingValue(text: '123456', selection: TextSelection(baseOffset: 2, extentOffset: 3)) + // Backspace deletes '3', framework sends cursor at offset 2. + ..value = const TextEditingValue(text: '12456', selection: .collapsed(offset: 2)); + + expect(controller.text, '12456'); + expect(controller.selection, const TextSelection(baseOffset: 1, extentOffset: 2)); + }); + + test('middle item deletion at offset 0 clamps base to 0', () { + controller + // Select first item — value setter expands selection to [0, 1]. + ..value = const TextEditingValue(text: '123456', selection: TextSelection(baseOffset: 0, extentOffset: 1)) + // Backspace deletes '1', framework sends cursor at offset 0. + ..value = const TextEditingValue(text: '23456', selection: .collapsed(offset: 0)); + + expect(controller.text, '23456'); + expect(controller.selection, const TextSelection.collapsed(offset: 0)); + expect(controller.focused, 0); + }); + + test('middle item selects current item for replacement', () { + controller + ..value = const TextEditingValue(text: '123456', selection: .collapsed(offset: 6)) + // Same text length, cursor in middle — should select item at cursor for replacement. + ..value = const TextEditingValue(text: '123456', selection: .collapsed(offset: 2)); + + expect(controller.selection, const TextSelection(baseOffset: 2, extentOffset: 3)); + expect(controller.focused, 2); + }); + + test('focuses next empty item after last inserted character', () { + controller.value = const TextEditingValue(text: '123', selection: .collapsed(offset: 3)); + + expect(controller.text, '123'); + expect(controller.selection, const TextSelection.collapsed(offset: 3)); + expect(controller.focused, 3); + }); + + test('tapping middle item selects it for replacement', () { + controller + ..value = const TextEditingValue(text: '123456', selection: .collapsed(offset: 6)) + // Tap item at index 3. + ..value = const TextEditingValue(text: '123456', selection: .collapsed(offset: 3)); + + expect(controller.selection, const TextSelection(baseOffset: 3, extentOffset: 4)); + expect(controller.focused, 3); + }); + + test('replacing middle item then typing again advances focus', () { + controller + // Tap item 2 → selection [2, 3]. + ..value = const TextEditingValue(text: '123456', selection: TextSelection(baseOffset: 2, extentOffset: 3)) + // Type 'X' replaces '3', framework sends cursor at offset 3. + ..value = const TextEditingValue(text: '12X456', selection: .collapsed(offset: 3)); + + // Selection expands to [3, 4] for next replacement. + expect(controller.selection, const TextSelection(baseOffset: 3, extentOffset: 4)); + expect(controller.focused, 3); + + // Type 'Y' replaces '4', framework sends cursor at offset 4. + controller.value = const TextEditingValue(text: '12XY56', selection: .collapsed(offset: 4)); + + expect(controller.selection, const TextSelection(baseOffset: 4, extentOffset: 5)); + expect(controller.focused, 4); + }); + + test('deleting last filled item retains focus on now-empty item', () { + controller + // Field has '123', tap last filled item → selection [2, 3]. + ..value = const TextEditingValue(text: '123', selection: TextSelection(baseOffset: 2, extentOffset: 3)) + // Backspace deletes '3', framework sends cursor at offset 2. + ..value = const TextEditingValue(text: '12', selection: .collapsed(offset: 2)); + + // Offset == text.length, so passes through as collapsed. Focus on the now-empty item. + expect(controller.text, '12'); + expect(controller.selection, const TextSelection.collapsed(offset: 2)); + expect(controller.focused, 2); + }); + }); +} diff --git a/forui/test/src/widgets/otp_field/otp_field_golden_test.dart b/forui/test/src/widgets/otp_field/otp_field_golden_test.dart index 545952343..a55a2f601 100644 --- a/forui/test/src/widgets/otp_field/otp_field_golden_test.dart +++ b/forui/test/src/widgets/otp_field/otp_field_golden_test.dart @@ -9,7 +9,10 @@ void main() { testWidgets('blue screen', (tester) async { await tester.pumpWidget( TestScaffold.blue( - child: FOtpField(style: TestScaffold.blueScreen.otpFieldStyle, control: const .managed(initial: '123456')), + child: FOtpField( + style: TestScaffold.blueScreen.otpFieldStyle, + control: const .managed(initial: TextEditingValue(text: '123456')), + ), ), ); @@ -61,7 +64,7 @@ void main() { theme: theme.data, child: FOtpField( control: const .managed( - initial: '123456', + initial: TextEditingValue(text: '123456'), children: [FOtpItem(), FOtpItem(), FOtpItem(), FOtpDivider(), FOtpItem(), FOtpItem(), FOtpItem()], ), enabled: false, @@ -71,10 +74,7 @@ void main() { await tester.pumpAndSettle(); - await expectLater( - find.byType(TestScaffold), - matchesGoldenFile('otp-field/${theme.name}/disabled-divider.png'), - ); + await expectLater(find.byType(TestScaffold), matchesGoldenFile('otp-field/${theme.name}/disabled-divider.png')); }); testWidgets('single empty item focused - ${theme.name}', (tester) async { @@ -90,7 +90,12 @@ void main() { testWidgets('single filled item focused - ${theme.name}', (tester) async { await tester.pumpWidget( - TestScaffold.app(theme: theme.data, child: FOtpField(control: const .managed(initial: '123456'))), + TestScaffold.app( + theme: theme.data, + child: FOtpField( + control: const .managed(initial: TextEditingValue(text: '123456')), + ), + ), ); await tester.pumpAndSettle(); @@ -125,10 +130,7 @@ void main() { ); await tester.pumpAndSettle(); - await expectLater( - find.byType(TestScaffold), - matchesGoldenFile('otp-field/${theme.name}/many-items-focused.png'), - ); + await expectLater(find.byType(TestScaffold), matchesGoldenFile('otp-field/${theme.name}/many-items-focused.png')); }); testWidgets('all items focused - ${theme.name}', (tester) async { @@ -152,10 +154,7 @@ void main() { ); await tester.pumpAndSettle(); - await expectLater( - find.byType(TestScaffold), - matchesGoldenFile('otp-field/${theme.name}/all-items-focused.png'), - ); + await expectLater(find.byType(TestScaffold), matchesGoldenFile('otp-field/${theme.name}/all-items-focused.png')); }); testWidgets('all items focused divider - ${theme.name}', (tester) async { @@ -191,7 +190,13 @@ void main() { testWidgets('disabled - ${theme.name}', (tester) async { await tester.pumpWidget( - TestScaffold.app(theme: theme.data, child: FOtpField(control: const .managed(initial: '123456'), enabled: false)), + TestScaffold.app( + theme: theme.data, + child: FOtpField( + control: const .managed(initial: TextEditingValue(text: '123456')), + enabled: false, + ), + ), ); await tester.pumpAndSettle(); @@ -203,7 +208,10 @@ void main() { await tester.pumpWidget( TestScaffold.app( theme: theme.data, - child: FOtpField(control: const .managed(initial: '123456'), forceErrorText: 'An error has occurred.'), + child: FOtpField( + control: const .managed(initial: TextEditingValue(text: '123456')), + forceErrorText: 'An error has occurred.', + ), ), ); @@ -217,7 +225,7 @@ void main() { TestScaffold.app( theme: theme.data, child: FOtpField( - control: const .managed(initial: '123456'), + control: const .managed(initial: TextEditingValue(text: '123456')), enabled: false, forceErrorText: 'An error has occurred.', ), @@ -271,7 +279,7 @@ void main() { theme: theme.data, textDirection: .rtl, child: FOtpField( - control: const .managed(initial: '123456'), + control: const .managed(initial: TextEditingValue(text: '123456')), label: const Text('My Label'), description: const Text('Some help text.'), ), From c84502d9040e48087c0f74dffa9401b2aa3f86b2 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Sun, 29 Mar 2026 13:34:47 +0800 Subject: [PATCH 04/10] Creaate OTP --- docs/content/docs/form/otp-field.mdx | 53 +++++++++++++ .../lib/examples/widgets/otp_field.dart | 28 +++++++ docs_snippets/lib/main.dart | 2 + .../lib/usages/widgets/otp_field.dart | 75 ++++++++++++++++++ forui/bin/commands/style/style.dart | 4 +- .../lib/src/widgets/otp_field/otp_field.dart | 10 ++- .../widgets/otp_field/otp_field_style.dart | 42 +++++----- .../otp-field/neutral-dark/disabled-error.png | Bin 37320 -> 37406 bytes .../macos/otp-field/neutral-dark/error.png | Bin 38496 -> 38580 bytes .../macos/otp-field/neutral-dark/rtl.png | Bin 39836 -> 39853 bytes .../with-label-and-description.png | Bin 34973 -> 35094 bytes .../with-label-description-and-error.png | Bin 44452 -> 44483 bytes .../neutral-light/disabled-error.png | Bin 37032 -> 37132 bytes .../macos/otp-field/neutral-light/error.png | Bin 37937 -> 38027 bytes .../macos/otp-field/neutral-light/rtl.png | Bin 39670 -> 39700 bytes .../with-label-and-description.png | Bin 34503 -> 34583 bytes .../with-label-description-and-error.png | Bin 43518 -> 43541 bytes 17 files changed, 191 insertions(+), 23 deletions(-) create mode 100644 docs/content/docs/form/otp-field.mdx create mode 100644 docs_snippets/lib/examples/widgets/otp_field.dart create mode 100644 docs_snippets/lib/usages/widgets/otp_field.dart diff --git a/docs/content/docs/form/otp-field.mdx b/docs/content/docs/form/otp-field.mdx new file mode 100644 index 000000000..a3aae5f71 --- /dev/null +++ b/docs/content/docs/form/otp-field.mdx @@ -0,0 +1,53 @@ +--- +title: OTP Field +description: A one-time password input field for verification codes. +apiReference: https://pub.dev/documentation/forui/latest/forui.widgets.otp_field/ +--- + +import { Tab, Tabs } from 'fumadocs-ui/components/tabs'; +import { Widget } from '@/components/demo/widget'; +import { CodeSnippet } from '@/components/code-snippet/code-snippet'; +import { UsageSnippet } from '@/components/usage-snippet/usage-snippet'; +import defaultSnippet from '@/snippets/examples/otp-field/default.json'; +import dividerSnippet from '@/snippets/examples/otp-field/divider.json'; +import otpFieldUsage from '@/snippets/usages/widgets/otp_field/otpField.json'; + + + + + + + + + + +## CLI + +To generate a specific style for customization: + + + + ```shell copy + dart run forui style create otp-field + ```` + + + +## Usage + +### `FOtpField(...)` + + +## Examples + +### With Divider + + + + + + + + + + diff --git a/docs_snippets/lib/examples/widgets/otp_field.dart b/docs_snippets/lib/examples/widgets/otp_field.dart new file mode 100644 index 000000000..ddd16a75e --- /dev/null +++ b/docs_snippets/lib/examples/widgets/otp_field.dart @@ -0,0 +1,28 @@ +import 'package:flutter/widgets.dart'; + +import 'package:auto_route/auto_route.dart'; +import 'package:forui/forui.dart'; + +import 'package:docs_snippets/example.dart'; + +@RoutePage() +class OtpFieldPage extends Example { + OtpFieldPage({@queryParam super.theme}); + + @override + Widget example(BuildContext _) => FOtpField(); +} + +@RoutePage() +class DividerOtpFieldPage extends Example { + DividerOtpFieldPage({@queryParam super.theme}); + + @override + Widget example(BuildContext _) => FOtpField( + // {@highlight} + control: const .managed( + children: [FOtpItem(), FOtpItem(), FOtpItem(), FOtpDivider(), FOtpItem(), FOtpItem(), FOtpItem()], + ), + // {@endhighlight} + ); +} diff --git a/docs_snippets/lib/main.dart b/docs_snippets/lib/main.dart index 0eed9578b..359a76d1e 100644 --- a/docs_snippets/lib/main.dart +++ b/docs_snippets/lib/main.dart @@ -138,6 +138,8 @@ class _AppRouter extends RootStackRouter { AutoRoute(path: '/multi-select/sorted', page: SortedMultiSelectRoute.page), AutoRoute(path: '/multi-select/popover-builder', page: PopoverBuilderMultiSelectRoute.page), AutoRoute(path: '/multi-select/form', page: FormMultiSelectRoute.page), + AutoRoute(path: '/otp-field/default', page: OtpFieldRoute.page), + AutoRoute(path: '/otp-field/divider', page: DividerOtpFieldRoute.page), AutoRoute(path: '/pagination/default', page: PaginationRoute.page), AutoRoute(path: '/pagination/siblings', page: SiblingsPaginationRoute.page), AutoRoute(path: '/pagination/hide-edges', page: HideEdgesPaginationRoute.page), diff --git a/docs_snippets/lib/usages/widgets/otp_field.dart b/docs_snippets/lib/usages/widgets/otp_field.dart new file mode 100644 index 000000000..40e040e9e --- /dev/null +++ b/docs_snippets/lib/usages/widgets/otp_field.dart @@ -0,0 +1,75 @@ +// ignore_for_file: avoid_redundant_argument_values + +import 'package:flutter/widgets.dart'; + +import 'package:forui/forui.dart'; + +final otpField = FOtpField( + // {@category "Control"} + control: const .managed(), + // {@endcategory} + // {@category "Form"} + label: const Text('Verification Code'), + description: const Text('Enter the 6-digit code.'), + errorBuilder: FFormFieldProperties.defaultErrorBuilder, + forceErrorText: null, + onSaved: null, + onReset: null, + validator: null, + autovalidateMode: .disabled, + formFieldKey: null, + // {@endcategory} + // {@category "Field"} + builder: FOtpField.defaultBuilder, + magnifierConfiguration: null, + groupId: EditableText, + keyboardType: null, + textInputAction: .done, + textCapitalization: .none, + textDirection: null, + autofocus: false, + focusNode: null, + readOnly: false, + onTapAlwaysCalled: false, + onEditingComplete: () {}, + onSubmit: (value) {}, + onAppPrivateCommand: (action, data) {}, + onTap: () {}, + onTapOutside: (event) {}, + inputFormatters: FOtpField.defaultInputFormatters, + ignorePointers: null, + enableInteractiveSelection: true, + selectionControls: null, + dragStartBehavior: .start, + mouseCursor: null, + autofillHints: const [AutofillHints.oneTimeCode], + restorationId: null, + stylusHandwritingEnabled: true, + enableIMEPersonalizedLearning: true, + contentInsertionConfiguration: null, + contextMenuBuilder: null, + canRequestFocus: true, + undoController: null, + statesController: null, + // {@endcategory} + // {@category "Core"} + style: const .context(), + enabled: true, + // {@endcategory} +); + +// {@category "Control" "`.managed()` with internal controller"} +/// Manages the controller internally. Allows configuring children and initial value. +final FOtpFieldControl managedInternal = .managed( + children: const [FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem()], + initial: null, + onChange: (value) {}, +); + +// {@category "Control" "`.managed()` with external controller"} +/// Uses an external `FOtpController` to control the OTP field's state. +final FOtpFieldControl managedExternal = .managed( + // Don't create a controller inline. Store it in a State instead. + controller: FOtpController(), + onChange: (value) {}, +); diff --git a/forui/bin/commands/style/style.dart b/forui/bin/commands/style/style.dart index 685a4fa04..29eecc597 100644 --- a/forui/bin/commands/style/style.dart +++ b/forui/bin/commands/style/style.dart @@ -324,14 +324,14 @@ enum Style { 'FVariants', ['otp-field-items', 'otpfielditems'], ['FOtpFieldItemStyles'], - 'FOtpFieldItemStyles otpFieldItemStyles({\n required FColors colors,\n required FTypography typography,\n required FStyle style,\n}) => FOtpFieldItemStyles(\n .from(\n FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n border: Border(\n top: BorderSide(color: colors.border, width: style.borderWidth),\n bottom: BorderSide(color: colors.border, width: style.borderWidth),\n left: BorderSide(color: colors.border, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n variants: {\n [.start]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(color: colors.border, width: style.borderWidth),\n bottom: BorderSide(color: colors.border, width: style.borderWidth),\n left: BorderSide(color: colors.border, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.end]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(color: colors.border, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.start.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: style.borderRadius.sm,\n border: Border.all(color: colors.border, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.start)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.end)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: style.borderRadius.sm,\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.disabled]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: style.borderRadius.sm,\n border: Border.all(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n border: Border(\n top: BorderSide(color: colors.error, width: style.borderWidth),\n bottom: BorderSide(color: colors.error, width: style.borderWidth),\n left: BorderSide(color: colors.error, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(color: colors.error, width: style.borderWidth),\n bottom: BorderSide(color: colors.error, width: style.borderWidth),\n left: BorderSide(color: colors.error, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(color: colors.error, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: style.borderRadius.sm,\n border: Border.all(color: colors.error, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.disabled)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: Border(\n top: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n left: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: style.borderRadius.sm,\n border: Border.all(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n },\n ),\n);\n', + 'FOtpFieldItemStyles otpFieldItemStyles({\n required FColors colors,\n required FTypography typography,\n required FStyle style,\n}) => FOtpFieldItemStyles(\n .from(\n FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n border: BorderDirectional(\n top: BorderSide(color: colors.border, width: style.borderWidth),\n bottom: BorderSide(color: colors.border, width: style.borderWidth),\n start: BorderSide(color: colors.border, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n variants: {\n [.start]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: BorderDirectional(\n top: BorderSide(color: colors.border, width: style.borderWidth),\n bottom: BorderSide(color: colors.border, width: style.borderWidth),\n start: BorderSide(color: colors.border, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.end]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(color: colors.border, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.start.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: style.borderRadius.sm,\n border: Border.all(color: colors.border, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.start)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.end)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.focused.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: ShapeDecoration(\n color: colors.card,\n shape: RoundedSuperellipseBorder(\n borderRadius: style.borderRadius.sm,\n side: BorderSide(\n color: colors.foreground,\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.disabled]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n border: BorderDirectional(\n top: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n start: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: BorderDirectional(\n top: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n start: BorderSide(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.disabled.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: style.borderRadius.sm,\n border: Border.all(\n color: colors.disable(colors.border),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n border: BorderDirectional(\n top: BorderSide(color: colors.error, width: style.borderWidth),\n bottom: BorderSide(color: colors.error, width: style.borderWidth),\n start: BorderSide(color: colors.error, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: BorderDirectional(\n top: BorderSide(color: colors.error, width: style.borderWidth),\n bottom: BorderSide(color: colors.error, width: style.borderWidth),\n start: BorderSide(color: colors.error, width: style.borderWidth),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(color: colors.error, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.card,\n borderRadius: style.borderRadius.sm,\n border: Border.all(color: colors.error, width: style.borderWidth),\n ),\n contentTextStyle: typography.sm.copyWith(color: colors.foreground),\n ),\n [.error.and(.disabled)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n border: BorderDirectional(\n top: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n start: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.start)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topStart: style.borderRadius.sm.topLeft,\n bottomStart: style.borderRadius.sm.bottomLeft,\n ),\n border: BorderDirectional(\n top: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n bottom: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n start: BorderSide(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: BorderRadiusDirectional.only(\n topEnd: style.borderRadius.sm.topRight,\n bottomEnd: style.borderRadius.sm.bottomRight,\n ),\n border: Border.all(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n [.error.and(.disabled).and(.start).and(.end)]: FOtpFieldItemStyle(\n decoration: BoxDecoration(\n color: colors.disable(colors.card),\n borderRadius: style.borderRadius.sm,\n border: Border.all(\n color: colors.disable(colors.error),\n width: style.borderWidth,\n ),\n ),\n contentTextStyle: typography.sm.copyWith(\n color: colors.disable(colors.foreground),\n ),\n ),\n },\n ),\n);\n', ), fotpfieldstyle( 'FOtpFieldStyle', null, ['otp-field', 'otpfield'], ['FOtpFieldStyle'], - 'FOtpFieldStyle otpFieldStyle({\n required FColors colors,\n required FTypography typography,\n required FStyle style,\n required bool touch,\n}) => FOtpFieldStyle.inherit(\n colors: colors,\n typography: typography,\n style: style,\n touch: touch,\n);\n', + 'FOtpFieldStyle otpFieldStyle({\n required FColors colors,\n required FTypography typography,\n required FStyle style,\n required bool touch,\n}) => FOtpFieldStyle(\n keyboardAppearance: colors.brightness,\n cursorColor: colors.primary,\n itemSize: touch ? const Size(44, 44) : const Size(36, 36),\n itemStyles: .inherit(colors: colors, typography: typography, style: style),\n dividerPadding: const .symmetric(horizontal: 4),\n dividerColor: FVariants(\n colors.foreground,\n variants: {\n [.disabled]: colors.disable(colors.foreground),\n },\n ),\n labelTextStyle: style.formFieldStyle.labelTextStyle,\n descriptionTextStyle: style.formFieldStyle.descriptionTextStyle,\n errorTextStyle: style.formFieldStyle.errorTextStyle,\n childPadding: const .symmetric(vertical: 2),\n cursorWidth: 2.0,\n dividerSize: const Size(12, 1),\n labelPadding: const .only(bottom: 6),\n descriptionPadding: const .only(top: 6),\n errorPadding: const .only(top: 6),\n labelMotion: const FLabelMotion(),\n);\n', ), fpaginationstyle( 'FPaginationStyle', diff --git a/forui/lib/src/widgets/otp_field/otp_field.dart b/forui/lib/src/widgets/otp_field/otp_field.dart index 07f6b414b..151cbb0c3 100644 --- a/forui/lib/src/widgets/otp_field/otp_field.dart +++ b/forui/lib/src/widgets/otp_field/otp_field.dart @@ -318,6 +318,11 @@ class _FOtpFieldState extends State { late FOtpController _controller; late WidgetStatesController _statesController; + // The error widget cannot be computed inline because `_statesController` is updated one frame after `build`. When + // transitioning from error → non-error, this causes the build method to be called once with an error variant but no + // error widget, causing a layout "jump" and the error text disappearing immediately instead of fading out. + Widget _error = const SizedBox(); + @override void initState() { super.initState(); @@ -385,6 +390,9 @@ class _FOtpFieldState extends State { builder: (state) { final errorText = state.errorText; final error = errorText == null ? null : widget.errorBuilder(state.context, errorText); + if (error != null) { + _error = error; + } /// A stripped down version of the input used by [FTextField]. final textfield = IntrinsicWidth( @@ -461,7 +469,7 @@ class _FOtpFieldState extends State { label: widget.label, style: style, description: widget.description, - error: error ?? const SizedBox(), + error: _error, child: widget.builder(context, style, variants, textfield), ); diff --git a/forui/lib/src/widgets/otp_field/otp_field_style.dart b/forui/lib/src/widgets/otp_field/otp_field_style.dart index 18ff7b3f4..d5b7386c9 100644 --- a/forui/lib/src/widgets/otp_field/otp_field_style.dart +++ b/forui/lib/src/widgets/otp_field/otp_field_style.dart @@ -77,11 +77,11 @@ class FOtpFieldStyle extends FLabelStyle with _$FOtpFieldStyleFunctions { this.cursorColor = CupertinoColors.activeBlue, this.cursorWidth = 2.0, this.cursorOpacityAnimates, - this.dividerPadding = const .symmetric(horizontal: 6), + this.dividerPadding = const .symmetric(horizontal: 8), this.dividerSize = const Size(12, 1), - super.labelPadding, - super.descriptionPadding, - super.errorPadding, + super.labelPadding = const .only(bottom: 6), + super.descriptionPadding = const .only(top: 6), + super.errorPadding = const .only(top: 6), super.childPadding, super.labelMotion, }); @@ -90,23 +90,25 @@ class FOtpFieldStyle extends FLabelStyle with _$FOtpFieldStyleFunctions { FOtpFieldStyle.inherit({ required FColors colors, required FTypography typography, - required super.style, + required FStyle style, required bool touch, - }) : keyboardAppearance = colors.brightness, - cursorColor = colors.primary, - cursorWidth = 2.0, - cursorOpacityAnimates = null, - itemSize = touch ? const Size(44, 44) : const Size(36, 36), - itemStyles = .inherit(colors: colors, typography: typography, style: style), - dividerPadding = const .symmetric(horizontal: 4), - dividerSize = const Size(12, 1), - dividerColor = FVariants( - colors.foreground, - variants: { - [.disabled]: colors.disable(colors.foreground), - }, - ), - super.inherit(childPadding: const .symmetric(vertical: 2)); + }) : this( + keyboardAppearance: colors.brightness, + cursorColor: colors.primary, + itemSize: touch ? const Size(44, 44) : const Size(36, 36), + itemStyles: .inherit(colors: colors, typography: typography, style: style), + dividerPadding: const .symmetric(horizontal: 4), + dividerColor: FVariants( + colors.foreground, + variants: { + [.disabled]: colors.disable(colors.foreground), + }, + ), + labelTextStyle: style.formFieldStyle.labelTextStyle, + descriptionTextStyle: style.formFieldStyle.descriptionTextStyle, + errorTextStyle: style.formFieldStyle.errorTextStyle, + childPadding: const .symmetric(vertical: 2), + ); } /// The [FOtpFieldItemStyle]s for each variant. diff --git a/forui/test/golden/macos/otp-field/neutral-dark/disabled-error.png b/forui/test/golden/macos/otp-field/neutral-dark/disabled-error.png index 5628b8144e3c903e98ccc8e22a3fa76408860a03..4713707264e2aa1dee386509d44522416f9cff49 100644 GIT binary patch literal 37406 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 z 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 diff --git a/forui/test/golden/macos/otp-field/neutral-dark/rtl.png b/forui/test/golden/macos/otp-field/neutral-dark/rtl.png index 6734a39ad2b8c3224d0ab3a717ee7a48857c7a23..a1e71fd0109445f20a6a1602a6e140e9d51d021d 100644 GIT binary patch literal 39853 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 literal 39836 zcmeFZS6GwV_b!S*m$H_KhzdwoP*G_j(o1wn5fNBOF98MVO?n9-E?r0qL`8~J1*LbS zH;~npqUn2g})nq-w zbA*YBiB;>C+Fd55KkhLxG5`MiVem=y(DrZO$2nYW^;C)x~Po|;^T|8uIM8B}*rz`w|++WG!rz`x*p}(lbPgnTGxPB4QpRVwWLjS5P ze!9Z1g6mfu`qLGDmFK^Ng@0Y)m$2}EsjzUb+`ssnalGAsu#|@Tlx}V{wePPp!aMZ; z_>C>|dB#y5jjT&qk8fmLGI0vLc$Hbi`yx-NmS}~R!?o3C(iiSVhIOf(`2AX8u5xsTa2P8Hj)*kJk6nWb8{A{b>hFsdG3$@Ce#1_I802Bet8anfWq4u9V8eD_^Xr@Us%YvSBhH@n|x-#s=`a{p!~ zdG&@9zShXlWRJ4vX+`U)-6V~B$j!gHY-BK?Z2sO+|EfzD!Oy~Zyi%u~#5OuJC@HkKpb?iL?to~pnR9LuEb_@uqmCW0Akx9yAT zx6RikDX%Xmon&HK-iy^dzQ3DlIW3+S&ppqOXq>Cp7$s(`UPy>8Ru$V=tU(wE-p_yU zI$D;C>AR@tx7atR2}T@#{NDZ+tG{wT(%I0*_{TifXH#T1{?Sli1K+x`{nTj;-{$3A zZVdT0j6dWu_&iLLzCq?8-vLMT4gPzC>*62j6M5^_Dtj!^evpbYBJleU!6(O*G+b!Y zHK(6jk?Oa28d%0@O&Z+wy1`HRrtb__s+>ZF`@&0>3}Bl6-h<$Do!meJLGTJPHd}%! zeJ!S_&L_ge3R!rAq$)F$c$iY5M`^J6@{fVGy=3E>*PW&nI!9q~QBll%0{n#0(7SKA zXgPuaM%;Ad>*}?*o5y%~n2&AUIy#3F*;uI1eD6V!h?jtKN;a%GD^tG<+O!$rS~}wL zdF+b6g$eLE=<;#Ztv7gX`+1}pP*pdJ<7=Qdj%X)M;S#f$Nae2#Iv~l+> z5v!ITFV0)v`}U9Qwtoh6CAy01zKKwWEjp{JcmL6giHRV>3=#>_^pA(r-(5m0t}Isv zwY?uHB_0c<1^JM84$^7SnHWVOiOs1|>iAYulq70h(B|VOk-LbBoct)d{Uj$iL>!rE zp+-Q`VxU7CSEeOfP(3Le=}L5M)?=kTs>C&UkCj)Y2HE^96mq|J)h3-?Fe*HJy3?d( z-T`?wWb5o!G?;<%(<(ER2ghcw+g6e5P(IsAMw*ufsPmc+lV(Y0DK1{|neWd%2mD=uXQ59M@ zorSxT<)Vl&Di_jHXn*-k-0z%?40jwZFq`nlxp{64Ua}+RM^}J#b8n(*dQwuW4C}$x z!vAri60@iTvFIU};g?+t&Mw3?1Km7F#!}rzxD{eUtcy#9`kfQkxYOZ6{iH3)H6tQG zi-_D1cu#orX|eesE#C}A*IL8-Qw|sB0~Z?g$8#dqCV;ECH|{c*-V8g&VNI}`?V%3V zhh?b4@%F{}xlRIlJ&21>k8uyaUR6`$llOTjmLiRaLI5*ellduQTKKHG?dd0`Dh1wE zciE#(v9OdAVCz`ZMjLf?Qt=)wozq^$pCB_<=~h1KYpa2YOiG#w-LfO3>GwD4Oiy@U zaJ%|C$ea2iVDov6Cr)xHT3t_>n}qYYXlYC)R>1ldDh7;~|U_rwh(jgI5kD9X!=?2VRGwOVFeh*7G! zf`CT2fI;O2P}~YvbyKINSb9afNFLM(hAWO68QE;Da8M&oV$~B==$cJu!&(Ix$HJEo6hZ$8H_A80rb>4*t4tS|)yWF%F$_Yt+C})PMtz%) zowiKG2Vqk=DC4IzVonQ?S)q z>`^RLD-ICAj@x_VKXLJ|=eY@bl3f}{VFin}ySv!$$9VwR#Br!0?*1S$5YB5_c3PjPV8Rlc+Pu&YGsv;*FBK$<^hZ+#ry=f$O*(=@l;_|d_tGAa}rh|HuB>gwU$RANXYqa z+fy3p?v{$=bl!TJo_j;)LkEyk@)G}=k$S?;?x4eGoyeG;cd%{$V#hjJcd34JMbvY8 z2-k+iz}{tGWh$MA%C3;!+hQYWVAu&$9r?xhMH!djqUZ<*EltL=$Q&fc6V`oZ-N6r@p7b&J8vy9c$c_V72FkKn{iHv?K{1F7#4SjxRHFTo0r z2)J%H_CbKkRPwyDQAPMdy26`tOY>#kv#0C#J|xoW)G6Hn#cVgC1;I`%}y3tR9t>V8Edd;C#5P;3{925cis}+1x8rOy!0c0uD2Q&Tb=Zt=@IS94k7Qnz|HEYmLLB^99}6Fvc8e)15hpqE1swmGsB8j2lr>xHrwZg086bmx=cR2!)%a-c2kIF!Z! z@sJA&=3u8LYYOIXj+s~^8?KPXDzw{4Ix4#*U_CQn(>{~A2CWW|_2PeWj%%M=35mvu z{9a%C9EZxL5yc`gdw0GixfC}!<LPDch| zKWS1hAk}0&6e(uwknUBrrdD*ua|xaut<*_=ffKiQ@A%TY!5R*C%S2rONyhdkP3k*? z+4T#lr_M~hF!S~GwS2gwz|QX3S8^6gpxTqgz;QgRJ%@}bjP7|8PJ0G@iMKmR2ISL& zVaFu?_$VYaTma|wCwLQ#DGlO_1Bl{)fQ{bFBEQwr{#suWFAe&$Y@4(cTOI)Xl_SS{H<+!J>wSc(_7B}o__>9)9BFYyQ7UZ`E($T!`wK6@g z)vx>?XvEPsk3K9H_&5Z^OWgWRQCqlZ~phoXD(NU zbFjqcL`1eFVP9N)-og{zRz!WCE*0-s!W$i-a{5|nuz35)XmMFrDJh=o>>Ml^LSM{A zWR+Iw!evWWSj5Kdxh5&Ns08mK?;d24*|F-dtwkh^0~NR!VfsGjs_h;URb63(!#jn2 zqb^$uxD1yfgB&C!<%t8mS1X%RR78f&l)TM8NpZmierR$T1${qNEKQxv$`;9-~-&@tjR*qIs8fhO3#-uVa=VoCTro&4&C@=f`4ZYN&%sJCxo6VTjz)9=)fD}`={NqKBsFO=jHzrVeGTMJK;L@(wp5WBu)gJT`UNngj0-#0l1=EjyulUt1vcFB6LwfOY zVr}h%iGWqITL?LsvU$_k?eo_gW)-4E44q`_x`wW8FTdd~s|YnAKY>z)SMO**CM$8i zNwx0+j^LJ%I+d6iq6AmxyE~e9|w6>uH_~3W6g?0ms+?*)wZw1D9sUc_`4VwreUQVacW-qkBQT0vt z5$!MX=7tN!h>3fMd%lq{ZmLET~t}U@|pAKhZo2AB=@lJFRypUN^7nh#QP> zE|5sXA>1xU-BLZ#3sd7Zp+fc|XPx5WXg$kJY3i6QRC$fkU?P2l!FXVNz5&A{Y?Iy& zV&;b2aZy~FPFh;A_j4+r-8whb_k=C{CY$P+FY`XJ(pEBlTShqSqJnqwgdAAqsVobW zAWVfiQh;P8SLyM+C#dR!_y|3;$H)xhP=jz4WKnRk^RUd_gcG9Bz~K|Xm>=ZPKwJ~V0Bg!c!0WkU;!9y?6>^$Mn;9T zODZ&#L?a8c%>__Mhl_#)5sKZRgf^l7kZh`*V6>{MKTk-gng9Xba^AK$B9w)za9I&D z*14a?%HP@fBAQfSy_ak;zFw=R%$V?cqPZ8$==L+)E@|jaZ#pA8>X#6J8Vl=Ib@*ao zFvUijAfSa4C?XCiT)oPBHszSTrY03`!X%~7o}Zq&$IXEwykDSwnh0E-vLGm&D{7$5 z7^wm-{#y8tA0>I;>%3aU{K~S?IMtnip#3=YUgF!!mZf-@>8Ua-W7kO`Kq`W9WH(NOFcIyoS{k~=J z))26J-GnU+Tpg{rA>#SHUqogVzk@rJfQ}|N*61nk4wgT^GhDnp($UdM4TGs3zu8!d z+*u`f6n*iH7jwejxd%)n{`}&C%)>1`5AYsnL zX?QBL(f^ifMeEG-I~Ot?dIhKyIgwTt$%YfLgph1}kN3hcdF z^Q+%kfDxN9*;PS{pFTYvaS9{bu6nqh;Pt4!p{5qRvDFpu?VSnH+G9s#fn>th2LzBg z*WXI^$1zvdxOvaZhh!YDPhYhb#0c{Fd-Vi?BkpzE{PE}hA+>Lzs4?EWEHq_;n|Kxr z0g|cozs5f=#%eJ=J>9COE3YWg+Rj#TkpQ;|MiUU-4na}9es?#3JNQkkJ>T49#9I{LmF4_Jz;~zP#DWt{$WUm5j+3W4YR90Zj;3Q3F!g>@|Aql z!bBwxtFR5|RCe}=46B0!HSS=J;LrGbSmrSd&?dx(;SOZe`UhHfK#EeP?`Ts2fMGv{ zMtR`{z;P~D4v6ia0RDNzS@zr6fB$ox<)|IB)Yo6^ z(o?%}BjnVKh!6}Wd7{QW(mr4BoiMDIa(Zt%X4MW!xo~0*nO}{(TU-&ng#`RW_rO(e&aQ7{!R5_q z+?sLTx5gc;@oOW<=N{?i7QDT(O%scHkueRc1U0zBPKLMW<;#&785!Z>5MS?jpi^Wa z6n6Xe?Tpu7n^27|E-u2;A*Px8bH8rOO}nY%_I6={4Xzau64F*|7stub_MtIU-zXU^ zIV%~_I`kN_0d60Xd@h3&cz8`LDvjej_qvZFe?>(FYtzC)u>8Q#%Y+2E-%6ZaTr$U) z7hLLBR#twe9kllRF(F_P%%@MEp8gf0udm;H$N!!BA*q1EB`FVm-(V?}*4u#@Z9raX zIrl9za8c}5OD(ca(<#%e7}!?KtnA!nQBmY^;QVk?I2=AWG}JoP8YTSvmRew7;LEr; zncqr-j9#i~dEN+CMCcEmH>h!kFm3dQiQW`cUpc%XiUB?mUi{c(XlSU^u|MP1yWmZ* z#$W{$`J*_+BU?c>QCC-g86U3^EWa8mfay`uSxFqQI@4Ow#fbH7 z|K8uNyVGGXPBGIn!C>I|rG}R|SUAPP16OBcx&o4czmV1`0u2df@qAz$<@;pFE3f`N zSgM8LlGNMpYb1et`MA~a2Lo0t25m$iGPSnJ`ew!ahWGx6rjr-TDcU=PeJOniP(ipwmkz=TUI_ah@rRH6&BgpcH{$CC*87R@B^bxvMhhZ77q)~tb%5r>S73_JVtTjy*F z)9gQji7SfiJHpMl1Wt{r7oWn5;{^%|3c7r?!3iQ2VDX;frr)W9@Ow4@;b+o5x$wzp z#B1|fnV6VpUVYW|H?|YGMTR&CP*=4**Hu%#8b_ zh%TsztItjb5Th-tZu2TFe>g~dbnuwtx_n$*oabcVtoqeguCa}CI~vhE9GZeiAJ^LX zEGf6K_W?j17k+i8Z92hPAU$N;sc1Zt-?g-r)ANg#NGrG%7rxFP^Ww#e&!D8Mt*te! zet5qtNk(+3k-k(tn}!gIyFFbC9~I9HQeD9>l zOW_J%90c6NvtOMH;H0_+0saK5AgAxs z6^ovvoXnV&8w<`ECdF1Y?te?nK%;zfGi;`ob<7N8d}YSkKqg)y$wEvx{-)$-xTLvCXyQ?YNt1bFtgdQmoXa#gRdD7b6E^&gze6uwx} ze9UvyEnv$sh?N3~G6494 zO@D?u@NtWlAW|V$XlSSz_88B#iy`!JLR-5?`osbFfE5%cVS*t6v2;#JE573TmD^p3 zQo@Ii@ttmd${JNMY@Xl#j20o1cDlG}xAxwo^IH&-o;bLF>+-i|Z#?w#6y0a`O{$S( zt|*qOi>>w~P9-$$*bNR3+b@#90!?^zikEgu)IEsyZ9kvz`#samp?%YQp@8*EK}jaG2w*0U78uaqqCDZXrSkYOLKw& zTXg0jSK37s=0kftdR1s>C?arfeFuta7xD_sjf{-=JX_d1S*_L8pcq7-)RjMbH`h=@ z<@v3at=V*fM8lU|$md#HTg}!*i|f5=pa3w?RXAVNurXE;M44;=Yrf&Qsyc59!ImY0 zT%q%{7+hikK%JED!eGi8_~nleEBm?S{axUdJ8Rjn?!0vG9tG-3r)2Tk4vS>{mB|n~ zxnO%G{#?fDI50=KvtY>Pechlp-kku~2s<-!X6rNp3MRtnYdp**kYc2?kdry}F2Txt z9#oZ7wFx8*Z?+Ebq_BHC)0Q8#Lp7_Q60z85xykA;-oJ>TKq;W509dc<1k?!kdttn6{2v|_L{Ht z+QLx2&UPkIocFy}_P~B5fyzm;;aa||W8Z7p`RE>~j4nnoNF#x>skYl|^EK{(xjmX* zmfQm4DqMRaxN|1IGUMHoq^q7&Es2W0&W1)tGCO&>xlUe{rxcskhb<)YW$ij%rmX!r zTQO>%+ha2U3guAgCY4stpux zo0*xlZ4{W5+fb)kyH!#1j6qXEBXYa|=H&qfR7xtUYXfMTN-~Bl74g^-@C~NEIH;xt z>E*dTq|q}A20x6$j=2;!jFm`xIi>mzx97b&5M>w5D<^RxLQRAGTvH&TJyyiR*j?rt zh^N!CuBQ3eT%dA4eq6k#fd0MC@JjBS4aai{`8#dPT&d128U z6OfD@Qhkj<@UHS+xp(~(7nj4}OmBL6d5B}p*x1+w2W?A^Cx=-(wgujvKP#b_phT&c z76@McXj*dbMv(NN)jZ~DBl$0d|ub!5&Q9H_g^_=R~_t?a%cDL^&UAr{XlbZa* zecsWfu);VcWP9FheLxR}ComWE*(Jc^jgnQ7LApU_X&d7nO$B2u5hsD;xoK|#AbU+> zhnSpWXkpc)V*bV?f+AC|x;|(?d}*K?;f}AB2@C;%@yE#vEv;PEDV_pw6OdlMPfyzo zLiI)+r4fPVSCSou`{N7jX5+UP%X_D)niy_qL6|BCV`kqwn!IxEmcs=y#SI(g%3#C_ zq=+60SmNmC!kYFFW+lgld@kJC*^wurrOOr|EY{rymIA!NN;(EInS$(?V+Cgo?zAO}(bytP09aBMDdqjGB|*YY6A9Vsw1$jp6RRWZG^^Vldh?jVxylinD75+2S7;~!IjHp4#Kp(AS?{hSKu}t~ zp_42tZiQSQN?B8PhX+o_>04Q)>4SVj1zIi$4al8i_a*+<96@Vy&r3la$}g-Lg9f%n zhTcfd;`91^wiHAdc9%{O1cc3P;u8P6T&Cf?g~g(&PcehDIA_f+Nvqm-Ow4JL8q16%8Jv}`&$jxjpXhtf)K7lF0EA6GLJxX$<5xL0# z;gFTs^p@=Okg+9Xe~lqX&%zkx7wgD2P>B;Cvq*e4g9?w5ta3=rxh{H&lhfXni;GLs z%4#Ol*v`&w0zqlmCpXZFK}G{P(7r}6#iOkK0u`{JdN@6cQBXA*)QOjK`to+O+au&8 z1jViZP^G-Se?Bd3f9FoJY+*a`WW*0Ff5Ts!2BJq5a%VKuHxS%i4g-!?Bmz>kCzhX! zncwHx@(|BO7z~yM=5oP7T?wpacL>OsObS2opz~>Ayv+Si|BN{27fu0!8r{Sodw|OP zq_jg18cGi!gr_RU-Cb7dp}e=fK_1tI52U#Rj$BP&sw0AUL9?lDo&llB3v#FB;`;&J zQbGv5mBYl6T~BrE0RVgvh(;5!7?1=y@DdnNrU+rfX1ciTB09 zsbFu<^jpE&EHxo^h{Vq&^J8Ga-TObVRoFL(R%d6YG|(n*H=AgudbV*( z0fQH8-(cn+T-cp67eFkQ{(uGG!&E#aL{3DdUlHPqwlNA9@2=L6;{{dk!7!JxCV^VIiPy&f|?A2{S* zl;Bwja<;GHDK|(wkkM~zYx6n-`~x-hf|aR`>-&BU&pieW;Lk>HPnzGD6Ln{` zclIr)RhjN>L7EJc`8PoQKAYPVIP|88^SF>Ja6NfuR*v0q>FMbZyr-61nfi7nH@G)3 zHe9HQ4G3C~A_`Oxf6BSMo*&3|z}t?y*SSF<3P7h)>fVP(0c-u5(*LQ}W`L>|qbU%0 zP6U$am_&bCTMx$Y*^kExc43Vch9h~AIT zHg1S2mKlJu$0=6e?+N*(YU0&hOA{lbRu$UBKt^fO5xlq(uP|H>st7?f$6cN*?%OSc zYXQ}Y*B77+F_m~h>KjwxGKdemAwQrbKuQ1<&=>=KeRdG}fyT&{@9l+4&tnYk-aXN@ z*(!O}8N@;<;E07^q|RRTuq;k7^?y(l>%kFk$?+8uI@Yl(-wsb zn2F0kd{YPJLM7$0m@V-}tL7OG-)t5y^Jd8I-)9q{6DAFY-_o zJj}cbZu_Skyemb)TL|Kvpi;5TjFxrYI1QrCZ?S1_*KA!REg(ZD=&fy6nu-z-oGo@- z0(k@t0BZv}?m{0;y%W-A^EU?4cYWfp+^WF=Yb2axX1s28`L4AZ4)ol(01}%XJ$>bj z3jrj&6plqGBPa?=Lo(L;FMz3YG|};ttIkk<2Y8~~hUPB+vg!daA7b9+3v95RhshgS z*hB?ydq6y{WcmS5!^S8rRe!ptqo$Uwiky1okQMp03;m)1%!wS$92^jqsRL1cxG_5|=rZ7T$+ROr zDfz{Xiuv)tZcrVyv*-Y`nBRiRTV((-{U9z1koz(R7~HT2iatK#l$~0(;89Q2;PV~S zSC|JP36rVszLw~CFgwNT_K#9bx>s5HnBv^)>ZwT4sodZntc`c+*>GuzLHV1CYgfV5Lldo&bOWn#fBdDhq0L6sgp z0yv@#U>|6=%F(QLPXG}7Aj#ijZeSVv0&?eRW`Tfv#wtK^Gtg7vfMyicmU`v>pFk!n zWmSZda?-wr{F+sHZ)cU74P#u2QC|66fCT#9{RtpgbPJHcDn^MGRcAyiy%pvMkPf9W zH9(eH20%zif#^967O%xbI`#aCi0PPE-E7;z9R1P&>XaXa+YyE3^S+}DGK$Vqab`9F zJ}`ui%c1TdA=p4*MUZ1jGAAHSeYWHuDl{3o9%HZI5#(FU-`rtA7Gxoh{4IQ&R$#Rk#z!w96GmO2HJL8|Fmo5O& zVo;;J4?u$wPoZ+mIUg#Fk~bhox!(Ds=g=I2LoSqDoUgY7JD?$Vkh3&vZ!QxwYaZM#!Zl4EYJieaD| zWH&Unng;Uxz3CI`4Tp;YRDg3llI<(jbXp_pbF#Aov~w9`#%^tGl>%DT=3YnU1p9uY zN6Q_sfaM87P7Ub;I`J6`M*tLN0?sHTWZ#{}mHR!3+QH0Jy?uwh&7OG*}Yn#+2Iky*<_z zq>&nTDCs}qEcxHp*Zsdt@c(}fm;YQUl=&VFJ)MQv=jw5&99L8;+ajgF-?Yk3)yM0;Fe^p1(jE z*l*8ePn`sP|JTi8MMZ7_@Vj?k3|N7aiZZFI%~K0WDI4I{C1U%Xxn@J-{X69sQCDvg zXMw`-sAqrU+1!;lBVX3ysK`j3_~T%VrfHz&zj*nw^GH#_?V0!B(TYcQKgM_=P8a(k zsraTT5JMEmPzQ2{2POw@9c`$Xy5H7|-`{`WlcT_r&tsMF@+Iiz-_WIliz*gBe*73c z%{(iSx8F@;(%Dxx6byR&ZXAK z3%KcNP+fV9SXIB3bzWHT9s{fJVPzkK6r{YZ?9RpJg0`j5;!wWH_vt`2&_b4h17Q== z`0mettbK6VzDI@*RQtZbEgvwj&k+xhimI;~uH2pX0Y8i~J*^J3DPd5!{%G2kT??*Q z3zG(42Cqzi%F%o0h3A20xNk}Y1Gt4?dau=B3H-0WjswB0lixW<^cXmbrp0DQQbP`5mA;n(nPGedrv_HEND5B2ZoPq4EC9UOD<(j{pBk_NINJ%Aaw zxjvYy4`os%GAfGKIoC%~HMQa5<@^P&F{pp(y|1IpodO?BWxis`ka*>s!vUlMAS7mH zWC)$GK2#3*oh0b*13s`u9+wjiHcGhDswvI&JJgbfM?$~9{75%5t4LLKGdKi5DNlpw zZ6RsD4i2h;jx_WFs%_soV6Mxz&YjS=wB$Q~{yca|q2A;Koz)qMyqHmz zJfUd>5=<`YhbP4uD)N`lNJebM4fQvfn7vHcrDcBux&vrtsA*|wsi}bu0LWvJK8pBd zYsD(i$U)-{oexzYhfSDoJ19)B{m)JixCIyz&|IGG$?k@fl&WhxPepBMU$t)rCY`$t zC57#mU|HtgcWAR@dSJ>fim$8+=f?t%?eAvJaj6Hp6F`eA-Vmq$ihe(O_Q$>znF%%- zu=`{C1#Xs~thkdeNbTg?qHewWohz#8@C8W|6%+YLSb+}jzo^5yZI@!eDS+eb3b zz$9^n{YN6~`I;AibrTz64lgnDc*FWkn;Bo@=T=^oc$;t0$kQr;7{@gbrqZd7eJ&kN$V($^_fBnUFd2FYNl(>5;YD zKIdZB^-a<_tHBhFE%q5;?b~g`%L@kV;NyLf7%ZerqKpy%z#o6+`*h*Q``4lSh1&lK zU*!DAfWREZfYy%$G@tFy_V1m;=R2I@;B2ekVzKF&*rHOw=3Vew}Rm*WN?;chPJ$J`#tRt;>7w^-Ft_?`^Im4v^S6>Ndc*e-i% zr!mSKK7&KP4aa+va?ZeD?zJl!=&?T>c2EkW>~|sStKJ!!w8*Dq!i22q?&`48{^pBE zMf>^&(0ZjwM@>aTyt;Bu_cd9U$52Ky5$K)aqEf7cQk&osLVlOJjT&pv1VedLxi5x+ z+9%@dli}#qUgb-mhh)4pk&*F9K4guSVFEVJZ4#^<6L#xT4XxvrRB?k5XC?5 z-@o66SOVKw_cvqw^J8;ZA7_l>&TI5vYHDh3Zt$J$;kqe24d%L%a)VUF4^y5(*?fNO zD~;Wr{7CJUyP$qK&KZ{moSJFuQ(o^Os4>9QcZ*`BVmo5b>o91KR1n#vy~vN}ZHx@x z{65f2Tya5hdFUZwnO1i#`3QWa@Va$KKk1AAxp>B-KAEgnD+lI%EIpeGOLM%aw|jL! zKZVgv%qWtm`6LD1OHuUaZqmZ54^t0tkEeI1aIkP0$3r496q`e3Q?^zi{0bJ9Ss{yg$I1;i@!M6o1lhP-9vkDMyfL_{Z*AT5rF4ACr4G2T1}$<0Wb4Kh{=EPOOtiu8Mo37o0|n1J zY57N0;lFzUOoC-@PV&Z1#)O9#K6T?Hv091<3CZH+rBlrGC&iDA`S+s7-ea<`7L@v` zFC+j`?>T;YtWif@oSiEd2S?G$Y5$4U>l3ukwyfhowi8tm0UeqR!5U2{n)L5lrc|Js z&pr_rnyRBy_yt3Dv?l1wnbeP(=>{IQW)3n_BuJhe_~?=%ai zgt?QoHmkWmd2@GfQ84)^yr~^I?onr_rY4qW$ybG@8|43Km7jrXYV;hwgth-CF5Voq z{NZ%tP>KA`S4vA%@vdkaVQ<#x$nEJB6**s+A$SP&8#78oBg6$)K*R|uFE`DSoBZzt z`kPNMKBU_YCwPy&P4LADJmZk|H0;dLktGC7xmeb1IHNlU5R84DpL3)`d~aIqUy zW$Z*HQb)Tu8jG8cjmd3HAZO8Id-P5sYw@1LUPJk$i7oRI=;OK^fy5U6_Wiy!)Ajt| zmHAojamMzV)%0;=H!{jW%Y55q{^-q41M|ClT`cRg{HesOblS${86WwhJ9UBv~>3rdJxt@ZAXmCXVYuM2kQORwywt^d?WyIye zsoB|-FAq%Z%{Zp#A0^FAtT;jt4YXukA?N5bf8}Slk#D4f7jy<&S+ucIU!5V#e!C zdJA9)<&7yP^^~RGm{GuNUrX=PexN)~H#iB}4fSlzgU41t106>)Hs-OFRF*ruMycwU z6$t!%z;o_zdchY3nBvs4i;gph(cppTsjrkpj?809C8NYy&`+giHdTEgZcN%HKp36G zZ)xrfKn#0mHia)RkWB0Sn4NYdD6Y-g;e$Dqu{Vl(hxKiv1%Liq*tR@c&UJ$dxW8x5 zC2Zjrh0fSJ7c5lT?vkk$sWM7R@-nYcO(VdT@k*1_Ot#*+vp~^ht=c_HOsoth06Zgq z{CCyv?5(ZlfE<^&?#%djkoaOxMa8{_G?}PMESGJV)Y1_nfz98>+}e`$b9vw2TVyP1cJw?;cZdqtzYFLOz@^JJ?uRYDV91n!G&40$+mgIX*n zq7H}KKXV34iH?>%{X!ox_3965YeKoSvu$zHyKlSPm7{H*T{$;-H-?6XTelLdQayLd zpq+k>9$Q=Q@RA+AP%{Kfv|<+70yFcWHG1H2~_0G1gMq6D+n zK|1y8J&4kW`gWi-58a1Yfzm^dde5}VT7(D_H$$T?6H{rbjw?uv0_pA3Gb49VTjK=c zaNSaLZ`0=0JQruMsjc;KXw+1&;yYGW zRvMpO!EON#lgR)J<*mgiDP)_2KHT6Wc&O2HFl(uC^OYy5#_IP=2o~Hluou^m+`~socIPGW^!N0ai*j z;D)D5@x!e2ctayB7U(7M4^C2co4^Z945c`y88ZNsMN+M zZ`(CmBX6?%`x{Y3-Xp-{huj5d*`|gy0X4JA+k@Uzsz^G}=0S@5N8Wg*mcUR|-Pw!< z+mw`-^mKZheMo{!QDBWgOD+!8_*`akjDd4r8R?e8Uv!BtMAh%6Z#IdfnYlMX>2hbL zlFD5H{EZpq&^w(rzys!5RQ+vuy60;@S28Jl8qS{+rswg7M|}ywA2b(#uAS|FZZ?+ej=b zeCqDk8=~goj{0h>7lrPgdaiT#z~9$Tgr7T$I5Ym>Lc3V|9YW$Yhb6PUF3xlcZS`Ag z%@QevuITV7>JM1YA*Ls(kOT@iKL@OlQB*y%&6}Bx%f({5Zc)`b5XI>qgg@j~q!4&_%i_I|kd^q z!`XIB>49#-teu$EO0byOaLDV*&SAH4;x|nJNp$ocaX8eCbpz4(jqa_4F7^ZBK!gWl zmW{<0^awly1Q|zb^PAGh(Q>`w_5AsUms@Kb8s&t9z_aRBoE|F6%fh7vIv0WLUsCn+ z5!Qy8+|b^(P%dk3e**oUtB2#9kGs*(Gx?R0C&UcQu3PZR<0ee5!5He`poH6#Tz)10 zHdHVLi#IocGlmlpba-f~8J)sqWOTDu*`Mm&S(`H8N2=YZEOT+0&XWlxR(c#9d*@cN z`ow}Vw=!0zyk+QFSGVA4Ydcc%hQFuRyieV=vU4Rap9L$dan!?q@?PU?TU(X{u@;_Y zQL8MAbH9X64VdU}sEkMN236|lbW_R6A%>@uksr|VJI@rTe-G?|#?~$krU%9zo*c3{ z;9d-5n|mef5RGACYRG$2D&<~7o~1sIlECCQh1^uGSRU0SL~^iuen8KA&Z`SX!w~pC z_iimzum8UPn#)%9=Jj;9 z8`4>N(L}5DNcnA!FwOPqQgRQ9k}IMKEdy=tq+NQnOF10hG30`HA76R)j+&az`ldv2 zxi6_w0IBDZ^q0YeS81N}t>EeM^k6L zt&SnjPB$1v>!kBkv;guds8rbiUbPIFy zj1W@g=?YCI={G@^3s&2m|141LZ28@cM&Od`JB_jGzw1+{9I6 zj`vm;g}6+t#43T`_0W@`7c{sXfo!Hxc?N3nFm2;mNOCRR-YCxW>hF1`rOrB|vlNAC zvYjo$J(ZK4I`uSKWp{FWyD$_?^YD_J8eS@o%_jFO*_AGrcyt3XS(@o!F+Jp->ro!x zVP&DM$2wS^O8ZPC$4FX~UgqK9MId#+Z5VD3_p+d8PndSJ^6_`M5|Gr|>aRB)TF-jh zQv}j0_CoBud3ktPJlK+C?YxvXS_V|M8$F4U%eqdaG+Jr9Xct&n zG;$E{T^*s+kkj83-APw`_i$pOJ`*?m#o*w&D{S-cfpPwHX~bS4@cgnWJecpI+m8p| zKRlxM3htgO+8jJohtYm_7cC%jbzvjG)(E)9X}Jv)G2xYT*7}^%Q$yo;x4p^`VphWY zrN+uP-P@IN*ILvQke(lg2Lyow^d?q%U}glbcn5t87~dc_)MqU5hC3j>-)H8U>Zt5d zqN6uQ98?9x#l?}ephADt`17}yzqFwRIIx1=hW8hX5K9!Q@36;3wl`ykO_N=!T0#&l zk_Op#7W)0WMm(IiXvemh@;Ci5zR?#?(vR|Ph%~s3-)ox9rRy&B?=Z%GvjAYZz7knm z+?4JH;m|B2+gH(HE$6xCnDuVpgfh(mSqAC#yMIab?L#-yhE-VCD}IXVv|A|3{*EMD zYV8-l^iK z`848U#ppO-p@%xXNK+13Ow1`LSR9_Xn|sPYgzM(V*?86oKLmr}+8fZT)H$i>PnK&u ziRraAJ&hR9!qVh(fZv_I^J6)#k7cxKceL#;`iiV=D(;Vq7#|;BR<)umPwD^UnQIt{ z*~RaXhu5=pU!C#@Y>o&mJru=B;TTU-p{`|oqPBYk-ZV7yp%nXNla&;THrEaTl+%lT z!j?2dUOhYp5E2Yaq-lB`pG41!jlsORnSaEVrm|LN1@BF}Fl^|rkPTA6E?p<;WQ=$l zJc<*@r7UR?9)z{b5is*_<(S}Q2HyOpMROP>RuO6}$dUP*+@RhN6C)2m9u>>S!4*7L z5P<&!>v!6G&^=d_s67y zppz4E5`!?Z4454CB*$^l`Y$7Jz$s!0JKKrZ-ee6x`IuO|J5?B3`n0Xhw9(7AxG>Ys zLF$b1!{IK8-g%6J#pSrEdhec#MHTPPH*Td00>C??!jE7{fm4S-tBz0KMujc8@ z%oJ}uhy#uFO;5Zz4A5-rpLxPgmEMj*m+x-lJwK<6dbT-H(2{UJ{V;D-&}?x>n=0re zwuz{Exr5*;YhHy$EVByOH+4+Pn6rCbKha#}Vw*%Ivy= zijZ2TxUPi23M7Du-IdEwSF*0I*)BnZti?465h5W#E^b{#xr9y;aTi^rtV9JG!X-dR zzEqK@21CDca+e6YL;msdCMnnRg zBQb&rF?|ku(eVQ~FgUp%b5PaJG*$t!l-hf9wFBXnCD(L+M$JUay>s^Z^&VHk+w9_ClCW$=$DJx5TD{3n9!-w$ql?vUtn_pZ)ScK~IfC zuPt@46)gf<&6f=UAklg4zPtc>^FGPv?>SQN&hE?2HV2uceE+)4=vD&^q(Ge`!Eg!V z=O)wIG+^(S`nsYa`T2B{;h%bPR05yh*x0Ck?5I-HMMSy(2VXOpg>;qSmM^jR8_pPB z5r1!H5rM^rOOWc2I(2YU%?VLKXwZ}S#7#!xKG)6((}jQ(9jNSvxB$p zMEU-qg)C5ItfcrTa3;E#jLZAAH$LWwxrJ-3z|rv=skVo2md)!uEYmwY4;XV{LD5zO zG1mjy;!=mU!O9JI>F9eYc6y^s=Gi@?O^FAS#K>0{meKWID!GI)Pf_uYQJp$hoekCt zkkA3vhfO}??78dmGYm#vQv2n3--zYge}vrD$h`(NJ@@Z(PmNcm4H7Mxi_bvVWtXnj zq3;vUEIH>ym=9ApZNE4HPJ~jk`(61u!6HWcxBDRKi~R;3{dhGbt?!*&j&-bhpeA1; zn5l}J0=g)=5yU_Hcw88r#Cy}XH;6xdElvk|*9uvqTsC90u~pl&$*(DXdXhfjJb5#7 zDbY*zSR$BksBE1V$`Q4VI7o8MDDYSj|va4tn)C}XGx-aure;?2w58^A8%?^TO& zV3!l9(@)>zVz4>1IJ=?ixX-=ni5*^vSsDH(>-`-{3yFXWa6O?^f+p_XERdKC)@n(S z`wQZ5BD?Xk#$>rvt~0 zTZ~?658y=`nVw%sv6kr@CFCPKIa*sa*0?f2^)d=jLx)#4+}ZDTNj%G=9pnR!`&slfq1b z7#7iO`uSz?VM*RFHe(FokYVN|Cpe#TXa6OJtEO4wcS7F2<2l*3r-;pmh24n{2?1v~ zbaN(o1ZTcL=<3E^l7g*Ig83OfGkZM2GK!%H9hW)!hFv8kx7?^;s+G0D=j|rMF}Dp) z{LsG7Pn=LU^7nw&*|JIjUAMlnv$K;hd)i(7EOtw>y#;)y$1h<@V+>Qh%R*UKOR5Le znCqm8eRLm?VIGgNzWn67;9b!L+k9cq-25f8G`maA6+E9N6@Ba0*|)bidHPyx(ASgS zZVPYxK*nNSxucU@xuc~-vDsM#M)7Ucg7t7|!h4|1ALsL+43TFIp)FEcwB{)8U~m<= z>|L-Rk!H{RN_w_S{>4DoMrm`QcZ8oBED`k@5g-u0Bkyy%Tq#nTb;rPt=}rRuPk>I5 z{eRgdO*an*T>KDJGUIDi)P>FGx572c1uX0uUL8NjmpAyU+pxzFjEntz4@bb}n;~qA z0c0Py^PuHm-6qnV3ca{_v+1`h?|~2hE1=;E)FK;zfLde&5KxP37!N-u6w&{v0r?zt zeg-T;ou2^+s2w~2;qA7A=h;(0pPaX6Y~)AB0T^(g0s&D#1p1#gcO zoE;QF@2Pce)_7e~X4*<$dGUpnOYm~wFF}ji+W5a;-oUtlG;FfntbiX78xBl>Dbx!RSxU1k3N4w`+9_F(Aw}W#wHvDAI zZ-0O0!8m>X*Wdqy{BH60N1hkI?f(1o;WM}Y>v)}Qr~cj@^jFZ?oR+r_^XKzYF*qyRb+)DJtigriYX(oc9@Jcs7>PLT z#VMDfP0<|US5K>YwWDg%J2!T?c25r=MMd<~rVW?FEC^5;#MaZ$HR#JLBKgQ}#k!k$u2ixze4(Ni~6W98CM z?3CcY3LT7AZw>m>HCug*_AF5(d(BNTPGh%zeH94POQuUgQwX_DvE5dEwxCun`mey|BIFgazXdVCn= zdpC`ean8NEBe;Mve8~YnzYVXvg{hmLl8FDtYu4xnujZ4l{YhsuiTdJ`o{8O!DY7cL zCx916_#IMnHt{CY3?suUur91vgKfE_?e8rBilUG50?(6 zy5!WN%lt^KWn&52T0%zbJNH}sr(gK3MXDr@S8-<(#GUC2HQ$B(M^{7z>6(k=ZIp_U z>LOzo!xV3`rTNY($CcGB`pT-GnJe$}@gMnEuUqc9xsm3))WYlg{yq=i<0ZdI+7Y2jf@fq&p7pbmAkh6N>l$u*Ec1Tk0(>~@m@_@qf{dPb42 zHy7{8G{!T!RcghwSyaTH^|`fY6aku8B7fb=V9g(Pv5L%~wJ}1imMC5nVezI9|Q_wD0+afyQ8w9OBzG{>J1(xz=%7qBeBgrRQ({rDa3%h}f)}$(Z~iVJ%aqMvW~XIk znLeifE?(-=l7M0z>_LsjA0@3MIxEi>9hK-W@et|EK+9j(Uar@h-vSLSD4JUbl>KTA z=lGuTyL+=KCpA?<55Gus(w>1PMC2Ch^`~Jx^-d=blvRT&(>`@@+ z*`1x9oBUphFx`k3kTpcNYl_pg7H_jBJMg4smEluW3n7>GN>}?7XwCPRM*4URylz>i zwy9Hpe64MWInJ?}#~D$o9S(Vozss%}cIaGCSVjuHLOn7EI)p}~vAm?X9PB4#l(K(d zk67;rWut#l{5Vw1w2ClDHZBixsVRK%~;kxGuVzM$}f45AY~5o>OyoJmk~TM6I|K6@|Ox z6WNKg(t5<2jl;#Oaf~qNBiks2=1T`Z8UNmguyDsM?=7IY(4&QfPMxYk_a7J18&LN6 zW?RLQ>WM@BBwUKt5Y*g0Cp<7;>ihc;XQa27^1S!ncR9}<`30Gr+>akavgKH|v;XOQ z3ip}Rc`6!#Xv(?7TJc=sd)8G2|LN}{;2gcSz+2$n_j4N-1>%SfFxoq|M7JH!e(zTX z4r>x`HyE;*eeU-I_Bl z6%qCngRF2|XWOkG#14~#3XQVv4Wt_;J(zp(bTw*#H|n=FmcV2!=ALbY+EV;iUw>L| z8EN|E^>E|@*0@*E@q1}UtsPbmvk_wdfU3!|-*T`5c0<0C2QqSfP|sH89ioS{VDT7o zRoq$T+(V;0HP@~XLY};kOHGmEl@=7UPY=6xrQb6el}2`6b7<+6uLss9XrysYWkpy^ z4H%Po)zlj@{A3GAbUh!v$g{Kd^tfkLdAHS52 zlhcfy$8aEd-fyg_B2o+a4P$#V9zk>@eI@VVIMpxSdD@qA#whGws9CO+0Ivokk@2G* zUay5!KRdim!E{xjAMdFYaGtPTGsh;v69w8eIdK6!8r1Q@a?-*WWpw1vf&I>PbUEBQ zb<6;B1Aci$p1xkl*q^hua-gyi#U0zCCpQ`C`h%EE0><|4bnPPB>sy{SwR|jlCNIVR z((IhnRI5B|7j7r%x^&C7C5jNND$hLLC?UXUcJ8%nI7k}tTl5M;CBTykB_b@e0?iKI@w*(f5Gi z1P)>XF;;^bUI9(+;~}FrEiEm7dZ(dQnC{->{u0NbZ?V~9g)$r&)Jjg33;qgT)bxz{ z_{dF#8Fiu9mTxua2OZ7%^WS!8m3kzylZYBj zzsKF0>;YnIGJU?rN#h(Gt)sIvGgLMArblSpj?&+)3l`{3CnI~_Z*+!uBENhK@|0xqa%`_J5paz(_-mdkNlODn;R*UzusY$ymqD1vr)ivqANTNj{RvAbMGDk zfrzxSqg_x)C3nvgjnoGmNs({Haavh6uQpb`+$6Z6@BQxdYqC1(iS*vH!5|DsNVIVp z>o1EEa#HGFEHo_;STIt8B&WEGu0nr@HlBR+g3r<_84qwwL=+YwakEemD55p(-G% zrTk#6cN>XU>l;e|!dQ2qO!ksCiO=vE#5tnB_`BdQ=pPby;1x0M^;$LUIos5y%@}P_ zrO)NR{|mPyg885qp+)i>66OXX(IE|HP+^Z?4g2b#XU|+b0{n31 zu)BINsvcLFgJEG|z4sSO72xaQJ>@>EBU_raB4-=o1W^pyZh5&AHW*5cQ%6nv$dV@4 zuFnTcaTV1)9xf-_5wy1|?QUTiTcHp35yFZ^j2FWX$RnF@brf#W6pq1(wkZ zPkV@_AkO4ep*xPbj6g>BdjOvj`GSU1t&Xg)v0&-Z{`LO9!tM9Wcb#U-@bD#Q7dg21rQ*^3JY7v zbec$du*CPY@27xFYGwLl9mlrhp6MwV)3)gikdf+gy+aREiwl$ADr}$-Wg63ZcTrZB z+0#CMp}_nr?KR68zKz?(b512J_uXq&T^i|lS|Vf@;QunEM$V(di}rPn*9&V)!Vzjp zKPi-oXq<)sL_kjRLo@0KA|PnE*ga!P4?pYJYfp zJ&Ct1O8k1_J{B+0Et16*#R%!waGYiZ+yV;;;kyMJQ{(LJ{_t`GDB=YkZGI*js z{!fl8Z866c=rb;fOLK@BLPPlOBA8GAyJ1c3B<17V?iV3mCSf{!aTWdN@15tMsge1p zin)^Pd|90B&zR@nuqzhb1N zgoM>W%s$D-vj_w}J_SzS)Y$XKda*W?BEoA=ylhY7PEuP4uyW>TAQ+)1b^M9~Kq7_@ z=$!1r!ZYiOi}EB^oMH6cPM3N}kp^*XRFKXbzA|1yNcz(hp&`FP9mhArydp@&yeWZEgkjQK?dQ^i^I&*V?ikw)wZwTIhY6)wWs*?MeLG z=gNF9U_1;B2QdSCJiqALg&1HS>f&k(QzdYW1f#|Tm+Ip&O=)It}%f6}NlW26+6DhEYdzX6-Mn%e`%=u z?asaLe^_Bt`!0JJ&#N_ALj8OxdI?#L!^sJ12bzQHtRUH|gwB972_M19izxKNhFH%P ze{pgrX2J+9EOiL!c!8LYq2pCau(kXyZe0G{94))!H=ZB`$^vFsJliaPhTfZxQ7@Fa zu{Qdq_IE$`rXNm6_u&p+Nru6wcEmYM!zafx2Nctd!cV@GTHa~*p;PlkvjAr;IX2r2 z|6@XixdcBMDA1mJQTYZ#S|YWiM0R+ov`8X(VTSH^CLzM{Ohv<@X(w}!=diwZMS~jG zscs+s7ewuqN7c2quTO+Djm|U82c7q zMaFdyhBW8AxS{3nzafHs%avH1X+&gR_^L=`xACT`C(BKr717TLFpfhDVzNBZ(9^!3eG#J2wd3NTO=^Gf3Lux2EvA1(BOTN5mYI%Tyz?mnQ0quak!Qopn`W;ME;8Vp2Zq)2IbM1tlH4P1yBGZnNd3IdA^+YlTY~co z``nZ09Y&2Gv@7hp$Q!q5ROSv#N5{j%FbM(b1aG&jL|)mmr{hQe!Dx*Yoxw$VA}QVa ze$o74?lr&5|MpK~io|gP7vQQwDtrdH7^q>2V>xgloz_5^R>193_&QbR`pI5tiU0M=wHB=#>PQ z`j{;j-k%lrF;_ae@YPmSnNy-#=S`TUVCWOxn+oD595=27?KC#Eojv2n2coJgWiE6j zYQdE}$M+Y|i|rY108z-rrAr*do9ZH-@($QueaQFX@-d0H=G7a?J7|Bla>w=DWtThc z+pSDtyTmYRNh}{we65zwexJg~OwDB=`WDziDjzlGolaCqFFfTcJfkp3)D^zFToXVW%B8hJC}>Qmja_ zM^`!_!cWeR(ARe$H#hf1D{~QKG9dU0o8r<^JtPtd60ttGUcFcLoz`S!t=IV;;f64? z8gNwUo~BzuK;GYP*a-|6ikkm{>o50oIIE(v+wM1>&juFCiIJ0&lf9qrTtYVtn4CEP zjuG0E=wSd#(5KC~?sVML942Ng)jc@?vh|xcZ&I_fv)?1YT+=eLvt_`JUAQ0xguO?X zsrjp75aNQ~{Q>##)$~FQ0Yxdo)PSa@W=B`oe(>jbE|{AzYE6^3CCNl6b|N#T8w~NZ zFyz8-kKJl=Y)R3OiwV`K_mZ*m=>2r$Ov1HH0}vCh9(&nTAG}B8r_7z>{Gstm6p5-~$S@S>uk z$8*8cy23~`H8mgu83~Dfp*q(RZVN!ixpU)|o+%9B-(?o7uTi#q+uGVX(*Ovf@nd&) zH=A5J8}>0%TIQ}MP{tY`Bq2S*dr!h@PjYf{M`x$;j{qRLg6xcpjN1)^O{DBHRWTrx z{TpL`c~vs4vQUFq$^`7~bo_Ap9;H};7uSwmwc-U6o7_0a*nI6GLpu4oK5!%GHlKUr znm{nPJ~gmhlOh9d+xV}IIRQ_GOm^ z7#erZy*^8OZxhTcp@)x!tvBulL>u8K!N#z@|k%U*+1SLx|LVFa?uWA8h?RwnB<1-(~jss)y$ZF#V4k zI=N!M!vRb__$zd;(>`1`1^PE*Q)<~ zqKS*LMvmA0M_fotm7;y!eyr)eJ|BoBegWG0OK2QW)Cnal2+us=>zA#yf>7`dmWjPO zVV8l_v;+HJy)gpuHt1#tOJuf2TNMN|;ayy;>=3&VP6G;Cwpm5@ia6+n|E;5bzUL@(`V2lR<@vEhqs_-g4!`t(!M* zzJQk@mR=Qu1QXQCRYaO(Vsk@!p3p@LfFd^194kOurP$X;Upa0gXC-pSq-SbupudhV zH8p(|8w=197{VMVjmh+)AE4Y^u8_ghr=z)Z&gxhDv1~dUtwV2l8cc(;K-1W+1c5TIXNw5=5SYeZob^IkuPETzDC9O zXWPo~(cFj(%n>eHOQFn!hKsud_~d_K?3QZW`K?_>i43i;YS zbX7ga>Mu)brh+eRCjJR(=#!4bManww4Z#>yezp7)UwcQ#>cFz zu-C6&|K%7+5(W4$42(KLL`4qhhlc92ku%G2i!6=uzTyU1p7e%&UbNO%d!2JH%G*ep zXb$SfFC`7bm`vtn4WSlbfu*QW9f?^o+2P0gD_cji!9n0yK^*kWNv=URM&x-*rr1^} zNJi#I1v9e%Lj_zQwX{_E-o1MeNK#W*PXm7dQq61z_8NTT#bvOD<78rL3ToC)U*b-I zZ*t)C5r|gN7t5SwP?qtC;95nxqgRDRk*Be{J2?U%xYRtR9WmJG*uI;lrUJlJ0HGKf z5(O9noWG9g^BLcl$tF*6(yIgiVG1=MQV3xM()3+2IG{&BwgOwHI+Qz*ZqRCl^;#bF3g!QB-MiOS^*j zbZg+-GDFzR$IMgmhy(7rqOci@o|Qxr_%Syt zq(AHD2?M}`56WL0tMG6Rj0Y9G?E#9=^$xe2hnD$kCR{7_UC}|h_!c9UbR^vx0BRfg z0Du^=-eQu#~sfjR&ng%Yt>gQK0xL=)WQZe77BtT+4@X;Bm}m8}T*%dzl9+jwe* z6#vY%>mwi__%(3@&nLrgjzuq;^mNpWXTkeyz!nszfCO&$YukiGAWHvlE-$<<++b+d zfMvE|%TQ;PuZ0AM@~5U&Ybd+BN2M=|kP;?jQtz%c-io`-2cn(Ci_7DHRVDo8Ty#A5 zZaHxC_qXH&qffqU(u1JCAy=2LQn-F3d8nL{;@L8~ye>Tr4Xt+dryur(x-szjtFG2;y4lu zsFBf_?z2C90vZMxpOM2a;Q7{NT5{D4GB^AK%f8Fa4p&nP?$`&iw@?;T0ttNtf$Z*_ z@Z$z?_;f>21^-(P?kY&VYYAPwE^{Kb$UyhrUiagtgdg?yzd2#>;phCfZ(%XriU)yg zcP~_wmZra7<_=n3b0bPu&l^e!JOQkxvZ|9BNr8zOX_S-`y`0;V#NgWVuX@odEnnS| z10D`8w{Jh1*c#>9$~~PYQDj{UT6mYgRad{W;K9`DR+L+}a>FWi^;^(rc1Vbmj9H@) zj+yK?PR-cG%$AlRec!TjpdjEsMHW%HRej;c_qK_L)DLj9ywyPec1@MI=7yeHq~-fg zP3!870^VoWPg{?GOf>7<8gKR;?L&Cude=kb=PF=lVu9n-UN<_7hI%Qb^m}%&rd@@> zoGP3ZuU4UOP()JC#oRo{a$tXUPfqv%r9%5nH(dB<$=-9fv99r_wTQTd#>BL=B0zTq z7c{h22HeWxH8PK6WoOyfHBMSo1bDC~;41jW$=B%oGV&u)2dt)GJ0J^Q^_& z^K3-R2K^~PUa1xY(^$_IzU}%FP&#$G5K>~kI){A6kAUiN-xQ;IehOTcd|g9XP`l_@81?L+STtJeFAW`Ra4Kw7tfXsX#2M1 zU_eVu0d<-`d`zmA2?Iu3YEAg$qE=@6;D4HqWu)mLNcN zpjGe*R7J2ZwRgIJeCSa3>5|3J(2Pax9f$R)Re|7bw_v6RuT<3M+izl7>u8~ z;?bcsX0iP-2RhU18-&ou_V&Z`wMMgBV?W&T>?hmt+m$cYS^qv)EgX8e{@E~#vKE}L zTt;L2Q~Qhp4^Q%r(r@juMry%US#B(M&46#Acs;}A&oucLm+LJvuvXvWTAfKT&1kLh zjg{cuHyf27`grPb6cZX8Kp~NTu?XEJcp>fOj(BCn&rj`Zn0$<3^=Jv6mz<<{9f^9i zhidBs`{a5_#NoB`o}Yqo7`vZ9QZ*Sf!F(}a2bkBRpC1iE?^)?*Do z&q2RtQO^Mwy`d=EOdl-1x@#kyli0Hk_Q0;UIvA-kKb2G7>6ewuTEpAn1@S%{)aP!401HFk(~Ro-)0Y(-`n&vEJ@xDF zw|gYetCOeN!~MOcez)iZ@ovmesy54r6Be6IqW9Q}8_8P=&L^tbGrO8Rm+ov|>C1wD zd*7%^DmEVbfn5u@OxLifsWUe^Wwno2>!+W_;-W(bF7v2Q?|q-@l_zQTD=jlyr>-Tc zom=Vm=qacF`HWTL3|JCxH7i2v0v2*}W~B(}i@sR&GFe3r%4ZbYs)n8V;#QvyT3Jd9 zh$A`bBzAkCQ}!^~wrc(jW{5x##ju-+W4LExkpRTlgCyAN(E}O{NYT)+!KD=gS8g{r_`cQZkQ!`R~EmGBy$ z0VR-ta%_u0r8A5dtD`elg#W5KI$gJm30<%t9Jil7NWbCken0e@B)@2Ka>2vp{&MQ1 zx=%+O6%aq)YxVRMXCBp}_Hm+~i6hTgSq(^lN;pWi<+S1L_OQ<2UavCPuEw(B(gp`3 ztsx4^Zt-0a?ZT(2we>e-5;D$?PsThyvMnzUK*f&19|!503|9?yud(M}zafQk?w@sQ zEH0lZtpZF98D2|zH%;-~-@Y}73*Ist+I8Hlk=_UdK1<1s_UD^q+k#7982xW%%hwiI zOjLAPHMOLGR6W0u&4kdSV0^M)LvhHcDF2%UI5%&XT*Wa(wklJ8C>K9q( zt7^gMp1l@$C$RyrXb4*HY7EjfgO4UJgyto_dyqrNMMn*-oJ@N!B8KVu7 zC;m6q+zai}%rr$bW`21q-MsywH|yFd$m&@(aAw!ZwWuM)mnf83UnMDpMdHQa?tBgq0y!VI zye2NR1pG*K)l{F?uPuDJ8Q_KWz&h=18tc#8;2}zGiMyD#3cgin{Oh>5hSBZw=HGjY z(GKh$4*T|JGJJMAqCIfJx?>1501yM8e#pJ!;AIdv>PC!oS012H-IYb`*0B^k2t!-f z5}(Ciy>oWb*xcOL#-{Lz9$<2pa%e{;L?z1 z`x4JOZ3-<4cl#998v`-XmCy z%r_$pppo;of0)cJT*ptXvj!gDCzb(W1XA>CPfRBc_MRSL?I#yvInJL!`3J0xvlpdm zrKiDqWx<0d>)S3VSKzED1Li4uCClWF(ctbgM6bg&Rx zzT{FXb_>t0Kbv=%syl4`6XfE@QI<76LxKZqmN(zYJ_Ak}N0Qa|!(c;?gUKmnuGAmBy@R*D`+~>;FR=xD4C^ z0pJ=W{#Db{><1_sQv2XTP=W&6QSLJQi3$*d7!z>L{;3pBAA<=H;WIImeR#ILu1*V- zUQr;u0+PB%!@0_G>pX(ot?&F?;6(s(t|?=8KPW<_UthowGKa+uUhI{OYZWL?Otjvv znNgID{H_4pRp?1Q=ppg5-|^?CspYbVJ>!kRN3hx^M!ev0fJul$+vF|!n!<)uf|R@( zyB@6=mJKP5TY*zt@1JC^8HpboR5?Tjw5OXPAY(36?DG33!nmvO{Aw2nnYF7VyIssE zRX+}tN_R0KWKZfdbqluPzPk7G<%8_(0Wi_DY0$~sk}r7Hr8@$`xAqiGK|LV$wI~ej zq?8^ArGvn#QBj7%+Ieql*nOsTSx&UW*K~9o>gq4#cWTwg#_4^1-}qHlsJXd$EE`)j zq6_n4mox8h7PirrVm@3FUX};h<2Lfkx{2BTysRav7m*-UUUED!Us5>_cmJ=cz0T#e zRW7e{LtsL4@$jDRZub(a;OzahnRXTS(Y@M!wU6GKQED+@BSoiVe)l1qs1I2ARa)e#kbL>CRo0`Xdi4rax!dd_V(5!Wu=80&gh*Q;**_E2ZT$D zOZTYyoSM$Z0kjj2vsI3ZbTMBZ3iCX5*JGfPeu$6CFb=otTCMTWdbUjwq~1p>-8QoB z$)KF0{kKz@p zf~=BUP00w%5q9BFQbJuobfHOB`wASGvfoWaba8s?EO~k^f~HN2jUgx=1or;d#KWxv zf1p8#KcIN0;+$dzuNxb%7J*_Fgtz-dSa9BcS|%VK*EK6BVLt81Wrb(>T;D+vw{E3K z*A0KZWEL;ZHaVu=qdqsVCU(@(!jtwXwkF8NO zP&#gqK6r%paxK(kUISxWO?}V53q9E~E8=~yWpbccS0{(~-R3(QDxmZO3snR zGtSp!f8Ql%Rp|XhT4d0*Jp)31lkEezw-gHK7=ub+7eMdaOHzCt@4*5!?&yNKonOMH z(VDB?Se*T%{Sd)@@c@Fn+l;4xvf6JKx5az%DpzA=er=}CtUCa(4 z>%UkBMw7g$9908p6|es<`SQ6M8p zk(4N8r+U%!KFpU$zi~lT4zSVfL|W95T#e;!mE`>Z>_-m?EgXW%hJmbRp*_f|Z(ox9 z=Ae=dNe~Z;rx87XNA5!m(Jvl+$y*IF)2} zmey~1Q?US(AvtTZs9B4GhX{?OY5pzU%CDj4s0tkW!XDuubT!Or>rAVz&LMiu-g6tP zn@Tzmxrcu@6JEu_9Q}F^zu$ss7?e#>JV?7cJb12v z=zOF_3TwNMuD#@nt8w-)9(-VYN7#MAr-&4UTIsc414UMHCmk39XydHT%9bXH2w~1# zR~w!7n~+m)*xt5Y=0`t};X&mF){%)!4(24N0t;Wjtg&)E**Bl9^l7={MN6YO>vK}} z^OehxHA2GZGBI!P@p5ilI{7j!J-w1h)&z95pd2gkNkZZ^U=8a&w0Y0*BiqMWfR_bM z*Kouj&IcJxacPOJa$@+rb9=~R`aqS@$77&Ys!~f&%Y8^mo3JKwJOfu#qXnK^gGy9^ zWCP9tPT=ATKY%mRDk_v9PgX=w$nO+Oe@TcYdx5#%%wH8JgLt(g>CCXFvMzpzjO!Zg(0mqz$4yxM|>fHOPP zJ%PlsEV9D}Fd=sIjg{WNdjaMr2g>g4iPl&*IW_2y#w7z?rBT#nKyHgJT`|0AZ7hmq zvwL=#y$Rz>G2&P?&4T`HP}!BMmF=piBhjuk;k1j%ZCXGOiXyvMCtWdI79!7KVH<|6^raeMnAoY&~?I^vNx<- zWuqoJ0XmGA;y6-TzF)Sp{(T$B`&z=Fu(6~{V@lQhnduU<92-&M`lwNv>SP$vM%2r> zHN=0Q{p2)O$-$}xtPp&+s`XtJC_vXWUT`~L@W$GTgyB$JJlhiBvb|Ro60S84SII{J z7Oy(3Bv(78^5Qx@;=u>&9t?{0%yaZv`;21#q=$A!JF!-~Y}g-;^^md4!3?5(5B0mn z=7P%jA5e@8pMq#ApbGBU-F$qWYldYFSMt@=vZQ5pGo?VC2;jkx5U5ITQSI&jh591N zC?ma-*%X@Zi3V>lhGvOz8My%1_S5eijI7RU1OFO7u69m}b& z)yIlB%kzMTTOWezYTbNRWtLv+9V?D!JXZzG8$M{WmO&f)`gZY1J5W4&jxQ@M z!D9l~vkUU>*8QQ!YXqA7jL_?D1!xCakb~gDnOfrdi+CdlPM z(F8#Vs;>gtSkZi)`VHoDa50H|zxsF{d#z-P7}e{z^&w65SAn~Z62C7-*`AI{Z>`co=W-0nY_ zNvI1z~GI(h^ZmwR^UYK9T^fcpB+dd6zLShC7JWXU&QlVlAiDIWQEEdwW-`nA zZi*TzK%)|cXAEJ*YBOb`YZyP8NzHbwNygVHt#hT-2%1H;Ux)6L%DRi`N12KaN~hEU z=P#$)RXB#CALsF>U#5pPqsedj%XYbbiN#KFqMFbAuonS|X5qD?p?MTxD=~vgO8y-c zPx<*BR+F0>oAFV0j5$h`Pc*EGZnLAR4Xdq3pioysB>$V^-@N$W0{vgqx+#`Tv1~|S(?hvsbVwNg-PpM4M4L{u z=|qqOHWTzFZuu1pLN=q~FG=uhBCZWO0?Fh5j$dqA%ciw#NMI9)ZUWI?zOc#tH%lVF zOyR$oL)ld@b?_`3SkD=UYd#xl=s5Pz+ZV1uPq}SupEq}J2x3zvn+CzN=?%Za!lpND zdc&qS{Bj1+WC2bgqkQFLWluEXi4rq!TIL9f8D#*E$esJ<*YSwlAN>8-tT_j=Y8I1?_|QS z80l}>xObz7h{%?U7j&N5-Sxsv1bn`4qwfFjZ#aAIVvuV5GM%Bo#e%505oD$=XeE;pq z&aDY5)lK}%Gc&xqiOEkBtLBjTwbu)$xIx5G-g$w2z6|T~Gm(EP?u-A(c25re6Gj)d z|AVdvfBPrtKKs`{T>|`ZHS@xDt9pQ%}5^a?Q-r)2_ zN(?qxa@5Z6V%6MiZ?W;@*Id^sO49B5m&$H6{6mEsq!&H=Gz3$cOcvdnnh?Br@xg*# zd{YF~4wFISw(TyTe213QcGKM~qj}n&MRK2==swU%Duml!FP68^=Kirf7QImLgTFyy z2%65?da_}3hTP*wFGRU+GQrcKImyzYyO2^x!31IY76-LT#%8qqC%2_*47Tq+^#U{b z-j~wl-`i5)#%W}ebzq{{WqY4vm4c7g%G{9mL&Sw+*#^m6hF2f`&U9@0cwmrbw_M(W zQY8MUY`0QzO_4w^%_=6M9jd!DH(awzW!LUjANlso3iw@0z{lF`rS7DjVs{Cut&f$Y zvX_CGnb}SpX$hslPdMPn?4b@+sQ2#`N1RkZ+tT4xgZv6sm{BU>Xd<^S8#SrycSTaw zC!~q!=VB8&tm@Of%aY0{M6vo5aLXf9hZ_Epp0o4#+H}-ZJ8Z7U@n(wu!1J)M`EeMx zHai`zMZ@J>!mJG8SD||)MfCLaR8LmVyrl+VBE^~qpO|cT+rpnRED>|*^`Ei{d#~m) zv_?juNlXc?os*Mm$}KDgeyEy;nJ7p&&42fv-LU~VQDg|cC)QMP2uT}zx}oM3z0WcX z56?m``Lkn{Fv_9RpIFp|!mU#18^?kI?W456IX;-rNnt;d+D;KL3r>%hW-vmaZHgiy z&ksOqV$xrFm*d1-&aK}P#w_V27%gQQ!eG~nj-WrYdW!M265f?%-Br|;c^h5!HnuC7?Ky!OUBoc~;9m9=c}) z&A1?GD#1f*3T}U7CL;nSek0d0)hYQ@SAE?guMT-!8t?IZQ>IZa6)x;qpbjKfemPiK zIU-XqnK*o?Fd`x%A?R$stwLbup3I#tbkZsglRzcN>E$<>*^Jv*tR{cuWM{=B57vj3#kLB8h~nh%vSbv!RWD=W;M$a&lz zu(E?xI1NsH%b$7&nK?Pnta{Zv2j(54`-X^#;%U|iu;mJ!8i4a13zJ%-bSd+Wjt2{G zZO@%{`f_*d%S*I<=q*?^zV3w6x4T*S`NtDsf`QA*!F{dH>F1GyTSFxS`iftikSSgA z;=q?;E$tp-rB5lQ@s=W5PZkqZ2X}!K6v_fozgz>u= zr8V(ab$}IbI_We&#u5^wkmmYY2nO8QtX~r~K$3=xM^mdU5NU}c@b5${AqBk=D!su?! zsA0NTZ0s9MF*L+Lr`CbsbQps)veTu%-2Z4L?FYi~JoZ@ANNmtmGt(mbPY>s7@zP-w zBf(Wkzj>2_5gEM49iD$LQn9I_YSG)&tIX3@n>}QwUN-VnFLE$?p_cyr+n*KUE*bi} z>;!@1!*rU{g*hB5)HY;e=l%_kyCzoxaeklB177FZ6l?OA<1;tTTvpU1O)j<>$rF>N zddk$_w%8Uq-RiddVVJyFU!8{`Au>!eJvYu+72+?Y_U~l&73vGKHj$rG>eVuAy&N>0 zcEY0N9tvZX09ZlXGSRx|rZlsMa6GSKCNqFK9+iHqwB$r@fjd=`DO@MI%XO!9sRKj( zI4f9aRv3sYvy5-5i{2v@8ykDbSY31M16F_3DD_fjz8z^l5!r#sq@<~1&W23C9=znD zZzL(M!XIQDD!hZ2u>sQ%$bJ($UMSIM)L&71(NvC1Lor1wI1CAde;53EiCf3FQSBdJ zyctDP>Vlby_cO$*fN%hh=XG_{X;qCltFmK)MRKR-1ox7jaO!?F7DDK&ico*=%7u~g zXI713#|N6)jE^QF0{OGmG&{k_%d8xnQ98`spRM{AtemyG*VB4&Bk>bCN-=MVW?1qT zg#2L{bq#4$puKkS(DwwNsnNl2CI?#0BT($g`Tsgq2g^> zyh>{l+?i`(X4bwy*-(6Qihe{GvR5!d=5Vomm=N@!yGTXAk^kVS6%Y-3wB=~t!nc^5 z3C06)%eshByCY3HGvjTvr7~_y)yA_H03>aYOfF$;GJpInW2DBsQ0Xxd-Jo+Z=VeD{ zXQw-wqg5M*^Bu*&n0fB;QhSGpG`!98m8HDol}z$F(zRJpR|^^>lup9JB8jJ}wl!&U zt0UPpF_`{=LhsTALbb>AVYy1~Ot)*QNhvXKe30#L-XWG=rP>$5GgrP<-DQZ&&d-00 zWY8j0eg*#2V#+{rP8Niu{@G1vl%z&VT-4e`qFBNn0uU^vF=co!QsbX$tr<;@KAdT);@( zx>5AYgFkxSSW?Ei3eHvX7bTQKC->LFs7;Bpr)$QlT*;rE~Btf z;GebcegSFpgag8lP2IHkJM5-lK3zS1XR)ek5Kn5{&t~CM`sN0-dJ&=S02XHQMZi}v z!XAw|yvqYarL~HZz{eYgY3G<6vSh2Hz!i@1X`(T{&G(5bF_lA9gCZ{~Ezy=(g#n~G zsZu%|Hb+V2{y}AE^jBX~0uvaXG%*oxvR@b`n^Q!D9pMcUv>cjyii6PgPA7>dtM8W# zsPx;WPKDiPE4Tr;^70of3@zj;ws$Kngh5)*B%Wi=Q+MHLoW7JYpM?Ni&rnb%iSs-j z%}TR4&ZyU-&&Ay%ZpqJYrM0$pv^bq??dyA{F8B084T_HLX~gXiK79Qj5L4dW8XDM4 z*|gZuaCIG8JmkB={a|{!U?SkDQNReNxyvQ@^uiXhcvRI8!*cUP)uXR*ZEwY9`?=rF zq0^|nga>O28r}UP3h7HzhS3^=9iw&ry)o4ZSI9WWFv=N)u{A11AF>4Wk%Se8;-vK!2b~DKdw&d7;UhiG$%^Tj417H zUveqzo~Nb;jB*Zb4^KD|YGX@JDs~_I_()o+9kun%gGh1lS!Na4D_MIK6>qm!i}{ZC zqE9eDNvFG?aqDbi4z$T=Ws)5&`B}G7^?2L4)O*B+h=@`~9Ai_caes54*ZGk7N$z>s zr(uhW<$=vcS~b1KurkW+-NJ6ozRqihV#lN5VP|J44~H6f!Q(QKO_oYZn+G;OysWh3 zFX{hdO|s-nvW|_;LGDz&21`f9NYm?^f=LzkoD7yQHy0KbINy4B!0@nid_YK@nsu!= zo@Y`yljoa}on4lTf%^C?623!UGWg3rGl2|ngQ*H8o?YBX+!2o%&FT8mvp3^>2bm0? z<F&2(n$%9#^o?`{ue)*h+p+Qc~bN&U#>Z6G>8s-;G4@ zVt4KGsn<(?tYU<5KNzz>*KcqsWYe~yL%yU5o#Cz}R=2h*yX>ks0L#kqkeO$Z129%F z%9d`&_xDY?(}N0@B#nAi)a0x4ab!n{>(-9d7FwKO{2>Z#JBNb|LRU-$1Zu0hdXd}^ znxm~*xw%Zvd=r8jS$jEdj&Xf$fq!cu%&YiX)bW6>0~YzVJ48jzV`B?u7s$bt{%XmO z-!#VQTUl8}NvX&+G%oR5jQVS;nZMXoj86H?a7a^@o@F*T@)vXN;F63_i1u{X4wy6^ zkB=sx=A~!i-3> z+x6*mSzpdq1ltyV9%|7}M{$fj+z5)2b~+MVp(CvqwtO z_l*0wV#zV}P6uP^4Ikp6agT-$6ej1b6*^Y%0cZ<@hZu3`elBWKKvzO&zUEfVGc0F= zC&@azg(oyrRtQ^x9ab3gYTm2@=j7@`wjP-deD_vb%g zKe$Y69qq#O`Rh*-=-&~!AzNx7Q+QOh*#aa`{^lzj`M!TaV#3vHB>Qt`=@am370VFr zhSsM>qa5DSce2AmMC^TAy8sFW{gT{K^1j<6WT`=B>o^E~V;s+15;aL&68Dwz)Sl^bDV&wnvzNTe%BazeVWl{Ja>I%r^l@RD~HMU0qzrE zvA|t{(;s^sd!E+^p|@(!UXTo#mAGWlb|a~3FfVX0oLmRMscxdfUADh_PXG;V*XKXl z-`d`;?ZoYO=OPAc2BX6{40TI&&{yHU>A8!;B%GbIZLtErv3gA}MH_X^ z{b%>o6d+MSx8~&rCf$8rKDoKBEPdW%dES+}1%+7Y)@K)Cx57Z-60Ty5v7RiU*ec^* z?oUce9t_V+3%BM6q5AyE2!hm#9us`&2P}tR*sz)|Jm8|;sTTg zeja+;A)BroN1j3Ha^*PlwBZuer8CM`>z$rwZih@WZ6tnX#6T7g{s+0M)__Q|;#QdYTBsJEpLyt)eHnm6pp`IKMYG@LXv;-shv!7l=me*eiIqAY@H^q}!;WBeWkpj{ zQ(HSbEhe5F*+28=)XIPr)C)YQC$*p9yN=4uc|%>rQ}ZAy;Sch`5# zyH>Hkv*b4i(AVU{Yk(bY=w3XyUHO)QVN^E0fk7F*gODjg`uXW(SB#I`BB7>x`Euk|2ha@P=FTY?&EV_dTf^r8UBdAMEPru9x98a`&HJc^EM0LF6R z5ad74%@D{S14--Njuw}~0=JHwo8I0^w}6v=_;JhI8*83xF^pd0IMCITm5Vz9y)VKO z`rUH_=OFpFQMoL)0Du3w9P`{)g@uK$p)~agpUGWoTGyfH9F!w`V^$Bc-jQ&#lY83g zun|tOqU?bNOZU#aa05BhiLbzww*%@R>}2e_XW_aAQg-xWgs_W4QsB-j+hgiFb%VMw zv}Z$iG`=f{i0pf1{i{NJqn@s=o|U{@bpBDK73f%%FzOy6K*!E^SojwwCnd?I8pRg@ zpt~`2A+rsjYI}#Yxv9OvA5acmxw^lmpcsMg?df?1#Guz4(98j2cX#)qk`jGgUBIn= zbIiL3%oJrHWO?s$auu;XIn!a{CDIY?>+9o`tIeF|B3|#xUqq{q?#9?Z_wIf*)TzO^VO1l>i#h4(hXdQ&bT|g^~pJGY4 z$t%bvUU*(44eaw+2s)qM;ucBYbNw`>5)Iz2bk$BSCfrZ6zXQjbg8=i!K_QqwG(;fv zsEoO}xo4f=T@QFU36qtZ-8BRd>h5Vo)>Y-wq^8V|tHL+7{0^o#4W2&kyZD;MYN^{LcwK{ME7X|Nee2nJ0dN5lvt~ zjNjH9Z&qNW=I5<%_)9$-A*y|5IR9>J&(IanioMW>H^=De)PbkWKH>t6_QPkPgM!!K zxN;C0%gS+A_J0k#q3--VBK|W$tUf~IzfW@izZ+_NTn0q#%I^Y*i2P47ga6-+_J6=o zpAK4106e>ExfueXyHC#vv$$Alq9F9lGlO6S@Y!YqE?2alZU^G}d6F?e=)3ljhKe)_ zaq9DTQ-JU{uD#YOM9{Aqzq$GcK(8~TLoxNZSU)WljTIKa4hKIDal)gs1nF0W%gK?y z1@iibk&LCKM;uS)p?vUwp9;gfTeo%zdxZm^O|d{46gmHku#K*wqPG>cmS$#tp8G+! zza*Qg#GhGkZHi9b=Be(p!_5vu>*R< z!;YM{oj9twxw#2Y=e`C*#>>siJLbLgv7_1ZP(JAKi^D6UcDrR5kbf`s!a-r0oXsH; z;oHMO&dBq=JnHHGI~dwkA+h}AwUD$0fzQp!nI^V^x3`I!AP|u3i(optcg73T9Bt)F zTycgYIu0~Q2uWqyJ$2tHafOvnIM>Nw@9_7wLFLN`rVaV4i)$rUiR~M zIbhotaeES~g@Pl&F!27_X7Y8>QoY5T8|5kzmo2R!6>)c2NI96#=en+P;+rhg^wi=b z!@`_S?%A?s%hOA5E+O`Uxt3LWfVW+|a~^!QP9aH1xle(o*$NZLp|;Ma;fEBGD|(!r zom;!QZfgAjm3cWpG_0$uJEEY#n6R#VU*CBjOk~($$VHx;nYwGn;TKr`vViIAm5|6N zFE3vqOPO!q%I)2|cbag>j^KhmRpK94qzInGKf)mI27mV#=ae1q(Na-%wm~1<5grz{ z8y4(mW^S%$YHA8pH#V>&UKfn={Nug5AY-DtZ4|}wJ)+|}{VuwLnIBUUR!0Z^xa_Vu zavUKJIH;u^=ysHZy5aUAYz=7W4rGU5K`jI{pOcf5 zm6H<@78V^H{n@1u++WUb961nw0a+C~9?*~*|DRMItOY}q`y%6|H+V3pQ>hpQdHG;T zYUN8zPlD(i)A4U$EDEsFaAB7&9i!0ZzdyEU8*hrTNI%GwUiw3mr^Y9%){6V#% zHyL#y-}F`rg_4&rDb?8FH;VVqw)dn($1<*GylM7_=60m{FqonbVVz%-fW47VFUe)# z%8$9_%D*DyXg6G~zZzfH_$1ILd5_H7neG2Bat3m1lBNKfaE6NA8->s7T@J)N4)c54{ssg#IPea0lPhQ7-~XB!J9b45n1W(` zBr5+^fxW@0D5)L0hKCDWnB~`sgFP$X-8RX)UPWj>boH<4>Gu~7ZbvX%S`2{d{H*iT z6%Ywmvjw3*_^v-M7jyKMp>Vv<(}aq(>|_Pi%cth!Qf<*u>!Ec>HG)6Fv~TI#0rnDU z8TNI2_Fd-%wj%M{pmMMo+H%R-l6OivbU7Pp*R_&4)aA}it>`JCqcJwV{j5vZR|M%d zD*@g-lZ=Ud`9xUzd<;V6GZ#;(MLjk~&!b@v@jX4gj^op@ z%HI6yu6Hk0>#*)o$1@G1e;eGpsg5{4pW)ctgS4o=7Yb=3@6B>@5mr_vUxOc>3knLN zsZcvRg%t>pU}E)Gs<;x;!e5nF0K)6*Ybpx(s_Z6TUzE0M&-3F0QkiKxtqqf(Ve(Cl zqL%o)n_yP<=kE~?`iA3L`X~UTZ_aMJwd7n_Csgp>3lZi%G(9_}YRE3pf*Y;R=BL$( z62{s*8(WOIv$JF=CGDIAR6T$Zt(eSS-Mzwdx(AfT#5=Xzj523*`sm1=veHSErM_l= zS^ZB*X!8c^Z2(D(N>%(2Um7LSzzKG6WJJ+qUw=QbRjqb-_w)S*Ni;5No zB&A1O%_}R9s`$)a*v9Lm|<(%o7veh0UQUn}%S9J4Lg_Np38gQB99ipx5J<<0fL-WnzD+(E`hnsAT>4jmJL z_8(s*ELB$r&MgGB(rC(Al)~(V6F46aN&jy|W#`CnsBd3WQwto1C$3dGS@rp_?pL*h zJD6LV*NHxwlnDp*U(H`WkAuiq_~eJ(^m#f-tL$^Fo!6o(DD>cX*zTEIbHA%NCLhm4 z7Her~4L(fvW>B@YZ_}$BCdWXs1`9fDE{3*8RJ5Xrwx5uqsUa)t(%iJwwUgRW_ZwL< zjj9er)xhO!*QH9~2ClzrXG=@#7-&>7KU72KF{B8)Wxf)E2^KHml#6mPK9eSoYD^wU zZv#U5IIa zaOkKc51O6opb zlD_k2l>_+IrOPNw^5Pb>AlmM#ou$O#^xFoLg`>Eq1|v#*ZSc4*=S(Y6Q9wa!@Pgat z`a*gU_kZXLTH8Wydb(rP)91@iPkdRsvCbQYp1`zd&3z7>PSju*+VS?s;jgJ4DK_YK zxO%qhh+w`Z;eBmQCGl`tsNzUdDxINmUnAYWFSPgc^b_99;`=h2zQ7sJKneXa$1xm7-nq%&`&-jD%DB!xhoZ({B9aC`1#O3*sAjNn@$;EoT6 zLW@;9eCkKxqA_yOGC#@$Gj)RlhGZGo3tuB0&SR5Kifi|+PJf>PMs!$7T1W^9pKc(x z>6arg4KOW2@Yj`XWx10hd#llNgEC_(m9uwJrXNzt30}Qq&YM@Sz?LC?07t_MGOi$W z`W#q6SAG#(r><7xsuSuD5Jlz1%;Mlj+QE$MZEgB+c>^#o?3QDAkg~&Jv z?Y%p4^D~VfN499G<0?nW6G*q&FKDbhX#%Hl_>K=lid%!=!gfZ+D@KB~ye^R3PO~}s zH6Srg*GU8SXMb@t_PS$Dn6mA0PzKh7ZPk|K!sjo51(XwnB)BSn)R0^YLCqjmYw-(? z+U=nh8o)DTcg0X@BFu9gr(cKr^ns{vQSwUUK9h233EN|B%qo5xK1i-jHV#3Y6##b~ zz^cy1XBxDDvDz^sayU?Sl10VIJS?nZ0Ea1z;woUio&Bqyoi^*P(_0t12 zE%3GyTO7$XwiPT%vSjEDn%hn1Y_pK*bFA&wK6@4b9*JNr)+nwX4+;4+B(ooH6jCb8N_6oG?fDZAP@bq5Do zj38rpWQjrC5VvJoNXOeytSF*>8J_uJRu2h=k1h+qU zqX=?mAhLe=4g{tJEZd4<4&VWRH!-CuSe2$w`XPik`}vE>z{A73e5u_&P2V>RbC7(<`)vlv&QmK=>)%%0>frxkyC5aqc zv#xh9l*5OnS!5kPGT@k9nY<=giX+}J@4M5BDB#RyEBk=eONK|+m%ZuyYU&_6Gwt!) zk+{!5GyX~7z#hP)F3(Y^nL2gVk{VMAoIdEAE@&+*zjs4vVQ`B&nTsz|j5}s6>Iq5| zpot?)eYI!DV%YPhl-e~*lTS;^Tifen1_%{Xk#lp=hWx0djLdYC%H1N1^-7`QlxFn) zB-;D@H$(LFLdXi`Dn^ zeE8xdQ3_l~={ne9?V%=doS|NmQZ_SKXU*TG)zYW7w~il>T>Jk0``zYt;(!tcV*dn- zY8h1-2YR$L!8-q3L{E~SB@%S*2n7Df%BqYEvIe|;X1w)qdia6gX*%A!Dxm zr4YW!1uRK{87ZBA&(d>ux2BbPC{j7v8TuV$IBKc~>2c28dKqjApGoVEfTVVj4~_QF zO7x3^X(28~P%eQ1vGibK*VLZcznpz4xgT*-eDlYv<-F;9po=dHx^66WHtN0H)38iDX^oZzaKU+ba!m%w6 ziy27+jr3((z+k1Zu7%yDvjW5}1&jO^2K{u6*~U-G={>z#0~3tUWU9J-h~s1lcM8EA zH$4oI%jfDNTQLhLP^I{vp#aJY%HggR#=p><&fgnv7i4%=Yp{QDN3;Y0a zrh`J>K=-}g)D;{|!s+-ojotLvolFg&01}#Etld9aCcN#!#0xZcf{Lc%+#?RBC$=%z zpv%V)1X(=ZnfDN4QR+echtRR^wbpCrvxlGW&cquP!!}Owm zkG)I!=q|9#CIy9J`d}ykmzkb^%iIYsR)0YKCV42BBkctK>Al>1s|rP;AjWQp^Vr*C zj03MNUmPU?&dzxTTvKPc8$Z1W3hpN9SM;-(E!2>5)<^w~g!Yi$`op?GK~}oDm8@CQ zndtoMRdP7ecxNa~Xps+Bgv&3NCJKN@ViC7}`urGDfLask3xZ zo^sGtio%&Hr@;?qu5vqch;!<^oLoTtm*V2s_K(!P3WTwMg^*9JKAyA*@Hy8{1C_tsrT(vSyatKc1(2O%9UC*A)X=l)3qr zfNyZrNU|92EWO-^=5h618+XaqbNatsCjE_4#oQ zn@2+yr?B|uO*!U(@g4OJL<3F(bEuwQHZR4^^Nkk~KrI6S^K-yBunHc!utciS7)9?_ zT%vVA`OV{wd0to;lw2w40bY_mKSHap-FMtG45D@PLCx3kmcX|%f4+;KExJRUuX`ApPPe0Q-@^v$ zI`a_XWj1_DPI>u>yQT|&i{T22${Y;)smCKny@#9u;)U>`v zi4G?Fz-K=GahoyhD4xXj6nTkJaIL zP~Fb9Wg11J=lWFVx{!dH?CBqzFG=z9I8~B|MM(#ie(OqT&6w`lB(5ZN<+#KKds*4N z5_NMysT`h7(5)j;?oISN1t3<5?AjT-PE~zuj?51VPKiQErejS6Kn^m~u`@33#h5J?|Fjoiwt zY3OiwXz5$NLaE!Iltw7*eZB(Hx`+~yrqYMXda%aZd#EP}FYqP#86ZC`Rwi7(%L3>gt$f0{MYVwXV0<>W~gU0{?bdNE~AmbP#sy9Ko{bjK$WZleZkS z=YI^YEvF|aFZAwK1E{U(e{d`tf><$hm4~84WW1PH?dfNyN;Xfa=<90p`ugILp#c(< zmqde9?W1^DLhgetX4xZc-#4(RgYquBb`1lLj18mPVN6?9g`L@~CX}!XXQ5(;IGc#| zFWwQZ+fMB`?_07f7o=x$LaSg4$wLF(aCgci?$Ry~0pSiODc+oW#k$x8o$u)hNe#!X zV4wDmR_tM_e81hEeA4p5&SJuHU1$$dtZ z@wwd>M7duOGMuwNUx;5XNGsep7dV{Hto?=&-qE@S^9N_M9+$kb2IL1117*mXe#gb4 z`UhMo_L{uqj_{n^oQ;1t;dKEC31WJd(B3;0dw5KX?bvWCwCDVv`Dug!2}R(fu2qcu zrv`I;$}S*f!e`Uk9u|S90>a>*D~r1wP|;F=(cWpsU6O|Anr($jO!%O;)U|)7$EDfFv4DE=ncL%BSp81oh($PPK=;ccZb_MAT*aoU&LD3mF(GA4iwK!xc zYSe$ z&;$3`A64km_kbLGR*HZkCRi>gffg zu;_sp$#N9!Tsm<_|(>lZ#Id& z&)`3jZrnr$0{#5wC3*)wHj_3tvcm!BZ4U9>S~ZE8soUwq+3Gdkmfi7=SnY$LjlQ9T zx`zeqy20ochP%5rc43qF*6UK;2BCLv_j)eUa(qfh+Qu`91^Ytg05g!+R7nJ1b!x%# zmF|?;Pz%6Ph-*5V0C&HTIb-=l{_>kw_LB*r9d_ncd&n}r*HUI^0X0U21O^rC&;Uls z#R|pMNq*p`=5=TmnruA~Gg^6gg5idOc~_U#%{K@_W#@V;Zf`2GevXbJ)+>s^EMJr4#=Er>hN?&$@gmzY(kkTF=M9^ew#(e{qc z8i+4}R58M#BL$>KMV%i3`xpR(vY7#L??0XUwE2MjhxJM!1U z10@I42Z3SX#Vx!!#jqRBCdTl^{X>+!&NUqk*b+kNJrJXw3YgI9y7>0v8RwqfiS< z*;jANnJO=IAKwy(<^N4h{vt;m!uleV+zod2hV!e0}AU`WCI`2ygT- zW{{4BiyFh0Lh`Jsk~`|u>t?fK94QD_@qb-~Xl^`7aQU|!r4||QQjNJ@_mavl#(+k# zV+B0jCQ$J3d7pPc`e7D6ml-^gHqy=wU7p#Wjeq}M7RqJp_Cg97>N===9|O|MPLe8N zDQ_zUHPAen8L-uD3nckA(d=C;wSXXT7#`@7cdb|xs(pHrCgvyOiHRj&%{H?`7Aco3 zyeSMwY#8pK?uz1d$aqJgxjn~O+_~tIl$~33=FC9F3AXS;KnH4Wu<}&C=;B#oXye0P zSKv|Gkaa`}7%gZYKe&-J-J%5`Xj7U!7U8Pjfs9?3JHH~Kd#x;Ng2%8IE(`2J*vr_R z|GEKC#b7smH)I?yEmqfPvDk4dF*^Ud!1GQMl2iqMYn&>nLP$!Z>L90ICxB8Yy*N~m z#BivVdj0Rc0Gy;^bmz%udG2n}tmUzu(@Rk$!=7&v4CEZK2p2L`#Lw)d+HiY8G54tS z>qkzpx8Q^#kjK`|xYb#-Z3-2@%4TRAHWBhe%J@hw&*w&oIRP48Q;%1&VOkrFCJKrK z&Wlb_QJ)#lfZE^iTG~1C3Nwpjpbr5i7#0SJG6`B3dm8&?it%A7l+(uuUrg!uk!#d; zn-gj=^)==?Jm-`pVq3)`Sb+hXsZTq{?6249`@uauyai8TfHmMSP~_E z(KZ(alGIz{ep#TVc*jtn|A_+Firoc?g-60i;y6AZYvXGRDdI9trJQKgz$UvTe^62x zMmM??`qVpH)-k!-Ctffz+fsel;1zEx%);;So7o?Z#&r5uR^;;mpt1F996k6Af?+;aHS~|tbz=VefqtL0p)D|`&R#F{jj+q750#d@ARTD zd?9D$q$GP)9e`>i6pX01)%u)QWxsvp?$0SI_|XpGPTRYdE9+S>cJ$J_dtL++gN zqx_R&?k&@43+nhqu=N_E#X!VXhk|>(AIUwG-&@L?S^{#Nl$46AM+c)66mvlGP4)Ri z7wpORM0=|eeD=L@{`3$|8K)$CdO zNTayrgNgbZluT2jVDv}&0_4*7j&D=8UBDWmPx_iC%^g6SbO3n(+8qzL1Gcl10M<(Gfe0~q-8OzTUj1Ml zSjU5ueyEL!iJY*o1TI)h;Xhc1eu#@;7e}^4wq{IJ^w7&EGTA={jger>LJqdyw$RZa z_2f}a&94Q440R;4V5~4sE zG3@LNS*h}ec>vIoTf0uEi78o$r9%5Tfg-zAD97K}#u4rWfmY=Xbz_yGkA%nU8EB1e z7OO$DiY-4~ zVHI-!og-H>5!fyC^H@z5tI6W0E377q)nxJ06;_kQYO?t03agdH|FAe-&7rF~bTx-U z7Pz}A<_K34AY1(J$)V}~Od(mn@r1;Y^cUBU`A01~@!LN%e)Vn0j zc35?Y6+4KmI>f3&tit2ZVEDfp4S)E(L5qm|Dt=M-tl4TXiu_--{i?lJ?frMmuTp{4 lXjqMg)o1_~_%8$n>xyIWZilrb?M*uYdjs-DmO7Pp+3c_Wtwx=($_}bHC0mnSV|{{POVke|{ejD*opu*YTZ) z|M`94&acM*(Zw&d{IZsxw(!e|eqqZ`Q}_kBzkB<6%c=}G(-np^v= z=Ahr44o1I7J|TOe_=>@~&YtqRd&W*u-vey)b(q)n^@9>C1;b#el3vYdMfk9 ziGRD#UkCqUI~$*T;ug>!ujJH}2vuU8v& zrt#wIzArTU2h@nfvM340OKNNNQ}6#I5+)E$WdvB+Qqa*#ZxPLDt?2BTapb-8D$1)? zb(5d)EwLJi^m3;oIet<5O9(p?s8+CHUwEWn$YnCeVDdJEKVxJvMMY~S3ab>v{ zoaJ=APhRf;=vvao!O&Zrqy+C@&AnWTp?0o3pCqNon2<=<*CY<`I_MuldfdDAOo{W% zcr7~*{#d*`vo}U7m1mF{47a;|?9 zXD7>N7Xoj88g-~;Jy%($U*uf)-g%krq5CujJ5%|o{Wap|a_L@I&-eFpuPbivwJ|-; z*3$FTq#I|p?hmZ?HK@pXZSZp*zE9{&SzvGH$(h6obj4^4R_>cmJ45xRjDIzJGEQm+ z3Vci<`WI@I!4R4?p0tNc=~hs2^Xut1ELe5kvL#LVuy0t;bCE*Ed^3^4!r4*ok-82? z9Bw;Y7MWiPqcUii4d!k_dQ}CwR4X9l4l3`)897*zpm?gX+TF;4m=Xy+o%XGrlpBmj z--WnT$`@&km^o5RUQslUQL0FGw0r39QTr9#?gSO!svv1&V~5*E*3dm;ZY6bPo_~#R z7YzOYb%uwxb8AYDbqT4Q0yimt571UYUUxysrw)jiUrX(Sxy_|jR{waUzsrl&^ai4_ zMZCAyztG#u8zTxE$WEKlVcTS~QK~r9s!v2I^G5n0bLvfmy)JH?jy8Z1im1Z948tN+ z1k@(bI7R!eSNdT6XrugAZ>a!LT-i;iZ_qt2KZMHZ?7({d?17QO)0%gF--*BF8)SMt^q#5R|E!`69UbbIo?~EO9(h}y(mTdq?Pt^BfV{IFCz-Ytr65QOJDlk38T^#Z0*vdh=~s47q2eB z)1{8v2RmHe^riSw5}f3Y{20^@7)|t@ctVaQCC?lt$p&r!RHoYjKg>uuRV-ZqZ7 zZT(Gz@LxBpy*phlXscNKBmkoB_8?NUn=!)g7T{pUXv`Q7z{f9kclX;`u;{C~`V9!X z&pC-|E_ZG-yS$$Wr~AH7Rr0wuT1MY&c2Yi&4m~Tm#mrsV?Tro1%cDcc{sHH?e=vl2 z;lyS?O6p3N=DasK&FiYB&wAZ1Y6Y?4Wn5GJ9r(nmB1cJr`#7d9<4RH$q`8fa!wR!Z z!;xBu>4!^ACC&FNs|u|&-UhU5X~7ZgS*Dh}Ay-}OE{G6{fe(7EWqpA`e zUfB>dPQ!RQwVq_A+)!%t(b-%ToiW$^lt0?b2ZRwr6yk?GLTRxGn*(K1I$j)s&mMTf zGIIiENSqXwFAU=`oC`YAy}xsXV6FdW?zB>5cq<=C|r zjWuS(ZTQ^xlwCg*yyp-+EGAylmhvGVl4!Z99hlcln||b0NU6cgEz;B)OE+8T{cGlX zNFJI&`#JjDb%_Jh(s-z~rq+CTZtVNqqDlfaJyA_|K0kovTy|%0$+xEY%2oZ9CwnB# zWz$r((NTiNl#Q$K0Yu0;{nO{#0DpTnk_Aym=w(i6F%44>ng(NX&rYLyW}CJG*VhH? zdmlvyqx@=upn-0!2G6MZQYkuX=$9{fd8-=f51Nh*-)0rxGq}CD^JfwE;C9R@tt(Ru zt}PM7Y|hmW^P`&HHP2b#19N@D2QCy0S3z!;FUl4`EpK;>^=)jZ0`zI#7?VxD5x}FL z-Pe!SqhxGolhHet zx~)cus|ry&Yqw`E`g}Fi9BfWi-2vwAR8d+tqa_0?pU78LVAD_X%1}f{M=PS&qTi0R zPtk|72-WqEY8^VC)2G!uNEJSd1#{1OON!oDYQCHU+Aksf?c`66b-c6~>Wlr5rONg$ z#Au?$`MX}%geHAIJ+ioY%sv0kdRp6{VNrgB(v&$yV@+x6{!Ez)3^C zjFPNVBQb)#h{Xb-X8~m2*hq2Bh0?4rO6#;AytR)A@kce-L|1lgVMN3#f!@KennOQ> zkXv#WpTA>Z^(B>`TzDp~2dnD;LV}+o&C%_ck&nAsC|fY*+fw}ros?AVAnHprXO z_-V*5M^S8a3pffb%P^RUHT154cU3Di*pUI^1XQ_dWHlIlke79dX2@FxULxd&h8A5^ zh6hNsSn2PwBBhGXV4v!uj5IKBNCILV<4nc{9k7OG$8UuA_Uc=mk>4W+Lx2tDhK z7IPWnP3HCzSsBL{-hb6!QI^%TH4}q99W7p;?P%iVGh;Na{<5(?N3GF+qd6FLhPK*L z8^jIG>`i7yML{1VLEZ|M|*pvfB2Ipvjoj- zMHzLqQa~P0+x8a=LG}Fr-Qu(f`MWDC&|sd30EJ3!vmPD8BL;F_mIQM_5k8-D!ZUuW z@)8MTV&g8=CE#eSb2OI!A8Fg`6T7t||T=ZLTl98l}asMBGYnC_+vc*V+1iQ9U^TnYD#e-LKt6@xZ zIHjLH;vl|`Ko2SGtd=5llw?R3c|eYT90@M={nx<4b7N!cDU1yVKCa8K&H*6VXWfol zW0R?X!hUn}R_wUn?THbbIV$3v2$#j2PCm@3Gc-R-0K+qGdHc@9eeZj{XP#B0dkl-Q z%KfaHXbp%Py$a+Y!)M)5arKnGGT+6Pdy`zB5#I@D$QW4(f-lvwl8*eKaafC& z^2EErs4@=-|CrK%;gQ3YsSGUQARhw6jb!=Jd+kQgzrzQ(JEsYl^ZZ!N%UGxA&d`MZ zG8DEHN7(sZZyj99J$rCjUpUUIaa> z;%+m}h*p8%Dj9$iZ6p#Pxq&|81=ZA!-i*dt8d-u(hGnJAd4?J6 z_XD`T7jEYi0eHKLN-P%)gcZO8Fz{j8vxY^=14d&ae(2kbQk))9R6hNUi3n2l0N$=a zPQ4B)n(a%Dck8y36F{qum){Q#4Bi^GD1{;V%*}N@9ULMTXAb2$beozBL+WQoLqku~ zR!t*|xTS&pc^jmWR;bAdaxpR2lSNGC1Jd*QM~4nHRny-O8X4gR&7#99DuRMjQF2HH zAB4}T@$Inc;mt|JK945>kO>p5lWJVU-z?NB3P5_e8Kk4MiVKx|MEyN=HB!g4DCu^`G!hboev6i;8s}tz+)sr7{N^GFJU({T4 z`3|sk^S}lW&*t;$gD&Go9}???%Ge4;u*edaLkT~z@zi$SyAu`lOrxhOBjp6uD7mUN`f`YWA@e>H z?Mxz0X1pt9e*YAn?ZKYg2J1@E!G@UZ5GzDW4Quo70%shK>g*9tPBvR43;_iVtiiI`Hl+$SfN5p~^V2-sM1L^uY5ATWr{wDs z=P?N_8K{K?+K5)_ln3YJMt%7n`pZlBmENa`+NIh)qVthOX=xU<*|Ik)D==F{4jR-v$jTAD)>cD4 z2V{-3OWxIz+8}6wD-0!ge?Qw}Wt?3@Ei?4cL%b62^A1rq(;C2kl|-?{pW5Q&zq9(_ zPS?#Zj6I|T=0=Hc;6vgn2U;E?Yd8UR76WLEzUG+%Zp{QTmH<( z&3PJ?RZGYO9H>xo!H<2K>)`~J9hkUyDU}KtfOss&{3U8T2A^^;!aTu2)h4jpyBYR* zWR6f2JG#J~|L>uS^nYCX|F$m8gsd%T)-UCCiPLB9!g|izzB*;t`%KO&qvFCaEy!5eSSMKZ z%h9*h(&2>1PpUJB%F&NiC2}%yB9C)FE={OdFgPQd$w;f5dsR6cix>ZLvg%6mq(Ks{ znMBp}OAF|trI49{v7cA&CnLJH=MBjD*I)m!pWxUIpzH19;nUy#y)WV5LAD!hAOBSk zESK5>sV^8s&O;An??;7xJ-O3f$N07>KR-J3eY2pQMdD)5?4!E;!B*{)JKyJh!R{wL zx;C(L(UPZJ#naYMM63Kf&hgvM{CSdt?pQulnl$g=z8GH}Wace{yP2@q0~+^_;{xQT z7^iX1!Y@TT&_V>NaQ;;MA*VVK|BFp2rscXVd9@pYO9}HHe%lQ@X?+{d&wr%#^+&Tg z>u>QV{Z%IBjP-xpFgS2o$ATvy z)R@V@e0jg6ke72>Pe1_k>2e$4dr!~lj!wgvVZ@J*bkfV+n2rh((V%PwO;i#tvjXLe z3kUzjrjG7Y`6iOBaj~?nS=`8|h>DEW0h*aPrXY!GnIAPi`NuKfSaps#JLcsu{VEdV zL%B?Jeom+XCOU>tZ;mvCd-+*v`i}Ba7Hd!~O%1B@(o|r$Cr)z4dw7qhCqZR5HdHb1 zc_t&t%9^NRAb_b@0gMHWE*JoKvl?xwL~^*{;(VO>T_X2eMnEVYi zUcLNmhVX^46fNoE(!(T+7z@!vJT3Mun!o7Z0FT!iuzm1L-VQ%MIKCtVv*YrvOoqE{ ziDsAI>V!qTH|!=1)HZz@TCJ}1Rbb1tLDYycqJ}55?d}zD{%}yhk^#IkWq5AwOxzTuKR342iVvJO zXT!w90#)Q{D7~YFGPfq%p3v&O7y8x35L{hjdVP|ngg6@XE@F+wHO3W7rSg>k_AErQ zo#xw2+nzlHC&jF6T+CoWj1h!(?IsN9(?>krZ)@21F7de+qju-`;U_CAW$eyAM*qRy zHx;xLeubEEmewC55mi_SpEEJiF@eD<+u2X@8M4pBqL9}GUnB^mzd0|5a|DlgU1e){ z*2MAm-zgImhn~fBxkPc;Jc-k6F~icXO121EeROQ=3td5>9D0!>#_YC`*(2m&v$4O$ zAxW$Ul?LoiOdyF6d6y%?5?eKU2eKuHeg|z2F}G!#XFBL*L6O8vHRHjaSN;A#Ib(wZ z)6<|rDxZZT<6t^BNkE{VZ98#`oKtPvW2bfQLuHMcyJe#c?j*QcSCgC|8`WuO$jhrx zUwroNKB3o(ufQCi+wNmJGVk`>AQIXjWi>KVYQ+QKhXK0>iwMXY{D8~eFJ9S80XGL3 za>lHfUB%G-iXSZKa*+ipOv_--g!Dc)zf%Dw;Njw*9EBd2j|;!|& z2Q_JxyOyzE>`<<&03f^HqB&D0sYjK++LYFmsXT9OwcYp3&}iSGh${D}&`=I8%|GA< zQxE0+2z0g40&sSfq(r4!76K$2S}C~a%k%^%gE@b{)nXg%TO-p7o?A-iIWpbC_HOa0 zjUXGr5WXn?yv*OYwfB{a23uII*EKuiCH?^BJQlJo(beUZ9u&#iy3`8HL-EXT&uB`p z)`z2z{0h)Sxg^{7w~rSu*bi(U7cQ~Q{pax~XUyAwoH+68fnQqs$1=EnnZ|#$KLow6 z%vEF7s;bCy&>$dfEnVV&$CiR3lu=XB>4k)TD*%XEMvk{{Z&34m(%HrR(rpOk%byqS zL4{DIN9O=$JY3x0{>Lq)1uuYH7oZ$wywQ^6({%KS{l zlWUryT5ygN8UjLNpPT8qOY!sauDDdSRK~}nzVtW?J9RVkmSt~JW zKqena4yQ?HbZR)U+}JsKiG&HQ61+T1iJ+~k-G<2Y{vidv4>3w6S(tkYr zB|HG+73O!b233%A!Ix|_eQY?gmXb^10T^8eJC^H@%wbPrlQzfDpmvG)n5Cd6pqmkHxn2?^{w9yXf1N)SM*uKu8Zucpj33aAXC8RAIgd~Xm_ zy*QEdg&EGuitu!|Sd^rS>ouCFt(_Q6Jm6Bw4a+zEBcKIa^6G?{!b&wC;mf=ExW*cdq)Q0$7y(TA=Sg`>F8&`1r{*m518AJ%eO^9Jok#h|Mxe=D3HW6k{;OX%f0)!JNWO^7zjCu~*p8}|+g zCMPG`dzzTIy12BtjIEkV;edjRBlfppV;-%qE1Z^xTm`JZWa=|vG48X2D;yqD0vMTc zqbegau_0Gkx&qi&J#X&gV-iduFuTRp>b3PUjVeLuLx|#3)VQmdRh4$Mh}B_`TOL1t zE;?nR5c59?T!5R_kLl%6bSGsPj02=fWwziuB^T^{*r4KLtvFZ|^MveomYo%vNVOCD z+QJ3RMISlHc=c}9IL5SU$U_kO^+6EFlD`0b)Xj~THFwk2;Y;DmvdI{5I_3IrKZmhj-&5VT({S>*nbvh|F>2b*#7$S_;0U}1gry_hHoaGmKGJsyu3^QVsNnQQ1zLC zLD$HW?dB~TNm0XcFMnHJSvekeH51p_Dce0VlGLB%FQuZQ^1u_y(#VRBA8@{RkCXNR zo!m)hhoE9>)rGfAVv7TJjIqRXr{BCQtKhxUzMFG1#DS(UQA0z+AS;QlL8Lq^`t75W zb8ANKbZ<=>VYFbN&qSb!oTBQCUiD(U!=yzfyKi}N&=Uk$#x_po&&1o;}ON zS9`mnjy>7kno8>!JxTqP+$jJFvWz@p8Rw3_-%BRW%|JU`4C_WdG+@x#+JVNk4eqvv zHq=7#yA`L{Q~$kFmy^4Pm-ZZ^tQ!U8^!_jlx_r5y$W9;vROsDs^X~(lEfT2ZV)N~e(xxs&@BCYX7dU`sgqqUV;#?I)txPDAaa4@~K zseYy-@^2j-9R~-K&Dj~1)^?Q4yjNEa?`I-&CRNlyFX~JEV2x8NAGZELVPRoi`Cazo zfTvJ5Q$R}(RdT$(d{0z%wAX`DN2u^ACH&ZJ_8yqwa5G9LnI$s~B4$QYF|tuj!;P@sWa`6vP zK&g3Y7ALeAm!I$8xft(`^?<=51g1M8gc#QiX>mNVi^lsIO>XIlXM?Zpla`MFN;AfP zJJ1gs#3apoQ-(~its6=E#~KG;hKLDfKG~g#LyWQh?(0|4(P=3^!$B{QfXvjJk~8KJmlgJ{=QJ&jMR>K56s9un=*ie+cY&?)&Co zIH5#eN9qPBr32ZB8)q=${8Nr7R#op|H%e8VSZI8Fyc~H;mPJ)ULwMld`5fem{ug4gg( zQHIH|x&o3?hTgsyT3V3RwUGeV>_P4%1+C-9U8-E8NFJMG!h8IvIu|bn2NIqLEEN~c znMh)CB}GId;^kt*Z4nNxV*^wyUFqb`aAJz0QPgFgQTYcC&Z!`a0D1&vUylwAosN&M zo{~qjXeo*>K9lq}b0WPfYCJaXIe;Th5~CN+1~1IMM0IH_e(;@}`kj&t**cjwSVWGq z(%XkxIH25Cug#v=_-+-aap{s<-94gRbDh+3?1u*82Zxw1voJSUga-LdP47&S=53pL zRs*?XHksD;-iwR0(0hIUhs|Ote4Zk-$e%yJA;w%>VVp=g>)C#@pv^fUA#P3eY5&mB zAthnutR_3$ZD;-PJ&aa!2rEo=rH@a2Kh(`*!7hWaH@#LS8nRI=*3Zw{N4E)@l2m_+ zszeN3WMH!87=xjqs%xQ_35wzk)tBim0Ypq>Gz_(6vrk6oTcH)V+AVzbe3|&-d6}|? zS36oM!!fo8(>K38Gd8stDr88S{ry55Pw$x;%Yy-3z!&?|V~#EQ#ErbkYYV3jn59R3 z=1J>57Ff|xKRT*Pw#~+Z@X8~_D zceZx%+BC}SAnL6?^>soVIswAyJ}r8#T7RXMXzP?B0)|Fjqo<^#&=>UOm%39#@434N zf2R3%7FiepK!%UWBa^!mVq^Kp5b}cPIQca(X8wTt=AtaJ^N$DAX;03^Rj*dwr-0+7 zTi4o~omW|p$4orYjgsl*#)(pV)rOi=cge|5+ zM-DH1K;wEOn32em?6mt{ni`DERI&DfahSdgz-x3tc3K1`Jy`p&ysemnUQ8s5w$z(p z?`(;t_Zq3mF>5O-l(qsHwhD~Q1c$|qq?|mF!`bP9uGd&IFa1z&&cOpC#Wnmxl=cIx zBdd`XMK{a~toW+N{EUF>%T&7OM@)QfBRB8Hwtg$E{!w2>OlV@_-L*W8DtMp` z^|#>lXPxXcS%lG{+Cn+>qLNgXDwQs%Wbcbk0f?;Nu+itcu`Zy|;NI_zL9GhI7y(jW;fBJoZatT*&L5ZC=4|UqLAk96Z_Ly zI=3UcbKu{l^&lp*CADoEZT&?NRFr?&RO#@)U9 zV}6+};3q!@dIkm#vyt>O_Xs4T3D5!&Px>deLjKCUQIh3vdtOD7CtXKJq#9qYN`0E4 zxN$@{nc!)TluYyY@o^n3SF^IRdS3*{ccG;)4RT)E%G%0d*{6%#3tQ5RdlZe$s%xgNcbL%37S(6?h&UEhhB2EySl9Tj}NvL}mum zt0ID3i^dMh%F34fq;3vl8~aOGt3l_`9^iuKjQqlCO_T4s#TLL?>!r8r#Slk zNz|^VR=5#+Qe|yo(=E8>j~@l9^TkijJ$}fH*yG?$t+l9eF$`gdgISAo*pna!6~cC= z;TD~2OI>vXDI|Q%`d$G{d?D^VaDqzLvBP^0%SLICgU+tKsYbl!_G2ct*4NhyTAVwY zhAbfltm=Ro#QF2edY2s>M1trSjYnBvANWu#7X4V)pm$LCh_Hq&vCdzs;YUw9oS>k8 zXW_AmBY|E``=qakwteua#<+jU=^L1G{Kka0vAKD=LQzGbEK~EzuK1RByO$CgD+`OX z-RoA;BAqH7IM(t*PnDfKeF;ynvpawoS1jv=N#sirgJx2MAX{tZ1RS*HxST32Rl%>h z`Z~sE3Iw{vZ-}v|rgqgL*8sKy$yin%&+xbaXGI>+HxK?%1_erMS8wnE_mI5IGtyb} zw2~ShgKST+Ai^7Nny_}k``!{0Nu$}~_5n6>G;J}*MF;Afzn0R!?r-XvHORaHAHW$6 zO{A#I^HgogZUvK{Xw+{FYLKJmD@ckPYhrcg*$yi!D}=<)JYBQa&@zQant0RD1hcBY zAESh4USUJrsz=l38y-W|_dEkvb`R>pV6f~#Yin!b2&?+oKoRQeEMB|i_5PreG(e?@ z=w#OGZgXS1!y)3D5@TXorBZhnG?W}Vpj$qO0@UzO#tbNAfQ1#e?PaV@GL$6-sol!r z-jTT0c6B#cDHA`GzCPPZ=_Lm%Y5UCmt^fkN`xx@e_lw3i)lX!23;_1I*K^uijix_{ z?>lzFd-e8iZ&Hwo`-q4B>URJ1G|F&0^oy89)#LbJZ`DOxe8yH*YLz?A(_|I z#nm+&#bO|R`~vZS)DmWzHiGn^ewK6Gc*$I0BrRL?Im)hg1QbE2$&kCNQ-FLJ*lt0?`+?2+SDsb@dDeYXGoQwteXvTNYf4q+E%Hc4(^y`j5-tD=6hI~r~p91N;S3tnr--~Fwhow|)88YQAtCm-gV#*RKCVIVBC zD$@Tp;Cv6~P{`;;6}=@68X<0naOeo0n@U{@=jT-bp_M)#mmbL%qZWv9SUd8j+penU zlvV8zZ*Bv~819yvQTIpLMhl%UJ|S^pps!Cv z9wBjHEvd_ANlIRNacy(Ss`?30sH*BVG0Pd&zG=tL@4fFI8^w#|zC1%MVB32C*DaMzd7S+t@rI584&o^LwU(Dt$a>GHq`=TTZ`>SYP*}Fi}X#{xQ#QA76Wbv^Bc zyMO?VTw&!eB}|$l)3gOKBJlfqf9Er?O>7$?LYI6mZ@=NQdTP74SK+nZW>FjHxH&P< zqzh<+>elRMLbU`>SV~GqXP`V_gBIpx#}3Q1?W4Mizn@!BtxLV<<`yMuUDf)~XGh|@ z%qM(W22dd@^$(Zv(a};1MJnn|iiU=r4L+#N%}wqdg*!aXmiHxN>pz5$+`D_Ggch5F znf`_GX>9}k8vx0oQFiNJyHHHRpb+K|sI7s*MKWh?QR@=5mI_}<-;&oxP%BDYTl2UF z@t)H-jnxW>y6ka#K#|0n$nmn)iX$LluM##!>>K+1c5Z$B7{deMqkBO{UZrYqseg2o z=^!t0T-j~>m8F3lxxdF`*vd%S+#C~s-RBhyc)qSdJVKqb)9I+S4;iToehzhIbymPT z5y*oH$jO}wAar=KsueQSBMVU;Uxu`tb*74aH);d|R)e4Hb`o=_uJLK-#w>BG=X(To zqFZPn;fRXM*AQ#1*2o>}sl$r!Dv;xJJ)DCBaHw}hkp+1j&a`Rw+gfpjRIg@*5JYW+ zCCHvqsL_1H0UY_N4Tp?g@Ze*Y8rS}6S|>sY!q8gHvFn*PjL*GQb-^uKnAJJL_KB_f z(;ZRW68@`Vel<0s(MW6avWflu4f%!mqQ=^djq2qj^4-F;#&5t$+}zxRFb9HHc0+J( z%?~p4_mR8lB>_<#&LCeUO@-IW3zKs1T!5zp+{B13+O0(M#f0hK)e;5lgxsUfap~Ij zZFYPFMB(ddTRD-a69a{0!KWizr)${|QJya)4J66XH}ej}k7+-QtI;qvzI{97z;LoL zsK@99kV^s_3*#5f_KOc>P%Fiw}V zf3j`#t&!myRqZadmA*(YSdCq&wWUl2H(p+ljyaakuq!88HhY8 zd*m$Yy#&k#DjMyK6tj$?!ibnVt6Bgc;k}*6uGxH%n_`k;o^-i<&IG-czJm-n<2wY!g({_jDr|_|~1UE%-Kg|p+V1B2?twsuKz$8=Rq_q!= z*G)nRFF+XuWJq>}vT;{iL2&?ASRyGBWD!D3U;o0_U}Y3AKU~KQxJHWi6*g zHf}tBUcHWF$&2|fe6=WXF+^9;KyD^@zW9T+ce%N#=@4-{+tVm>+B5)@{v)g8o~K*L z+rHbo7sYpXCXN@btEs8MyVuFlXZSEqtMWFb1)qm%H=bKm+MDU&hq@)$3HQ)kz~uBa z+6m%w1(a%)?EEa@6eZz7Dtlu zY)u`>{>#I|LKD@dQvB&#KXk`N{N{tmYKnSMf?|y8$p;f`?z?Z!RG8D~)on#7K0PI% z4cBakwyPm6b=M&$Gf;r?#>+v6VczAHcXs_j6C0!&M+H@+u@h3!W~U}PRXn36^W^d4 z!5erMAMlDf7#I_!I|4uGxZlw5jfU^k)U@8*i%(;DoO&Fwk4WSb4@6!|)qH2|$+pUe zRbm{g#E$u3v_v031Pj5hop$XmuI>cihTQc{t1$GIWZL|$iPH8uMB%qYDM;yoLH zwe%n#`0j5AB7WfH&KX3GLu;NAJKIB8;Fc!io*CFvO8JF?*yKtZCCZusTEnus)rX(j;wD|aOFr`8?tyK#V#N@lVMqnFkU@l?j zd%#+Z>l_WrD=S;=GV%zaPk3ezNZkWPPjS|!dBgGoD8s01suwkEcnTehWtXOm8dp3h z9eX|Pmo}f3+%s`AeVx!c`_c^lJ-Ao>w;ODp%cj$N`z1YbqO_KY-HYkG8)rl{PlLzI zTOPL>5Z{0WAs{vzikTg$g}J2Q^*Y-d(5B$uDgDwAA&`zm&OlRy0R_~vocr#J(~ec& z|636#N3#cj8aNB8R0?iwEnXUul9EOAp_3&(L58lwwX)$1f!2g3%9F^{EPDY|wmG77 zBO$U8B#xjGldKWRB)TEcz!TFco&l@?Z1l`sY!m?b>*;oVUjtpk*=?P*N^w^$c zQRZWNXmSQ~xhyTb3D3BNu8)n;$os6wp(ph<&=A|rZDZcv--891)M}1m#?UteAY;e4 zVy|Yte_t;n)z)s$nqzqRp+Ir01-UiITJY-VMAmBQ#T0~79Q2%4V+!&jLBZK}U}GiO zJvwQ>a9x2Tq7=Z!=4umCSiFHAB&2_48Zc&%wMXn+OC6Zfa<5%C>h9~SkC0xp#WS$1 z@O0~w5gey)=V-4k$voI(|y^fB@&d#^kPKBg?};&$Rj+8P@0sNvPog#76)>^O}9GY30yKeDd}n7dv0UA z68nK|uRf|X?3#tOd!1*pZ!&ECU^Mw}RX&_4zocZ1k`6sA1r9tJ}O zUcLruE$rz~xZ4*RIp(e2%Vy?Xsp3^zi$!ejju|Is;hAUHvB!6CF1w|L;^3oNR8n$g z>CO6Iqj1_zV{<&!*a5fuMx`rmU@B!Pa&CXSc~NvbYU6H-@9G4*IPW!dFQ)<60K0Ml zXV)%;Tu8Ym@EITG=Y;5LeJ|CQ=#rB1M))?=%g-il%!u&!LH&sv0y z*A^Dxl*X7JCD`CW|DiiW{&BjK9T-=Z-hh=1@sUi87`G7{Vd%z46DCuj5o`cR6a4-6 zb)iAp#!S)QsdJ!ex-?9l{ej;!Vlk>jqc4n(?+5u}AUR1|G5U{9Bw1U_E>Y1V#FL$n za}bK<=cGUP{i4v|@&nHdz_CC{EomuW`k5M~ImK`8mN{Ven}Z%(f}p^oQ3w`l!P^<6 zEByO}YF3c_pg1)vQBzZ+;N3H>P+;%8Pe}9hE*_aMP%&pOh=2t`wRn_`C`!hvN1AK~ z5NYj*(s3#2=X$Iy-IvM9!mzx-);2Sk{nzC<+g%sdOwHo>jX@aTpSqm!_9$e2e%_(` zl_OYx33mo->^^>VE#EKhbm$A6Ft$`UA0EC(;=m1g^F9sV@ z(*oe`wOY=%t}L)BgX||m+nfQJW-mK|s8-@Tw_H$A$6gV9@#%^Em$#2fitb*Pu`bEO zc`xLW&H&_F6RR=@psg2dXD0)#QI`npw}Z3ZgRJNvdsXJ{gfv?bZ}~V|1iwYp?zzRO zE&P~%)f=V2zQj4aF0q&XwvVI#zqii6tKVJ&_c#TJ)^WB#wGF<*;ha4)V4r4DoRr|X zQdyktKRs|QgmFB5`|tl3TNyvHoXB0of=1G1R+H21wWy#W#2-%&{P9TUMPjFnyLW_D zf*z_HM*e&ghf5zAfi<`^^xJthOzEdk4y>kKWatdMWv4f49!1cEe@RGuR zZsPpU<@oIxW8Ze-KR>+q7kf!{`v5BZ&*}TW+`+q^vLN9T zwQM-Gg*UY^J>=Ms)|%#}li>~W%ovt{)?$;%$j%!hQl#?$W3B5z9E zM^Q^*%v4*a#Uwhi7p5N*3YD=8v|s=FL>4~Gj7jN-{p)(6_h8ehtbWsUi?rZDW=R8c z7WBn#&Q9$bd#yIb^T_jkU&BzxkB@7?M=fi_xa`LC%wMN3g1`k9w)wBIRh8m7t^{`- zr;4Yk&qYGF_4V_mU$vRbCd(l=6uE)nL<@#B{m&-zpX{l z|L0Za&#N?}v~Ogr#~aOK;ax-h><+==u@R?76Zh04wdVfpbU*DIbE{!f8^)RwR(T z<$(bLv3U#E#n+y|Eq(+A6XEB}mvV4*)D;15{<uqrX6N`Hre4?Og;R5Q zOYS=dT|?zYUong8?i=PesuGE=2;s(rCz=2*^p2Gt($MUQjCAo!K%A#rqn?@?+ zeGp!UHtibxY#btUb5u(LF$1FA@mF=>#>VxIHV!rr|2rK8g<(lOuV&}L`*KL|BHci6 z`FEl~-s$7+t|I*A(IR4O4Vd~_E|BNL7Z>%3;|&brco2gR0^!S(B9;Qx`Wt$86y!#i z#PPGouMr~_mCY?0oxU_GDvI$xC|Z~I;Y5*#h>(H)z6b?=eudI{nI!c(`<0gxB{hXw z!HqB@pxouFs3`pKPU| z6`~aCir6-bNeo|hUYZY2)z`3Z-FiYHX$9~#CGhfkl3>I(-p>wq-Mp{m=SCAkhv4NB z${?e~`YdWwhUbjdXr}5tl$hko!(LlqW^t4aJN(P`q$J|-=R!4HYR61%6S+I7r^lBy z`6qnt$MeLSwxXG>x+U2eisSSzM5Z00k+E!#duf4tpgK@djyBnC{hn#D900X4J>(&% zp+4O|*czEM?_6*?rn0ZZ_w7C8CMGTD_c6|Hrqi5HE2uh+j*!G@632lFLb!drF;&o! zc-~tL_go!J6XFkvIKDol8|b~YE*YO(S4-H9^Fc4vCedl_a?$sc`u%8(p~ze?ldZeW zwL~Gf8c7Q2$X{Sq1MjyzrMC|&W|X|woS7jfo?UApH`PzH(wjG;x`%s_GUuuqm5E9$ zU(AxPFY6I~WOIf1*^=z3)3Vjo6*-kG85sph(w=Hr*1w60n(kVn55Lka@wK?zwPljO z(iGCFt4o>4uqp;eHO9e2sQ8Fwdls>v%W`EPIGi(aFI4;cg z`ULRy%$McTltt3>lnuz1ouZ3QAnVodYTe)AnDlfWO^Vm1z4-(dJ2{_6ZyvRTuh2`F z?li0bRFGBc<`g(RyuW0{`8LJM@ZP<^;H3h(eD5h*-I$wz?E(B~y^?m-)-zS#q)P?w z94`}M%d#-y;B8m_lR-S+QmX}`fYtb~d<0=2P^Rvi*w0-Ba}15VCdP8o%g;uejk0m!G1}B? zo5kj5twVd>zo*kXaw%b!y&2kACziK^UMs#UnNK>22ThhmYH}m8cXxPS{-0yf}TB}2_|9y?r?oRkPTG%MRlcE`g}F8SUMy@F48Df zh54atFd^^ND|(EyTo~@K%{Py?UZawC4Pz4QkZv|A{*!O9)RmJF%V_gwf;Vp-HiEK} zf-lFqDrIKEv2h9L!D+1QY(>NEj#&%uF@8$XpUe>bbsOzKXUzwluj(oNbN9h4!3X&h zR)wIV<|bB0AhoWyH~n^Cjf{0hE5AP;0?VX3(dLxpnePp;Xv~IiQS|TosXN^vxq0W5 zo0dj)5c7$cEijXq<@|({cwaX?L+^sRtvq_{8x!zN9)D*H7b#FjJx)$>0sCVnh--Axw1z$j@6)p-Nj1n@No#MG_yaP8G zJLx$FKKhh+5O1R@FWEScy|rY(wjxCLrbTe)s~t`G0c1}+OfI4+Ex>M^o>$c#!V~2^ z2;~O=y|AJe-+Hmv20)ecqe! z7M1<}gX&WKd)ED&%JTC!?dr<0M>A1#G&UseMAc}*zsF)9Ki{zMWWsidw)gX#iNX{$ z9FITrT?yFyX*PiFw+ncd2c0r(l6K^v**ycGm6+!4NbK2+9)O)Wu zoizSDA&zaLia9~k1B0h(GGC`GIh7Y z_W=WbIJr$9__R~_(>Cn~(;`n#)>&6#WMd^$EbKH3j-gFWTb81mv+PKPU^G%!gN3=u z!FnMhei4ozXHsS#JyEEw*DMlI)7FC_!1V z4Y2pL4(Q`P6Q$-|K@pfSjFB$0FO~017NwDK;;_Am(P!-%voTu1-~ZMeDu;-g81Q%sIUEIl9j@CHxG-a zE1YcnhB@S)uIgdcbgmXrWOdwB3rq@<>K2RZ;Qxa>O|XAa*!TOp1+ zA*OB5o3gBv)a42!jlNXaa(H|w?z*QDb06Ik|BNT~Tvt*Oc#O22hKo5SIAEeE9b_|Z zIJh7GlD~j^${g=dM!zM4|8F!9EO?@THB9ga$4-Iiv-OIBm7bvPv1wBoX}b_A1i!yH zZ7=F5^l}QaF@Cr>8&`sm&v(^3(q?N5OKsrGMn-ON*TX~UgP;U6`A0*++b||;gC%?P z(vn6K6o+7xXZKR%4IWHh+h+bgVWZ+;T~%v!<2PYY%8c&#(F=ebu@1Io2&$0P!gj}7tb{}{iRv}ep3F8O5bgNQpo6Dmem z(M+``isFNWhAw^_qAHGEdE0U0D`SOAu%#>{ro)5>06Nu6tIJo4Pb%c3ndF8eJx5|G zoEs?AP-Usy#QH=XR2q~sIjFBqxI`5SeHZ(&naXb3=!{#KMt-1laBy|$p2`sPi~vtQ z++NX^s2tpH-=5-g7gmad!BF6RaSON9 zx7Mv6Y%PS0=BQ@Bp!?eofXlJdbukpLht>;pdQyt7eF(+fWT@(aKea;AD3Yq7fsByy z8iawuD?O$i7;?dOs6$gFq%c#CwNl8w&opsyArSkzlEa?x6vF{(HX&=jg#RX_u1>oE zNHtFA7<1Y1v3MJ}|F~<{f^rRzF}xYo2!{z*70+yQ=v3MRP#(ikl=akC@lW56S)1Gm z*;>GZ0+rF8S2iB1uEj=rT+@rNN7@t7cGL&APl@ISc^lT=>%j#(Tn9Y{k-`zmyiQnP ze%y5BeXENtWBxfFI+l}PyK)nA>~vQXYmr6&WWyuG2@|7j4E5-G+M(bCBZA1LPv3@5F1Na9et8D|Bg-vJ7Fsaq4BN3s#@}D z<`~1m1VI+JvWZfyxM9!$I#*(6{$^mCDvWD^oTU*O(Ng@`Vw40slr%RWLc%UT(aTT2 z0ipTMDKiyDar#Z}2rXq=wSXP8>hBV{u>5DUh=XhY3*szPV?=Dsb}PEyCzR$}#|Yam zG5Whj@^Rm|MBgg^p?IRFJ{)_c9gUg2aN3udGXhdbw8&*UoubrHIT`xf^ZI?Opsr9R zN1pA$=YI+dA2YKtQ_9ow(;V6O{0htIPQ216DnxE72b)(^Rp*waS`tgtVvK3&JYAx& zy)(bAB$+#fNSWgeK#Ae?0f<)kLT*V3nSVAIFdlKii!LVWe#hBR-Zjg_uN`W8#BcFQ zcI?iH$CQa1F4kvi3JU16`_#!Em#D7V!oq#J-(71{|5+t5T;;Yp24h1JzhEaLy2SEj z+dp4+T+Q@6ZSaS1d)C52nXBuB?&<)wO-tt2@x@Kql&})>Q;xPZ*&_@6p97ACRHN*-MguVz-8Cl7L_iZO4j4LTc>muGtgKKW=x0dt?2-j#Mfx^cz{;rAOZF7^mS z6}z+b5}TPS7<8dNsW2nBYPKM7W06Yvn_eot*}O6MLj5J9%=6^I2fX!dMx5+?^lm2r>RWY(Sj zG=v~kRUuc)$6OCd5B7vUPh-W$i}6|=V7ZL_q6f92FA^r{EP$W)XK|_plE=(#EWe=3 z^U~EFgI-Tg+_gfjgMLcSD04cuqDT#4o+&);tThN+T8qblx`N|2sW(eNphN?ACr^+#wYErEUKP%f4Q7vy<-E?skz9t^xzkBF#<}_*!_3E!Kh1$>2#ePBp zbleUqyS=@2RZnj>*xC|gLgi{KE3b_tm`}1Qlu*AN(XBysmEp&0(f54oWVqw|hGGd# z#Daj%_d~*sH6`5iM+6e+htRhJ4!u7PrJe8Bw}Guisd4i^vY>|CKP3uF;0G{HTF)hG zhJ1K&jCB5@Q&^ml<#g`yp=;s+&F@=5M5~{chc(q-Pw3Mt%y9XDJzG?g+%stL5cr5bMr|#o1#)s7kj13z0*`$$^XBN$F znjdWbZ)0kDsu`B+ z9emw_xk#rrbYfK{x zl4sbiO5R&Da?8JnpRM{FD}FX2n|#E(=ye(`_!s|_S5cA{OR{d?&%P}?3D_w435}jc zL%}7V5Ul65ckja1{zd5_=~e5c1kc96*i;M4293k*;YdZ|VR}&!70XX#0t&`4Xz|bP zg&~A~riql;P+`=Dd~bB@MN@Ug;+Ibt48-LH&kpo%M(uc2gyoQ!M{w`p$p zYKXfM0^|B~#50Pgt{4x$?qv&=QfUkw5&I;4jX64t(MJW4RD@IwQD6{3#~G^5e?4_z z&rQ>tL{+%e@^}31=EKc+d8J5faxyl>5r?pP!)`-hEGB%*D$^FDCHcMNDotL^_f3p! zl%!uoZc~+piI7UxDYd3;^Va-8aufAtvJ+(fjTHag<*7bSJ%Vx(^~2d_e$JUz8!ybn zuf>Rxv!DcY}v9 za}tkX&ThZ=lLkwAPLJ^?Jlr(}|D1e5o~s%lM}1vJ?N=nQfyV}wKtX!<%=SV_8&l9> z=S!)sMN7^Ni_jYNy#|6m5m4}AKNRa)Lb1yW8N;QLg4Lmfy|e$cvZA^t+1!RevwoK2 zHG0@%RZ9f=3sg30Qn7vydvy$z4`sqWf{ zKa?c()be2JIwNPjt{Hb&0J?6}R!!foa;CF^#pYZ#qES-tZlX%$d~x%K>KgRIo}s16 z$y1|RC(JFW)N{l%eeFn>i+ZnejJ?FF&D)o&K1DqmW`rWJl@-rDD(>J5pJT=$uAO1}J8=3#*UFI17HtHW`a~%b*q@H90ZVAmh z+gOcGVk$9or6BGYSBo*l&!~Uwj*)o=(QdBr(9R}MU>)u_H-?S}3HoziC0Fhn+4@M{ zm2=!AIu=XlBODF-^fTGkhQ16)FauKq;=9ZH7u#Yr-&B!b3xAnz=eogp0e)ch?Vew> zRP1oePKJq~MSfG1b@HZw@j0zhW2lns`p_(=cvl=))9gM#Lw9u4RN<@h)5Si3au(PM zZUN9?t8BAQPNaSQ^ko-k#&?^!6ip7psyxX!``>LupT+eZPTL-4I=)p*nMyUlUZSRwLSXbxvHH^#+L25z91b$pRSRndI z8AaKbKjStjEq$~VPMZ^A7FvMl0aTL7dSasb!O!)4)ks^@n-YLHyEV_vw6t=TsLfDY z97*q*BF+`{S6}?ZzB=2|hgEFZY)6m23CC@=F``02zRZeVk zd1_DX+)2zaVqnm%9Fo)QVx3%h+WqA4OE zr1s>a=2}8^_i~dJ5`Lo27Zh0EyzAj}R+3}fc)>%LOuAtKo1?EuYyiq%YtZ?b z0btBdo|NWe7}ZzOySafWrb%Z@T#VyZfK{05At}$ckc=W|8SL(qEsshR(u|6g13rPP z^tgBK>t|e&u4g*Lh@H*SCK%K>V2udBZtU?e6z1lJD@pXYhd$3z zR0xf{mUL*V$b01V#dA;&`qF!K8|s8Gg9jzqby&Xd$6TT6^B3#Z3N!l< z@>bD@Xcg@IFvE>&Py8LnvH%fy7(r%hGDP(0V*b+}{Ct~y1!<-f03%n|0zI7@8+`_W zb@7R<2Uve%`HqGuZWDH%DY`_hcU|N4&n67Qsujc-2U_xN5>dxqV+xGIg83`TP`kG_ z6yj$XBwrbPxqWS>lk`iDY%)O~yVg%!(ys)`E4xWwtP5nWmDQJqTB+@bl>P(By1H6} zQZ2p&pBPbYL$OuEzsONk!fnkWy`z-@ZtZJQE&{s3!dvL>Sl8*9Pu9HRRbOb6=f#?6 zSKx_|jKUou@8Tk~dEc&S91-T$&z7_9__TEevdffVY=~v`+^2XlFgmkP0ieT7hHe~% z1KJPD!azFqY36Z2w#%w!Qe_Jt)zO3`!rFoyKID61T4M;bYBi>ky=jIS3AaOe^;%K97`nVf3U=3i7%%X>$;DvF*jN8xJgrx@CN?)Ty zIRm(KO|3tI`gb)AlOy6%cGYJq78+ozm&FRt#;($9)QJM3?zg9+* zN*YQ4O)8&E074!&FVu02M?JfLdS!I9LKWnXRhV!$#LJdmJ1SLLU3MIR3`3NO$+fI^ zcz}?`@qZHq3)kXGl3%iB29-R+_2bp_9D7~^Ig2vB)JL5K-0;H2o;T_-VL-PibNbv- z=0Dv)T$xUYWvtjMc}(*pN{tha92U&gr+A&WaIOmMR_7uIQH{gsBnOlc0@5Il%RFry zq(wGsQBkEHbn#WcDr=nNiT?I?X>>j8pKLOdJG(#OH$Jtt7*;25BJQk zRfMRa_4~XUAf2i`jS~!AWZ#E0A{KT|uk6$o@4T;-6~?1Ym20w(Naf~m+m7dVaA({w#_KCzvtKclfVxe1OA!5T2f5Dtv2)ZM-Q{8&%ePnK>#*9BVd`rxvytbZ=zBa2acU{P$EnL#y$ zv6aMbk%Z;Gj|1_an;iEt;%Gp{2I$+V>rX2J%`D~p+Q8jF@U_870*xXsR$myc4L4b| zND;3Ml!1f^}tQ^3W7b?eHrH4I5EkFazzhn z$AC6p^U&&MJW8hm9&2BHOg3-z1Biz|f6C|{>h6RgZMX*i_#OelX6Dx%CAt<(`vhLn z`&I>{9OBk{RI!^F8#7SM!itHa@EkCjLo%Eh*-s^8C*L@(PYbtPYL6!+ZS921pU%UAPBH?yF zJ&9p*qAt+p$7aZKtR}7SkI{{lVKJVE*5d|fH@SPYfln2a)(EVCjfaIT`^bZa04Qzvm zojTnXhu*pikKr_X{Zi!-Fatd@C5YxvgPkEMv=oUR3M5B7LLUu#_DkR}LR|?A!a(C~w7#+Z*wu8Ye8QKUyri zIp6FrfW)CwCe=X_t%$7`kb=t3L#yp4t$0(NBER4dJ7u@<7=6gf@OGv3Zm;^8(V-+(t*J=VY()~O7P?Lv#Ip1%*TrJ;I&lhTdKIhUi zK5he2Yq~?Q_Cv)8dx=jKC7X~O(7GA9hY1ps_`K?SFsgz15~>c7hG}4mTtu zYloW_&Opb(6H**0<4v8=fJ4BNvSs|<;s#184PnHTQ|4p-wrokH5zaP1CUD70IGmaNSb?&1jBX0BJTx*=lsJ8ax1bA&FtLw0%Fn|S8Oi6(Dg`!_W2T=*Q{%(JK4ZQ$T^_cF4$@BY-{;E`{%wQJfB!(*&L@B@ z4E?$Ee>N1jV}lYH z1}M;}efS;6)|ycyY@guWga13Mf8wYAnZw`t@n8P6b0$9yV#gtN9Aek5ooLvJhFv?U zU?&yqq=LVEU?&>>|3UnB)rP&)g_d2r1eGrvoHO4+z}q(b?=s+y(RPfsqRENp&z;Lt+_Zmdl3526^Z2KKg%S=A}3Q literal 44452 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 literal 37032 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 diff --git a/forui/test/golden/macos/otp-field/neutral-light/error.png b/forui/test/golden/macos/otp-field/neutral-light/error.png index 65d96a5d00dd8672260f716fc4b6ed33decad129..7f6a9616f3f942ad48453b5d21d2f39efcb71bb1 100644 GIT binary patch literal 38027 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

iq==iBg<^XCK&BlwNwJnhKbWVNC>*iPZ0 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 E56(%mi2wiq literal 37937 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 z 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%0D&X<*Zm;J|PN)4A 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 UkQ>=#TNO)0I6188WWtTV0A4PJ(EtDd literal 39670 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 diff --git a/forui/test/golden/macos/otp-field/neutral-light/with-label-and-description.png b/forui/test/golden/macos/otp-field/neutral-light/with-label-and-description.png index 6f9379b8b0c466b12fe48b743a78428ce9ca30c2..4a9489daaf578984968ae1309e3aa8bbbb9e6b10 100644 GIT binary patch literal 34583 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%0ALB9D*+gR-9iShBA#zG( z5lXih7`_%COgf5jwJ!J4d1hwu_chWYG`yWPS(&owr|qe)KS@c)wsm1t;C(F%bLqGf zMi%T5HXd=qz!ie4FI^XK>mkgw)y2YDCN)K`-R6QQ?fYcxej|1bbbGV`iZmA#VmZAx z`$Ol!ZnI_uddCd`2MK+c=OFVcUao#+DUli-7epS=leFzFVY+*H<~A$r{E(E?u_-6R z;)|;i2f)j_3=MD2`(*fh4R7YH;{8?Z*gJ=mF)<9WMinx==B<3%(5{!(+Fc zhE=un^_{1yt^q#Rn)>#Rc+gB+iqFCuK*-51cs8%$E6b~^rLfA>6zd#-C9E{W@bBic zqIv*jH`dP_16mv2=Ii6utm9%D$Yf;m9| z{gd}2@V6rKa$eK4G^+trOnGyo0>4h?MSZ*8=zK}rHb8v?VDS!8Psr1O^TSim3FE)-}~Ma z<^kKDNRZS%Y|j1@b$cR7m_D3CYuG5@J6IAE#UFlonv`mTu|V z8lxRz|8wq0;dE)1O)jrbzr=I4d1SSUXITVq4ULw0yC5?QK7{*-7>j*y-=Ruk+CU@> zXl!VZKdmsA5+3fml4z6z9s+pOy-uNHXqWN2@~?#0@bJY-+xG6g?TPOP)j}swA=+*}(;ix!z6)>MJ1JNm z{r9@q?|wXW8@={H8$AJ(kDz@EjI9RPb})r01Z72>z(ojWf_vQQFS0wjh+hbQN5b;NDQ(_+JFxh~r4-P> zG%o|tf%BERVNKK1Nc3fGCtqYT7#bpeo@saA&r#ds_LZKHxNv4IOB(I|IZ*t;a1 zo*ws+(x4&2wvkauH2Ar`Fk#o5ks@!c-hw_k?`yjET%~PBVfE^Q*5$MAvrmrgai3G5 z6;1k2c^wNR$gY15U|9Z!AP6^#P-jdPLuu^aT#rpXfG$6YbNwW#J3xvG8 z%QkX@_eO$RjTH7)|74tzk(oTh%q*1UF9`V@wQq&f7UoFB658|NtH;Z?=D*Kp$MFO% zn;i|y@OE@?jC5+*-`iP#fwN6Ea9Wv5Eeh(o!<$ zU}{%O8($PF!NVNrWxLA=D2af+J?nupc6uB|0QuCyg7-qc6=o)>5LKxZm3_}5c%^OJ zU`1mXLNW7?rF`+AFK?e98(o{dz7mtWzVA=sAL!{Z^T_T~|C*-Pjy{$hP@0pQP&LA} zd9~rQZ6#vXAC{R(Y;_A18ZI)Gnzatzi-NZi_UD7c9(TLBH8}Jgd2a{GBxvp+S=UAy z`Bt_HP>iV-+Lj0jVLMh)M@(}Hqap&y<>(nQ4^7Miv9K4;B^k0}&g&{BKR$s=vXJE7 z`rfm(jMKo94V@<%yfn9p%qsbV)~5)l;ag!%VKedVQP#WXbWi&4KbGfGX(TThQ^uVd z13{dto|qqX(2dRmaAqFn?{Et)pDB{YQka*=9awdBa_3EyXl$Ce_4>-UCO61;hQP|{ zMY$BO`sW_46pC=e&AroqM?h4&{q~^L!>>gGX4_7Ob$1n3px~reh}U5~(IL z^>4pDj(nh|7R{xie4nL})EuwUw0Xb(iyP1iT%=HG z^d6J4?9#=HyotZ70k;*ME-M}@yFL2B%|1LiI~cj9D2il5XFa}u`D{dv({;0o%kniY zLJL~_3B-KSAo0@*Xw*79XjZ)@ zX{+j`qjULX$A^;qh(!wioCa5LK#}iK{sMmCGob}Q7~9oGH|>S$>lS#nqe`uwl-|q< zJGP=0#MJ)Rr?>%7Q`OFv5^_XEgAx$Clr^fYDpe9!2YLjj&0CO`wt1^1CE=>Pwmg5_ z%qA%qgW|ZJi3xjRVj^+!oUSSe(z`Ai+&<>onc{pc&4ACwh$HjR13`?OXLJ?UHQ&~{ zVMxWndt0*Wb-3f(jil`f+!nXw(<=!bJ3I5rMpZvL@TPWSbpfJOoWc>(!pg02Z3B0O z>gK2R5OlBSi=Y?o?_H22O^8l=ZjS}JnpJx|qAty=#JL4-6}tEMv~cW$rke7Sks`gP zTQ_;MQekTyx~P=#@t`=lrDx}?_Mb9|EKE#(IV*$+t@vr3hzS&Vubn+TUqj0FvCy-; z%sbPhCAv~u;z#h+fCBchz~nZtPvJW9RsOhDRi4c-EZLRBQbkhP`5M&fs9zzj2ER@C3lgAq;9nBCc_N- zYC&^w&ZCn)BcI{|-eT8=?gAaWVDZN-C{V;ol_KSfs!tAS#^gcPetM~zbH>fBNgVJu zs;ZMgxR_%T?=fjC8kv85dc8`QgQf04amaBPKjz+^XoPY&!K#iMEkC+C0a{CRX`qch zfe;|z+OR!7IykBLl_mtbOkcx5-$q{W+S8{6PTDRmO$5;TOa{qUJk!&YHg|ctzHCXm zcfNYEJ;*NU?bi*U^NDdYGc(F$Dd~P_^KI>;sh(f|JhlQP8?~a86v`n2>`URp9zUsJ zezg7uToki?{1>j^rFy$ zcV%Zrtr;^|guI`<30muMyKoG&$SP5Wz}$K3qfElVFMLqaDJ(49s8~YMHV6bo#bYaB zuxA)6w1i9J7o?ZdV=wQy36P|S1CI~muGJ@`*7Nd?OS^Gz5}zV_MQkbK`6X}OEGR9n zu8NG8lFs@)=k}X@?R4keeYHR9lHR|+#nU2`KrxA|P|-&;!$I6rafUWAE^nMn_TBfJ zXW3NpB~7_6dyTMcX4d@iFgjb-z0V6;6$Abb%hOR%&9ZFkPE%4)F}nwnTa*??i4~)? zYtzzonl=~4VWka&asKi7SG5TcDz4cxU6DP@3?&9Lo;5Y7XB`QQiY4#g+iH%m-*suW zZC_f#NAplOR0zXz6QE)DyAqQD;YI&Vz|#J;{v^-=+fe;_Z)1Na4kofYGVnfzyw}E?0TUxURa`Wz>|v$nl1%?KB6w z54TcOd6{wi+TlG)w#`diOBY?p1*JZ9_8$QL@>$+NK6rb-)w@Jn9(KNOTroVg^QSM$ z(MO7=wT`cL4q8x1r;}sedc@>;((srWMl97fdqUY`?2($}XZoC8B|yz3AfGJG zAg0e51*|xUlRh4es!@4NnokqoDzR`=M_{6(rb!C@A0Be|Anac-4Tn9<&hP3)X*s0xZ4yTdRixW&}X*-S=0sPR|-4KyYIRnS4~PwztcV$g?df^n?Ys?^KwFA_@sH+0{>U#oz%=CWuZbZVR zU*q1RmU_<<;~c{!F(tjdx8OJ?QKWHS3F!Ag5pmDWmo*ED3x(2l7u&ygbs1tbQ^%Y- zKH4P-3z-QwOSz2R6H^!o@u-Jz{V`Z;J?G55m`z`QukW3{w8gv==eBIAZai+?)0uA6Bglis}W>zf`tXg$*1MrxeGjexq`aIkFCsS1xT3II-@N9in<`U981!2Sx`7R1*-eZPmY{^S)Pk{$z^5U{@t$KEzLU0Tn`bsj*mT}X6hLEDwLdK9<5PWhmDEc~xQ zZQL^;cZdky?KHB|_uMEO_Sts}<^XI0Q=P7vlhfqZGMsgDNJbh3{8U(Rtc{>S->TAt zAza;2QRxpfm)f^VPv!0MfF8Tx&0NrXwAdmJ${yDn7T?2$Uo3fHfX68Jdhu%!Xb6MY zsht%anNv$XbVj;KiS7aUR;xl!M3G&0I&^1-mrI0>TW$_E_<2%i8?iAO7eqzIw@V~3 z_>B}v73#Mfq}tJE*FaF8-0gy25O$XZ`A>z&F`4rNw!P6uPs_c1O@I>2ejOP#{)EMi zl-}6boh{KI=4E(r^XvVEbGnnc)u)pIcFoK7GQ5RtkaC(C2i=?4G99o5Sf#a_bUua# zzzhdY;4bGd8LY*e(oERmz>foU8wnyH)U<4n^Z3f=)v?p0txtdQv;|n zJ#}OA%tefqEQqb%kC$Wb=zq4VZ}( zqH{@l4E(^`j*nPyYe=X;_;Sd&bu5fLHd?QnoxDYIlp0*0h3>3Rf6pz-URcJRk~{p&8dQ^&HYHjtJ? zp@yQml3APg1LeL|4Oq?0cC?xfKn&ycdeU?NqFrCNJu)xr;#vw=oh;#t7SP!6@YYy) z!3$V-4QCe@;RX1J^@Sp+C$<9|lyb%<;1>HCd9J6quLjO%aa4mgHVS`2hb#$0yH4BK zr(px&fHt{?KKtuGy#SMe6E5zv;rkZa4guqQ|tv)Z|2c2Hr9J0DNYMXDz|hoe`~*}mZ^=TnByA$nHI3g@6w>FbB z`Eh)pHUMP|x8;LD+8RLCf=AXfavOWZe6IqhUeVv-G>^fd5vIkuUlIh++50P46pfLm z3GFzce-WJf>1v^V9|fus_ShUa(~RJ;NA6@s66YUPEb^`ye>MfIym5+MxlxDY$?j z_iI=KHfE38b4MI~lC96bIj(Fd9?fMmn5@lD$#el#PEdQJ(98e#q#;V8DK1zMqMIRe zCU%|>J>Ok2ki3+ZCJQ1=G)`CU3Q9Na#@l5G@6t`7Baqa-p{t@~2@?P((3&=Oa1_{Z zQ63QAaVPxHD&ZpELuehlfa$Q~30CAbX_A$8nH(h`y|%W>zfKWi&)rpUNq$rFM)14O zgMxykrJc$y(KsWE0P!Rd3(i8yFXvY#Nv~T^N0EYdTGgbs4F{H$CWdHAT;AQ{;vk)= z``)ljhW%cNEElH-@3tq$5Rd1|0kym{2;Vb+v;ZQOb3lWFB_(}%goMEV5tsLzP@lJe zp~~@4jQh`qH#d_&Cw!<~)-_|^wP`GsUwPLkc!(gbaozX~M3L+xw}yRzr+DH50!DxT zw8h%I$MzA%HfC_bW*|=aVmV)c*I$4t>Uc}2phMNrv%>Y}C6j7ExNWiDo9XmD$l5`+ zWet8V>*w3EDM&*M*vzYIM|&qF&u4ORl@nuRpt3~&*cdw~PNQ@|ucN@-=nnn7RSAZQ zTFAqvr=?qio&jepQVFV-_oF_L6cNVZl%leu)TvLc^^Neboczd^CA6=dh)kl zbgb!*mK{?Vp7~+)xX>SNH}1dq+5N_!>=Kth8>jTK6Qkt+%ovzjy--VCpWXq+(D>aW zS{ya~?OO^rCsj{%>j96hE*ihIhXOR2Xus(t6Nw=~k+B6b8U$4-JB6#c}f zu<))a;kk|Sx_b87ja}c$=Dm#*D1lX?Il*CTO-vbX9v#!uL)@bU;qT_PG=+labeEQ* zdskOS18m_Q^b+0vbErbcK+C}%0~`RjnyydxfE?=J3jdF<^oyt8NdNn#|M-eN)&KaW zKl)M0gHN7mHYGt1SbN!|qRh=YKOeVY&deQL zH~-_?0RJD%;6J`QkQX}SbT~L9fis6<`CAhhLjF@<55;mQmIDd=uXwjZZ8_AILv4X1 za2TKup~c_6;1F6||63A=(Bgj~LpY3~huU%=fkVV~kb6VY_`jKE9~#l25gi&4B!U0I zKs2bz2~DTMo>GhF%Nk|Rg2S(WU;NPVuY=3-@XrT=IF!kuLNFX!!{2V<&>9Y{;m{iX zHU@@6Yxr-qhTh{Z*TMI>#NSc9_26(zfCLWp@xN6c4|VWR2M-e{$O`_?#>>Z3e_yFT U`^%mVB#Jv~cU4P%vwZS@0l1SaV*mgE literal 34503 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

c5!rshIR7U=W$Oi^d`yL=6FXipV8c6A}x)sCE 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 diff --git a/forui/test/golden/macos/otp-field/neutral-light/with-label-description-and-error.png b/forui/test/golden/macos/otp-field/neutral-light/with-label-description-and-error.png index 8eb7f11dbf73c54ecf2db8bbf9a5710157fb8e10..811f2f367a3d7f15add9d8c8fceb063cdcdf66da 100644 GIT binary patch literal 43541 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 H)m#4okz_Zn literal 43518 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%0DY$O!PdwVX);_~%p!)g9)3bx`IBve1 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 Date: Sun, 29 Mar 2026 13:37:51 +0800 Subject: [PATCH 05/10] Fix failing tests --- .../widgets/otp_field/otp_field_control_test.dart | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/forui/test/src/widgets/otp_field/otp_field_control_test.dart b/forui/test/src/widgets/otp_field/otp_field_control_test.dart index e674022a5..e22f1bf12 100644 --- a/forui/test/src/widgets/otp_field/otp_field_control_test.dart +++ b/forui/test/src/widgets/otp_field/otp_field_control_test.dart @@ -32,11 +32,7 @@ void main() { }); }); - group('traverse', () { - setUp(() { - controller.value = const TextEditingValue(text: '123', selection: .collapsed(offset: 3)); - }); - + group('traverse empty', () { test('forward does nothing', () { controller.traverse(forward: true); @@ -50,6 +46,12 @@ void main() { expect(controller.selection, const TextSelection.collapsed(offset: 0)); expect(controller.focused, 0); }); + }); + + group('traverse', () { + setUp(() { + controller.value = const TextEditingValue(text: '123', selection: .collapsed(offset: 3)); + }); test('forward from collapsed', () { // At offset 1 (middle), value setter expands to [1, 2]. From 68d932d15b9721df55bd2bb9f304bb062564bab7 Mon Sep 17 00:00:00 2001 From: Pante Date: Sun, 29 Mar 2026 05:40:11 +0000 Subject: [PATCH 06/10] Prepare Forui for review --- forui/lib/src/widgets/otp_field/otp_field_control.dart | 3 ++- forui/lib/src/widgets/otp_field/otp_field_style.dart | 2 +- forui/lib/src/widgets/otp_field/otp_item.dart | 2 +- forui/lib/src/widgets/popover_menu/popover_menu.dart | 3 +-- forui/test/src/widgets/otp_field/caret_golden_test.dart | 5 +---- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/forui/lib/src/widgets/otp_field/otp_field_control.dart b/forui/lib/src/widgets/otp_field/otp_field_control.dart index 06e8aace9..6966e2894 100644 --- a/forui/lib/src/widgets/otp_field/otp_field_control.dart +++ b/forui/lib/src/widgets/otp_field/otp_field_control.dart @@ -1,10 +1,11 @@ import 'dart:math'; -import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; +import 'package:collection/collection.dart'; + import 'package:forui/forui.dart'; part 'otp_field_control.control.dart'; diff --git a/forui/lib/src/widgets/otp_field/otp_field_style.dart b/forui/lib/src/widgets/otp_field/otp_field_style.dart index d5b7386c9..bb10c1733 100644 --- a/forui/lib/src/widgets/otp_field/otp_field_style.dart +++ b/forui/lib/src/widgets/otp_field/otp_field_style.dart @@ -2,12 +2,12 @@ import 'dart:ui'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; -import 'package:forui/src/theme/variant.dart'; import 'package:meta/meta.dart'; import 'package:forui/forui.dart'; import 'package:forui/src/foundation/annotations.dart'; +import 'package:forui/src/theme/variant.dart'; @Variants('FOtpFieldItem', { 'disabled': (2, 'The semantic variant when this widget is disabled and cannot be interacted with.'), diff --git a/forui/lib/src/widgets/otp_field/otp_item.dart b/forui/lib/src/widgets/otp_field/otp_item.dart index 91a76718f..d55f256d8 100644 --- a/forui/lib/src/widgets/otp_field/otp_item.dart +++ b/forui/lib/src/widgets/otp_field/otp_item.dart @@ -1,7 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; -import 'package:forui/forui.dart'; +import 'package:forui/forui.dart'; import 'package:forui/src/foundation/debug.dart'; import 'package:forui/src/widgets/otp_field/caret.dart'; diff --git a/forui/lib/src/widgets/popover_menu/popover_menu.dart b/forui/lib/src/widgets/popover_menu/popover_menu.dart index fccb4c961..a3fb2b340 100644 --- a/forui/lib/src/widgets/popover_menu/popover_menu.dart +++ b/forui/lib/src/widgets/popover_menu/popover_menu.dart @@ -30,8 +30,7 @@ class PopoverMenuScope extends InheritedWidget { }); @override - bool updateShouldNotify(PopoverMenuScope old) => - style != old.style || groupId != old.groupId || active != old.active; + bool updateShouldNotify(PopoverMenuScope old) => style != old.style || groupId != old.groupId || active != old.active; @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { diff --git a/forui/test/src/widgets/otp_field/caret_golden_test.dart b/forui/test/src/widgets/otp_field/caret_golden_test.dart index 033c09b86..391ac3ddb 100644 --- a/forui/test/src/widgets/otp_field/caret_golden_test.dart +++ b/forui/test/src/widgets/otp_field/caret_golden_test.dart @@ -6,10 +6,7 @@ import 'package:forui/src/widgets/otp_field/caret.dart'; import '../../test_scaffold.dart'; void main() { - for (final (name, cursorOpacityAnimates) in [ - ('caret-opacity-animates', true), - ('caret-discrete-blink', false), - ]) { + for (final (name, cursorOpacityAnimates) in [('caret-opacity-animates', true), ('caret-discrete-blink', false)]) { testWidgets(name, (tester) async { final sheet = autoDispose(AnimationSheetBuilder(frameSize: const Size(200, 100))); From 16297dc9218a1041cd6f036a7472cf361643f896 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Sun, 29 Mar 2026 13:59:16 +0800 Subject: [PATCH 07/10] Fix PR review comments: doc typos and markdown fence. Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/content/docs/form/otp-field.mdx | 2 +- forui/lib/src/widgets/otp_field/otp_field_style.dart | 2 +- forui/lib/src/widgets/otp_field/otp_item.dart | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/content/docs/form/otp-field.mdx b/docs/content/docs/form/otp-field.mdx index a3aae5f71..f2a94341f 100644 --- a/docs/content/docs/form/otp-field.mdx +++ b/docs/content/docs/form/otp-field.mdx @@ -29,7 +29,7 @@ To generate a specific style for customization: ```shell copy dart run forui style create otp-field - ```` + ``` diff --git a/forui/lib/src/widgets/otp_field/otp_field_style.dart b/forui/lib/src/widgets/otp_field/otp_field_style.dart index bb10c1733..56127380b 100644 --- a/forui/lib/src/widgets/otp_field/otp_field_style.dart +++ b/forui/lib/src/widgets/otp_field/otp_field_style.dart @@ -53,7 +53,7 @@ class FOtpFieldStyle extends FLabelStyle with _$FOtpFieldStyleFunctions { @override final FOtpFieldItemStyles itemStyles; - /// The divider's padding. Defaults to `EdgeInsets.symmetric(horizontal: 6)`. + /// The divider's padding. Defaults to `EdgeInsets.symmetric(horizontal: 8)`. @override final EdgeInsetsGeometry dividerPadding; diff --git a/forui/lib/src/widgets/otp_field/otp_item.dart b/forui/lib/src/widgets/otp_field/otp_item.dart index d55f256d8..1ba05172f 100644 --- a/forui/lib/src/widgets/otp_field/otp_item.dart +++ b/forui/lib/src/widgets/otp_field/otp_item.dart @@ -5,7 +5,7 @@ import 'package:forui/forui.dart'; import 'package:forui/src/foundation/debug.dart'; import 'package:forui/src/widgets/otp_field/caret.dart'; -/// A marker interface which denotes that mixed-in widgets is an item in an OTP field. +/// A marker interface which denotes that mixed-in widgets are items in an OTP field. mixin FOtpItemMixin on Widget {} /// Provides the state of an individual item in an [FOtpField] to its descendants. From 09523cb129a4ed4f99450cf190486c51d6c76007 Mon Sep 17 00:00:00 2001 From: "auto-maid[bot]" Date: Sun, 29 Mar 2026 06:01:58 +0000 Subject: [PATCH 08/10] Update goldens --- .../windows/otp-field/caret-discrete-blink.png | Bin 0 -> 5897 bytes .../otp-field/caret-opacity-animates.png | Bin 0 -> 6019 bytes .../neutral-dark/all-items-focused-divider.png | Bin 0 -> 30048 bytes .../neutral-dark/all-items-focused.png | Bin 0 -> 29326 bytes .../windows/otp-field/neutral-dark/basic.png | Bin 0 -> 23207 bytes .../otp-field/neutral-dark/disabled-divider.png | Bin 0 -> 27609 bytes .../otp-field/neutral-dark/disabled-error.png | Bin 0 -> 33749 bytes .../windows/otp-field/neutral-dark/disabled.png | Bin 0 -> 27342 bytes .../windows/otp-field/neutral-dark/divider.png | Bin 0 -> 23539 bytes .../windows/otp-field/neutral-dark/error.png | Bin 0 -> 34336 bytes .../neutral-dark/many-items-focused.png | Bin 0 -> 27643 bytes .../windows/otp-field/neutral-dark/rtl.png | Bin 0 -> 35954 bytes .../neutral-dark/single-empty-item-focused.png | Bin 0 -> 24503 bytes .../neutral-dark/single-filled-item-focused.png | Bin 0 -> 29558 bytes .../otp-field/neutral-dark/single-item.png | Bin 0 -> 22841 bytes .../neutral-dark/with-label-and-description.png | Bin 0 -> 32314 bytes .../with-label-description-and-error.png | Bin 0 -> 39066 bytes .../neutral-light/all-items-focused-divider.png | Bin 0 -> 29829 bytes .../neutral-light/all-items-focused.png | Bin 0 -> 29102 bytes .../windows/otp-field/neutral-light/basic.png | Bin 0 -> 23101 bytes .../neutral-light/disabled-divider.png | Bin 0 -> 27358 bytes .../otp-field/neutral-light/disabled-error.png | Bin 0 -> 33557 bytes .../otp-field/neutral-light/disabled.png | Bin 0 -> 27057 bytes .../windows/otp-field/neutral-light/divider.png | Bin 0 -> 23423 bytes .../windows/otp-field/neutral-light/error.png | Bin 0 -> 33747 bytes .../neutral-light/many-items-focused.png | Bin 0 -> 27526 bytes .../windows/otp-field/neutral-light/rtl.png | Bin 0 -> 35481 bytes .../neutral-light/single-empty-item-focused.png | Bin 0 -> 24381 bytes .../single-filled-item-focused.png | Bin 0 -> 29482 bytes .../otp-field/neutral-light/single-item.png | Bin 0 -> 22769 bytes .../with-label-and-description.png | Bin 0 -> 31666 bytes .../with-label-description-and-error.png | Bin 0 -> 37980 bytes 32 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 forui/test/golden/windows/otp-field/caret-discrete-blink.png create mode 100644 forui/test/golden/windows/otp-field/caret-opacity-animates.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/all-items-focused-divider.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/all-items-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/basic.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/disabled-divider.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/disabled-error.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/disabled.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/divider.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/error.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/many-items-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/rtl.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/single-empty-item-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/single-filled-item-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/single-item.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/with-label-and-description.png create mode 100644 forui/test/golden/windows/otp-field/neutral-dark/with-label-description-and-error.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/all-items-focused-divider.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/all-items-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/basic.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/disabled-divider.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/disabled-error.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/disabled.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/divider.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/error.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/many-items-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/rtl.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/single-empty-item-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/single-filled-item-focused.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/single-item.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/with-label-and-description.png create mode 100644 forui/test/golden/windows/otp-field/neutral-light/with-label-description-and-error.png diff --git a/forui/test/golden/windows/otp-field/caret-discrete-blink.png b/forui/test/golden/windows/otp-field/caret-discrete-blink.png new file mode 100644 index 0000000000000000000000000000000000000000..a378e13ca695a62c5d157586bbbf284fe5da42d2 GIT binary patch literal 5897 zcmeAS@N?(olHy`uVBq!ia0y~yV86h?z!bs31{AS+T$>G~Sc;uILpXq-h9ji|$Y(4L za(7}_cTVOd1B2LRPZ!6KiaBp?Z|r3;>Ot}Kw9=LJ=xIJ*?9dLW#%7?hK>{HUto!Mi@Y#HC%mOsqmAB}KuSd3;5NRk-hxfWj;SAY7< zoSBuiY&DZWxfffeuIV3o#aKh}xjWVGUn@g%^aE4*(NY~87K6Pg9<7?8NtXN;!~bbB zEsa0_;`yNht&%Y^^$$6C)jV|CD$nQa{C@AcJ2ZF>WZS{oVxvtrXqdnwbu^PhLS*>0 zzwy=N(9X?hZv~niMjNk?fEdP&*U=;oisI2W6Ew$@-)4f26^#!5KtmFD3*z7H&B;ta zRV|L+{NHYr3IJw70a)KkpbJiDCc;(`njxgN@xNAb*d2$ literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/caret-opacity-animates.png b/forui/test/golden/windows/otp-field/caret-opacity-animates.png new file mode 100644 index 0000000000000000000000000000000000000000..6f133b92fd25d2e103e1ba63e9ca3daf9eba7ede GIT binary patch literal 6019 zcmeAS@N?(olHy`uVBq!ia0y~yV86h?z!bs31{AS+T$>G~Sc;uILpXq-h9ji|$Y(4L za(7}_cTVOd1B1A(r;B4q#hf>{HwsD{@US=@n!D1ZblJHV50Z{8Ilfy|;pYps&EM~F z1GRy`zvB8lc?gq%L0{kkBZTeXzz$(FaJ+!ZDlA}z%CVF{h2Y8+n5>{eaODDwvQQzo z@{R^Rs1RJa3(Ot{xN;?!Jq>W>g2T;Ozns(3&YpQ|{J`@YV>)*9Q4Ss=Lni>U*WRpt zf7=}z%Lj7phFipqCUa2Sjur~g6pmC@{hKy3(zy6HPsOC#12eIsJ?=xVv^x-${q5fG zZ-P({7tH1#E&Rb@G3@H3(V`6$ugFE){?xQ0X7Bg6%FtZ?z)XI$BL@x( zq&6F@J30gl@zLHmBw-KZL4wf+87PX88)PGN0IFgC+uIv?nGJ!1dAm%eE<1PSruB^* z8|6OuuueCK5*Yr0)bPLL+|1&0ZzVr?y<@JsU40(dA?2x1{m!_5?bfulrPXYECjG9E zAA-YW#-A(aJ>O}|1S!fG@;*1hYNR34%ox(+wh3wb4&*s@ZcPvk07ZePtDnm{r-UW| DH-1+A literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/all-items-focused-divider.png b/forui/test/golden/windows/otp-field/neutral-dark/all-items-focused-divider.png new file mode 100644 index 0000000000000000000000000000000000000000..008be874948d416ef4a5fd1426dadc67fef5b702 GIT binary patch literal 30048 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 GfBQcmRAu~;KH#1$v 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 g0d6Yz-GS&7lXk!VKNX{2Bme*a literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/basic.png b/forui/test/golden/windows/otp-field/neutral-dark/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..12255842dc8aec3d450e8eda9d64eb4fa96371d0 GIT binary patch literal 23207 zcmeHPdsLH07XPfRU{}S{V+A!ESX*_wQX?K78X@?mtPA)ADnbwtAp$WXNk9U$wnZ0( zx}Ggcuus@AcTZK60-Bz{2;JzmFiu!obgV>_d?G(Fo$;=r|9w)Cp$Z1;5@+-4=Mj5tK~F zxU=ASPU^mZZOENY%m{+GA%Q!#9-tSGzNlK5vmR-w{PFtc&F1Dna>CND;)vhQJ$c)Z z?f}ME3;(rnj=hd#A8mQZ{&03dxV?&8obx+--EBkkzx(f)=WcJ#d6M&>tZoH6EKM_ZUe$exm#9*%;#!LS>ij)8O9Y5?gy3 z!<2Z|h$YWQORG+2`c9%JRc2>&Yc#Mkyj><898GAz`(Z1B3#AFKw)Gc|W>qgcwk9Cf zJN4{e83X%uUogODiqo;tKN6dU z?)PIdJP{n?$NneS&eipn|XMAQ??2)8*2U?hD-=YiT z{wD0P)3s4SJ)WwuF}_lH`-}^i!vk+-$MYm_sY;d79?zvvC?1_%U94@ld**K~C&;=%wsn!pV1Jx1M^mw9=6dKKE z9S+AAi9{~`l5ezyc< zD|OdWfnl1P&69+2r8tjr_b}$vIsgdbN;FztS@qNMnVF1HDsOuM zxRHr@l2W@uC=`bH9O*d5RZE10A;hpnU=o=0SRiuIAk#+{n?5OB`_waNa4mvFpKo+L zUR0W0MZTBFP;yg4a|IjdYef-Hp8b+~epWC^pN7u^_6xW#jw(sfG zBrT|`qjS!G9r7wSmCYt?NKr5qJ=gi@vOY!+<4&CDxm2^RtCVNp@p$t3lj^=-7(On(+P8U_!HgtDs-s5W;pi};_s_;fAouIH(&Q$k~B&xz$>zkW=l@sulC+doOcym zO&zGU*{RFFH7rsni03Xl1%?jjlf9W>Wwh+7+B;y*8|PU?b;>SDw500gr+^j)w9kqD z#jN1j@mkO$ceTZQHxi4SH%EV3*tS&$OcGUKLKI2y4(JN&94#xnd_KU7RK#Y>4NZLt zZTCl@SH%utnqZ1?@L+Yx-k^|%mq1#6?uXz~?uo_82Fi4mC~4kR0C+m1Myyn2WHZ2! z^`2{&0GV#BCGoUR(HA%M&f;TyCo%wWZp4QE5olxUz0?#e zT3PB9K#%4ya~-jd)L3q=Z@js;=fFXMKya`lo?Fl3aXMO^$3RyvlDGz>e8=%uRkJDL zDXl+wOmXDdLOdAWBC~>S33h2D!(cMV`^1v|pt7F&#>U%ud3hwlSD%AU3ZZ9E7XAViBpRw6n8QJ~??WlyeY- z_d~Zs1yiPODZn!ET4GUAaG4jggM`1@qP2Z4S@W>PeNk{$KEgDxHW zT$Uc)KdV`PuxM2^y|Gn@u ztkkl8!9y z>e962hnyoeYUB48w59p2V=0bQ-RbDdMaI zylw}Xu(iM>1o`#FADeApt_ZVe1cCs90D=I4Ab=o%AV44penTM8IbTpA$ns6-_X2=j zG0ggG8u+hreNOh>t z5Cl>Iqyk6tpf^Bo02+W)@PAANBw;?dX#wucOh15kiz@^i-A>+ATwfLWYzj+hjbI$Tp8hwiIPe_GBIV zHpw8w*e53I#2C!jXMWc`^6NQ{??3M!-}gO^@AsYiIMle!ecji6UZ2nB{G8`C>iK0o z?X8>lY=$6c>p7jXS0QMVIRx=;+_(XpDQH_*2mV^;bo$)&jo`p+yzK|R=W)8KeHzMW z6di@2ebBkHe_VHa^`k3$tG66fp4IYJRh3?P63^;u z2z#e|&FVLPTMSoULLoeStFQOToB!|o&u)-jJ?;I;d;RL`ZNgcrFCp=@J6B(yy3HMY zH5S~kaMAJ;3tSR$wdE%ixRT3F7C)iD&7oXt@e>MM$Hg_GKcT?2(A>)6Clt5^7q<@m z2?cI>&TTBLLV?>@_z!I?nCG}U)CXO+hO}JsQB#rU_PMi@FZ$2DIpZp0N0i$lgpu3b ziM}y^y0q&?_+n-|>ua>mKRRxk{*f1Xeic!_|AQFo{^6paUnTeUf5_;XU!I#g_^&P} zH!Q2_vX6_F)lfhoToSFu!jG#htD!i>mE6@(K;qm?v>Jd{}#y&Cz%4Y-0vN_yJuQ0 z$X(1bX6V?Z*4?e>On_@8eNrRFJd{xk2#)qtleIOniuS{*Yak5_PuWK9_t~B zivnVP(=@#(5(h!$QrlqmmDQ{1T9y$hS+Rs$Mlnh+3Q-X*dsRhkzl#ZqT#xGPWK)YPj9#-T>rsyJP|SrF#kT*(5i_1 zF-xgpjWXsj!mfmAH?^Clo_8I>=Qq;4=iL}YZ3y~?7UWF87Tg_yU|M!APt{K4As+=` zy4$leN_D+-lia=BH2#Z{Eu32H?l@d?Pzi7XBD#eG~FIN@r!x4N1PjG9)x>vUdADSHU5tP8r7!LCexUN2KzG9o?x4R!KGHCe*+uh}`q({=oR1>xzI4gnD7<%$^g(2n zFg?fWBQtRF2r_ay-&$3&sX6-lH zNb98a%cKV#Gy*FN+i6p(E^S#BU5jP8il(CHX;#QJCX&+vAfR2a|0uuoBf=fC*w7G} zJUZw)JbhOUDP}Ld)+EHfyOu&f5uDswPK#;%1RTKo7dVe+G;$-1E_C9w$_p{gpr;f}Xdu6?(go0}*<|Ey(TGJ3u> z^c51*zgxYu8ne#LlM}HfP6=JR+fp>#9aF3x7?D0`FXHMtOIgBP=Y>e)n9@Kzelfz_ zW{)NO#0S-csxEkBe)N8yMQb!y<{2a zP*y06@6>eWr(f)FCl`Yytr)m5P4+JkVHA2iDgbO z@-wE31SeJ0igjMp8Gg9aYZv1D<8#P?0}synhut{*T%7dSL_+7v?mz#$DEE4e=AUtE zx5#0up|wO`o}?$HUv_TXETOY)ol;M&%N~4QY5H4&*VjYhwd5u{WNfZM}MUjhBsKP0r|6?nYSO4koSrH4Cd zLd3*u)X_0Uee80gpJ8703)~k3&*n>5@RU~PVSa9YpPqZ5%ebCGwatBrR)@aFUoB+L zll!{%*r(U9TtZkIPmREOux0)^Sgp;roqy-iNx9kCHYZS<-u$&ENb9SuC53utuf6i} zLX94F-M$$>Uh`+`fQ@_OeLnH($M8(u*>{l>JeO_S#&Wj~wYNKdd~qIr^Lgw#bMa+> z=tvnJutn++8Z(g5ZhNfhV3+e+f+d z@~LrqQj+J_F@_16$K2~(TL$Av@TNy`I$#1B$#6(o_rrbn^)EWjGuj-}*L%<3ve2+` zI6AZ;hqbYs!I`HDXP)Mtj~>0UN5ectI7mxk*dL1ImzjN1uRRfVKJie#5S660AOT%F z?7_J=;S%_`?`1i`S-w3%Rxyc?T$7^Yj8ELSEENa!=!7f+WXq|0T?Zh2eD`ozt(kJP zQY247(y_O)7k}*1e50}EzJ%rk9MGAKK;KSP+*XR*o4KxhUBggr>E$CGoVf)F6>{b; z!I^(+i=%zjn_HE=pZ(9C6Fo{P6fM|I?&Q9C{g^q$@At+({udM`~ z-+%2q{H61cHfRX+YwJNAj{eHweRj>Sy@%&;Yp%L|Kfsi{)oE)Q!{T9YNj2NEO9>hOwS!QIcm5kB;)v@fP(xlNYfKUl9o z;urPk)w;@~mhIq>X6n+EfMv%pW;M@N=dscs+_O2P_ZlhKgq+3b-Hod2LV6nY1$5iJSRK!6nOj zOCvtJh7+_twK6O0-6P6HZR{D;TL(o%M{wz89^dnspBxKCXVXlCIbRvZyE2y-z5ciZ zL2t5_o^AybsSHXoy|U%W+GY9(vqG4cR)oh}G)-il9d1d?W`BFzt&eb`K7ZtCNjW28 zwNwfQGwb+pva7pWSKIQ6rvxZxPK#?wlrRJyteWf>+ig!pb=%bAt~ zp;1&Za@>^5)<#~;U5Vb5yOmVYb%;{)7xrJI%Y#=Yv zlRZ}i<_bc-#*nY)+bMR!WSeu0?@d+L>UQnYNcUhRjpAco%$(ThsfxIq#Z0^?6rWveMpCO7PRvt^HI>P-YWe;Vu%{-xA^IM= z1Wau@2-dNzL%n1$i^qh*w{PcI{9Yp+S!;|+#$t#I-xm?ptS7!nj6Oukq{XX~o=Q&X znfccGRLhAO2J_N|YJud%}iU3pVgBC{WMm zs*Ioe&ERI){E1_)$}3y?`ozG(Q`qx!luK3^TuMwVHCDmU54<QN#l%bJrc zY_A^AUuslUKnrI1qX(+Lfb+ckB}j_r(oFBH{G&Ym)CR{eIM~MMK6uN%=eJysqrV~4 z54znj-+Mtt9!;>>(Vf$z9_zYE&cS}UMIwp;bVoN(`ptRGSm`(zfx+Xf?>&VHY&Jrj z*&g_00*=n}m8C10qr`To$rMDGdflnjCRQ}S3sa;ND)G`B2?L)fntW1CZ9AD=!S9s* zyb!2gm{A#<#aq~R+DktZ6=sB;YfkC01$Z_5B>D%ieA4GD4T#SO%pZ+uzP{RysXj~U zOOv%k59gVy_j1eaIzG6!CYbm4OK3Z#`eNq$QX(@n{99%~+VfUC2q(Gnt!X!NRC2@$ z@9)n?eKIg}xP)P{N{PAr8ViT=JAoxb4)TIopGWL2>$9u;1Ydk7Z&vu|unw$HOUg<-4yl9>@+e<9UMGw?zbnF5n z%4_liq)T%gN_2?7+4nCY*e*OIo5u);>XE!fp zR;)MNRhYsWZ(B=u$Q*CN2fE)~q**=L0Y3x4+5r$RlJgTKK_FB$r6o9mQxiLMTf6v` z)HW;8(xUhACF)|m$lU^OwLuhoR&10YCy9fII*rdg4^1*V>Ikp)$>4F1Fx%tExo-ya zp?-DSuP+)4?s4o4fYfxUpuR}B1sEj$lfVs)|YY)c0j?zm>AWZzoxl;gZ9xV@? zVfCGz#T@0RT%)Zu)7j&xF1Yp~!$Tc*1P9$*+N!Mwy2&0Y({RG>=FR6MHXn|Mg$ybU3~-Hww$3wu z*U6nVIf)vL36rA0U#?EvF@r%VrTiuQ9_ktV3I&?=EQ(SKP1Ef&1Q%C zA>Gj6o)i+5J|&g;a?7=C*Y?KdqKAVE&^7*scq?7!hcbK1`Z^1p)zT!N)|}1;JRLE@ zlIMy{GYRNL{_iM3zSd?-hnlHD*IHoOD5TGW9}XJ^d}_kd>xCKlWsAPFYO|&J*gI=t z08?TAeCjP{DK6W<%ylBfhgKS7mgbS^C)X=Kpv+~f<1MGFLh`?6s#*L%d z`(Rx$Vvms!3xN`y7i7z}$98A!2gay2v-c6n-vn*(@cR3TS}DWD;lcb9muGE z;sF{!D6~)Zr%XhRY6%ErmeG^yv~I&TjnYP9YL}QI$^c+2f%PqHU*Ad(%G8M3^f@rt z)Ze;vu>_3Wzu4xBuxfXe#!KX*bQGLfO9|*?z1Mn0q;7|@P@{La6VGLhzEA05J8`%suUAH94&gKTEKbQE1pSvRPyndP+T?;SglMY^*?H5!g#+b+c=y za)1f#nD@jD-2{^>k27BbS4%!qGs>|qg-TVNm}!$c>HuY?WO$Ok&&l3P2I5tG!F=Zy zejt*2_m0Mj0M&0itqCsT3*7`)R6@0ai_BUeZ1SYWSLz}#UhC2i-YWwa&Q%WQ-_9t> zW1j+LMtfQh*3QmOe`2lNt_=1?QILd6r*TchIizc5v1(2!@>5l%oHGk!^`6poJT-Je z;l!8NlM{;K1Ix1-1%nIVPCGZR;J*K-f0hS9@W1t5B3wVyG)$;`3@nb_b?vhl$BCY! zq>cG!23tQL^|c5;N+mu$qNOdXnXVu0Gxn*qx+!~NA_FYta}dAA5wY2fo6$x%lL9$3 zqGz^weanJpo7AD zON4;R5lFMM%!9qwZ?I_C7E(a*R5-Zs?O_LY^70Q2w~_D(I$Y#LWi@8!lbJ->`v6=1 z+WGuek6qR-8(Ry7yW2HQoV)eaY-u1O2PNr58OhGKSp1ep$2I{v0lkWBo|ZfDMPt-$ z7$j_)b~JD-kxi&6xC(+e3)QjkX_o>CJZepV2J76tZq%>OK6<)i|ubPSA_KKmQU%b<3$%Gk<}>v8PBEiKKI%*sT#qynu0nIH!RdI9AaPU%%1cN`3I_cH+m$!%gD>nN>PQS3ga11L?*g@<5I#j>y2 zbrz2%(Z)g0lgsA6CLFd+GUMTE6LAoG?okp`$OLLX2OLrH=weJqzUx)9Aioos?<4jp zp@sC8`pjzJeu=q3{Pup};_JXg^-Mm(jd$+#e2Bf%G7a?n9N8N1!-ul*Gz^nOz|_Oa z&+F3%=a$vYE|k(f`S8(SV=-1ckKC5o3yR_2L?baj+CdFVp%Y4Xu3a|s4+-IWFg7zv zXHR78kcz|Or6y3>7A;Of0`vtDhc5FCI}?C8@MlnI_3JLw4?3z%b}mw6SxZd=UsGC- z0nlDQ66WV;SYmr4&9vkQsJ$e6sjpqh3d^q&LH5{q@wg4&agwpQ%^A3XIxhNPMMI01=cV12a(y z*`P)X-ccXXG*Ti-X77ucpP0R8Y!3#We!VjOA#GgA4)_bs!(hEc#EzY4hKroeChUGY zNLoe1qrV1x<0S^T;owI6cHTUqAP;jO~iwTGoNslxf=i)dIADh()Hs}=|eZSpR~1iz#TA9LaFl$&AWqC zfSYJ?CQPZ)M9Utov`IGaD6(~Mz%iwo%4!rqP($BNzSEItgY&%Bzb z3KpsNTIFWPU%DZ&zJ73ZS`8%Rta0~Xlg@IsA*UNCCJ6VPyepj&_Lbi;NM2WYLvu3< zAUDCb4iA2?a(Mf2x|b{8?E9~2XHB_W@dL@6^X~${&vxqnxH)&KLUB(6os@X>FbM@k znjK{NJYSC62%4Pt5BN+cOjK^{p^|{C<=<;`o@PECDR*rCx6hS)d{Lx^eHTwoW z4>_hd&l_k8dTL$)&E$)TBmbDu8{2dxR#9&5ad_T{gUlymhT}CNn5=dK&8S3Vf(dK`14D9WV4rx|JU&*R00zy|LZi_c3`i~? zWo#U;)}O%4}fuB2a;}yfDNBtZ-aho8`%fQyv{T)nqxs$e& zQ8X&{R%4COOBUd9!elhK)1d;sh}yVjJ5!@Di@LuPuN(<;%-HPRopK$t&JJ7W9+yYB)VAtEB)=h`TWH0OS_#H@{rkC#Bz4}xA&vrWfS$j}CbLc!-0 za#K3(YA0=KhNcw3eFJcCjEDzeQtXSDZ}&r$Y>zc+7aNq)zW)L&LQbxzrKRPS^kB`L z&ZYEOo_%H@1fT;MpPqhPJVTf9PFaK=&DZvhZ)<}eYh%_4&K}A5J{VdTuR17Nj8rB! z7bYAH&&$_3d|u#+e_kHb25ldJDiO4XGzo5RZ?`!bA#qSN`D>sR z29;6+1axjhFJ5Df^hFpf_wivsoT=KNsQLB`>{L7;{M~Nj5WPTC&ajtPj_=$e(#Ur) zCGkKPN|xQN6dkl%By|u-_RBf7uT;i664gDT+5xP4#*h6GwaO96SA|n+YA&IZJc#1U z4<584qI9q(Zk)}K3{J(?+S1pxy*~WoO;*5zok1S)$Gl$b{2JYG=u+gyib{jjHp=Nc z(zUiq;SRgNZPy8@GbZ_WcW}^NBWh4{KhyaP~sV;MB96 z<&^dDUv18|KIPB&P*I$vDC=-Y`DKueqWGSmq^*PQXR#(7GurYq1RqTpkB%J6e*eOr z1}nv}20xFpPbJiLCV7DVm9)wN#exGmsFl)Gu#!N)pZ^6r9GvA_d7%H$JsR#4{KVsb z^F|zZk-3WuN8tbW4QVb9xIEzU;Qy8JDrZ}hf`L1SpbhiJO}AVh0G9}kP}s4r9CDma z?aFKJX>Lp)E+Bp~gUbdk8@O!vNd|7p_!$VUJaXlcYoJzDfy)Li8@O!XvH?VZD+OFB z_%}!a(%k$5_yCz1{C@<%0p(UpzTMUo-Z?zefUXnaYo;niv54?vVF6_#=WV zN8~!N2fuP~PyY-AHzr&_a7pr$3=o$MTsCmoz-0r7z`tDz4yVZ}sCuO}9freuPE+q} J#%c4%{{!bY_O<{3 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/disabled-error.png b/forui/test/golden/windows/otp-field/neutral-dark/disabled-error.png new file mode 100644 index 0000000000000000000000000000000000000000..222ebacfcc277f432b076196d21032737da1c949 GIT binary patch literal 33749 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�cv2bhPmMA&tXhMA>%IXU&n&o8dHFv(CJu;+<*bZF zOGcic4b+S>17?ES#*Zr__O8)p(>2QmXpB`8ObX3t7!CL{TcdibIr~xLO;^AtYkc-u zOpn#^8I&?ztIFCdu?Pt92lNK*mZ!a)u2K(KikW+o5F|hKN_JceE${8Es%FI@W9|l8D9>(Br?sARm2+e3(Mk16v^jvVC=(M%^^QkpuTOO&zCe?;L~o2iGVfo^H#MntvDVI!0%R_DlR6LB+20-^x zI>m|W&tr#Of$BRfdj1CZ`gnAUMdximcCW;f5)!DYJD0=ep6^Ph#K!Kd?RrsK5!%}( zk~{MJ_vnC(=_=as=6d> znnJr>ouTFx&(;a^kwcCO7mW9 z`r4LJ+x2@SBvydo^0Btrnij?86y~jH|E#!LCUDMl`OnAtt|ORhlAkn%mW%tYGa!$x zCA!xa&2^dBu2^i3eb z_6%`|Se;!H7@xol$+Q3rF;7-r?w zEjIYs>`q2q%|=sRD1+wC+Ic1BoKk>{UufsSy@>7s^isyl+ zCdms#C<%RrI&cbOwe)r)hTg0Tgrhs^2r8uBZ3J`!++Z|ZR>iLQplXFkO0u08C$ zeiG>CK!U90swpuC8Nw(yAfYWrKt&uDx>^bZHUzz!Dvf~@=7OCJW<6;vL+~mSj1B1C znlWUCts7=&2Yl@2sbmHW-|zR-5D0k=52RbBL80Nwig!}!?>2?xeQ{^74)RjO6{e3XbDl$AXM`~Z zFwE5SrU2i^NQk;N@BJJE17F^8=Hi#8sfzSUyNekaoX4y8M+lC+x5Ns|9)4T7hegJ* z3;X{9mQo=R*GAZl)N_k3;uKq{{kWvj(d^;?)My1_AU#bCL?G8>$C2xk?yfcztrP+r z*ws2$nhvH5bouAq3#3u)Bv*5_yD=fms)15Zy*88VFrDwk6%y5f+OzXOwzGe7IdVjy z#-~mkqF$+wTNovQSlUC+|eA z7g&EmGx}_Nh)!__%RI(7+f>X6PxIPesHne|1R@FKkHhu=oH)+-I3=J$8fYXQU%zrJ zS%eBY-B}LeaJZ0=urjqSCGc=J_@!b~7q@P4YG(x7#>8H&5e?`lAR~5}4){!&Wd7Vb z1PWc!E3W>0A1XfU8a}Fu}lZEw6(RV3=LRq_xN}KFz7@?M0$Y7KuO~IB68jEtB1G5;2xXkYG?8qYn`F{5GnAo z8%Vz+2@|4DSAu%p%T2^!@^gSs(gcxNni1CFXP%PDD=4%kTwnpIniBxU~etIGwkaV`7rXnagig z-iRj0C7VdJ%Gva1#U2Bg&?`01xHa{%cY#g=@H+tV8IVDAPoIRCIRFtkJDk~NK!ZYn zJj{spWfJhC>_BbAT$7}8qRbJ6&Xtp3wrSc>5CR*P0?d&E3??G64_S2|_}2Kw*`~vn7QYf-Qc&e zO-2$MnPFTH#EYSyJdydS#GV532xV;EAALB7o|?t5 zS};u|Wkld*q!w5!5KiCIP*YXq6g%mDosUC}wu_GebwpI7x-Ue`0Jfn(LKVP7YuoFF zxEs4c@zKhLLXkic;97EBS;_BEcIaY`*S5E=;F_aAq$h{%WX)SJ9Fuh=D2i>yNdT+M z5SLrxue>dZ+#W~rz)9XkH)LzDfEkwB1|*3e2eiQ*<5}r3F}I?3k3G=1mHS)fo7wZCHfAqbke017mny^1M!83qJm%4*#v z+BDMcnQNlIgw%h1)#=ri!eX|998~^JbmLwMg$gp%hnF$Iq^}b_LqkGf{dFjs8=Rwk zG5X9n2+JKo{;Ztq0{9;aYgU=aHJ40vKV|*y?1b|LdjthRcou&JYp!omi=b4EqS+Ey zr2N+I^#wP^k|e!rRRU*MsoBV2k|-_hml^DeiUX38Nj2fxB{lQpPIJ6Pre=g@yUG;ypI`FOlrKT=m!70xFhQC+u7&eTMA-qQ@*_io|C z9h!cPn+ivmt0Oc@Hg6A0G-a+zK2|4p!6e534xEOdZX>4^w7t%%$ zYv_bE|AMv0kqq3(EfB1l4MyFkGQkaPP5-CL#;^Wn$5NfzC-^$b_y(8J5RHy@FX)4? z#w1H?ql)4sW>+=OY%-b&*Y+HJret1foxZ$$9KGlX*8ZuNbVhI^TuN$Fdb6@pBa6IA ztT_K#@rjOsrsY@8Mz)!qVZQ>??%>wIj%}4I^kDJ*b+>2?N`NazQHJSM>$=^G5-VX%#V7k~qho@M~q_mtsVnuTsQ=L1A&uJ3Mw zN`D$|4G^t?%QZ?)GzAil7G*!!d>h%7=lnx zV4xl#n3$N!2{z=9%X(1k^~@;$eSEuh#B>eTmK+2kBnOUcs#cLsc1d4ekLTzdq>t7Y zxL3Z_bMc?1n7X+I2G+=f!)3VqeChKA*e(5f1t~NH82JF@90(|0n?9`4H!CW=d8L{k zh}xV|A?}e)X`dIjbZf{R`NRY>fu;K<83 z$j0uq?P!%_4=wP!t)BiVd-n`p22A!akgXKCsYjY+M*VsA_?3MiRn-lB0fzKxeE4>| z`-zOyB>oEL_BTiO@@trYNq#E5c(mogVM8fUm;NpPeN2Eb5D7r%NN6wzg%ey=A~B77 zx@z`b-N%31vd#=Dea(CsWZ!f>L19s`y&MJE->44w=32+;R|;wy5(?opfk8oMiY?>MSBWOvi3SgE$`3%x zX<=dEx^LLEQp8DU9|KsS+<{xI56xA6A7kCHC&$V>aePAF;BJ9wVCr2Z4GodLY3CCe zT_)iY+;!f|e@P)Vzp`?#poK-l6E!ggJD~3`w!r}~*R9<2V=@7qFPKkN&}Tg$TUsle zIm9n`DTYk;4@}X_H^&)(Cm`qsg|@A*sO^Opk3!%wE#6z;sN^^pe5=d7t@XS-+2Tku zZUyvrnrpksWLK5()!Xegmc=A5!}FJB>%)gkkJ_RyUakuaKl$Riex=CGlI?}Qp~;mo zHTBb5W;!=%?D)t6Ef<)#76Pe`Rqn-_Vat7m<5*g;QUCaA>!T~+L0Qyx?8RBa&}Cpl zhtXrHnvU-ukPX*QXP?O*bvN=l`4g89k7vLn^ds!G{iCkVlpr|-K+KaWYcm-!B`XiT z=3~`hhEj(hbnO2F%ptiQZFYnvs3anB`*dL7-n@M2y!_XG|9JTo;r;yR3DKTsc|WE8 zi=&l)u-s`l|As!7;0hkj#OUY$qXz0n9-{Q}gC_x1yv-0~#_X_3kuze}^Euf2X>;db z3l;90Rwr|k0PZ)oU%&hQIB%b46CMV57~o-mhXEc2co^Ve;C~GURx!ad&?5kt!#yHX zJXqL(JMxE64z{r!|A~8=cbI1r9w1;mZ}>(FJa6E61J4`2IRlL64Lon)c>~WIfCYF| zz@q{l74WElM+LkR0^|k%!Hm&;C3FuA#%~7w9|8Z#`|$eyPte(^nZXLE-=>2Yn#LD} zM6erm4tlJ+v8DY0eN&jb@eY481kWZsK=7R8n=`<8-oWz)o;UEk0a)PQP6husc4S|V TR(`T1WZrXUjP=S+JKX#)a~ki# literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/divider.png b/forui/test/golden/windows/otp-field/neutral-dark/divider.png new file mode 100644 index 0000000000000000000000000000000000000000..b566c18bd2b7817dcb11308562bf7ca376b83048 GIT binary patch literal 23539 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/error.png b/forui/test/golden/windows/otp-field/neutral-dark/error.png new file mode 100644 index 0000000000000000000000000000000000000000..1644e105dd114420f8b948cb5d6de85b611e88bd GIT binary patch literal 34336 zcmeHwXH-*b)F$^@&}%{EDowzKSSTXWn*~KIpd!5~Rk}zoA$l!v2`8R9kTl0OhhO?H- z#I#5Gy5c=1rkxL%n3#9$*bZlkyH>ZtUt1k6E8pJ%hvyCxANc;8!#$w|`5p>;FSbZ*%yj zXZCG^U=swJAYj@A!6pbcLBO;Lf=v)?f`IA2CH%|Ag z`>*~h0Qo;kN{A@aBxCkkohew^a)+$~dAM+nJzjyB-t!c+~CItOLEt*Eg%$tm!% z)Zx3o!^6x6wPmg=-%9h*ZYa~IJNi&_eGbl0d9?S}J2kt-`Hs_2{#A4Hh zbkXk42uhHR`yWbLO6tfmTF5zlQt}$KLAl$iA1;B-(ae2PEct{-?o3KeeHBAG{Wx9C z4C$O$cLH&>H}AOwr#ghZ=uVlqP{qC~Lv*kowY0Z)PQBWm{c$oJ0mj$pEjefO5{} z;c`oFZ-y<}$yjKDp37=vsWY+Odw^@OveJuA%3Nrhdkltk^@sn>L)&rPUUnZy&u+S{)c0T}3L;h?~72_Bm6U^%6$yBxgQSbz0Osxm;aHDCFVW)EdSy8O+?IXdex>JnZ});`kgg6c zrXsohHY}d^8q!F-Fx=0-yR$1L!%`n#VC*rt_{}fC78VuhLg;2A1oamcWMQ;Do}dWJ z2N~y=k1(R9PjGfR4WB8K=S1uInpHZT%Fi_jZ$LI3)>NQj+<#_D=;DfEXeBz2n?yD) zGi2;#K9wA)-X%x<-v1V*rslMwz=QEkO-(ijH;7il&g!pMdyrV&Wn>7`VsSR^5JR6H zGC*%pP@JCbRXm;8y^yI})Y-P|nh*sW8DU=66I)74%FHD2W=f|rHii{0`mqCv6pOBP zg60>GIzp(R@CCV@OibbLZHID8t}PPN-Ip}8vvi1>$gl_{#1XgBNpX&zgoTBuSWHfR z{k0`pFsAE{@q2 zV*fPJ*EcO~nlzi`v}-~Fx$*aX8(z~xAiN-lA!gKXVdfkJ3^sWNGw z`a2$YFWmOm=)T2E^>SA*Vx?f8q0~_G<|Yls5J<>?*@QsAQb- zRAkx9Qs8xIDPtQYJz?q+jJ4Tty_Qr_%7S~NOqrGElU!sepV~*jPz3dZ^2lAPR67cY0JBZm58mLx4hSX4^;vtU=sD-xENLESZENWdRv^a zzEx}<8ckUEoMp_3OxLD@T(xoh=hd`p-sRMwth5TsOL|Vg&K*j=Coi5mrSSWy-AR@v z4M7%bA_cNz&iNgoRp$Aqw8G~SrVlMVQreucDt7N3(gTP7ekodXK1o{b)zp29FozPS z*Wd2WXjvy6(%H9_?+w%YODvuHIu=(F#=~O_qYuA}X2RffGMp-8CT3_-=IEup8I*C# zFDE=byz}2j1Ebdw2W}iklz#vBIf2vx1e_bk*SAdnJ~Rm2`tKw9Cnx^(?3?4i{rg7G z|Jp6ie02eMFg;GzE_Jj>yqC%@YIbX;H;@0@l%p(dz9Yweq}DU+8jpZ}>4js*l2u|j z_w3noS5uQsxP1OzhIZabe9~{{p59kiuYoTgGBN~i+_*9PlFh)!$H%lWbgb+GM3HDL zV){je)U>qMWwWJcYlC>>dMcib-7t)f`OVVO(rCIfmAi!wcRhY=c(LCuNWaXvW|uH_ z-!3+xCbf|Hu&nVby66Q>^g-Q1YhPv_*Nc**-Qwu=wdHBe%D#tXc7OAI=yX&7b%@hZrJ#k?UQA@+3I65**Mrw+KvbNLJJ z>>QuF`MuQp$Ssmp<9MuaSpj@EL+5V>>=y7lB-r4xbN>0I=iA51wr-D~o}Mly7WS(w z%OqrHpG&?KaX>BkmhV{%_WW!aNxn)S{N%M*=!w|$SUMd%#UJN+-nMk=F7N~1!u_HEjc6QEd+w8t2CMH(? z?V#^7Ov=(W6?9{ma8QjO+mfs8eGQFT)Y2fEy1F__gA4A*J%u2sP06ubIWW$C&RuZ1W^8PHSn~0aT7M2!Q&Us!&^*D@r+uljWx_&bGr3+_hk=5d z_!vevrlq9~XO+!P&zWi|R%hv#Ne{M6O%(Rq-t@HZ8yGlDU$mni0vyf!6ie60e7%I7 zkc+T?`0$~CPX2W!!k?P@`h!P3Lz+FcU`q$w37Nib7wm?xT9sbqNl7hCE`v^COe7AY zsc%WX_F!vMxX5w4g*S$p69)yQK%LtEs7Vy!U7?UmEJS={b39I8@ix z*PGW%GA9#@#eNB+MC-@{Sov$4o13+py&-Si?9K(<~*qSOFlj1*+axc{BhU< z2wVfJ-&gCnT?XDx`b4Otj8Nj}o<)N!xD0JpQM0DWHYuCMnO+gFT0Rrt_7u;Gu*~FD zO?@YI??ApXXX0yJ+mf2xhvsim)lyE@A_0}5m2)f|C#0QwqR@6QvS)GDrLs(ukU)pP zciLehzx@5VcB}Wnvl`WTt@2Sl&h>m@^Og_<;3xZz+Y)?*kmZF8PzznyE=9a0UB|oC#ZzSQ3oatydU)OAz&&iG_62_#5*wf5S3_yJKOj&M!S#M zwmVZ7mw-c)Jn%RDg-a(t7^M2GOPIGrS4+mI)a9Bsy5|QiQc_SZVk*MB4hdX$tn4kY z3S$zEKDs{Bx-K9xtNc{vn9)dWz~wT)zS}VdjF15mcySlnjD|smDA`dAcZ>7U4*53VNR#sqdp1C=)EA|sHF5?9!SBJtyj1L%dXSe8) zTPRk(`0H1kOL?ui%C60Q`AgG0o6;g9EK+FQ z6Jhh?GjPx|wXZfsgQ4tp1I2flYeerz$F#WY9Ig76bd$AFt8#hRPfDL|)txbAKL;WF zG?<^U48K_{Ma3{Q?nkJgZubb^c)Sek0C(YniSikhJ%Ilk0>aw5x?DvAPi`7meL(*m z7RFzzsz7rbvOJ0gZjWTA&!;Ff>w-dHnvdq&0g1u=?cBlghbuqF82E>Abou%BEPS<) z1z-a!5ESjbREFRciHmh1do#<*Ka*_JV1|@K+(?#s@U&zmxADNp>gp=C>#`RZR8xR6 zi0Vl`+c0I`{^6=`QeCY3^lAN;mVGzFgl_xyZx;v?(&yAPa5MEkEOnk74Hqtt38PQP zJ4ABGd%BL>n_uc*p-j{{;q=*H8~r|f_|UYdX^0Xt@FdqPFBVk_VnKDi*+`_2n>01+ z{ywdCpnrWOjxGgODj=xDqm~ddv%ZkEFjqScl(y8!tGul}S+$S;QYHVP23=QOJ z1WUK4E#UaGXobMN3AwrFvntnDm#bL3kn}XOBt4}M^ZD*GgE$^GzZohpHRtkNV{B|p z#I)h>;vcWLj40#H$nAC-fjdW^F}(VKsRVMtfe{Fc+DI|0pBgMQOj_C*Bo}t2so%YK z?_KW@(8O7djJcXsi$wSlr)Azha}c3dSxS>A zcWCx#=Xrodb#Vd36tYH!PC;7ZoVo`jubd}i4FKEOU}>;pGIB2>GtOO<{rUAc_wN$; z~(OCQOzHX-(t*Wi$?+#aZ!lD5MnTNrOR2~Bpr*D zh4fVcKa|;eL6sHKE$||@ADi$jIr@6iy&PBau+NT4QMlFWhJM-21ZnB6wsu5Mq5a6U zL5zySaizdp0tz?-NHn~(NhR0~%c|EMO$g9&o(>KUNM^=}wbLOPbUf6B6IcL0xg&1< zLZNlgop_#+!T_g~~FnC?&po_injCv*G~4bVYqra*#iK?cwmAQwIW~=%`vPlQ|+NJ!Mtmhf@7NJ+6wP>npEb5+%apFe;8 zn3`IzdwV_$X22>PEthf_2gRXc?XgsbA7l;zq_#1{Bh%<5h_baY!*x^dxh_b6RwePG z1As(Ex`eG4;PG1i@yOP;Wi8{EJc03UnQsRKb@ES%crEst>r+Op!37AJ_lQ6I`~ur` zg`}L)AtiWq?K$t-5fO1{0Wht4Gdw(>2kI6*P%s`?8O=xTI~;&Z*bpMkpuI&rNdA(f?=z!T(rE` zN~7V)S|Ymg++2a7__4tz*sT;+Nn>2ZFygilFrD;g)qCs#jOs~U4k~teW zipl)-0s*%{pf50AYik3z5(*2&b3FC0UcCw&=>eim#A|K2y0D?4p{LBnu7!#PJvst1 zUe%gQ&fT$vy5*;N&Fh2Yl2()u-V~;Oe87asz+!?-8X9bbg@!1*T=9TqXuXDp;LV0A}%HhzZt{x4v4)W9c-Ksy`Per#qGf3~*Q3*wU}Sh%zrQ z&cr@GPp9n`Ff&kH({fsRR)d8CB6R#ga2Nx^`Sp2e#^74d^T+Pa9+c2A;Msisy^MK+dymU5W4CABFU^w~;C4p$5i)8x&lQO~c=( z$)mxlwJ<>$$_Bj7NOYwi#ej%@jx|yf4dT(L5iY#X`1p8rAy8IbntFOEN*_qs8!x(l zKcdj%I+f{Kh1S|LeFbN8h_AS8eUy0IP5?8MdJe)Ij5^GF1*rWRnuH*QKlBKsj;977 zio2%5h9N-6AsA1-30gM}SH~H3L};l^ffJ#-cq~+RwZIvy7me6pzz<-UBWI*?(!Ch3hb>cf04RG<1vRkSeGhH@ zH;Q8XL*J^F3*gee0xJZ1C@sM@{2?JdcCuMYLgBBAxJ*5mnEgJ`@1dd`!Hz_ zR4yO_I6#*057a@`=6C}j<6a+ z_j?=n$6g275OP-Y55pKUAkY0pcrOp{u^oBjPBqmUbxr*wwPQ#!XH+;$lgyxud^tqT zsvAPi8bj1+Zxe)YI*4R2IIE?zTg3t4c&L8(K$505y?d??8G^h#5>!Vl!e^Zwvakff zY2T%;SpzeuvR7N$+6E$$$XtQiTTHIyqGnzLAPgDpybPZ75_g}U^bEVm`?H3hKNmLZ z)`JhFrP81xjiHW=h?BT*0d_v-&bFPPRlXvRwpoCgmc6mgyVzN1nYZnphTM$6}^Y%_IubyELI?>05M2$?aw2ZuC z$BaByAFZuQRMxw|^8zLgq<+3w>1JYx8Yeq3zJw0R7TPg{DRl?I}4Bav*(R$d{|J6wI{{8l|z2||VwtMZ@aM50?J^y}GOTimGq#^h?{2r}Lp&w(jliIW1~ zY(KDJ*dTrQrv2P9*~jOUkbpnksdvm?qrwj?+3ufr%xG*(voErTmU zNXt-d!?9MY&2}RRt@6B;9uA(gkGn?vf>TCI&VV=KwZs>=$wP0C!<9vqRQ-Xq8P$X- ziOOadZMb&~1N=XYzEr(hPLH!|^`{e-ciIzr>=_n+t=u+pX4u$xXtk(n0=?eoI{e@Y zbaenqfyheVNYEXqEv}A+D6_RO1y`lDu2BV_q8QUlmywnemY9(@j7hl_K$jn5Ip1GV zRw+L_NWN!4fa@jqBTGJlkzX8{Fb1HQtr^y7R!1sCa{%D5-3a{S?q9l;fxE^N;UU zIjapWHAO>WqSyBDMB_k!Jspx*jdmFB7d5NFolQ~djW1enp$B1R{H$UJ{`3x%m?)5k zLDmdKu;ntv4$Vc!2gL=ou3PIGQM;19jPRq^hL#&|3I*J}H!+?GgX3NF+-FO2M&H$w zN31Y69m`+)EYGwS)(9$i$?JG6m0`P}ebA=1ZAAzSjnAYn49~g_fB&%@<)X)l+bdje zP49f6OitYyJe*{#G(zv}stNYqTZ@T|8Yu{s7%q?)^3lY*9>+L!sF^cl(rS;Jc^vmd zEXp}r^RaWZ;eB?^kU$^0xrw$v_xZ#x4s<)(d#zQ9VRftF?TI7}SWU3K#zXrO`Zd_E z-PcJ%PExGZ%w3kG^_3LHg>Mxb{9AAuBd2K&(R_~zQrbjCErxOO@rY1eLi>W zs}(sS&c=_IM>?7Wzt@E6Niw3C&pn{cwfzWRe@^$2I__QPp%hvh{q~FTz#E63`iIKD zyX?;)EhM|@MjteN&OBCj_-B)6yddRSVH0!TPX%99-m*X*zl8%XwTJffB(b}dd+a>!8p*vaHq)i0kj*L>%znJoyl=E=WDhe-9c=DT9hSDTLmK`8B3HJX*TxOy3St(J)jYOjG+wqR z3e&0*i@iF(Hc1YCJ7Bdq>vyFtilW12o~)|jf7^ds_V@Yo^bdFMYRd|U9zv1^Q#?OI z@9e&g+byi@ueNQQ2zvgdTRQUM3H(qLVe3y%9Vj)BpeB2=U2J>ju${%Tvn0pugH)kJ-VGk3N<5dR8@7(bFV`N&qktM6&Fm8DT+n(_A&OyfI7bh6` z^EcC~Wf5O88@fVHT!N?G-;P^GnnfMh5Dv$zBY5CDrhGBXTIOC&nQwJSlFo25Mc+Tf z;^*U&d+E8+__msysmI0`UJv+mS5J$5|NfvZ?#TrjOTJDYkMTr19^EY`Qe>?-PR^^e z^apq3xeq3GwtZxmPOQTae7}A89PZ_1Z#KX?k+(pxwzi#JSm|BWUaF~R&3D6x#hId; zh!vp(CvM^pT2%pGAuCMFK_kYsSa0}7tRiJb*^`&b7D{pzH z1Ub&O?=URfM>+MqJzXZn@ng=yL5NrpRG`&jlTDK_jr1CZL>ttc^Q!lh+Mqcyq5=dF$ zp$^NIkRYG@VYo0_epS&k*T`BH)tqrk@XX9zltd-R_i5p!TTufx(1f?1P_?-G(E4Mf z+vhoTUC>g+9(|))J;_{Jnh48bG*t-sH#^2_kKe_0c0R=8W8~z_4DK8*&rH`TeFuse z2KdqSr7~NC-Zq;@G?tXQyDGzMy(1-qVNXi3`gOz?zVUct+}#Ztw(ogOYRYJu#wzYz ziYZIEJsT{w7Z&{~;wm#jV;949#gFaZYsppo+6STD{eQaBKkk>Cebq5N@K@eQ%W2l* zLwe)W&-8`)7rT0MUud!jBN6LSpw<9vvOGI8<$L6^`9c#mUQ!++U-8rA>fPg@YWd9u zcM_hDnMSl0Iay%B0%_6|O6~Y;*-uaRZ^gG_2#dJ7rA1yJL$S)YD=RGtbq8AQ_FQsY z90GCB@Igb9h)Yb9L~Z{zHUsZ#hS-9P9vV3VmWyg%W={jsubB$j65Ze zva7YlU7l#Lx|W(%wPi_FIV*J;G&C}AOzbBnw*p+WJ{35dk>r5R#& z(*uHexAV?gnUq^I&Z&jKArVseX)75QmmU|`AJ5r$ubV0$H;`3HrLwiMi_bF@;#j8y z)_Qs;dP;X2_s91u2?+(oak~*;;C{gUTqJ8*nYo5}4SR7v`c~8HSy^$bgB>U9Zq|7X z+SDcOQ5ThoPNy0Ua9b_SwtB`UU44mU9bam9b>|yb$L!$ZQY8lP4jtI?mF?FY%4c33KUMFlYbKy<_~)fp}TeF zE0-Yo9Fi@_1Z8Uwkb?^J^q%aLf zj!%dHQG|x6n+wbg$%-3f#m%jS2(3W&k<+<{!OYK>+S2C z7Wpeb#wo0Rjt*L>u6m{NMboC)W4xp~*BYqX-DV{l63T&RQ5fO?>a(pz)Lw~NxShPH z%E3RY%})lju7=Y`*o0&6`<(25bB%hg9gwKP-qsT<&xs}vgkCSoHz_P|E@-%>uclV{ z0;7Y1Kkx9L7*b!#S|^Ts7p!XK^5o7HJ;RX^>lB8tlL{v-DX9kuI>$C$stsFTMAi zu6G)YSd7zlk(V}e94_u{NmaG$4J{_oSFXk|+mXU0g+vS%{bICNIuoufxI>5 zCQ)P!kHJfmlKM?2cogO|!XkZBk7|3X^rcx@Hb^_p1=nhNVCk%<1<%~tdTzFN{a%m( zUOYbZ%&EzIHB}EAg(5x2gRiYH5GL(3OK3pwY)h#4*=X`;n3izOWTCVrG-Kv$RR4=u zl@nnr9l;lyh72oX-3G*~dt!i4%e(6{`N#ba$9}YLK1=nOUuAYKk7jr2{*7c3m?MX} z@OphArzx)GvNJBgm0+L_=`P_x9}xY`8T65_AdH#<=W{Yb6#{&USB8I9yR8hj7A;L` z*^mrFCRhmbQXT!)__y-i2@VeUz}Ug($g<<*HhLB(lU|+te4T5rGw+|P-h-GEwM3b3 zCdPQeZEe|fQa-aU*YGYWk~Nnd=p~uRa%79OE%TovYW!!{XIA% zt$3T(624J9XzYy9;PVJ_{VPu9zpOEY7L$Hu!DGWQUs{@FvyfdV?wa=Y-fPa20`j(L z5cCr0&Qqf6>(55zekzJ{+ujmDLq`psXN3%+gP=B;JWjb5bi-ehG*wDf$F5v;gQy;F zTx1CiGc7+naM8Yb&g6Qc(c~LM?l(@veGNbQ+~a-PP`mh}{V^|Ua>)r_0wRQTY_1$M zPy1B~_;Wo`@#i=%*&;`s3HO|BgQ6zV375|7O!U3VT5A@oAR>0c%UNH2<~pxmK>>Ay znR#za=RL<>7_0j}0w_W1X|GeE zm6+LADPQ}VwxhoLG^q}hwYNBTy^+QFcEu%Vw!p%6ZtR{d)I$`>e!g;^fpQ5%XZc8M zk#=ajHvgz3_1UYH=SD1D-n65|D&iPWY@ZebIO z*%!qXRBc{lO`x=B$-S51M42*r8_=2r=KIVjAF(SvJ$~+{3Q)aHh0sPDK`Qbutjg7? zV7`AEtC`@d4QMVe@*lXU4y6-Unwc|avL*3Wh*tt%VMS=5T%AGC1ZPk+Bt`qy{CW`) zvBD0Nvl-Nwh)Kzf-O+E8^o7baz@peuOF%oE}V{ z4QeSpzrW%J8g*Eh zo4W9H@_d-3s6@+)tVbyc-TS^@bojt0$OwHIMwiuKz|-C>@sFWZ{(1?+tN^8@uBAu3 z_z3L?H`yZV<%WvwmIeXi6| zF%%p)DI#9e{N_=i^8De%Em~9qyVniFc!k+CLboq;E}CUkD%$-%Yhhr7;CFIWdYXGhisvm3wpjUWTNt5bnjYvux>2*{vDAEB{SdU`VAZ0 zd6sH&Es(Sd#OWvJfC$7OyJ~}`LRMG%z+;eX|K@0|d~`p^zz`4!i$dM$t+%2N4T*k8 zgp6C1Z8WpR1_-Bt3HBl=ClDcyw2ZVp=v@LqWRiW_l^4wh}i2Htvv^_ zUO*-yBaH<#R7u3S=sn=JApYc6C#0Xmd}ZTTy){!QYE$N}eu$-URhl&A)Q#_p3xj0( zQ3=yJ?qJK+Ju_7@Wr4iN|LaAOHim)_S*L~>v{)!00#D$s1O{tRmYfgHXiDe*dgxgV*hizeKL7XU%ihN2&$)Z@NdL9BvWaY(h?C*&yoYus_wuwy&mC>=2F!Y6D2&jVdsMD16>x??|8ioba2L&hls*?Aua*@ zDG=fM!MI7VQRqd%gSGIF0z9EB9oqYB7h+8$GSxLz8ZGhQ1nB&?N1$9x3070p%MM}p zqaWiLR+UK-|Mk6zz4 zRq?97kz!ix3w}B+|2Qh6f5P0VSJ?SvEz)#QWj8_+Y-QOo4oAz%xLL14_f;8HNjfr# z-$`s28DccGBT1AuUFOY>1F+qG1)^D#&iMBF0R!lnsKnta2tE8~Yn{1{P=`l-BdApu zaf?`J9l?WvGkJfU8x*y9VzzD|hdq%T8#X=f#!{{q6`lfRqSV9XJfLjx`^~o;2ODdl zbJG5p<{^5iC-y}>f*MIVM*o-w?D6Q&7(l*r$`C zD>?!XMr7@~nu?*0P^oMZh6Q;f-wuRg{FXHxkuf*R<=WSwoECxzWklu}#5$n6@?Yzz$oZ4Czp}cf5FW)Q&RNXF|fz#9M&~ZRY_d%Wn8kIO( zS~^yzd*HV(1f_tPpOk2*y%EgFG!Y|X%47zYAfCBD+X8=bSefhX2RJJN+L3}EX;rXg zm7QUvXP;^+_eTgfMCUl*d-d#SGkx2ez6lBr#zwW4&-qm^?+R0y{5jAh$h99bQZ1Cc zP?Ma4KjM#le^|({AT7%v zuP%1pdZU#F`jV1@@(dliTjV@Kn)D1Bu;Bdw2ZgTw_E%5Hc@n&$d~!}loifiZ+g4PlPyhSZU)R{itUela%ao_tc=nVR_TK9%deq^s2L_L+wMtZJOwAq0sxb8_V zhYks5W{KCi@*R66y3@y?*AATuH83J&kS5c<$wzijG#0Pc-zHB9Y~ft#UMzP)o=wT; znd;sG!v~#jC}dwW;K06ldgKKX`z?@qYyT zMD~)L5+xpY4x3v-zMdQ!>wGl|3QRfaYpS1bAyt18AWlQ zv4m|%j~nP5)9ZOFf2hc2==}F9;rbSGOZ<@ps8^TA8w>2GR{7mKi5RnqS=YKH31<(y z#U7`HdC>tVbN3%fx3YZQ8hdQX7~#6r7VVccW0j3A$a{2HQ|O!&W0$e)&Wofn%3-$z zKCf@fme4Idf=`OcUnJSI=HNz3YLA=i)upq7Uf}F#}+e+Pf;>}hk?uD=&l}8qXP74YUe3_&?;v$DU?Hx7PvwU?JoER*Ja+PTQ`|b zC|t<1C;)lYaVD{+w}jM8y^L@Whm@@Ski=nG&u8Uc~StSFz;aeFGeUQ(a zrx_lBe}cN{6NV=?0kH{)&1m?AflYe+#}S+KxZ#OSdfcSPO?v!?6*i+`Ga5FdVKW-Q z1DjN^Nd=o!ut^2~KT^Tdz5-*UQ~dPOdbdN5{^6<<$jee2$F1MtDZs|@Y4h}^Pnb3V zu^A0an^f?N6E~w_Ga5Fd;a4#H2j>PJNoOJx)3!)u#Y^zZiZ>}|lXBp<6K~2<1`IZ% gVKW;3)1%=}nrgkW#iB3;*$d^XDvDW`AN=*-0Ic4ZPyhe` literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/many-items-focused.png b/forui/test/golden/windows/otp-field/neutral-dark/many-items-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b7bd88d3923bdb6cb0c1fc16c33dd1c4fa6f6a GIT binary patch literal 27643 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/rtl.png b/forui/test/golden/windows/otp-field/neutral-dark/rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..d51b39e93f39c3862171de124788fb3c037432fd GIT binary patch literal 35954 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 Wa%M~Nc6uTp-9X=x&Aejp*Z%<9FquLC literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/single-item.png b/forui/test/golden/windows/otp-field/neutral-dark/single-item.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b86950b1256e6877119052d502620459c612d6 GIT binary patch literal 22841 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/with-label-and-description.png b/forui/test/golden/windows/otp-field/neutral-dark/with-label-and-description.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3b32972f3712c634cfb6c35b85a3b78b54fc48 GIT binary patch literal 32314 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 G_x~4YxK*wI literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-dark/with-label-description-and-error.png b/forui/test/golden/windows/otp-field/neutral-dark/with-label-description-and-error.png new file mode 100644 index 0000000000000000000000000000000000000000..fe174a6c52fa4d365d5f25fc674bbd134039b2ce GIT binary patch literal 39066 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/all-items-focused-divider.png b/forui/test/golden/windows/otp-field/neutral-light/all-items-focused-divider.png new file mode 100644 index 0000000000000000000000000000000000000000..063632cef76641219712e95e42fe34245101336d GIT binary patch literal 29829 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�Py%Z_v_Tu}wLzR6)ru}?|1*KQsf-T)7`Lg|w0=ci3lL8o3@WInx~q9dvs ztfU^>Yh+{;_xA0+;qB+QzLdkK@!{LwpM2uVH;Kn80e|b;QqcYqqw0mp)5$43%l-`1M`2CG%xysMc(NsRo7pZ@3?-^gb0xe&J)i(y<$uEB_ zk2us_C)XEcD3IRo>OXjWPVc#%Hk1_MCMihj#mEkjD+P#rQf39mGQ_VEbwtY{cJy5w zp!bRB|Hf#~bGgydic@eM`>^o~E85b;4Q6I%E5DUKqEv~*rYuC22l7^S^)YX+jXpRq z{;jm1(io7nX3d(3QM``=l!3IeO;QC~*yRMd!h^jNA+9RU&KZ*eKzj z#}U_(tIVV**Nby>KvF_Dvi#%y^)=MVc~9WstC4~JEnQv4nQKiUphCs;tt0(MYG2Ap z-SP0i)r3jt_ASO&QR$8~64`SRht@vVc$>U+punA;jJ>_QG)tK4v5=YV^}w6B_P7Kf ziEqbygm@uQ0y*gi=jY`iESjPChNL5^3OxGu+>44BC68*VbFK-{THXEWgKyv)H8r)C zT!pb5VYre8q^e7S-Uzs@h8PC91}S{8rt|55J)oC{ zBu{QmGBC&7XEp4R?{~m}C?B+l^W`JsDnmFQyo4lkUfR)nw4EGp>p_OZA7WJS83@C^ z>uA@P3x`=0QaCs?6p)aRa9;XJYW3nblj*6cGJ1ouVC>R}4Yy39U#>It%u2%Q<3iG- zO^o~g+qB+MS!kzst0GW7AqsWV8Krg1(=gl28*O^gUGJ~lZy_b*h{SrP+b-sQ1HY%3 z70Ls;w}~Z$Gnvd}+B}4gT(280AwnGq9qe}#VD}rO!lRPKj7fu>n^)#tUV)c@_Y`N^ zal(2kof$To$RYvBY1h=3xzBXi5G$0I=Nr_XlOXLNbp&K$6Rf^yXdI;Ov3y!l@}$GR zsf~e@M31+kbrv@?pN49_k-FkM5E+?6Ci?nqe$MALl@}TbmQ2RHE=NxUbY2xkuPPsWSqMFxcBo&8+g_KG}zhM z8D}7F9rj{kCvXJRPA@8<_r*^5YhI1?uS$YQ$inxTxulUuQX3zfvW^Hh@R%Lr*FH&W zHO2>fV$EH~UOy6$=cs~Nv-&m65iQYBOOQ;2tMx%v3VHbO;rWawsQ^)=Y-{jg(k~s@ zCItCWxwWm0*WTX#l4$6WI&~-GY=>07KBpRqBI?-`Xovw5#CoNPGOmdJE8l<6=T(e3 zk#BV=>jm5_R%;`~>4cKTZmYMK4?5(JX0-#tTIQhx?=lM!g-VPJmU8Y(S)>&!H<|23 z$n@vn;6Z|Zsu8!Cep;;z*R#Iyr}eW%vxT+kk87c*J`-gOWk}qO&3*MBNTh~pL=Zfv zg)|<%&x7@fMaKE&qHnWmfc2@_ zS(~s&WGJ4DTf*XjrAXYg@GWEURrn99Tiqah@TW-75|j{MhPuEYm~hFlTxtx;n8*9Y z>Qw>DAF{Lc?af_B+7A;GE^LL`8Ijmr9H7=j*ru#)S5cjTLI1k_68q$l)ZM^h0PFfF zL#zNFAM}1#uT+Nc!{R}+U9G?OHe+rgMfhgOw)kVQ0p*shoZ*1f%kXL2SnPC?7BfJDb~}8@*U2g5})2 zc{7*O5-`-o&n~`pe=P4HgG89~?cvS}&uE}P-QY*O?%}&6^GDK?CvXI%qeB|5qyz(T zJ$qL^ZMO#!_#xz}Xy1g1QhRV}kCCx4vHqa>1rE@dbdA@YQAsf%3td_Ti7Ys$71pFO z`pK=Ro>NYWe+ptvbd!-FKwP@|%aga?`r6t|T}_+Y+6aSu>;K&K4#|RUr_!IKiKXSl z*)mGjaFhkh^&T5oywX?XrAyHz>IKj9Wu~Ox($&|0@vjVkxfug%NH}2ba{IQZ`2}I3 zUTT1n$ISCez~Y4uaaB+c5-T9UA|oUB?-iz+<8ZiJuC9b(K9Czpq82WQeOp_(-)Q&NaA``86Nd0|C!rQ=}_{YKT~G>M@$h z^_1gt>o~0+m_Ute02QSKPhewX<0Y50!a}cV2RS)@6Q8ANT}tpyxihb|jwO=#fi@sh zB|~A_xWfV3FULxL*Rqn5 z5;1RkXm9xyZU-5tN%e<3^x~q}=!Jar?E85JZ{T2njh9%@5F@KD!0s zsA^+l(~=9#4rst?z;Q2@@}PG$05|w8UI7~NM*h*hy1&E*h&_wd(Cb_h3{al!cAgm2 z^pT%%;gvGmB?n!|Z+rJ%fP$TD@3`~$J;;pc-v#K(LOSN;F@Fi;tg8IKRfFme}AS47#Id)h6Jc4U7NNmY*RuIw%29f*;KX@dJbeJ*9P`i!v ztjvwM78_6F3y`AV6K~O$Hgg{@6VHkA!#+%gUtc!|hce@4 zi(a;ki;GL}f$@uL(Q3gK)gdwGUxAWOFpAtUdS%`KD1b0LTy+t^W!G1v1VX0t_g-l0 zYmS?XfMurtaDII22OYv728@{L*Woz-pM!q?FuUqwPS<9UQWAlzX@|_BV*u zLp0v_!I6=ubg_M+sNhnKs!XDyf{%5u$5w^^31GH_sPGTG1=N7B?llL8m~p!kGk}LU ztph>rA>%E;;82>7dk?>)(Hb0tw=+sS8WO(VAaS9 z0Q`6&aX2b~CptR1v8!umPft%4&;5gGxw*%Y9y8gkM2#ntr7*PL&LMMc1xf`z#|ecziLEe7z~*Cyhn`0F_TrDuojUhaaFO{1V2% zy~46bkDkHd;#1e&XwJUtnt-Ehv)qes_F4rK17O;6-^IS7k^!jem}u_Sm+M;OC65` zc1YWV5gMR_`$q{VCQAQ4t#uml>9q+mmYv@=&;#;WS|qG112|5&d-(kbFCQmOhhw`AVvkeU<|bpR9wCU zyo8kuWeME-V=0w{7lh#z@%xvc405XI%Dk)PoOFslBK^Y3#D}Q$!8@dxxQ$Lw9UuxY zBBUQW`^V3AyAZ>Q>v{bm$&(K+=+0QKAXKkz?Sj4&6_@`=MD^x`bl>T}Pjeu<1qo2Q z`*zC7$ZX@l&RMv#RU1<^joqpK*SEbC5as2-t;d=r#nO{()_l5bZ)jX3G!d z%DS9$Q-mSa=&)J<=^Ha6b5caT&`OV)kt!Jwsf1y@{bwPAdMY_GOx%CgXZ$`V=fw9wsWXrX zSthkKHgduSL4cnhM^;uvoHC;nwJGQoI^(gBVn$6k==drsBVE~2NN0h5Et>#^KwB|$ z+ON;fhMANVu-$(gdMW z(8SX*Ap$047J{ymfAQQ85lWmpT}bG=jq;))aJ3uM9qA#kOjk#Ei|16~%v`yYHzy}2 zZ{17YVeEWW3JyG2AdX^(3pu$=2{acc5cm~%<~@5gpl3Z43~~=A{obg@Oc`vJO4q?? z;~J=?wG1kU=kBo{a=apwIa@49^PbJ87{dl!LM|-t6u}9NUuP? zXpC2*BqhcKK%F(WSiHOl3WqS3_E345K8KH8&}pg8frmW1i!8sEw&Xh!VH(bQP9?mw zG}hPmoM0~22r76p+(tSx#SrOqS{CHXVCbJG`*_XVuGEGfj%V1wZhkz|YbGZxZA@3$ z=EHDZq?Lv&PpH_=Ka~4gT0-v#q)&sI7<8w1>5x*c;JY8*ufB-&aJcrm+YGty&w%7n z3446Vt|$;rjgM%h4MA)f`kOl~4M~h{c+4J1^1GD13mCJ++$mF9z%nzpq1?yTR-=Cz zpj4tl^l-R#?Z7Z>k6@&z)a4ocL@{%LM5)QYUEZY3bZm7D-%azTc~Hh{wxx%AcXQ}C zDQi_No!B>9+I)n1ZZAN$f9pz*T55kk(SduK zd$YH|?b|#R#Qxx$D;BQ_?dG6J$6FFd^D>NY#P(Qwv>)wuDa{&4>rVIh(4edkBkOE! zqGc|~%doyNzL4uo`4lKwy`T(2?AHP`p&+1w$hd||5UgJ?`^Av(Wqo}ALLzhJvlZP- zWc{M9jsy(rvwIKw2DX==JYjv<&|t>{n>CPfogELT2iW<6okjoOln%bj4Qc#nUGm3d zc1-Emcc{jY&;Eal6^pI^rfT+SmV4MfVflfLlNCR(0l@|Yn>AN3fMG`iI~v&0z>Ws+ z0GkT_cTmBPL6bcg45tk8{|I1*E<1GDq08=i(I{ZI{46qHC$be%WCP;=4j|r{D!{HW zyi5E8uk@&=oD&`O8Tzji(8EK&BX8`pKJ3#hKd^nm1_Zos!447>2JC2HM*}+=Rxp5J gM*}+={=YX+7IW$p_1BJl$D6Yl&w&>0s+j&-Q2Yv7Sxj{ET^??Z9>EGd$ayo(=YF zmi$`s^iqr9U@kTA7?8JC+2FcF0*w3`ZWWdRpl zZYscaC|sVqsQ?QLu-@XP!hdgJp|F?7tL1bCBUhwv_`UG%{iM-JYWj*bzUS}%f+3#& zWL^03M#FB##^#F$=d1|f{9gRg$yy?A^^7SISTn6gH+x!n0htOJzSGthGp9K7&a@ic zoN233IJuiu$RY@f2Z|ENmZ?HFbRrKe0-?5epg_(;$@O6I8H_|8D3V}+_CSHayk)AS z15*nREnsT#r{?Fca^jGf2#cc&q!`etPy2M zyFRy4L75yRMRkmrh;hdECXSR1j@~mpJO0sRI;OBQLH988$4bS&sN~T0Ogz4^x;-zt zOgwz==umAgf;tih;0F5q?}?f1_0NOZ$VR*-f~vj*bjoyzv#X*T}4{UawlV zPaHRurTKXt7aKx2bt<}{tZW}H)%zxblwi)HYb!HTlSr+VwVf$Do>)29F~X7VV@cRX znM2_^n}8|Ijt=*osL&KfbvU}~d#Tp-h6qNiZK!_V0bFg-dN7k<6I%5mS1ha%#Zk;* zr9$DPC9*-B)!EsJZ`?1+YP5c!Qm}eQ^25W~vTW7pXkKSmS8}{>&_UXV3}9ZT1n9tyh!JmTM=~rczBlr=WnH%2G{Oi!Sna0SrEME|TRHiW31^ zEx}}Dnsb(vwReBYF&4$ES(|of@zvehy%L1wa8$uU0lhn`+cWy?KrA_Ie~ROq8< zG#b127@jBV%;#MO`-X_SeJ#{P!rr|^ht=4Td1Ckks8KjV(elJ2-ie1=!s!B2PV(*j z!ApoFQiMbzVdt&_?-Js^%Zc1g=AD0B7}qJJVN?SH18eVE^T*6qC4Nb5E}4sf);|5m2%$5;{~}bOK(fGe^~=QL2nJk>zW^ zi;B2&gIB!(eICTebtoli^v4bDnXhxXT!W!2v5W=m^WyBkt`yZo5{X2^*j*{$M~w-9 zqstxEgVP)@pjF7+oi-63U`Fo`t+;o}Hm*s%C0z+RUk?clRcWMLcB+HY`&jRwjMs>^ zs6d=Ihod3B^*8?lUT?oF{&r$)Y)yf-Uu3aZoc#`pN~JP9k@2EqV^3R;oi2zJ%AR~j z1gK3s=e(e=ynJz$;)GItft8(;vohKnK_=4yJ-`l?>f57_0!GryUjuh$4nQ;bk_&|` z0y^p+qRdr%U;&>0Ha0RcGQ6z4qr=~1vn)Mry6MmT$M+d0XZ>2UX4lP>_l*v1ec4Mp z58^75#*?!BPJY!qC@-J=3TyEl@4&V*@lmr@D%$QSG@6GW0<*{$P~zWe9w0L*0*sbw zu@LAh0laV5i0UX51HMIz3CJoWUn0E>Y{_{JRkFP%v&B$&TdEmuFI&p)oP{94UH2+N zkMd;YCKZpjPX)%9mpJb>rA?1*(?|6SDE6YBQ(%U{>L*LBZQq>jK7#Hdjuoz9v^4%X zNoX4Xnm8*$9R~o;yDm`&1t}9^o&nZj1D&HHDl!W5tYVQ!bj<+Hy%!n(%+aU-^}6{^ z8+4nUjLNFhi;HeEnQHuHfFYL8RA=4B(M;XNz$sgOy-`FPhI~r(MO>*U2F$G^Z!`H! z?^WMQMIUj}!DediOhAzv>z(tydX~>>PW{C;6toGoJG9&0cF1oyFQF^O2Tc5x6U1^p zCUkFu_}UdPqAOWKQWy{U;V**=r@xD8LTdZijNiuY%mL#~i%=l9zJ!+6nH$i~iN(n? zul+WM2TmnEk9JB{p`DJ8gKXYG=>ELb&cTn@nZS@%cF%fI;c+TB9{l;Vs?fAjfcLcZ z-v;y+T&?6wI2=w!=0PmMkTiv1{dTiWl3_tPR#nZ2=Rr^s#R%E~29$vnMsA?RG}6t5SZ;#GHfHnzU|$iycg>a}vm ziqpVO3!VP}Om$J4&t@kXv}PlQYHC!D2*TMT1z;ujJhA0JWz zo#0e?rooa5_7(Q5n{;3acCIU`X!1YM;KTdn{r#QJ*;2dh8+fvW==YZbNnYy=O}@fjpG+S<86%2$9@yqz-+h&0 zA3M^b#kKs9-&j2@Lb9=fQ@gfHQc}c&c~@ze#65Bokp@J*aG{cky3={{$|6VT9vrdinA zMZjY5kR+`kq=Lb)jt%VskGIHfC0*ac2?25R#Ta0M#h{7_pa~|;Qi4~kela+_t?=&v z)!+?WsrZR}lBp>5Ar09Wj2QogBoMpn_p*kS%DU>hs?*y5gLA^>Zv@X?Y`5Dl$ZMDl z8i6C_i;6H{9pUamkXK^Q;Tst;s$&sB5>$P^?m{6Ktn~ST0hPKX$gZ7 zQn3{O$?O_rmVy#_gd- zfxkV6{FDKo3%-^eV=%IGix#UtO1u$Jc{89gD{{rrfvTf@oIV+|S;OhmaF*9U0G^%b zjdD&GeBkUiA;pu%96yGYe=NI}R(JfZljojZy}EAgWUS3{n89dfR&%b`srimMOz)IR8U}00YOC(6#?lzjDQqH5KuZ{q$yPholqQ=A_6v=Gy#D@N<@s* z&!fT0f3_jd>lm|w1I20=0bVm94Ykh0irV-mV6Y=F z9gW|O{ZgiSe&1Uwv9I=3(Ry)w{oaQ8q|@E3%tzXjlD30i(2rWjHPY5OEY#xAtAD*X z#=^68u4Y%uymcP2$8_ry_K0cs*7*@h8>X#ujUA#}r=jmd|8=Q-jKvvl`RM@$S{O;R znF|bVVNmWS6d1*VQA4*XBtu#-6xSve7($dGp*Nwx=qwlw*CrGgeJG_QNatgIt8UaecBGz_N%x3 zseb%#1G#N~n(-Lhbmysg}3lsv|eVG|4gX>DUAQXE)b=F(izRzNJs?I2E@ z;gRA|HBKc-3aM>awt*=7ISTf8vt)^AiCD8}ax2kwVCTYIeNt?dy{a|O!hRS`o&_49 z%$AB06&L0uk;-k9c}Ze&t4Ob5f@8Ov|Z11$o+g_x2q|`jBOqrMI2Y+<3eC#C98fr z!JqK>rY3^wDHX1-7Bp`OB^44yIXDPG=BQFaduuR!#6lT1kc}Q{ zcdJP^!z(Dm+nW~_hy;AYAMqVGyVe5n^Yy50W!isR!Ckazq#zyM-rMo9R89_w3?!}` z554$W6r3qlQiIv`^^xoI(R#!=`2`}nq>rHFIpHoL$W(N9l@$hChb7ZN;0KRy_@gU4 zJV`FOd2Ma2o6z5FxueXW`E?6z#%*bNxn{%D$}z|t7*AKE0k!f3aY_|Fg^Uq z2?=I`f(VjWvt((yYOBxpC?r!+olj|UuYP*~k|JWi6u9m)`gQr}krvJE zXz6VoYjtpg2R&=W)$D=c?H0x;)m7MPxN2L<id@hlU2*cn$Phe zVy~LV+q;FVzI&t#GnuR;u2;07Xv)pWBV@2SRbD!rPC^%%tt-^mM<+K+Nv*8~CO5-O z+|1&;34{$=RL9NniHVep0lr{Au}u(+PD9&4*#WDDW&?afeC3j-mkKU24}SmVQd&|| z8HlYBV6Qn`9=^&tdpju>22(o<=Cq-)Q*(3Vaj@O#)>g9wmfCgMhU5 z@05hYG}I+=vfe3ViNkgNVXrfu+cR&^uaDEdXYGn!+nKS{!Go`MUAwvFul(3PsKyyx zC97(UeoH!u_6<^R!1LvxP?{mzM5L)8s}fH!f$^}&%b}r&M~{l_M_${P$Fr!Z^5U=? z_^|LS=^{Dq$28VZ8t`q)Ll|%XxADyzH>O4?IGjl5>KyEO#N_1UYpygl)iL#uZATWh zU@)7o^&Pulu={^qi|SdK5YW?uR;Z8tYGM^#?*<^U%6Ggr?xdxzw|*(7+M?HB>Y8?2^KoB4+==;p~J1BL`(Fx z+Pf^{e{~9zqfY3DY_nmzM}ii4v!cfdHhC%U+8V_+yczaDs#^R3>44^QIP)zf%^Bz` ziz}|sS6WwC#tlzFhL}nQW!#_}QhMbFPTwrs|>g-$pQxAZvaeYR8~(|2#r9psQ^jk^h+&*y|6x1B3Y=I(RT*@{@rj z*7L-*BJAd-Fl9^c4t(~+TkYTf`OBBbzBj?TyTc&Y8OV1!$qXp_h{ga?UkaJ;NLSQ8 z9f}MJnkz+q7pAVpmKNroq%Bu?7Z+iJtetIXdf)xOefqpVHCgtZ%JRUO6sTF|t0&6;okAJzhi@nhsQ7z+Y%hI_c}Go6 zEe>wjK>{~+)Q0F`zvnque{ZGrk&s7T4V+|{=oqJaBBqAi^@jafEO`l6JTUOBr~hzo zK)@w6^FMd&*fAU%veMwn5!a*?IDRQb1u1Oa+cTV(n;s+MjBmRb{V>;^?Zj)ZzOrBy z5~peC={Vg*0TqgG;Al3DR`!)3=w7vCu8a-zb?K=xGdKibD+=M~`93!}^8M?78K0i} zSa(N?eIQjnSXnFuF4#WZ&)3@8io7PcK(s_4suqW%q-YfvsnofsjrI0#%k{f+vWj1% z5{b!idD^0=j$IjsqIn@^L+^(gJcia+zhMGP_dyQVhLBnN*m3e|alaVKn`mAhmw!#u z*2rj&btR99>V|R~YW8=q8;7a%N?;|LU-@7=sn?OSi}P0HY-dmZ20>DYFeaO!pG3QRkKfkI2_L8-JmrW_k&8XdWhxeN z`}XaY0B7G)RTCQk%;1H5gdQdB=F5Cv_rg*i-zI>8mc}Yy{j>*UU&7&3E2{-l6@VYw zqv?3@XDM{c&DgXNbvX6mI_Rvt9iTn#fuk}OMTtnyv0OMTTPN;IWDKCm6#vpU}0fN zsxHsS5|Z`u8a3yVfDb77OG+_$scUH|*SHhpE(eMxG|!C|Sv?WXJsd#pJjl1P;c+orbEBy4P3 zT52aH5#H(KZFpoMJaFmKn*R+qx0so5!M3TO#i8&LbD_~Zkl~+qnQ*v)1p$i2u5lrq z2j|CH0$QKRly{!5-m!D%2*6(wHaE@Rp~pnrolq>qWf&9jqeBR=^`HCc5w4muLR%iV zCd$PkH|M+L8_gJ6nkYEp1X zVXl_VA+}*^4NaybO~*#%SY~nY6>TV$s=}(E8@7oTLADNmcJ1AUX8X%9&#sG4Q87p5 z!%%!=cSTMW2EMn$Nq)cfr*(k3mI3RHr%qY!r1Td*Z+q z8+CQ{B+Q+$>lXL{0b)<@f*1?Wi-9aHDWc%wBCFT|1CVwDCm!B`P>1PX_Vp2_t|7z{ zMm|_oI+QB{mHJK{sx_vMFJUvYvro{b9pTNDd*UBDVH9t+FP`D4lp@unmtRIY`}%sh z^d&m$wZw8Y#X5GKF)3;(Ofwiu(jsR0DvAfUM{Fk4$8KLta~_M z1IUwoPDc^Ifq){fIgkd{W||8H68AO*1WK92PWvyJ8TGSWx3M`=A|NPo7?hCRf+76r z!IYch>1Nmf?{#$L4Cg1a>wwwdOLN9`!*z9aWqvf&;_`A+G@l%9X=6x`c67$cH5!m9 z8wp?-QXsI}uYg9Y=6alyu+hwN_lyg#jo`yMn!2SNaZ4a68Y{>|WZ~}W=%@o?c16#7 zp+aG0Ro z@+FG(jnn$1fy2qN?mUfvh1m4yB|qm=;NlGjtnK$Uk%Z>*&W82;Yxy2f&FCkh9ohe~ zfau>b&Er!`=2c*roK}q8(p&hPh8tO8V}}@`tw1~lp1x}|=t+rVTO%;}ItZH!p|~M% z=$H?Ava^NK^`c!jn-ef@;zST(6e8~NI~>rG=QKIC>H{osFtwBr11N~!0+caLJPQY) z0wfW<*=AYl4cPQlZY|i}ty&ac$O@G-!m&X{_$QnjFAkyP`c2I>Er{9v9zYuXaOu@` zkmyi3cGeqpuJ}E9?lM1IK&}W8YgOsH`;W8x_4M?l*b)7nOD#!dKC?D}k=75$5E_7#Q@nJxgZ##JfTpvz?)<)v)>>ODQT0;?loaK(8+u3KF zXFQyJ0MRlv{jFR|QP!=cP?#sC9loIq)QTN@#vjEB6bdnkY@`oAYiz34AFIqcJw1I+ zTADjOXvwV4|9dKw=a*MSrDbJt5IeT^V1RB2TN%qxPYP{|9BCR!i{`Vn3S3j(Ko9m- z0HKpaUJ11V8&oDQb{H*H;cz(9pXomm>t3C-3e{|nf>IL^D5m^$%~*D*I$&(DuEiQZ z-YVR%&tt(U+rmh-Le@PdZMxU0Sh~(O7C!T_X8X+7N|HlPr_1yVkBI1BfU#dJzlx8K z_X{Re`>kdtNFFVKitc)P`np|w{&D>dtnTcPmSA+^z5zv#bw5-{Gml9!fb%^%QK=2> zWoN%!;hBpmJnN&p`r?Dcc6#l|@!qp%kH*-?IC(0*23L7fKW4fnaNZ6@naJ%>O$oba zbL*A_JC-u}4OFYMZ^?@Qeo;o{mN9}e-CP@U3+b`+ngt|Wj?LNqf$1T^7pT*a6*Z|! z3A_A)y_O2-!cXKU8NvKtUdx}uxrZp7LXrChuvf$qkcH7G%$qkFO}OYeaX94)R49S8 z!m0WKU1qJ|C-Jh=sYs^Y>o9S;wV+Zk_*)?V2Xk|CD4iTg^Vt_cW=?f~`uxa??71uy zYu6Q`;O)ed5B6=kLRaD<1x^^=8da3MRKLivVNluE;(|c*fCIisM9DyqbL3SaeS*VB}=4w#l zT06BHVQbX!0vlgBqZ?R=!~N)~QYev=mVRmp)KKkpA*i;f9i`5-%H{4s6gmS@A69VD{lEMA8?mzyc+ zo;;@k6PWV<4EtTEt@sip?yz(heLthTTmflsqoMIVM^A?dAVP5h^US1>(j`-GdBe$x z(v^`2taUv9n^m%0)9bNj#|*`J>A4`6j`7yd-@eIb;a3K!%Th$p-?ZzxwxE|PNo@ri zo|DEd-4))r_J)a?^%EsCx_&uempoGRB#*BGWnO0}-&IAW-emh1j6bp}aDMa~Q1IE$PIax%yg; zCipjqk>Pv0pPaWO%DE(VDkcezc`ATV#!~&Qfp&za%Ad<3J%VH~F_nZRRhyxI0|-5u z-&_ey0}2T=Il=xv3>?q^<&f6tbGlB`Q)X2Kgs~35=D5fU^-iDi(GE*9q^XoR3T(Wi zak)qxUCj&Rk~zWx@axY~=i{q|L@pF`y-GL(*{P40?EN*acP%hXN zln4lCU$`+~oo}zbi78)qOC(eX_(Aj_83?s1j>48_-VN zgGQo9@m4^yD6f1{FEKc}kOy)lEnqyUOm-*^P{`d51fw1N%ALx;cqm=mT%e zGI{ysl42JXb^FPQpDY6^jFaeVk5cJb7?{mN!8jZEJYQ{yDkr~Mw zf_M;ATx zSO2tm)W4gkseOK`>u&MeO;wvNL8h|k^UKh<)f}oE&u{Qcu-xLi_uqVC z6W`!AzV$4ClQ&}H;2>CK&M7MkAwGGZ>?}mxAKH7$GX&&APLn?PcLxllv%h>J^b|$M zDBA5fGVJiwHh+~ojYJ;h!9%c$+fPB#v&`Mof2#qhv*!se(psB{rd@U2Mt zBv_GdS_Do|f`j9`IU8)ZdX6AB8JdRLFw>{c>`>Ja$)r$zM`N@F9qXv=1% zBZ3VhgbgAwtLxK4M}^f6L8ed8$o3F4WesIMbJjw3Y3}{(tp|I+Za82I&S2lw%i@SM zM}^&CG*$x_`lQ+j0)c@IhC&gEUQ6y%M+6@Nn9)iNnQ1zrmQF#Xp86T7bV{)$8-bXu}U)vB0gN^`9Y|jOkao zg)uy(J2sCenxA#s!w$k_nhE0Cy}X(n^jucV5~cW>4Q4S<@4##dh6%r`FGcw+Js z)v)|dOCqz4&mNQfC&Kb^z+`iE^&;=HUKF9)FF8;IO6v6Y0X>*#Ze;Xyax&A08qnCv z5-~|8o>Nrjk8Y0F{6K*1H1z_Op7Wvx_&6Emjo$L#0j`>@MUTsq^kX0~9)M*v%K7KU z686iX2M-<+hC^=!w_i*feH~Yz8iObu2KVdb-InF^lWSc23 z9e-lIh$dwrS5j_HYe8D~J&kGkW;BsX8 z4V|3sKYMPVNZoI9g?{6p{2HZ7cIYHf&7pG_w6f@A8=kxFWfc_kR5u%4M7(8F{Nq8F z(>e3P3w`S)1^MW9K)|E^rYXQajl!kQq4^c(r?^ux(i*PauhGmJE$mbeorU1{ere(F zbf7JdKY_3E16d-q;>*?BB1TSvT81JBRMvOO2I^SB|*Q7Gtv zQa$Tufs~QQ+3>FtUM>4UBAHWCQTPKb{K0V*|hBs(+8o|r5{ z7{v}F{IOo0G_v?P$ulqh{dID~1sj==owigD2 zvEER>t_y?hxdVgk+P!-x_)RH({crH&Z|7?_^ml{9d-r{R@OhiFuG%$NUMtTO40arL zw=22}+BmZ*_dun#{)4x6l zZ0Gpr{L206zy3M*-)H>KDJ*Oo%RlGG&)?bh&-wM8V*i{zZG8H#sSa)pzGar*7T7|| zRuKJ(g)MH`qTD}F*h&^#IrN_lxg{;O6xSatYzfgV3H=8OTb0FD!Sx3UTXpDGdHx3q zTaAUSe#;*y{J+~+aPO(8;4hn&3mG9wNmaz(>q8W%>Xjq@-dp?hC6~&>o2OaBcON^# zFQNVhNthQt+IH|znriSVA)(zOKj)7hS~&5}^oS_p^o}XFM^g`aM(QpWc0B#*`%<=I z&9i@b!&fTaThdoXc%onS<=_8qJ)GF~Zw^ua4~@D*|E@!}F2Ay6nJo}(fdIAzf-Mki zfdIAzf-MkifdIAzg8%g(7+NwG`R82#W_h%g!MDhJD{lYS$L&_EGA;059IFq1QlM!j z(qt9QT3Bf4kSa@Qd9%6Mfb5>b2F}hFq4gdQA3VtRp*+NIOy#NF-SLEvYwYsb?;dyb zo!iFYR1Cn=+Gq(dTn-bFqnV6fCc5Wrf8EEI0k~GutkY#MpYthbRpnsOlo~JeeqKI%O8$nqrZ2e_e$jr`N-}%E-MUn|^sbsF!O_crI0xPh+#pV_ z+6`AAJMT<{j8&!O8_;K?4G_^UfSbL~YJ=gQwl4E|mrhp))lde{c)>q;8D&a=KlUFb zd_nJ&A)5@W(Vk5!EUQNgLbn`;nt?w9#>=q!6{`V5yC?lciLKymLl=i9^ddZV zJ$tC!=dpt{if+ansgfVM=d4>xmYxB&3{^^Md7KrHPwbky1w8!y+(MBVy2N8?u|A)i zKR#Dd!LtW!8Ov-gT6bSAE`i^@`>2iFU0Z@R!6UsOtGAKywMdK(UfwzREHK;JVg6+! z;DyBbm%tfZ=<&`hc(Uh%Qa*FW7`!WY&gB${udzoNnK)lfsvhd&_-K=a8W_i2n;CgI zswjH42`%8*Y$awU4A_Gm{-h=ZE>U{t(K#inmI2`kK4?W2Oh6hJ;S^;m`DS}8q|dcY z0smF+y(nw)LP2JK^jz{LVG5uUMpl75@N9#)zs;AU>Q=Hdrd;^IlGz`|O*>#+JgOW}(H-Er${;8zx#HbM zuihYko=a>6cjfR^HLH>MnQPlC$Q;Mov0!?#Eqx{<3jNnAJQDFeJ*#v%u(eBjz)MF@3m!hu7PHE? z=$isORXyF2!(A47$#IyD0pL1o$TZ<)t=-U-1d~-Z=I0%3&%KAwa zb(a$cdvC|QLaeuAsX6HD`(_<*AO0cS$-O7Zv!Vlhf~i8Y{yDBe7ymwjKh6~t^-jsQy2x8o z6r_;jm>Al)p(cJxh7KPfa87g)%rYHXrsCwJt%)nQLM_gR1ow*O20#57xb}4SwryAW z+IP19)qg*}iWKx#)6ngZ8^;Z|QdH#1Sgj3+xomT@Q!9xlLRdSbx3?D_y|bE2SLDd>@>GW-X}0H**Z8dqKVsO} z*jQOv@e-^6@`S?>gt<<>x^|)%(R0Y`qJtKKF<`ZsF4-c<{Lx?1sjD}tr(eJ{N60t&?oO^ zzT(K|vD{`{=`!`Hv-X$cVyp&+b)} z_q^b{(5~UQ@v8tH{Y_+Ma?+m{P<|Wd3|L`^c)U!*_wjM#j`q~;?FJu#X^I{C+!sOfmlaICfA1M4iZQyIkGwT6NER5==jlz}3;QfnQm z#OLbjDrm@`HuLlAi-jMdsLP{tXeh>p(x%$wg+%gX$i-G3Irk^VKJk7UMq^&85!5!FCSwsooh{0;LhyrOLHY+ zei3_3JqH%78-~kllY?{=I| zqArAvG-W2W@3Bh|IkI=5x!V%$c2vI!815ELGwHm|FT1_(iy#?w-a`XC|@z}Jr{C&qsya$C`RyHj1s1MVxCO5*g%wF2t`o2Btm2l{%OSmNETwl*CO%&{km z*RLxpD~nl{UohnQZanfrROp)vq*iLnU>|dZ9f%%~$~}bS*O94GL7F2wVtX zFoT@TC=DMnZ{g~%G(ORd$Et65)&lr5cE~!%K)?cpwP)1<*J@F`5SK2j*`R}}3CVASFeOgF& z7<@q5pepw=y87%jf@wR;OP#(XUXDE`2{!%u_3IP7Y2=NmK8s*@3c-K8yo1JXy{H1$s#EeM&6yI zTL3${RZofVGN2P4*HD!ommAhcD z+bYaFdG@u7i%V^Wk(DOGOyr4_1pD4s?j9rc5QX&?zt1{7{v+N9U(RKj%&QP*`rQ7i zo*p29FWJ&M3K4l#7a`_{VtRdc)fW8e0?|?JN31-ubK3eoFsuG<=k}uR4Bz6Vxsv8h z`=80X_&i0T#LQ0lgS2sb$DjEh`_d_$?)_D(s$h5c>ATBd36MS4#_aObF>jN5esQfT zt-Y7*$`=6Ef$~fi!VbGh$;Q`A+Q~Z#NGk$@7JVxd12Rbgwn*CWqD(`t>kNTA?@p$6 zvR1H{oRu5cqBBl0e%<11O!P(jH(fro;muwAohm>t+uRnAl03O~7a42C1Z#Q; z(GnlWWkSX*X~8`TIx@8=eUt}R^&%uY^RGdaA!-bTcv?zI3NVI6CTM3sO8;8(*G&8f2*+N`BNJ1ne`0i1)$RQ|;KRq`HrK0xw;4B2P=*y(9 zYa|W$Q|e(!JczCZJo}k@t(6|n*^Oe0i;FvLeF1al7?*v{mOi(xNSiJEjQA%VcNt+0 z>1Ar3q4R;n(dM>zpNG2K@p)`g(Van$ahWS}B(77^4CQMk2t9>a3$aqR-@h51iI2Bl z2tVoA(IOLFOmVqISm-j#nkW6ooP|{b@P2b>8>BElehvu-0CNiQG7ClC&~n;nOu77 zE1-d(JU@~V?-1g_!cmJ$Mk%uY^Z>RiwHf*bBAXnl!Qk@uZ7e%w=OBEt0IZb<1}VW)_l>+EZ{X?FQ`V)&b`u7ZVT zl!O_FxLvoY?zHG9+KU6a{cwN~mS4eoKoG<#b^vX)FejYkpRBlaOY|iL-K8I1JAwr>$g$D0Wn94pSu9^R98PTS?khBtkZRechmA5o z=3J{646Rk#tWkPb%nOvxe%{L;S-K2{7aUMt>Z>#Zv{3_)ce>kf+ACyErViXeWzsWj zLlu1=t$oDM%L7M`$as1Hfn~K~}rGI$NkCawOYSum{mo zDJyMnS@hjD=?6%f_iUV<;e7!k4QRsyHBd-rr2EH{O9iDjAFh(_<^bY)`iyDmYLPQQ zr7QyQl2qB)i0-3oiNWe+kYhpGm1Ma)=S`c-?ozp!>$O@BCFpvMXz`#rjcCK7Q+eJc z%X_9kN-`-jZG15O<&jMvhonjPl(A2=lmb{CAf)?wK(FU8Ap}An;CKbhS$`i^Y_rMg5_NpNN!Eo(o1gq48`|^gGnqn5kVnw+i zdpIKiko8rWRg!Ak3ZieF)v6^{z636PZlxtwMp9Z4%njrLpxxK@eNp0BC)N1fCr|K_ zxj4q#A|382ZOdssH`QzBM{x%OnfFRF`5#sv1i)CwB+$c{)I-wJ(gh%c6nR@TWa*V> zSeyXq@}5RA$w(4G-~#`}P-7Tt2N<`D=NzyM`j3X~*=qj#K^pm<$^4?=o99TPN2Zu} z5#W|r`Herqb&d9S2ZnV588&x_YbOX>y^(J=1ep*%+4K9@0piadk%NF=y;~kqN15@i zs{`C2xM!bDsiC1u__xd9O&@jr1T54))@Ujkn|17=C{mQSvzW4nx;Lns7yGCO98JCJQ z*WlhC(P$0vqg-qS?oHvhw&h$)x$Txy{-{HuLRGb)HsG+N{1NBn#xVVl_ohDEFm0G3 zmz_nP@ND{Qqob!M^}%|!uR=yTNzrHhQ)m5ToIJ`GzR^bNFSs}M{RGZ0RB2sA+A{90 z7PMcN-)Z9-h!?%-EUqw1K{P2QZZxy7rw;BsMs;VW>WrPx6 zx()A0WVDsmj!!_vX39Q!g+`-;0K;U>l#@q7Avwyc)_l!;i9?L5OYSIdQBe`_ zXPJvaC@2=>iN0RyC|giqh?tSqx>SN*R~Z7Ed>=zwfFCgPVBqZG37k@LZ!r)7##IkA z0ZT4Z=)<%*Uio{pVuZ3>J!Cg3E4OZ+y;-HZ@$~j=G})F4evz7%mX_)x4+a3T`dx1^ z0MYdH^y?y3Roo)`8Ql@he9SSw{d_qOiI5zGvRUs%utAWYWpbneDg9Jpk`mVgUS8e> zLLn|noU?c{#ZPSeh1MSc-5eLB(~A+F6#N=~Ccgn_+MWF+w?%3z$d!6sDu~~?#p(L= z4%P1VJ_krPXCZJ3w8vjoObkEegUT|Bo)qB!5YReXRzzFd&z}c@<#qd*RZBl|AmCcc z*+E~R5soSOjK_YaJ~7e=!Xkl5-W<|62o_g;R`keTy6@@D3L;&?lKAEHk|W5?d{FK2 zI^~+Go+ju40&VM9j7#|S*~1yIx@^~%FSV>Pgo7ZC-}!bqPV0XuDQQrvKt{Ku`TILu zUi6pj91_(rGvh|BQSvjNM?oUr7Pa2-PoWExv`R~D02^DI+wk>S01HUcxaA0AmU#Q~ z^Zo*2HsEkWXlC95P}cQ%NMi7q6&-#Hoew26L5UxJ+WUFb#a;WXAz{+-?NyqoJlKZ& zDP|9$<{`0xf0a9Kirl=IV%$UUHlgV$fON7Dti~6Rti?JX*JxG?;y&};QQ z?_p4c)gyv98z3x!!F6&E13I^7MsC_HM11h*>fNT5E{`BF*=uw5we*DxP=T3aS_MK# zZg@6U3hJG-V0Tlx&8N9>`HbXr$gApm8q&@|xZ}3uaK zY=ert`Xp~=4+orrqg405w}JFu-=g}@&G06W@F9S6S7IVw3`qCVLzH#o^=Tqh8X7Po z;!WWF@9%;_aS6F_aS$ev!qnj(bq!UUK7g@rBOt3+PfqeyPgCkZtN6;vaH*0J{ie=-{+Y+kGG0;=;)4pS$qs*uVpc|R#KE~no92#2}_?4ui0_1->> znuPt($Xv`e)SJN3UOT}It*W!?sdf%_MH*n7yn_~AW`f}#yw1{JtHa^h7Kgy>0Z?n? zEZix`L0mzC)Nh101=u{JwlEUJ@NE<~HHJRJ)_+f}`FZjl3_UaA!*;`gY@%9}J{&M>or$_pD#9oz=upfKa2VK&C3Xpg4_*CA2F<=T{p7C5C%^4+K)stlE( zLe;Y^*nz1Y2(cwH*3E^m42#uLHzy(F1)~a4aGNhPHqyv(b^@!p4pFZy_(>s>Rvx+8 z(B`bw?v7~a5Gu&uL^v1JLRHP3H6zi$C6md}W^S|BQI`ZTn||pF(PqUe-DcQ4xF+xo z#ixvtJK4LiQpdWQ8+3nw0FMGIJ}UyHw)b$z0QPOU>5fBn(Id@PmB+%2Ll1(GO%w`{ zwDLTO@uuS2GYF}#!U#p>**0Ji=7G$~44O(XN6*n;x34veJE%-_;I1bqS>emU7Ia)T zyx${cNvTB|khjVqoiPh~jC!mhEGOQTd=FT{ab9bAD8~cCV#-HB?d)ge4aOtQ8 z|7?h)jKgWh&^k?^%-KNtJD8^N7Sr8&fylhT7$q4eN$fGl!HD)1Nus+H#(Sit5#QbL zQiVm3ctOdjsE94%l#03hX{T;WGkiH1_si%iHgt_nB{7oZIqT@VQtfa9>b=^LN@b6( z3IV6ZI9f~Jgh)cHY(?lswgvFt6_k_TeznTAApa5JY>T}$V#p=UFdn+tz4lsvA5ir1-=&R#tHMD@`y~s-ia%Sn_@bq>j%%IO+UAZ6lwdF}gAr zYCf~64t`w1;~3(&$foEi=;nCp6^HTd=04MzDtTF_!(Xuon4HD-;=vH+7a_jmp? z`9TCqx0*T1qIQ{Ez{Fic$hF%qT^8U79dL3t0L|~?{CA^@f6f83L_!$+ef&>8oA}QW z|L=AG7d1FD<{De#Js}&EerA%jweG@Pq7GqM^-%&k`PkvjX-R=ops6WQpP9!h`HoN9 zeR*j2HnGxdA%5Q@b(U9~?fzyytK<5Mse-L_KhIPxm(pE?{FHJ{K_-I^I+LsG6GrF5 zKo~_k5K-?%neSA9TI)A2JBNp^ELT*Ox_Z^d7N%K(ZU;E3uRudTEl4l?$@``JIF^*u z87i&}ny27+bCQ{HW5U0Xw1bz<7+v?RTWl{aMR+NB{RXLi!yj9ej8+}E8M+k2p?WKp zr|e{j$}9m-U#d|P=+#!~)aKrdC`k_daNFPCpYVp;kFjQ*8#OQyb6NJ@_t6t`NeP!s zJQLzCir>4ZX(OK`%iYvds7!Pakz)xO~f{^r{Pv@9;-?;VZ&=n*0Hm>nCpx9X)6d#r9Ki0BRz;Q9LFYvH2xAaG1ug`k8SBIr%A+Fl!QKRp70@l=7kQ;0?fE z1GM+Va*YPd&+en!uSb78iG6r?)ZXe?S;meYyQ4$SLc&_ApKTq4Dh4!sG6V#iD0+e= z8!M1V(Ru&)Jx%|l^fJvOciDs8H*Z&EC~4qu9imUqnG#O1nl8^V<^v9OB{HNeX&)$8 zgs{H0)i_&>NBUVN9n~-&8gNMk^3Q4oYkWlqNQYsa4NmjCeN1FKR|_*lg?DXlqby5p z?=G};s7iwmY(M$NHX2n0Z z&+j5ijs?V)C-!R5KzNN>>dbr?i8>#=>&$+SlYXJs7s^oF%g3TZ=x7=1Z%D@d+P_32 zJHz8vLw%&23T=ZEo%NsOhOcylJ@yp5*TF4_;%^e^m?&4XJrT%lCGqOBsG{x3Zkvfb z|HO*&?avM$rBV?JUXd_H7$X~E!bvKm0X9BQFcA>WY z*E-3@h?S05z4pdrM{J)>8m%8Q-o}Z3o(;EQ1<`PBvX{SEP;(zO5K~w?RVcY*2&P6q?N`dyRk11 zD&g?^1|l=p>c@2xsjjQn?FR_{Hx5gZl*(}D-8ruvq+^O>r6k<8$vIyP_sP}Sz{jUg za3D#6F{Yfrbc!@+@KAr4=r-fEQd8R=sbn4I~?^jO)M0&Re6%*0}R;s$SRwFte3S$(RE_ z@F?o~hR7R5TD<^)L0E8`E*t<+6K$?r2;4c=J&nmnBIjm2l)$h&n-|!hh?07^3l_!# zqd9mUDQ}vuhI?;%2yu?P+ppv_=3BBmD%0Oj%&eB@R0uCNM}3gXg^<74mh^eXsfD;f z8RYGeV;NgbOiI7+C28|(0s}=|7&@2tiyLqyjOz`vQaB~#Qy%#)ihs5WL7nSw_ORG} ze2iQv*x_WU@HJrL#i|-6IenkAl>HmR_Ei;gFNEku*v5L|UDiA7R&*Otk+VagSUl=| zwy)`^k&K$}T|H6r+umbEF+b(!&-o|K8+45ohqE;I8=V@tf5W21zux6mR;F`H(gA!~;m6jI(k8)ybp*zc;HtAR^q zY0jbuKT>$R_c80bPY1?Z;=GABBcCl^EkP9`qKt9!V-IrdKrP)+LW?frui#q9zPfNwE>}c|vIyiV`2tDAWxnzAU z|G2p$Zs1w84niq%ItFC#%3&JBJuq_#W@R@WUXz@Gi6L`;5k-)v#5xO!`NSsgR_~?n z-;+u_4d4k0)57nlEH%0D|%CYMdt8Z)x{w- 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/disabled.png b/forui/test/golden/windows/otp-field/neutral-light/disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..c40da2da890ebe2ec8fd98bc40e3590771a522ea GIT binary patch literal 27057 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/divider.png b/forui/test/golden/windows/otp-field/neutral-light/divider.png new file mode 100644 index 0000000000000000000000000000000000000000..1e8a86344b745dd44e1fa0685a2182d4b4c5394f GIT binary patch literal 23423 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 AF8}}l literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/error.png b/forui/test/golden/windows/otp-field/neutral-light/error.png new file mode 100644 index 0000000000000000000000000000000000000000..9fec4e1254082744ca4a9b0b31914a83636502c5 GIT binary patch literal 33747 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 SZ=Gdfxu&77UU1nu=>GyqxL-8@ literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/many-items-focused.png b/forui/test/golden/windows/otp-field/neutral-light/many-items-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..90a7b4e9d16d2749c692a2a20749def321bae7f8 GIT binary patch literal 27526 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/rtl.png b/forui/test/golden/windows/otp-field/neutral-light/rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..e614cd218c8fa1039ecc072d26ede6bca84b3f14 GIT binary patch literal 35481 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 z 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/single-empty-item-focused.png b/forui/test/golden/windows/otp-field/neutral-light/single-empty-item-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..9b3d1ca0c568b2af287016fd1bd1e98922bb88a2 GIT binary patch literal 24381 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/single-filled-item-focused.png b/forui/test/golden/windows/otp-field/neutral-light/single-filled-item-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..40e8dc2f294ba4440c8cfbca207ca64b80d1e1a8 GIT binary patch literal 29482 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/single-item.png b/forui/test/golden/windows/otp-field/neutral-light/single-item.png new file mode 100644 index 0000000000000000000000000000000000000000..103f134523c323ffac23a5eaae66e1944fba3fc2 GIT binary patch literal 22769 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/with-label-and-description.png b/forui/test/golden/windows/otp-field/neutral-light/with-label-and-description.png new file mode 100644 index 0000000000000000000000000000000000000000..7b5d46968c7765b07ca8b7879f8109aa43ae8cb8 GIT binary patch literal 31666 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/windows/otp-field/neutral-light/with-label-description-and-error.png b/forui/test/golden/windows/otp-field/neutral-light/with-label-description-and-error.png new file mode 100644 index 0000000000000000000000000000000000000000..85f0249c530afdb1081ff4d7285d86f2f7d5ec68 GIT binary patch literal 37980 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 Date: Sun, 29 Mar 2026 23:58:09 +0800 Subject: [PATCH 09/10] Update PR --- docs/content/docs/form/otp-field.mdx | 12 ++++++++++++ docs_snippets/lib/examples/widgets/otp_field.dart | 12 ++++++++++++ docs_snippets/lib/main.dart | 1 + docs_snippets/lib/usages/widgets/otp_field.dart | 2 +- forui/lib/src/widgets/otp_field/otp_field.dart | 4 ++-- 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/docs/content/docs/form/otp-field.mdx b/docs/content/docs/form/otp-field.mdx index f2a94341f..fd34be10c 100644 --- a/docs/content/docs/form/otp-field.mdx +++ b/docs/content/docs/form/otp-field.mdx @@ -10,6 +10,7 @@ import { CodeSnippet } from '@/components/code-snippet/code-snippet'; import { UsageSnippet } from '@/components/usage-snippet/usage-snippet'; import defaultSnippet from '@/snippets/examples/otp-field/default.json'; import dividerSnippet from '@/snippets/examples/otp-field/divider.json'; +import noFilterSnippet from '@/snippets/examples/otp-field/no-filter.json'; import otpFieldUsage from '@/snippets/usages/widgets/otp_field/otpField.json'; @@ -51,3 +52,14 @@ To generate a specific style for customization: +### No Filter + + + + + + + + + + diff --git a/docs_snippets/lib/examples/widgets/otp_field.dart b/docs_snippets/lib/examples/widgets/otp_field.dart index ddd16a75e..a865b84e7 100644 --- a/docs_snippets/lib/examples/widgets/otp_field.dart +++ b/docs_snippets/lib/examples/widgets/otp_field.dart @@ -26,3 +26,15 @@ class DividerOtpFieldPage extends Example { // {@endhighlight} ); } + +@RoutePage() +class NoFilterOtpFieldPage extends Example { + NoFilterOtpFieldPage({@queryParam super.theme}); + + @override + Widget example(BuildContext _) => FOtpField( + // {@highlight} + inputFormatters: const [], + // {@endhighlight} + ); +} diff --git a/docs_snippets/lib/main.dart b/docs_snippets/lib/main.dart index 359a76d1e..f0bbf0111 100644 --- a/docs_snippets/lib/main.dart +++ b/docs_snippets/lib/main.dart @@ -140,6 +140,7 @@ class _AppRouter extends RootStackRouter { AutoRoute(path: '/multi-select/form', page: FormMultiSelectRoute.page), AutoRoute(path: '/otp-field/default', page: OtpFieldRoute.page), AutoRoute(path: '/otp-field/divider', page: DividerOtpFieldRoute.page), + AutoRoute(path: '/otp-field/no-filter', page: NoFilterOtpFieldRoute.page), AutoRoute(path: '/pagination/default', page: PaginationRoute.page), AutoRoute(path: '/pagination/siblings', page: SiblingsPaginationRoute.page), AutoRoute(path: '/pagination/hide-edges', page: HideEdgesPaginationRoute.page), diff --git a/docs_snippets/lib/usages/widgets/otp_field.dart b/docs_snippets/lib/usages/widgets/otp_field.dart index 40e040e9e..ff2e83503 100644 --- a/docs_snippets/lib/usages/widgets/otp_field.dart +++ b/docs_snippets/lib/usages/widgets/otp_field.dart @@ -61,7 +61,7 @@ final otpField = FOtpField( // {@category "Control" "`.managed()` with internal controller"} /// Manages the controller internally. Allows configuring children and initial value. final FOtpFieldControl managedInternal = .managed( - children: const [FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem(), FOtpItem()], + children: const [FOtpItem(), FOtpItem(), FOtpItem(), FOtpDivider(), FOtpItem(), FOtpItem(), FOtpItem()], initial: null, onChange: (value) {}, ); diff --git a/forui/lib/src/widgets/otp_field/otp_field.dart b/forui/lib/src/widgets/otp_field/otp_field.dart index 151cbb0c3..f0a97a8d7 100644 --- a/forui/lib/src/widgets/otp_field/otp_field.dart +++ b/forui/lib/src/widgets/otp_field/otp_field.dart @@ -96,7 +96,7 @@ class FOtpField extends StatefulWidget with FFormFieldProperties { /// {@macro forui.text_field.focusNode} final FocusNode? focusNode; - /// {@macro forui.text_field.keyboardType} + /// The type of keyboard to use for editing the text. Defaults to [TextInputType.text]. final TextInputType? keyboardType; /// {@macro forui.text_field.textInputAction} @@ -211,7 +211,7 @@ class FOtpField extends StatefulWidget with FFormFieldProperties { this.magnifierConfiguration, this.groupId = EditableText, this.focusNode, - this.keyboardType, + this.keyboardType = .text, this.textInputAction = .done, this.textCapitalization = .none, this.textDirection, From 331968756f5e027e33a16f4644be7ef013983f07 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Mon, 30 Mar 2026 11:14:30 +0800 Subject: [PATCH 10/10] update name --- docs/content/docs/form/otp-field.mdx | 8 ++++---- docs_snippets/lib/examples/widgets/otp_field.dart | 4 ++-- docs_snippets/lib/main.dart | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/content/docs/form/otp-field.mdx b/docs/content/docs/form/otp-field.mdx index fd34be10c..7d3c5e08c 100644 --- a/docs/content/docs/form/otp-field.mdx +++ b/docs/content/docs/form/otp-field.mdx @@ -10,7 +10,7 @@ import { CodeSnippet } from '@/components/code-snippet/code-snippet'; import { UsageSnippet } from '@/components/usage-snippet/usage-snippet'; import defaultSnippet from '@/snippets/examples/otp-field/default.json'; import dividerSnippet from '@/snippets/examples/otp-field/divider.json'; -import noFilterSnippet from '@/snippets/examples/otp-field/no-filter.json'; +import noFormatterSnippet from '@/snippets/examples/otp-field/no-formatter.json'; import otpFieldUsage from '@/snippets/usages/widgets/otp_field/otpField.json'; @@ -52,14 +52,14 @@ To generate a specific style for customization: -### No Filter +### No Formatter - + - + diff --git a/docs_snippets/lib/examples/widgets/otp_field.dart b/docs_snippets/lib/examples/widgets/otp_field.dart index a865b84e7..838a36cbe 100644 --- a/docs_snippets/lib/examples/widgets/otp_field.dart +++ b/docs_snippets/lib/examples/widgets/otp_field.dart @@ -28,8 +28,8 @@ class DividerOtpFieldPage extends Example { } @RoutePage() -class NoFilterOtpFieldPage extends Example { - NoFilterOtpFieldPage({@queryParam super.theme}); +class NoFormatterOtpFieldPage extends Example { + NoFormatterOtpFieldPage({@queryParam super.theme}); @override Widget example(BuildContext _) => FOtpField( diff --git a/docs_snippets/lib/main.dart b/docs_snippets/lib/main.dart index f0bbf0111..aab527e37 100644 --- a/docs_snippets/lib/main.dart +++ b/docs_snippets/lib/main.dart @@ -140,7 +140,7 @@ class _AppRouter extends RootStackRouter { AutoRoute(path: '/multi-select/form', page: FormMultiSelectRoute.page), AutoRoute(path: '/otp-field/default', page: OtpFieldRoute.page), AutoRoute(path: '/otp-field/divider', page: DividerOtpFieldRoute.page), - AutoRoute(path: '/otp-field/no-filter', page: NoFilterOtpFieldRoute.page), + AutoRoute(path: '/otp-field/no-formatter', page: NoFormatterOtpFieldRoute.page), AutoRoute(path: '/pagination/default', page: PaginationRoute.page), AutoRoute(path: '/pagination/siblings', page: SiblingsPaginationRoute.page), AutoRoute(path: '/pagination/hide-edges', page: HideEdgesPaginationRoute.page),