From 61b98172837c60a23e9665a51cd498b5be080066 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Thu, 15 Aug 2024 13:03:30 +0800 Subject: [PATCH 1/7] Fix incorrect docs being published --- .github/deployment_preview_template.md | 6 +++--- .github/workflows/docs_preview_deploy.yaml | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/deployment_preview_template.md b/.github/deployment_preview_template.md index 97b791ee9..deb0d8492 100644 --- a/.github/deployment_preview_template.md +++ b/.github/deployment_preview_template.md @@ -1,7 +1,7 @@ # Documentation Preview -| Latest Commit SHA | {{ .sha }} | -|:------------------------------|:------------| -| Preview URL | {{ .url }} | +| Latest Commit SHA | {{ .sha }} | +|:------------------------------|:----------------| +| Preview URL | {{ .url }}/docs | You're seeing this because the docs/samples were updated. \ No newline at end of file diff --git a/.github/workflows/docs_preview_deploy.yaml b/.github/workflows/docs_preview_deploy.yaml index becaf5f87..535190e34 100644 --- a/.github/workflows/docs_preview_deploy.yaml +++ b/.github/workflows/docs_preview_deploy.yaml @@ -53,6 +53,7 @@ jobs: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ vars.CLOUDFLARE_ACCOUNT_ID }} projectName: ${{ vars.CLOUDFLARE_DOCS_PROJECT_NAME }} + branch: ${{ github.event.pull_request.head.ref }} directory: ./docs/out # Create/update comment with link to preview From 89025ac38f853761af18229706b126b7db806b96 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Thu, 15 Aug 2024 14:30:02 +0800 Subject: [PATCH 2/7] Fix actions & test not being ran properly --- .github/workflows/docs_deploy.yaml | 4 ---- .github/workflows/docs_preview_deploy.yaml | 24 ++++++++++++---------- .github/workflows/forui_build.yaml | 2 +- .github/workflows/samples_build.yaml | 2 +- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/.github/workflows/docs_deploy.yaml b/.github/workflows/docs_deploy.yaml index 39c61dd7e..964764215 100644 --- a/.github/workflows/docs_deploy.yaml +++ b/.github/workflows/docs_deploy.yaml @@ -38,8 +38,6 @@ jobs: working-directory: ./docs steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: actions/setup-node@v4 with: node-version: 20 @@ -68,8 +66,6 @@ jobs: working-directory: ./samples steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - uses: subosito/flutter-action@v2.16.0 with: flutter-version: ${{ vars.ACTUALLY_WORKING_FLUTTER_VERSION }} diff --git a/.github/workflows/docs_preview_deploy.yaml b/.github/workflows/docs_preview_deploy.yaml index 535190e34..9ce883923 100644 --- a/.github/workflows/docs_preview_deploy.yaml +++ b/.github/workflows/docs_preview_deploy.yaml @@ -15,7 +15,9 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-depth: 0 + token: ${{ steps.generate-token.outputs.token }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + ref: ${{ github.event.pull_request.head.ref }} # Publish samples - uses: subosito/flutter-action@v2.16.0 @@ -28,7 +30,7 @@ jobs: flutter pub run build_runner build --delete-conflicting-outputs flutter build web - uses: cloudflare/pages-action@v1 - id: publish_samples + id: publish-samples with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ vars.CLOUDFLARE_ACCOUNT_ID }} @@ -46,9 +48,9 @@ jobs: - working-directory: ./docs run: | pnpm install - NEXT_PUBLIC_DEMO_URL=${{ steps.publish_samples.outputs.url }} pnpm run export + NEXT_PUBLIC_DEMO_URL=${{ steps.publish-samples.outputs.url }} pnpm run export - uses: cloudflare/pages-action@v1 - id: publish_docs + id: publish-docs with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ vars.CLOUDFLARE_ACCOUNT_ID }} @@ -58,26 +60,26 @@ jobs: # Create/update comment with link to preview - uses: tibdex/github-app-token@v2 - id: generate_token + id: generate-token with: app_id: ${{ secrets.AUTO_MAID_APP_ID }} private_key: ${{ secrets.AUTO_MAID_PRIVATE_KEY }} - uses: peter-evans/find-comment@v3 - id: find_comment + id: find-comment with: issue-number: ${{ github.event.pull_request.number }} comment-author: 'auto-maid[bot]' - uses: chuhlomin/render-template@v1.10 - id: render_markdown + id: render-markdown with: template: .github/deployment_preview_template.md vars: | sha: ${{ github.event.pull_request.head.sha }} - url: ${{ steps.publish_docs.outputs.url }} + url: ${{ steps.publish-docs.outputs.url }} - uses: peter-evans/create-or-update-comment@v4 with: - token: ${{ steps.generate_token.outputs.token }} - comment-id: ${{ steps.find_comment.outputs.comment-id }} + token: ${{ steps.generate-token.outputs.token }} + comment-id: ${{ steps.find-comment.outputs.comment-id }} issue-number: ${{ github.event.pull_request.number }} - body: ${{ steps.render_markdown.outputs.result }} + body: ${{ steps.render-markdown.outputs.result }} edit-mode: replace \ No newline at end of file diff --git a/.github/workflows/forui_build.yaml b/.github/workflows/forui_build.yaml index 4e9c9af91..3398e67c1 100644 --- a/.github/workflows/forui_build.yaml +++ b/.github/workflows/forui_build.yaml @@ -6,7 +6,7 @@ on: paths: - .github/workflows/forui_build.yaml - forui/** - pull_request_target: + pull_request: paths: - forui/** diff --git a/.github/workflows/samples_build.yaml b/.github/workflows/samples_build.yaml index 0f41a1a4c..6e4c95522 100644 --- a/.github/workflows/samples_build.yaml +++ b/.github/workflows/samples_build.yaml @@ -7,7 +7,7 @@ on: - .github/workflows/samples_build.yaml - forui/** - samples/** - pull_request_target: + pull_request: paths: - forui/** - samples/** From f88b1093e9605d3a82d5c551a74329330f7b2846 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Thu, 15 Aug 2024 14:32:08 +0800 Subject: [PATCH 3/7] Fix failing action --- .github/workflows/docs_preview_deploy.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docs_preview_deploy.yaml b/.github/workflows/docs_preview_deploy.yaml index 9ce883923..aab0a5afa 100644 --- a/.github/workflows/docs_preview_deploy.yaml +++ b/.github/workflows/docs_preview_deploy.yaml @@ -13,6 +13,11 @@ jobs: runs-on: ubuntu-latest environment: docs-development steps: + - uses: tibdex/github-app-token@v2 + id: generate-token + with: + app_id: ${{ secrets.AUTO_MAID_APP_ID }} + private_key: ${{ secrets.AUTO_MAID_PRIVATE_KEY }} - uses: actions/checkout@v4 with: token: ${{ steps.generate-token.outputs.token }} @@ -59,11 +64,6 @@ jobs: directory: ./docs/out # Create/update comment with link to preview - - uses: tibdex/github-app-token@v2 - id: generate-token - with: - app_id: ${{ secrets.AUTO_MAID_APP_ID }} - private_key: ${{ secrets.AUTO_MAID_PRIVATE_KEY }} - uses: peter-evans/find-comment@v3 id: find-comment with: From b8c0b6875720d599718f690e51ecdc89bfd4f642 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 09:13:45 +0800 Subject: [PATCH 4/7] Update Docs - Major Revisions (#112) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/package.json | 4 ++-- docs/pnpm-lock.yaml | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/package.json b/docs/package.json index ba6d46275..5a5f195e9 100644 --- a/docs/package.json +++ b/docs/package.json @@ -23,10 +23,10 @@ "tailwind-merge": "^2.4.0" }, "devDependencies": { - "@types/node": "18.19.44", + "@types/node": "22.4.0", "autoprefixer": "^10.4.19", "postcss": "^8.4.38", "tailwindcss": "^3.4.4", - "typescript": "^4.9.5" + "typescript": "^5.0.0" } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index a7a4bfae3..68f49e0c4 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -34,8 +34,8 @@ importers: version: 2.5.2 devDependencies: '@types/node': - specifier: 18.19.44 - version: 18.19.44 + specifier: 22.4.0 + version: 22.4.0 autoprefixer: specifier: ^10.4.19 version: 10.4.20(postcss@8.4.41) @@ -46,8 +46,8 @@ importers: specifier: ^3.4.4 version: 3.4.10 typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: ^5.0.0 + version: 5.5.4 packages: @@ -310,8 +310,8 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@18.19.44': - resolution: {integrity: sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA==} + '@types/node@22.4.0': + resolution: {integrity: sha512-49AbMDwYUz7EXxKU/r7mXOsxwFr4BYbvB7tWYxVuLdb2ibd30ijjXINSMAHiEEZk5PCRBmW1gUeisn2VMKt3cQ==} '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} @@ -1718,13 +1718,13 @@ packages: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + engines: {node: '>=14.17'} hasBin: true - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.6: + resolution: {integrity: sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==} unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} @@ -2105,9 +2105,9 @@ snapshots: '@types/ms@0.7.34': {} - '@types/node@18.19.44': + '@types/node@22.4.0': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.6 '@types/prop-types@15.7.12': {} @@ -3906,9 +3906,9 @@ snapshots: type-fest@1.4.0: {} - typescript@4.9.5: {} + typescript@5.5.4: {} - undici-types@5.26.5: {} + undici-types@6.19.6: {} unified@10.1.2: dependencies: From fd256f9e2bd89c603d2e99f0f118f31d247b72bc Mon Sep 17 00:00:00 2001 From: Somye <71683523+sommye-ctr@users.noreply.github.com> Date: Sat, 17 Aug 2024 08:11:47 +0530 Subject: [PATCH 5/7] Added FButton.icon for a single icon button (#138) * Added FButton.icon for a single icon button * Added sample and docs for FButton.icon * Added FButton.icon for a single icon button * Added sample and docs for FButton.icon * Commit from GitHub Actions (Forui Samples Presubmit) * Commit from GitHub Actions (Forui Presubmit) * Added golden images * Commit from GitHub Actions (Forui Presubmit) * Commit from GitHub Actions (Forui Samples Presubmit) * Update docs/pages/docs/button.mdx Co-authored-by: Matthias Ngeo * Update forui/lib/src/widgets/button/button.dart Co-authored-by: Matthias Ngeo * Update forui/lib/src/widgets/divider.dart Co-authored-by: Matthias Ngeo * Renamed icon to child in FButton.icon(...) * Renamed icon to child in FButton.icon(...) * Commit from GitHub Actions (Forui Presubmit) * Updated forui/lib/src/widgets/button/button.dart * Added FButtonIconContentStyle * Commit from GitHub Actions (Forui Presubmit) * Commit from GitHub Actions (Forui Samples Presubmit) * Added FButtonIconContentStyle to FButtonCustomStyle * Added FButtonIconContentStyle to FButtonCustomStyle * Commit from GitHub Actions (Forui Presubmit) * Commit from GitHub Actions (Forui Samples Presubmit) * Minor Changes * Removed FButtonIconStyle from FButton * Resolved changes * Commit from GitHub Actions (Forui Presubmit) * Resolved errors * Commit from GitHub Actions (Forui Presubmit) * Added default value to FCustomButtonStyle.iconContent * Commit from GitHub Actions (Forui Presubmit) --------- Co-authored-by: John Doe Co-authored-by: Pante Co-authored-by: sommye-ctr Co-authored-by: Matthias Ngeo Co-authored-by: Matthias Ngeo --- docs/pages/docs/button.mdx | 20 ++++++- forui/lib/src/widgets/button/button.dart | 31 +++++++++- .../src/widgets/button/button_content.dart | 53 ++++++++++++++++++ ...riant.destructive-icon-disabled-button.png | Bin 0 -> 22601 bytes ...ariant.destructive-icon-enabled-button.png | Bin 0 -> 22767 bytes ...k-Variant.outline-icon-disabled-button.png | Bin 0 -> 23184 bytes ...rk-Variant.outline-icon-enabled-button.png | Bin 0 -> 23380 bytes ...k-Variant.primary-icon-disabled-button.png | Bin 0 -> 22710 bytes ...rk-Variant.primary-icon-enabled-button.png | Bin 0 -> 22940 bytes ...Variant.secondary-icon-disabled-button.png | Bin 0 -> 22540 bytes ...-Variant.secondary-icon-enabled-button.png | Bin 0 -> 22681 bytes ...riant.destructive-icon-disabled-button.png | Bin 0 -> 22544 bytes ...ariant.destructive-icon-enabled-button.png | Bin 0 -> 22710 bytes ...t-Variant.outline-icon-disabled-button.png | Bin 0 -> 22910 bytes ...ht-Variant.outline-icon-enabled-button.png | Bin 0 -> 23199 bytes ...t-Variant.primary-icon-disabled-button.png | Bin 0 -> 22703 bytes ...ht-Variant.primary-icon-enabled-button.png | Bin 0 -> 22927 bytes ...Variant.secondary-icon-disabled-button.png | Bin 0 -> 22110 bytes ...-Variant.secondary-icon-enabled-button.png | Bin 0 -> 22466 bytes .../widgets/button/button_golden_test.dart | 50 +++++++++++++++++ samples/lib/main.dart | 4 ++ samples/lib/widgets/button.dart | 15 +++++ samples/pubspec.lock | 24 ++++---- 23 files changed, 180 insertions(+), 17 deletions(-) create mode 100644 forui/test/golden/button/zinc-dark-Variant.destructive-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-dark-Variant.destructive-icon-enabled-button.png create mode 100644 forui/test/golden/button/zinc-dark-Variant.outline-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-dark-Variant.outline-icon-enabled-button.png create mode 100644 forui/test/golden/button/zinc-dark-Variant.primary-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-dark-Variant.primary-icon-enabled-button.png create mode 100644 forui/test/golden/button/zinc-dark-Variant.secondary-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-dark-Variant.secondary-icon-enabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.destructive-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.destructive-icon-enabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.outline-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.outline-icon-enabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.primary-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.primary-icon-enabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.secondary-icon-disabled-button.png create mode 100644 forui/test/golden/button/zinc-light-Variant.secondary-icon-enabled-button.png diff --git a/docs/pages/docs/button.mdx b/docs/pages/docs/button.mdx index 59660b2f7..0ac98529c 100644 --- a/docs/pages/docs/button.mdx +++ b/docs/pages/docs/button.mdx @@ -109,7 +109,7 @@ FButton.raw( -### With Icon +### With Text and Icon @@ -123,4 +123,20 @@ FButton.raw( ), ``` - \ No newline at end of file + + +### With Only Icon + + + + + + ```dart {2} + FButton.icon( + icon: FButtonIcon(icon: FAssets.icons.chevronRight), + onPress: () {}, + ), + ``` + + + diff --git a/forui/lib/src/widgets/button/button.dart b/forui/lib/src/widgets/button/button.dart index ca326a73f..f1d6637b9 100644 --- a/forui/lib/src/widgets/button/button.dart +++ b/forui/lib/src/widgets/button/button.dart @@ -99,6 +99,18 @@ class FButton extends StatelessWidget { label: label, ); + /// Creates a [FButton] that contains only an icon. + FButton.icon({ + required this.onPress, + required Widget child, + this.style = Variant.outline, + this.onLongPress, + this.autofocus = false, + this.focusNode, + this.onFocusChange, + super.key, + }) : child = _FButtonIconContent(child: child); + /// Creates a [FButton] with custom content. const FButton.raw({ required this.onPress, @@ -200,12 +212,16 @@ class FButtonCustomStyle extends FButtonStyle with Diagnosticable { /// The icon's style. final FButtonIconStyle icon; + /// The icon content's style. + final FButtonIconContentStyle iconContent; + /// Creates a [FButtonCustomStyle]. FButtonCustomStyle({ required this.enabledBoxDecoration, required this.disabledBoxDecoration, required this.content, required this.icon, + this.iconContent = const FButtonIconContentStyle(), }); /// Returns a copy of this [FButtonCustomStyle] with the given properties replaced. @@ -230,12 +246,14 @@ class FButtonCustomStyle extends FButtonStyle with Diagnosticable { BoxDecoration? disabledBoxDecoration, FButtonContentStyle? content, FButtonIconStyle? icon, + FButtonIconContentStyle? iconContent, }) => FButtonCustomStyle( enabledBoxDecoration: enabledBoxDecoration ?? this.enabledBoxDecoration, disabledBoxDecoration: disabledBoxDecoration ?? this.disabledBoxDecoration, content: content ?? this.content, icon: icon ?? this.icon, + iconContent: iconContent ?? this.iconContent, ); @override @@ -245,7 +263,8 @@ class FButtonCustomStyle extends FButtonStyle with Diagnosticable { ..add(DiagnosticsProperty('enabledBoxDecoration', enabledBoxDecoration)) ..add(DiagnosticsProperty('disabledBoxDecoration', disabledBoxDecoration)) ..add(DiagnosticsProperty('content', content)) - ..add(DiagnosticsProperty('icon', icon)); + ..add(DiagnosticsProperty('icon', icon)) + ..add(DiagnosticsProperty('iconContent', iconContent)); } @override @@ -256,10 +275,16 @@ class FButtonCustomStyle extends FButtonStyle with Diagnosticable { enabledBoxDecoration == other.enabledBoxDecoration && disabledBoxDecoration == other.disabledBoxDecoration && content == other.content && - icon == other.icon; + icon == other.icon && + iconContent == other.iconContent; @override - int get hashCode => enabledBoxDecoration.hashCode ^ disabledBoxDecoration.hashCode ^ content.hashCode ^ icon.hashCode; + int get hashCode => + enabledBoxDecoration.hashCode ^ + disabledBoxDecoration.hashCode ^ + content.hashCode ^ + icon.hashCode ^ + iconContent.hashCode; } typedef _Data = ({FButtonCustomStyle style, bool enabled}); diff --git a/forui/lib/src/widgets/button/button_content.dart b/forui/lib/src/widgets/button/button_content.dart index 01be48609..ea9091d1c 100644 --- a/forui/lib/src/widgets/button/button_content.dart +++ b/forui/lib/src/widgets/button/button_content.dart @@ -37,6 +37,59 @@ final class _FButtonContent extends StatelessWidget { } } +final class _FButtonIconContent extends StatelessWidget { + final Widget child; + + const _FButtonIconContent({required this.child}); + + @override + Widget build(BuildContext context) { + final (:style, enabled: _) = FButton._of(context); + + return Padding( + padding: style.iconContent.padding, + child: child, + ); + } +} + +/// [FButton] icon content's style. +class FButtonIconContentStyle with Diagnosticable { + /// The padding. + final EdgeInsets padding; + + /// Creates a [FButtonIconContentStyle]. + const FButtonIconContentStyle({ + this.padding = const EdgeInsets.symmetric( + horizontal: 16, + vertical: 12.5, + ), + }); + + /// Returns a copy of this [FButtonIconContentStyle] with the given properties replaced. + @useResult + FButtonIconContentStyle copyWith({ + EdgeInsets? padding, + }) => + FButtonIconContentStyle( + padding: padding ?? this.padding, + ); + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(DiagnosticsProperty('padding', padding)); + } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is FButtonIconContentStyle && runtimeType == other.runtimeType && padding == other.padding; + + @override + int get hashCode => padding.hashCode; +} + /// [FButton] content's style. class FButtonContentStyle with Diagnosticable { /// The [TextStyle] when this button is enabled. diff --git a/forui/test/golden/button/zinc-dark-Variant.destructive-icon-disabled-button.png b/forui/test/golden/button/zinc-dark-Variant.destructive-icon-disabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca016387aa65fc549c27b9e079a40334ea01613 GIT binary patch literal 22601 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-dark-Variant.outline-icon-disabled-button.png b/forui/test/golden/button/zinc-dark-Variant.outline-icon-disabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..8c27e01ccd8a640086c599f8dd7cb8c6d4492b83 GIT binary patch literal 23184 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 KfwRN+)V}~#NOKPW literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-dark-Variant.outline-icon-enabled-button.png b/forui/test/golden/button/zinc-dark-Variant.outline-icon-enabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3cdbe79aa134a4ea1e63a6ddfc1b5d982279ce GIT binary patch literal 23380 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-dark-Variant.primary-icon-enabled-button.png b/forui/test/golden/button/zinc-dark-Variant.primary-icon-enabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..acdd2c4a7b362996af69934bcabb15583f6358d4 GIT binary patch literal 22940 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 ItX#hS6YG8S3IG5A literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-dark-Variant.secondary-icon-disabled-button.png b/forui/test/golden/button/zinc-dark-Variant.secondary-icon-disabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..02f59e70e03951e8c84698a77ab069cb430a5ad7 GIT binary patch literal 22540 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-light-Variant.destructive-icon-disabled-button.png b/forui/test/golden/button/zinc-light-Variant.destructive-icon-disabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..e6d980956baa796572afe34480b2454c994af219 GIT binary patch literal 22544 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-light-Variant.outline-icon-disabled-button.png b/forui/test/golden/button/zinc-light-Variant.outline-icon-disabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..917a35b44a462b626b6dbe5e9cdc64cae4822dff GIT binary patch literal 22910 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-light-Variant.outline-icon-enabled-button.png b/forui/test/golden/button/zinc-light-Variant.outline-icon-enabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..780bc9959d311d1039e8ae3c8c6772887ec2f896 GIT binary patch literal 23199 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-light-Variant.primary-icon-enabled-button.png b/forui/test/golden/button/zinc-light-Variant.primary-icon-enabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..f789c8b6c58a0ed21c2b8be7bab218007bd346d9 GIT binary patch literal 22927 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/button/zinc-light-Variant.secondary-icon-enabled-button.png b/forui/test/golden/button/zinc-light-Variant.secondary-icon-enabled-button.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a7109a9de6c1d5c1c5148320988db9d6963625 GIT binary patch literal 22466 zcmeHPc~Fx{7XLs*5W*lHAVdU4MFn9%814|oNO>S~34|-i zai&VJ1QWm!kRt{avWf#b4#yZdBq{?@IV6CDW5517k<9$FwN+bAP1)Z+Uw_@N-|K$; zd#_)=G@SI@=|Wnly%57NlIwP7FAP(rV%P#DB}KfZs&!HUf5}CAxj130W^zCNp%Crl z>aB!7NlN=NFia0~b>8Y7pa16BRuZPK&gBZG5-ApsztI0~m#19t#*HiSF7V;a@a3ds zjBQT+_~EQ*EUjn!n=xNnR$pE!En)`qmPyNw`?&Jba)zp(w1}ONQ<0YS5Ob+2kXjI0 zq*y>kgnWwx3&`c7%|ZeNw1=Y5LIMR8aiKs|0tFO8qmzXM3h2Ov&Y==0pyN5pT1cRP z5(|IT#6sz>HF3t3XVxw}KHoC%mlwoT zs$ig-~u51e@gu$odXS^00|w{p(S7_ z68MuNf$`!6U@0Dxd1hnNTD-_CK?g4~s4ioRnR}?)({Q(^7Dp-%xIK*#tpa57#3_$! zRW>O0YY#unw;W5pLstvwIac#e@pNcXQc@QGCxHl1cGt&{XLOYD($Mv6fmTy_R%~ZF zGqS76!d;LutHoq8DLimLEPf9W7Be(Q?P>#f<;K1qFZSNqRwAC5s#Pfij3}px+)Gcx z8}a6pX*zxQ)a-@A15;BUh7LI4%?!;iiA+|!ep7jNLIJy=UPU}C;Njgv9Oi-cRCpSr z+<*UpEUXT8_%@;km!HEE3@iuiRpE?Y;gfIai+&?c5iQ}I;lH)i&EZvb78Vx)n%Z0Z zR=^AE>a@>fPehA3ISDBgf_=|h$lhc$sX3H?-`9d)k<%B=p@Um_+`z>|dM;?6|M@bO zuyy0a>$cbxO}*KG70ZAab`>|099oc995$49p)Y~VixjEijf_f|S*YULiw~1$O|8I% zn4=^()CXh9D~XBRc~pHQls{G+2Kd#kkhB(fm@XaObiN@R96a*fiA>a2FwgW@oh7lnh^~rv-4%F0q3F)n6h;q)cz_lM?9q$(tMfd`FGe; z!*p@vvPv-3qqOZArZA-n<; zDb4NrPBP~*h&4cg>B%H_lw?lypC9=}8(Z7;fhbc1#j*#Tl=XB z`{YTVbyv@=Oqobb_%K3Cm>AkB@Bz(3$EqXAytXevxuX8Tg9Ae4vr*&k5@~gm+1^U= z_;{0m$J`VUQ}gCs*8v9rEvixcadrI7cwlX9Z5)z1-Pg7e^zL~G;bbw~Q@@fT7F%_b zGl(VZ(7Jcl(4*i-UC_If^i8o3kTKX*7e%KBWaoqgO?KyO*=$-=R78u2VAq%P_mo|z zEC4J^mqM1gN~I=zK0h%uEjDS&DNUpXt79QV)-R&g6(|Y!!><8#!lJzmxb%&S+C}BTsXKk}QbyIpNQ{x+pewc1A7CS;5bYv^Xk$;_cP$6MNQfnI3IX%q%<G zeS`yeW2}Q=VMVI<9uw{ko8pxat{f(%!U z5MsfVp$gryC&0~UhC5sesu!d_tU)XSc2=JQ_8RI_xQZ7PhL-|nmtc0vF}l|Xd|Kv0 z-i4CR=CJcm8Enwn5p%PR*aSLuE?96PB8xpXzQu%@I#V@b0Gi_yJFT-rg^NI$-}Cb2 zkD@f!+lk|K)$OSjn#c!opE(Ed%_wL2~7Qo~-#WS0;4n*c|ZBQ!vu z?Qi^=X8C@J{@{K~o%>0kiUfzK9bl42(+YZWx?jvO&TE4Hy5b@qxCln$`6gO_HA|#w z>DC@g3v)>Vk<8-&t876B9oRRwLWfs2HTB-#pWS|=s8lX}&)TL}PE{Z#{YnlFU)jbk zFt_z!D_wE1C9|bzuUUj7u!G*$?GZhBS95do!-j^hh3nk5caPJ`{Lbz9EzkqlPERVF z*qVd4Y)y+>uUBz?JrdlW`yq+)`n^Bg%WBgJqoLkyj5Nk6@|o;^_yraUtIaQwXq%aN zEMY(k!HEQcpwrvi`$I{)Fe-&JX8&SC>v;0=^zR?--`1b#K>|j1SP~}$JRj=>-Ce)l>CAGX9{&$7iF%9x literal 0 HcmV?d00001 diff --git a/forui/test/src/widgets/button/button_golden_test.dart b/forui/test/src/widgets/button/button_golden_test.dart index 9ed587cc9..cd162e6af 100644 --- a/forui/test/src/widgets/button/button_golden_test.dart +++ b/forui/test/src/widgets/button/button_golden_test.dart @@ -136,6 +136,56 @@ void main() { matchesGoldenFile('button/$name-$variant-disabled-raw-button.png'), ); }); + + testWidgets('$name with enabled icon', (tester) async { + await tester.pumpWidget( + TestScaffold( + data: theme, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: FButton.icon( + onPress: () {}, + style: variant, + child: FButtonIcon( + icon: FAssets.icons.chevronRight, + ), + ), + ), + ), + ); + + await expectLater( + find.byType(TestScaffold), + matchesGoldenFile( + 'button/$name-$variant-icon-enabled-button.png', + ), + ); + }); + + testWidgets('$name with disabled icon', (tester) async { + await tester.pumpWidget( + TestScaffold( + data: theme, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: FButton.icon( + onPress: null, + style: variant, + child: FButtonIcon( + icon: FAssets.icons.chevronRight, + ), + ), + ), + ), + ); + + await expectLater( + find.byType(TestScaffold), + matchesGoldenFile( + 'button/$name-$variant-icon-disabled-button.png', + ), + ); + }); } } }); diff --git a/samples/lib/main.dart b/samples/lib/main.dart index ab3a9f55d..38b8f45b6 100644 --- a/samples/lib/main.dart +++ b/samples/lib/main.dart @@ -71,6 +71,10 @@ class _AppRouter extends RootStackRouter { path: '/button/icon', page: ButtonIconRoute.page, ), + AutoRoute( + path: '/button/only-icon', + page: ButtonOnlyIconRoute.page, + ), AutoRoute( path: '/calendar/default', page: CalendarRoute.page, diff --git a/samples/lib/widgets/button.dart b/samples/lib/widgets/button.dart index 5ade2741e..fa5d6dc8b 100644 --- a/samples/lib/widgets/button.dart +++ b/samples/lib/widgets/button.dart @@ -52,3 +52,18 @@ class ButtonIconPage extends SampleScaffold { ), ); } + +@RoutePage() +class ButtonOnlyIconPage extends SampleScaffold { + ButtonOnlyIconPage({ + @queryParam super.theme, + }); + + @override + Widget child(BuildContext context) => IntrinsicWidth( + child: FButton.icon( + child: FButtonIcon(icon: FAssets.icons.chevronRight), + onPress: () {}, + ), + ); +} diff --git a/samples/pubspec.lock b/samples/pubspec.lock index c5a1244da..0c55bb373 100644 --- a/samples/pubspec.lock +++ b/samples/pubspec.lock @@ -367,18 +367,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: @@ -407,18 +407,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.12.0" mime: dependency: transitive description: @@ -652,10 +652,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.0" timing: dependency: transitive description: @@ -708,10 +708,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "14.2.4" + version: "14.2.1" watcher: dependency: transitive description: From 7ac23221ea072df03ba877c8e65543365e7abd79 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 17 Aug 2024 10:42:39 +0800 Subject: [PATCH 6/7] Update dependency gradle to v8.10 (#155) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- forui/example/android/gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forui/example/android/gradle/wrapper/gradle-wrapper.properties b/forui/example/android/gradle/wrapper/gradle-wrapper.properties index 81a4301fc..c619e22e1 100644 --- a/forui/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/forui/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip From 730d09d377990d48bd400c8ebc60bcb16bcc9fb9 Mon Sep 17 00:00:00 2001 From: Matthias Ngeo Date: Sun, 18 Aug 2024 13:29:54 +0800 Subject: [PATCH 7/7] Fix resizable (#160) * Fix FResizable * Add golden tests --- forui/CHANGELOG.md | 16 +- forui/example/macos/Runner/AppDelegate.swift | 2 +- forui/lib/src/widgets/divider.dart | 22 +- forui/lib/src/widgets/resizable/divider.dart | 128 +++++------ .../lib/src/widgets/resizable/resizable.dart | 203 +++++++++--------- .../resizable/resizable_controller.dart | 7 +- .../widgets/resizable/resizable_region.dart | 21 +- .../resizable/resizable_region_data.dart | 23 +- .../resizable/expanded-Axis.horizontal.png | Bin 0 -> 26358 bytes .../resizable/expanded-Axis.vertical.png | Bin 0 -> 26439 bytes ...s.horizontal-FResizableDivider.divider.png | Bin 25195 -> 25188 bytes ...tal-FResizableDivider.dividerWithThumb.png | Bin 26575 -> 26567 bytes ...Axis.horizontal-FResizableDivider.none.png | Bin 25053 -> 25041 bytes ...xis.vertical-FResizableDivider.divider.png | Bin 25272 -> 25261 bytes ...cal-FResizableDivider.dividerWithThumb.png | Bin 26617 -> 26601 bytes ...k-Axis.vertical-FResizableDivider.none.png | Bin 25244 -> 25234 bytes ...s.horizontal-FResizableDivider.divider.png | Bin 25112 -> 25102 bytes ...tal-FResizableDivider.dividerWithThumb.png | Bin 26442 -> 26426 bytes ...Axis.horizontal-FResizableDivider.none.png | Bin 25005 -> 24994 bytes ...xis.vertical-FResizableDivider.divider.png | Bin 25192 -> 25181 bytes ...cal-FResizableDivider.dividerWithThumb.png | Bin 26466 -> 26454 bytes ...t-Axis.vertical-FResizableDivider.none.png | Bin 25164 -> 25154 bytes .../src/widgets/resizable/divider_test.dart | 10 +- .../resizable/resizable_golden_test.dart | 44 ++++ 24 files changed, 260 insertions(+), 216 deletions(-) create mode 100644 forui/test/golden/resizable/expanded-Axis.horizontal.png create mode 100644 forui/test/golden/resizable/expanded-Axis.vertical.png diff --git a/forui/CHANGELOG.md b/forui/CHANGELOG.md index b6502acc7..4bdb680c4 100644 --- a/forui/CHANGELOG.md +++ b/forui/CHANGELOG.md @@ -1,24 +1,30 @@ -## 0.5.0 +## 0.5.0 (Next) ### Additions +* Add `FButton.icon(...)`. + * Add `FFormFieldStyle`. +* Add `FResizable.semanticFormatterCallback`. + ### Changes +* Change `FResizable` to resize by `FResizable.resizePercentage` when using a keyboard. + * Change `FTextFieldStyle` to inherit from `FFormFieldStyle`. * Change `FTextField` to display error under description instead of replacing it. -* **Breaking:** Rename `FDivider.width` to `FDivder.thickness`. - -* **Breaking:** Remove `FTextField.error`. - * **Breaking:** Change `FTextField.help` to `FTextField.description`. * **Breaking:** Change how `FTextFieldStyle` stores various state-dependent styles. +* **Breaking:** Remove `FTextField.error`. + ### Fixes +* Fix `FResizable` not rendering properly in an expanded widget when its crossAxisExtent is null. + * Fix `FTextField` not changing error text color when an error occurs. diff --git a/forui/example/macos/Runner/AppDelegate.swift b/forui/example/macos/Runner/AppDelegate.swift index d53ef6437..8e02df288 100644 --- a/forui/example/macos/Runner/AppDelegate.swift +++ b/forui/example/macos/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true diff --git a/forui/lib/src/widgets/divider.dart b/forui/lib/src/widgets/divider.dart index f41463010..030c55584 100644 --- a/forui/lib/src/widgets/divider.dart +++ b/forui/lib/src/widgets/divider.dart @@ -26,7 +26,7 @@ final class FDivider extends StatelessWidget { Widget build(BuildContext context) { final style = this.style ?? (vertical ? context.theme.dividerStyles.vertical : context.theme.dividerStyles.horizontal); - final (height, width) = vertical ? (null, style.thickness) : (style.thickness, null); + final (height, width) = vertical ? (null, style.width) : (style.width, null); return Container( margin: style.padding, @@ -122,24 +122,24 @@ final class FDividerStyle with Diagnosticable { /// The padding surrounding the separating line. Defaults to the appropriate padding in [defaultPadding]. final EdgeInsetsGeometry padding; - /// The thickness of the separating line. Defaults to 1. + /// The width of the separating line. Defaults to 1. /// /// ## Contract /// Throws [AssertionError] if: /// * `thickness` <= 0.0 /// * `thickness` is Nan - final double thickness; + final double width; /// Creates a [FDividerStyle]. - FDividerStyle({required this.color, required this.padding, this.thickness = 1}) - : assert(0 < thickness, 'The thickness is $thickness, but it should be in the range "0 < thickness".'); + FDividerStyle({required this.color, required this.padding, this.width = 1}) + : assert(0 < width, 'The thickness is $width, but it should be in the range "0 < thickness".'); /// Creates a [FDividerStyle] that inherits its properties from [colorScheme], [style], and [padding]. FDividerStyle.inherit({ required FColorScheme colorScheme, required FStyle style, required EdgeInsetsGeometry padding, - }) : this(color: colorScheme.secondary, padding: padding, thickness: style.borderWidth); + }) : this(color: colorScheme.secondary, padding: padding, width: style.borderWidth); /// Returns a copy of this [FDividerStyle] with the given properties replaced. /// @@ -156,10 +156,10 @@ final class FDividerStyle with Diagnosticable { /// print(copy.width); // 2 /// ``` @useResult - FDividerStyle copyWith({Color? color, EdgeInsetsGeometry? padding, double? thickness}) => FDividerStyle( + FDividerStyle copyWith({Color? color, EdgeInsetsGeometry? padding, double? width}) => FDividerStyle( color: color ?? this.color, padding: padding ?? this.padding, - thickness: thickness ?? this.thickness, + width: width ?? this.width, ); @override @@ -168,7 +168,7 @@ final class FDividerStyle with Diagnosticable { properties ..add(DiagnosticsProperty('padding', padding)) ..add(ColorProperty('color', color)) - ..add(DoubleProperty('thickness', thickness)); + ..add(DoubleProperty('width', width)); } @override @@ -178,8 +178,8 @@ final class FDividerStyle with Diagnosticable { runtimeType == other.runtimeType && color == other.color && padding == other.padding && - thickness == other.thickness; + width == other.width; @override - int get hashCode => color.hashCode ^ padding.hashCode ^ thickness.hashCode; + int get hashCode => color.hashCode ^ padding.hashCode ^ width.hashCode; } diff --git a/forui/lib/src/widgets/resizable/divider.dart b/forui/lib/src/widgets/resizable/divider.dart index 662e7470a..68015b5b8 100644 --- a/forui/lib/src/widgets/resizable/divider.dart +++ b/forui/lib/src/widgets/resizable/divider.dart @@ -6,14 +6,12 @@ import 'package:meta/meta.dart'; import 'package:forui/forui.dart'; -@internal -class ResizeUpIntent extends Intent { - const ResizeUpIntent(); +class _Up extends Intent { + const _Up(); } -@internal -class ResizeDownIntent extends Intent { - const ResizeDownIntent(); +class _Down extends Intent { + const _Down(); } @internal @@ -21,51 +19,55 @@ sealed class Divider extends StatelessWidget { final FResizableController controller; final FResizableDividerStyle style; final FResizableDivider type; - final ({int left, int right}) indexes; + final int left; + final int right; final double? crossAxisExtent; final double hitRegionExtent; + final double resizePercentage; final MouseCursor cursor; + final String Function(FResizableRegionData, FResizableRegionData) semanticFormatterCallback; - Divider({ + const Divider({ required this.controller, required this.style, required this.type, - required this.indexes, + required this.left, + required this.right, required this.crossAxisExtent, required this.hitRegionExtent, + required this.resizePercentage, required this.cursor, + required this.semanticFormatterCallback, super.key, - }) : assert(0 <= indexes.left, 'Left should be non-negative, but is ${indexes.left}.'), - assert(indexes.left + 1 == indexes.right, 'Left and right should be next to each other.'); - - Widget focusableActionDetector({required List children}) => MouseRegion( - cursor: cursor, - child: Semantics( - slider: true, - child: Shortcuts( - shortcuts: shortcuts, - child: Actions( - actions: { - ResizeUpIntent: CallbackAction( - onInvoke: (intent) => controller.update(indexes.left, indexes.right, -3), - ), - ResizeDownIntent: CallbackAction( - onInvoke: (intent) => controller.update(indexes.left, indexes.right, 3), - ), - }, - child: Focus( - child: Stack( - alignment: AlignmentDirectional.center, - children: children, - ), - ), + }) : assert(0 <= left, 'Left child should be non-negative, but is $left.'), + assert(left + 1 == right, 'Left and right should be next to each other.'); + + Widget focusableActionDetector({ + required Map shortcuts, + required List children, + }) => + Semantics( + value: semanticFormatterCallback(controller.regions[left], controller.regions[right]), + child: FocusableActionDetector( + mouseCursor: cursor, + shortcuts: shortcuts, + actions: { + _Up: CallbackAction( + onInvoke: (_) => + controller.update(left, right, -resizePercentage * (controller.regions[left].extent.total)), + ), + _Down: CallbackAction( + onInvoke: (_) => + controller.update(left, right, resizePercentage * (controller.regions[left].extent.total)), ), + }, + child: Stack( + alignment: AlignmentDirectional.center, + children: children, ), ), ); - Map get shortcuts; - @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); @@ -73,31 +75,40 @@ sealed class Divider extends StatelessWidget { ..add(DiagnosticsProperty('controller', controller)) ..add(DiagnosticsProperty('style', style)) ..add(DiagnosticsProperty('type', type)) - ..add(DiagnosticsProperty('indexes', indexes)) + ..add(IntProperty('left', left)) + ..add(IntProperty('right', right)) ..add(DoubleProperty('crossAxisExtent', crossAxisExtent)) ..add(DoubleProperty('hitRegionExtent', hitRegionExtent)) + ..add(DoubleProperty('resizePercentage', resizePercentage)) ..add(DiagnosticsProperty('cursor', cursor)) - ..add(DiagnosticsProperty('shortcuts', shortcuts)); + ..add(DiagnosticsProperty('semanticFormatterCallback', semanticFormatterCallback)); } } @internal class HorizontalDivider extends Divider { - HorizontalDivider({ + const HorizontalDivider({ required super.controller, required super.style, required super.type, - required super.indexes, + required super.left, + required super.right, required super.crossAxisExtent, required super.hitRegionExtent, + required super.resizePercentage, required super.cursor, + required super.semanticFormatterCallback, super.key, }); @override Widget build(BuildContext context) => Positioned( - left: controller.regions[indexes.left].offset.max - (hitRegionExtent / 2), + left: controller.regions[left].offset.max - (hitRegionExtent / 2), child: focusableActionDetector( + shortcuts: const { + SingleActivator(LogicalKeyboardKey.arrowLeft): _Up(), + SingleActivator(LogicalKeyboardKey.arrowRight): _Down(), + }, children: [ if (type == FResizableDivider.divider || type == FResizableDivider.dividerWithThumb) ColoredBox( @@ -116,46 +127,46 @@ class HorizontalDivider extends Divider { height: crossAxisExtent, width: hitRegionExtent, child: GestureDetector( - behavior: HitTestBehavior.translucent, onHorizontalDragUpdate: (details) { if (details.delta.dx == 0.0) { return; } - controller.update(indexes.left, indexes.right, details.delta.dx); + controller.update(left, right, details.delta.dx); // TODO: haptic feedback }, - onHorizontalDragEnd: (details) => controller.end(indexes.left, indexes.right), + onHorizontalDragEnd: (details) => controller.end(left, right), ), ), ], ), ); - - @override - Map get shortcuts => const { - SingleActivator(LogicalKeyboardKey.arrowLeft): ResizeUpIntent(), - SingleActivator(LogicalKeyboardKey.arrowRight): ResizeDownIntent(), - }; } @internal class VerticalDivider extends Divider { - VerticalDivider({ + const VerticalDivider({ required super.controller, required super.style, required super.type, - required super.indexes, + required super.left, + required super.right, required super.crossAxisExtent, required super.hitRegionExtent, + required super.resizePercentage, required super.cursor, + required super.semanticFormatterCallback, super.key, }); @override Widget build(BuildContext context) => Positioned( - top: controller.regions[indexes.left].offset.max - (hitRegionExtent / 2), + top: controller.regions[left].offset.max - (hitRegionExtent / 2), child: focusableActionDetector( + shortcuts: const { + SingleActivator(LogicalKeyboardKey.arrowUp): _Up(), + SingleActivator(LogicalKeyboardKey.arrowDown): _Down(), + }, children: [ if (type == FResizableDivider.divider || type == FResizableDivider.dividerWithThumb) ColoredBox( @@ -174,27 +185,20 @@ class VerticalDivider extends Divider { height: hitRegionExtent, width: crossAxisExtent, child: GestureDetector( - behavior: HitTestBehavior.translucent, onVerticalDragUpdate: (details) { if (details.delta.dy == 0.0) { return; } - controller.update(indexes.left, indexes.right, details.delta.dy); + controller.update(left, right, details.delta.dy); // TODO: haptic feedback }, - onVerticalDragEnd: (details) => controller.end(indexes.left, indexes.right), + onVerticalDragEnd: (details) => controller.end(left, right), ), ), ], ), ); - - @override - Map get shortcuts => const { - SingleActivator(LogicalKeyboardKey.arrowUp): ResizeUpIntent(), - SingleActivator(LogicalKeyboardKey.arrowDown): ResizeDownIntent(), - }; } class _Thumb extends StatelessWidget { @@ -226,7 +230,7 @@ class _Thumb extends StatelessWidget { } } -/// The type of dividers between [FResizableRegion]s. +/// The appearance of dividers between [FResizableRegion]s. enum FResizableDivider { /// No divider. none, diff --git a/forui/lib/src/widgets/resizable/resizable.dart b/forui/lib/src/widgets/resizable/resizable.dart index aefbfa7d9..ee4ca4a6a 100644 --- a/forui/lib/src/widgets/resizable/resizable.dart +++ b/forui/lib/src/widgets/resizable/resizable.dart @@ -7,28 +7,25 @@ import 'package:sugar/sugar.dart'; import 'package:forui/forui.dart'; import 'package:forui/src/widgets/resizable/divider.dart'; -export 'divider.dart' hide Divider, HorizontalDivider, ResizeDownIntent, ResizeUpIntent, VerticalDivider; +export 'divider.dart' hide Divider, HorizontalDivider, VerticalDivider; export 'resizable_controller.dart'; export 'resizable_region.dart'; export 'resizable_region_data.dart' hide UpdatableResizableRegionData; -/// A resizable which children can be resized along either the horizontal or vertical main axis. +/// A resizable allows its children to be resized along either the horizontal or vertical main axis. /// /// Each child is a [FResizableRegion] has a initial and minimum extent. Setting an initial extent less than the /// minimum extent will result in undefined behaviour. The children are arranged from top to bottom, or left to right, /// depending on the main [axis]. /// -/// Although not required, it is recommended that a [FResizable] contains at least 2 [FResizable] regions. +/// It is recommended that a [FResizable] contains at least 2 [FResizableRegion]s. /// /// See: /// * https://forui.dev/docs/resizable for working examples. /// * [FResizableStyle] for customizing a resizable's appearance. class FResizable extends StatefulWidget { - static double _platform(double? hitRegion) => switch (const Runtime().type) { - _ when hitRegion != null => hitRegion, - PlatformType.android || PlatformType.ios => 60, - _ => 10, - }; + static String _label(FResizableRegionData left, FResizableRegionData right) => + '${left.extent.current}, ${right.extent.current}'; /// The controller that manages the resizing of regions. Defaults to [FResizableController.cascade]. final FResizableController controller; @@ -39,18 +36,19 @@ class FResizable extends StatefulWidget { /// The main axis along which the [children] can be resized. final Axis axis; - /// The divider between the resizable regions. Defaults to [FResizableDivider.dividerWithThumb]. + /// The divider between resizable regions. Defaults to [FResizableDivider.dividerWithThumb]. final FResizableDivider divider; - /// The extent in the non-resizable axis, in logical pixels. + /// The extent of the [children] along the non-resizable axis, in logical pixels. By default, it occupies as much + /// space as possible. /// /// ## Contract /// Throws [AssertionError] if [crossAxisExtent] is not positive. final double? crossAxisExtent; - /// The resizing gesture's hit region extent along the resizable axis, in logical pixels. + /// The extent of the gesture's hit region along the resizable axis, in logical pixels. /// - /// Hit regions are centered between [FResizableRegion]s. + /// Hit regions are centered around the dividers between resizable regions. /// /// Defaults to `60` on Android and iOS, and `10` on other platforms. /// @@ -58,6 +56,15 @@ class FResizable extends StatefulWidget { /// Throws [AssertionError] if [hitRegionExtent] <= 0. final double hitRegionExtent; + /// The percentage of the total extent by which regions are resized when using the keyboard. Defaults to 0.005 (0.5%). + /// + /// ## Contract + /// Throws [AssertionError] if [resizePercentage] is <= 0 or >= 1. + final double resizePercentage; + + /// A callback that formats the semantic label for the resizable. Defaults to announcing the extents of both regions. + final String Function(FResizableRegionData, FResizableRegionData) semanticFormatterCallback; + /// The children that may be resized. final List children; @@ -68,6 +75,8 @@ class FResizable extends StatefulWidget { this.style, this.divider = FResizableDivider.dividerWithThumb, this.crossAxisExtent, + this.resizePercentage = 0.005, + this.semanticFormatterCallback = _label, FResizableController? controller, double? hitRegionExtent, super.key, @@ -80,7 +89,7 @@ class FResizable extends StatefulWidget { 'The hitRegionExtent should be positive, but is $hitRegionExtent.', ), controller = controller ?? FResizableController.cascade(), - hitRegionExtent = hitRegionExtent ?? _platform(hitRegionExtent); + hitRegionExtent = hitRegionExtent ?? (const Runtime().android || const Runtime().ios ? 60 : 10); @override State createState() => _FResizableState(); @@ -95,6 +104,8 @@ class FResizable extends StatefulWidget { ..add(EnumProperty('divider', divider)) ..add(DoubleProperty('crossAxisExtent', crossAxisExtent)) ..add(DoubleProperty('hitRegionExtent', hitRegionExtent)) + ..add(DoubleProperty('resizePercentage', resizePercentage)) + ..add(DiagnosticsProperty('semanticFormatterCallback', semanticFormatterCallback)) ..add(IterableProperty('children', children)); } } @@ -119,9 +130,8 @@ class _FResizableState extends State { void _update() { var minOffset = 0.0; - final minTotalExtent = - widget.children.sum((child) => max(child.minExtent ?? 0, widget.hitRegionExtent), initial: 0.0); - final totalExtent = widget.children.sum((child) => child.initialExtent, initial: 0.0); + final minTotalExtent = widget.children.sum((c) => max(c.minExtent ?? 0, widget.hitRegionExtent), initial: 0.0); + final totalExtent = widget.children.sum((c) => c.initialExtent, initial: 0.0); final regions = [ for (final (index, region) in widget.children.indexed) FResizableRegionData( @@ -150,66 +160,76 @@ class _FResizableState extends State { if (widget.axis == Axis.horizontal) { return SizedBox( height: widget.crossAxisExtent, - child: ListenableBuilder( - listenable: widget.controller, - builder: (context, _) => Stack( - children: [ - Row( - mainAxisSize: MainAxisSize.min, - children: [ - for (var i = 0; i < widget.children.length; i++) - InheritedData( - controller: widget.controller, - axis: widget.axis, - data: widget.controller.regions[i], - child: widget.children[i], - ), - ], - ), - for (var i = 0; i < widget.children.length - 1; i++) - HorizontalDivider( - controller: widget.controller, - style: horizontal, - type: widget.divider, - indexes: (left: i, right: i + 1), - crossAxisExtent: widget.crossAxisExtent, - hitRegionExtent: widget.hitRegionExtent, - cursor: SystemMouseCursors.resizeLeftRight, + child: LayoutBuilder( + builder: (context, constraints) => ListenableBuilder( + listenable: widget.controller, + builder: (context, _) => Stack( + children: [ + Row( + mainAxisSize: MainAxisSize.min, + children: [ + for (var i = 0; i < widget.children.length; i++) + InheritedData( + controller: widget.controller, + axis: widget.axis, + data: widget.controller.regions[i], + child: widget.children[i], + ), + ], ), - ], + for (var i = 0; i < widget.children.length - 1; i++) + HorizontalDivider( + controller: widget.controller, + style: horizontal, + type: widget.divider, + left: i, + right: i + 1, + crossAxisExtent: constraints.maxHeight.isFinite ? constraints.maxHeight : widget.crossAxisExtent, + hitRegionExtent: widget.hitRegionExtent, + resizePercentage: widget.resizePercentage, + cursor: SystemMouseCursors.resizeLeftRight, + semanticFormatterCallback: widget.semanticFormatterCallback, + ), + ], + ), ), ), ); } else { return SizedBox( width: widget.crossAxisExtent, - child: ListenableBuilder( - listenable: widget.controller, - builder: (context, _) => Stack( - children: [ - Column( - mainAxisSize: MainAxisSize.min, - children: [ - for (var i = 0; i < widget.children.length; i++) - InheritedData( - axis: widget.axis, - controller: widget.controller, - data: widget.controller.regions[i], - child: widget.children[i], - ), - ], - ), - for (var i = 0; i < widget.children.length - 1; i++) - VerticalDivider( - controller: widget.controller, - style: vertical, - type: widget.divider, - indexes: (left: i, right: i + 1), - crossAxisExtent: widget.crossAxisExtent, - hitRegionExtent: widget.hitRegionExtent, - cursor: SystemMouseCursors.resizeUpDown, + child: LayoutBuilder( + builder: (context, constraints) => ListenableBuilder( + listenable: widget.controller, + builder: (context, _) => Stack( + children: [ + Column( + mainAxisSize: MainAxisSize.min, + children: [ + for (var i = 0; i < widget.children.length; i++) + InheritedData( + axis: widget.axis, + controller: widget.controller, + data: widget.controller.regions[i], + child: widget.children[i], + ), + ], ), - ], + for (var i = 0; i < widget.children.length - 1; i++) + VerticalDivider( + controller: widget.controller, + style: vertical, + type: widget.divider, + left: i, + right: i + 1, + crossAxisExtent: constraints.maxWidth.isFinite ? constraints.maxWidth : widget.crossAxisExtent, + hitRegionExtent: widget.hitRegionExtent, + resizePercentage: widget.resizePercentage, + cursor: SystemMouseCursors.resizeUpDown, + semanticFormatterCallback: widget.semanticFormatterCallback, + ), + ], + ), ), ), ); @@ -227,41 +247,30 @@ final class FResizableStyle with Diagnosticable { /// Creates a [FResizableStyle] that inherits its properties from [colorScheme]. FResizableStyle.inherit({required FColorScheme colorScheme}) - : dividerStyles = ( - horizontal: FResizableDividerStyle( - color: colorScheme.border, - thumbStyle: FResizableDividerThumbStyle( - backgroundColor: colorScheme.border, - foregroundColor: colorScheme.foreground, - height: 20, - width: 10, + : this( + dividerStyles: ( + horizontal: FResizableDividerStyle( + color: colorScheme.border, + thumbStyle: FResizableDividerThumbStyle( + backgroundColor: colorScheme.border, + foregroundColor: colorScheme.foreground, + height: 20, + width: 10, + ), ), - ), - vertical: FResizableDividerStyle( - color: colorScheme.border, - thumbStyle: FResizableDividerThumbStyle( - backgroundColor: colorScheme.border, - foregroundColor: colorScheme.foreground, - height: 10, - width: 20, + vertical: FResizableDividerStyle( + color: colorScheme.border, + thumbStyle: FResizableDividerThumbStyle( + backgroundColor: colorScheme.border, + foregroundColor: colorScheme.foreground, + height: 10, + width: 20, + ), ), ), ); /// Returns a copy of this [FResizableStyle] with the given properties replaced. - /// - /// ```dart - /// final style = FResizableStyle( - /// dividerStyles: ( - /// horizontal: ..., - /// vertical: ..., - /// ), - /// ); - /// - /// final copy = style.copyWith(vertical: ...); - /// print(style.horizontal == copy.horizontal); // true - /// print(style.vertical == copy.vertical); // false - /// ``` @useResult FResizableStyle copyWith({FResizableDividerStyle? horizontal, FResizableDividerStyle? vertical}) => FResizableStyle( dividerStyles: ( diff --git a/forui/lib/src/widgets/resizable/resizable_controller.dart b/forui/lib/src/widgets/resizable/resizable_controller.dart index 49defa722..408fe4366 100644 --- a/forui/lib/src/widgets/resizable/resizable_controller.dart +++ b/forui/lib/src/widgets/resizable/resizable_controller.dart @@ -44,7 +44,7 @@ abstract interface class FResizableController extends ChangeNotifier { void Function(List resized)? onResizeEnd, }) = _ResizableController; - /// Creates a [FResizableController] that cascades shrinking of a region below their minimum sizes to its neighbours. + /// Creates a [FResizableController] that cascades shrinking of a region below their minimum extents to its neighbours. /// /// [onResizeUpdate] is called **while** a resizable region and its neighbours are being resized. Most users should /// prefer [onResizeEnd], which is called only after the regions have bee resized. @@ -72,10 +72,7 @@ final class _ResizableController extends FResizableController { final void Function(List resized)? onResizeUpdate; final void Function(List resized)? onResizeEnd; - _ResizableController({ - this.onResizeUpdate, - this.onResizeEnd, - }) : super._(); + _ResizableController({this.onResizeUpdate, this.onResizeEnd}) : super._(); @override bool update(int left, int right, double delta) { diff --git a/forui/lib/src/widgets/resizable/resizable_region.dart b/forui/lib/src/widgets/resizable/resizable_region.dart index 2b3b90b0c..e43c66a0a 100644 --- a/forui/lib/src/widgets/resizable/resizable_region.dart +++ b/forui/lib/src/widgets/resizable/resizable_region.dart @@ -5,8 +5,7 @@ import 'package:forui/src/widgets/resizable/resizable.dart'; /// A resizable region that can be resized along the parent [FResizable]'s axis. It should always be in a [FResizable]. /// -/// See: -/// * https://forui.dev/docs/resizable for working examples. +/// See https://forui.dev/docs/resizable for working examples. class FResizableRegion extends StatelessWidget { /// The initial extent along the resizable axis, in logical pixels. /// @@ -18,8 +17,8 @@ class FResizableRegion extends StatelessWidget { /// The minimum extent along the resizable axis, in logical pixels. /// - /// The effective minimum size is either the given minimum size or [FResizable.hitRegionExtent], whichever is larger. - /// Defaults to [FResizable.hitRegionExtent] if not given. + /// The effective minimum extent is either the given minimum extent or [FResizable.hitRegionExtent], whichever is + /// larger. Defaults to [FResizable.hitRegionExtent] if not given. final double? minExtent; /// The builder used to create a child to display in this region. @@ -38,14 +37,8 @@ class FResizableRegion extends StatelessWidget { this.minExtent, this.child, super.key, - }) : assert( - 0 < initialExtent, - 'The initial extent should be positive, but it is $initialExtent.', - ), - assert( - minExtent == null || 0 < minExtent, - 'The min extent should be positive, but it is $minExtent.', - ), + }) : assert(0 < initialExtent, 'The initial extent should be positive, but it is $initialExtent.'), + assert(minExtent == null || 0 < minExtent, 'The min extent should be positive, but it is $minExtent.'), assert( minExtent == null || minExtent <= initialExtent, 'The initial extent, $initialExtent is less than the min extent, $minExtent.', @@ -56,7 +49,6 @@ class FResizableRegion extends StatelessWidget { final InheritedData(:axis, :data) = InheritedData.of(context); return Semantics( container: true, - enabled: true, child: GestureDetector( child: switch (axis) { Axis.horizontal => SizedBox( @@ -78,7 +70,6 @@ class FResizableRegion extends StatelessWidget { properties ..add(DoubleProperty('initialSize', initialExtent)) ..add(DoubleProperty('minSize', minExtent)) - ..add(DiagnosticsProperty('builder', builder)) - ..add(DiagnosticsProperty('child', child)); + ..add(DiagnosticsProperty('builder', builder)); } } diff --git a/forui/lib/src/widgets/resizable/resizable_region_data.dart b/forui/lib/src/widgets/resizable/resizable_region_data.dart index affb94e0d..035449720 100644 --- a/forui/lib/src/widgets/resizable/resizable_region_data.dart +++ b/forui/lib/src/widgets/resizable/resizable_region_data.dart @@ -15,7 +15,7 @@ final class FResizableRegionData with Diagnosticable { /// This region's minimum and maximum extent along the main resizable axis, in logical pixels. /// /// The minimum extent is determined by [FResizableRegion.minExtent]. - /// The maximum extent is determined by the [FResizable]'s size - the minimum size of all regions. + /// The maximum extent is determined by the [FResizable]'s total extent - the minimum extent of all regions. /// /// ## Contract /// Throws [AssertionError] if: @@ -23,15 +23,15 @@ final class FResizableRegionData with Diagnosticable { /// * max <= min final ({double min, double current, double max, double total}) extent; - /// This region's current minimum and maximum offset along the main resizable axis., in logical pixels + /// This region's current minimum and maximum offset along the main resizable axis, in logical pixels /// - /// Both offsets are relative to the top/left side of the parent [FResizable], or, in other words, relative to 0. + /// Both offsets are relative to the top/left side of the parent [FResizable]. /// /// ## Contract /// Throws [AssertionError] if: /// * min < 0 /// * max <= min - /// * `extent.total` <= max + /// * `extent.total` <= `offset.max` final ({double min, double max}) offset; /// Creates a [FResizableRegionData]. @@ -62,30 +62,17 @@ final class FResizableRegionData with Diagnosticable { extent = (min: extent.min, current: offset.max - offset.min, max: extent.max, total: extent.total); /// Returns a copy of this [FResizableRegionData] with the given fields replaced by the new values. - /// - /// ```dart - /// final data = FResizableData( - /// index: 1, - /// selected: false, - /// // Other arguments omitted for brevity - /// ); - /// - /// final copy = data.copyWith(selected: true); - /// print(copy.index); // 1 - /// print(copy.selected); // true - /// ``` @useResult FResizableRegionData copyWith({ int? index, double? minExtent, double? maxExtent, - double? totalExtent, double? minOffset, double? maxOffset, }) => FResizableRegionData( index: index ?? this.index, - extent: (min: minExtent ?? extent.min, max: maxExtent ?? extent.max, total: totalExtent ?? extent.total), + extent: (min: minExtent ?? extent.min, max: maxExtent ?? extent.max, total: extent.total), offset: (min: minOffset ?? offset.min, max: maxOffset ?? offset.max), ); diff --git a/forui/test/golden/resizable/expanded-Axis.horizontal.png b/forui/test/golden/resizable/expanded-Axis.horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..fa65c27bf92a9199e71a8a6698d2d0024e6dde91 GIT binary patch literal 26358 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 MH`FUSZ}-c801fqvB>(^b literal 0 HcmV?d00001 diff --git a/forui/test/golden/resizable/expanded-Axis.vertical.png b/forui/test/golden/resizable/expanded-Axis.vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..02b3b10b9d330ee15412fe96eb4c9c95b40cc803 GIT binary patch literal 26439 zcmeG_X;c$gm+|XXY;8qFMMXey!3G79O;HFc?gFB00s&kQWtBA$NP^l5vbL=Vf^5=& z5C|a679dHtKx`Jn79fNW1Z4}WAwUR$sj3jC=gi-kb9%n1I>%$G-hKDoci(-t?pBYd zS4_^WTeD*g0)bd};k?mR1mXur1VU={>Q%s#GRFM(z<(=zuAV!EAb#9A4BUM0bLxWm zYTyc9eLD<+*oC-YbkaQF^(dPa)BPooI_12+XG-A@+9}jYweU@4r}mw){!MrF?%f;G zLJH+aS1qnk`xURevj1A87$O{rV=6Lv6PN(W7jW7b!#j?{1H zaz*yAIk_Ui`LI{ccR1L?r4AIzRRY7M#_ui$v;U4W{akwU+)T*>{&(U&2t+Ww zF1GkBWBv_=f>eq1Zsr~gb5eBFPHfz!m=gKdUq6-FO7K&UTv3U=dH?>dC!td5cJ@8H z+uyA#u*tK$eED+i+}!8apDc=Pp4#MXWw>bPFeoS|%RI|B<|

sY{0HUJXFEaii{P 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 literal 0 HcmV?d00001 diff --git a/forui/test/golden/resizable/zinc-dark-Axis.horizontal-FResizableDivider.divider.png b/forui/test/golden/resizable/zinc-dark-Axis.horizontal-FResizableDivider.divider.png index ec09800bdaf8ca008ac9966a9d17aec8031104cb..f6f2e0eb0067f16cb650de9fb5aa9949e8806a15 100644 GIT binary patch literal 25188 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 ceg6!z zGuhbj*;k(n+4fwE$faah%heu?vX;Ou&ui>2gNq@UnyjB4maOk# zXpYIVH;DCT`{u%Ryv#(tM^Ph)Jq3e!0jt+n^=QM~h4TDHy4K=YVT?U?_K(i3Ll@wE zMIzN-%QBa_)yO>(Enuh`^an!T-%i#_czAw@Q@j4rd4|o%b!tv0l(EVd*r7T}#~r-C zKGdywdADKDLrKUCY=hRaYfnDCrMi6a{n5Xv?#WwlL8%JH z(OBY=S7kB$Muza2e9LhCW8?$zeuH&~q8RRQ&276^0l&I;?oX^@J^L*yzL3!Q?rCS( z)5D{Z3TmuakM49*mQ(=)s;COPbTVu9%hqMP1Xk+#7ZSRA37$tRJp*D1oVMe3HDM|A zBbILtNd?YUs4OoE>A0IgWW+oW3SWG%l{kC)xbMW*6kkZppBfkYt;z~XB$A^NVSY+w zylO{x+x3J!1@IZ4i`fK>SCcibc^NjUPliGhMJ*akC)u^VCUy74lz*OzjwCMjjNjTC zurD62^h3*?2>v`36S>;<`kH?nai*kG59={E(K}ve7%00G2&K4R!Y)=Tz;*1xGktZR zoJ&5%aw#1T<@t5#C+<{ezbM*GpFVAuiSz8v!Q#ieP3|s5LrbZ=Rde>DwQujIl)1z+ zp^4Bm$VckwWy`a5DZ)x?&n4#cQU2zcx@>u$N+ZyO^oN2g6`RKhTGhl zjC2+2qmIluXIRaYFL-6zMG`F3$0&sx>Lb+HMg7CWVQe;=zkLS)cdiVz;0*HKday)t zHvL!1q~Z1(*^bef*kv7c?ksU+Cf_{UMzWCMed9x{s)wz)?9(d)pAPpN#?G-;X6Y{K z*`-i#Lzr$}r-ZQd%IxN!A%xdh@e64wZ8K#vTkLePcYCPKVW` zqVbwzkxh^lKwcVIN!up@-8&LOpd~t$=SP;>sy^l_7%<`*(1W#`n;1$mmEH0o<@}57 zsR@C8>eEdof&l~ozHv#7^R|rjZg&(6h}+{bTkF&N)Z)%%XiR~a){29F1nrDN^wOY3 z`F+bwZwei*ZbT=SgEyGGk#z~4Zva7sG-wq`Sn@&htVMe&2@a;bS^>+!)in}XA%jW( zQH-i{c~6DlUgzkzfQdSzG}AjHc-S++3Nc?k-Fj|AnT0#ai1`xv8KHBMEu_65LBm#C z8;ivTEH7w@6?Bew1#dk=w%MydGAFtHv59!xxtt#a-6K&Qv@^{^Gp!11ph=M^?BwRF z48BUTqbBa?PL8sX^V5LS9y*^!CY(#^KL~~UNT}EpvYXc_^94~AuQ$YogtX>d zK3x$5d&-M{77_rQC>glos|^jtArNRP0YNy4=2;L0GzoT5k74#D_K3@!r{u2GBUHpjd`I(aL}BOCNJxL@YGd|3XB_VE zP3SA3KYxh$+MC0hU=8*n^keYuL!>Pdg@uKpMM%^DD1Saz_nn})K_`I7+k;ee#U8=L z^i~hdyk41;1Y8jJ4&+NYrK4>Q3Wy(bN8|v8q(Gtxb(z{6M_-=;eJA>#X2A?jfkC*ntHv<1l#PS z2tVA+Tq%-MygWUH=jSUV)%=i4tFtu^P4^EDiqHDCzZo!+eY*McYG)YfJy*ibQyMWC zj8QgS2woTC6^sK12HTZxPQElw)4qP4)ltfOAlu==;aKsf=MH|)o%*f`C*Zmsgek)q z(Y9PcJiN7Fq<+u0Fl&u$X=zypGh5jHbj0Dp9cd|B7E9rqBnJg?0T(z#mp8-PRW-hZrSX7?;Zp z2{{z?{FlTZ`S~mF zpVjkgS;#g&SHs)9DKwP3iR7O!SGxfN3K&qHNuKDVEh@V*B}%+UWZ{Rlr6eR(lP{Z| zn$p((;TzSj51`0T&mF(flF?d5@ONg+3nqy3VBKsXXK|$_Z1?eN@1EScltc|VYNb>g zA*mtYvH?g4BW&Os8fcR$!H?dDX|V3w#acmUZ%@yvuXT^@hFY|$I3pcG%x@8Kp1*=j zu$!M6;GdD(|NY=Jx3$R4ZfbgZXVGqOGY8R*%0zQg_5AdZT}#F#NOSRR+hD1~zCry! z%K3p1Han|-WCXsUG8#)krlV9ql{*6~C+Fi%C|X)|Y=|2g8VZFd>JW*?{Q)#?vWVGU|RBL(afNCuQ!#~U@EZ1g9^1Qk5L}7d-yBi6AZMXl| zKLhE%em)1iyh3vnlT{p0LZF0z6>!u-@MwT)1F8+EHmq_0jUm>6K+WR{5~z7Z%_C|a z*Q^4n4X8Gt+JI^UL;y7f|9?!uD~uZNS8v3=x@z2IRKpE{^6+K)T6>J_rCMp|Dq^9E z5ULcFrj&>n0*Rpt0YVEUl#p=u3HY12_deW*`*80!U(Q3abF$0YYyDT0`)g3#m&oy9T~gg#UlS}a3B7;y;$(PbzILug@Uu?z)a!X?Z@ze7Qoo(roM z%UBQ=7XC#G3zgT#M&sj86{@VyX7#mEW#^=GqybXtPx9zL+7J z!+KE~dIQro?K2~`L*%dA`PAR4Yd`+wCU36#E07j;-yr0S5ClRHKtd1*K_CPHBm{vF z1VRu%LJ<5DK~Npv^XvC#0fZ9%CrbEVPpT(_q#$U)cF%p6k+CtVvs!w$m&N<;S0__1 zsvEV;IKxGZO4SyO4awb#HC@um!hi-AizQhr&C5wZv*BtjgIB3D8=%U1by-PPSJ$g& zEvJq4w3OEh9ykf!7+U=#y8hQ7J{}%E<_!^L&VjUeVbhJbkFMoi*}i={-9u0+ntH}6 zi6=8LLA;k52}Yg05Ttw$5{G6V$3J^{|Nea)?YJP-H?H)8==u{`W*H-{;}lm@8|K4R zL{tmC&@&@_=>2V}ph)l_Oy#0W{Ii-~Z;9KfTf=Xu%Z*VSkGyPlo}zU6*_czQDMRz~ zw1C~v`0*fKzX-HpYh*3P&yP>(u3<1c)TD}1~L#KD~Uc5 z_ocb{;>ehBIzNJREzca|?{6X_BSR_3NPe~&vfT_EIOSYfByOO5QPO+H#Jq?8a~7*#bN>iE&|R5MT$XhpcRTx zS1I5QWpFUTkcgeirdQ1=|`w317JHbl0^?tM4AfhL& zvooiqrDY_DUNFt)5vt7LQI*Prqodg!6$F$!-6JI_Ik~l?BRI!b1R^H@0fmH}Oa;^B zJab8xt1_38Qi6v-!Rqd%ft#+X8(n5Hoz!LL*$R-tE>Ip$&UA@4M3Upxgo**|*u0*#uu#9|IRqK+fXBFL;7ohj{y0KFz!mq>An-_P5S!&!omdMCNILt)m|RJ9>M2M|h2mZvb3!mbkWCI`jnN>sPn2$VlUY zghdg^uWv*I^8d5lt-$7eS-acN&`|nV6g)L#Z*Fc*YIjRdPj`ve(aseWhx}pbzRG)R zXJKfFDnJFzPr2Y!1i~1Xb=P2(l=Jh;kO)Kp-1SFKNvN_(Qc|*joP5d9iXy6E|F7nlQF7faF?eJ7(##<>~|#TeBm0&42o-Mgy4~~uAiOh z1!fth6ivh_QD}BAfQ8*&91cfE({tcih%wH&7H&B+91bo?6!J$1*1Gk+nKRGlms796 zU7+Awx1CaeQ2-x_%;PY{-@3294=fwS2#Q_AlxVOK?_{AC198o;U@^{ zN?H2~A|{2ML`iO=6^wizb~P_xvt2tp-%0r8sY`shAv_S81va3O6R0wtV*=S}c5D^g zgkO#U@|Q0nY#x>`1$gb{Ywfzf4kv}(g`D}vVWz8MnBjiU8k01@Mj;!HI~|ETZNKNv zsY?&XcbmEVp}3)Kr}ME7KPlgpvbMh9C{y(4=#6__cT21?qMtm8mf;+bdH72D_du#? z(bb$#5BBO`x}u9hkA>}t`Ka%+*YVnsxQ64{PMHj&XFB>5f||x` z_U`ROfJajmqW-3N!nVNf{I7U&@h}T^5DMryJmO5+rG|L*gLkW=_iYl3A{#F>e*W|4 zv%7Xax%ASY*gAsE&TY$cGF~qwWtev9gR_rd@z;A`^Y_T*C$T?bRi7WcMo!*dY&}Xu z+$S@4rH~EJo;~~EOx_dAteR0qse|1kIO;1eXDX%6Uf?ZwMr#6fieC-H( zCa|irBmQBZwqPx1MZs~5(c{!q_Tev?SJG~!EKyh^ICc26$_ty%Z zZz0?<4xYH23%GkaK>~WVl6p*pc%$!!n-HWTk>uN?jbWP_R1LT1Ie<9W^BtRiaBcTF4v=E&_M!_V}!+;%VNLgMvSkks8+| z2HkgYb5lHd@}w=>m}D75Ay=?$#_pa~E_-@)60B8u9R@YgrT^~1?6$EaEdQy6V$BJe zprXgBzo=Tg@xN&8*PceA8p?VbSmW6!iY?0LL$!C+4~AcCQGV@&@IS<5H1Ox4STS?k z0Mn@{#lUJLgE47eefOa^#nikuV!JK}7e)>m%?sWKHl}|W#!{u)WDFso8C}kNU9W_$ zQ~Y$Uq?Fm3)tI1}Q=o?(<#VVxB9+~)ll_g}GmLFLFH$4!&^@?k82sqy=%NK5f-&Im zqd5>IL3UdM-f!#JU?>;x?IuYN$Em8TtGh{Zh|mr^wt0nY37E0Ava<3f>3Q-zk~D(i z4ViD`jL<0Z6<9`F|Cjm!8= z72p4k?3<)|rP8CLWiz-nL76fr{0L%QiwqE!zGe`1Tm_{k=L569{{ZiaK;41?(ulT zcEF&Kvu~x)bmZKJl^CvPc>wPL83>5m^7-?nnU%kHbaXU;+z}#XE(xrTIq6Mvc}~e9 z44y@$yLSe%WLTUE-iXurIk!*eCg$*o-Ziw@Pq&pq($2pF|DKi}3 zfqW_A?7^buWN;Dqi4S{K6JRU&`cgw6OjOVB;!TkNBkRysg&yHDw*I-Cz?Nr5?4D4% zL-)I6nk5crl^DcnXZOl47CoMP*S!x&GYK2K>-y;Os;qC9_&&GbD zdoBh7wF?RHAI`1q?Fm(GynYR;`xwCF#T4=9SwpP^U^qTF%7Mk}{!C%50LUJXio`$l z7#S_q{F24Mb_QY4R9oEigGSLt$GM3<((HkqzzSCtGs`PD^Sm(v>QMRJ5Us(d8+%`* zMr#5^s-x{iu&L~D&xM(iQj~jVx!!2$7{8$(s46kD2>v09qgzv=w)X1&S?S#J#3bx6Yx1g6O8Lz=ugTG<~82;I|p!rehgK< z{pbW+7`41<7L}T%$7$=$*^D}2FwD^X(HP0Q&X_mSWM~ae0#k|JFCEH`inNvkd~B&> z+W3GPz@s_;RXYF>2DXpQ8e`BXE)9)5GajMKM~oKra@L{80?4=?8agNC%NztbOQQG_ z?(FySe6so1&gR1hBM|cg7R3`cwU~*%_M=~mF=JPXeSXDr>DcN&WNg){TVSss2z7{I zi2?m|ht|w17#4`OI_8@4Y^U>9u3U*hGZ+l-&!_j+I7I3pUiuzW4dAh4YHuU)R~2pF zXvqc7Iqej|LDpCXi9KjcNFUW33!W+M&GHOFFDx*TDeqi>6|oD1U8DX<0Lcz z$En#i8=aCceqj+2*ECci$G!r3`HwsvkKLzC*zZ&P^=44v*9od1fsQ|efFsUFTS)o& zRUh`Is14TIl+EX#M($Ay{k1-t(vyMIp8j%qrXBI?yK>+TYbN^Yw}R;8oFoD(~SHeOf=y#Zt0HxJ6{1 z-h5t;Clj`%E$s}fXGoIn-eCEDpJFWl<0A>{z)V|>;8uSh0 z6}Yp)!?($&m&wV>hH=LhgGZ*Ng2&&tmEm4+=6_ow7dApK6sVsEaGOyju)EZ_4;L>K z#H%xbJtbZPWvz|%G0Hhs$i)S5dsgcr?n12&FcG~?x)s`2M~plJF9Uy6)790r1DKfp znr+l-C&XmCMZWXJqugQNi!V)Fxyks6m$Q>d;XPHbC2mgYQ{tD5u^^eoh-bf{vZ z%puFz4{&|ro*+b2YpX^09cNg2j)}7?S4zoE;epbDcQsSvDPtL5IpH-vx62Ssp~Zl2t3E7Is@&S?$dXkBF!#aHs!WG7{HY zj5J%b^k%;L=AxhGCP(x}5*!%i;oCH? z9f4zM$F$gK@b>9kYqrhhLJm*^?!8DHS#NOzaDNG}I8E4OOkJ%g^hi6Az(-Z}REMIx z7rz$!I<&w3)%#nNX9$Rtr<+?^@;YZsGblxU(Z)vIPr-yLJlL*2`lSPC%t=9nd?xKj zY{wi@a;^=vI8O)#LC;-lC37p*z(9yPy0z-P6cS%oy9VkS_nRMlUOV_aCAhA(c&3b~ zcaJ?*abXhUGOd*~tF=WQHERIJu{Y_u51v1Xsteo%h^e~?r#@TlriWVg9FQ|jdM#vO) z%vW2KFTe(~%AeEDd@To;6OY_K_)ur-;`-H)UCou(jxO#vR_md-rWMeB9bIM>5W=>= zrX*b~NFi@X=AMd|jY>&xdD$eLJj{kNX(0R1%$93Y#G3d_La>M5bFOndC@(uupJ; z$xD+bIb(~}*B>QeK*6TvUpzZEN!f=C`J!4CmnJ==t6W zm>$@`FU>Fo5*F?D}CFx5lwERAT9frpqgTj6`O$Co;-qpe|$h zSV?4m%t4a-QpLD$4v(Ms5z zNY)JuoN_NUIq<8FfLoO&vFd0ucO3A8U<5G^uKmg0>+bHR`GIohrqJqhOyFifK7WpD zJCkXaaro$)y)1Cxw&j?hBZv=hGox8$ell>p26cJ89#bbrMU`F5GE+@j1I20!=%vrd zppue&zw_frV>06ky(7fxC$jRfg zZ}o7uUdye6Vt)}#mtk_?u!_nB9D_mu^;xABIC2K@)(NGU(Cq9{8tb>;etThZAg*Z@ z)Sw8M*!5`r`YEas0%Yq0!^8MSvY`7pb3hTuw++4o-=w8XpMoma!)I=iXGoUee143w z{&ft-5b*BV(y8ZDXLtAT?CfkB3phl=s;7K@q;NcngOVtMe8>cjYBiF@pD7G?U)o?dZ%|4POfPozW)XNnu^R>kO zh#Bkeq*7%Z930}BM4<*ZLEL|>;PKwyz#N8CUN~oOZg1aWW23zIBr_}P5RE2nU{Eza?gh57$-$u)$Q&FU6nzpf zdiRGupQxon0i_tYtOP63gEMI*GiC=K4vcmFbmPX2xCT%|D+hJE+w=<%bYBTnb`!O2 z;57hdS>7;t#66~2W)5Cn3aeMI29rC2DzVpQ7#o+<0Wb{>4f6{N4Xvz7Hw$DG>jPwZ z@+7Bbe7pmkUDVmkiV*k1I=wZ$tZb9JyZc2&=~OW8@r4lk+3CVdrDzBKd>@1e%a`!>G9!dMSz?3`5JEr*EyOYg zgjVxABZTHrXdZ>yAk+rH0ih`nngXFI5Sjv^DG+ASuoeh2#${U|bc{=k`1b*X{s=7> z-gBh_fu%jH6tN71*j0k_S@;w2G&nN)XWrg3mBs}BO~45L9|8X!I~MM83CaIpPzyyY k6!AaVXbbWE{~F&b-1q%ZafBrMR;QD<5+x)|h$IZcWF4d99LYA7iV&w9WEo4t z*qM^8EJ?;X){tdpjAe{r%y&PJde8g4|GwWJ-#PC*e{es~-1l|g_jUcQ^?ruC=Zy__ zd@KGf1VKAa|Kp@71Z}m0pv_yhYywY8Iyf7_uXWz0h9{uh7Rd>4v(fv+X|pZh3fkfr z4ncdN(jgo6!Ar+rGB4CO@z3CS-?~53Ykqe=XAJlt;Ddk<0*DU+J_z_A zfcPNbgMbeL=fUCbfUX7IjnItOjypA4 z8X7qhKBlpag^Zi<$PoQER|{T@dR?}y>iZZ_Ne`5S2EP#mX>s)%JLMPMZWe}y^(1TL z)s)JKvfQybe-sLv+w9c7r~#3;9RT&jWV3cvjF*?GoE#CiJ+FsE81=f4-QiL$9#mvy z-syjE-QeOpom!ri#bGlYT4UkW@)FWBnSM4kLoZIH+DF$19(!WsqAHGEEJk&9baafD zm6dr(Z-sO+83Q^HbYg^AVra2*}*;+a}S#xu9F1_Xgf*T;E`_MMXZ`bm2td_1W;gwxJmSjbk zoSnURSU6Hz4)7R)R#m4K%G}-EC&$Lp)7x)U1}v1-jodUhk3N+ez+1(lY?3+wXIo>} zLrS*+G4>5ZL&Jr!=HAV%dRUG}^Y~n{Eb^ic+oizrBjD@E$VdQ}bI#m+$EMJLMLL$t zT^zu8dsF9rg~;A=fO)}hhlYki*)GKHk4sDbRO*t~c6c3ZY}5E$S$TPOdpnUP%PaP% zPDV%MLm??g*vu3NS|M_|+|5k$Uedx)4ere)cnH~Jg2f`~1+mYgd)-qi{pZqIELLFB zw~!wlR5lD8RmD3dCN3X4chP)cID2`s2s{R=P9&jp!}EbSh{SgB@3?;7L-%$9;o~W) z&7sGrKpbFIXtl)THTJLznw?N0BI6wx6uhMxE$wC2s~;e;!xpeM!^Gw*9ez6f{kAqX zX1%!qNn79<25(wqn{yXBYgxfM(w%N=C3%5rn{JQ#R99u0S`P22$G6GKBo zX{>A#dWsX!Kex65eGk2qOT8rX1GRLyJbfIE@fIkTg^PsSZpx>td+lJPLJo*HGe z({9(e6!qkez%Qslep`X&bhwzC58&>73(a^Sw15Ojog`aC`;^+Q7Ia-<&}fSqTcMdG zgvjsl@d37C^*xClyGNw<#KTfVy z!YX{gFa}Q^tgRXrzP4C&m6Tc`y7!;MoV@kPFTuNNUC}TbPPeOK@d&}0vw;1y1-n7p zOo;4WaSV9~|KKNze>pe9uX%p|e_9Qm(Pz<*S+g@deeyxpuZaa` zesl~W3mq3cV__qtr10G#l?@7qe81l%dEvUtM^m$pUiKE3&0bq>nT$!zx2GJ>@C)6W zf3W5E?^7F1w;o80_kPz{>a$qo>E@NSL6(=)-l{p#njvp)!b_o#FI7%`YAjBHUrr4< zx&F@=gZOR4H2r5hsm($7nln1Lbm-BUwzjsNwO7vyefwL(xZJAK4d(E{ojWgNnmxBs ztY@<=r>W)YVR!DNnr1p4Q9~wg4*|v#3Q0FVBy^RMll*ydGQvjD_k2p@_}u;0@zk`m zgJ;rWURY!w(a;d(a0wE7aqo^z+aMzy&%$2C;Nl^nZ!gGWRHuW|Obr2(!k!AiABVUB#|1&o-$qB} zz0{FIMnoS(7V?A7Ej7Kc$vs7-)mfRTvn-l?Sff=pGvm3! zuIKIA!(+=`of~V8RTYDb1af~{58Zhyvt=D*C$6>F=RGx?9Uh*Wn`>DafY}5h5%Rk; zX{JfuEw~uDl%W0Y70j@lda$4nBY2Z`;$>qA*;j53G^^wOxE*US_e8f`&RAoJ-7r4I zYfNe#ANf@<2H#B#REggXrKbex?E#Y$3hZl&UrNKL!74ICvSt{$y>&%7p^U zs7R$%yA5)`jO9DGy)Idqedm&g*P47$^65c!R%O-vhqJ>kQe!}CWtJztO<2MCa}=a( zo?A9K`I&}dN8p@VlO=w%$cf6%tCGD%@AD@+1dSa{Vf_S$PYDlTETuoGUU?VE`xK~H zy)wJWXnpfF*0d(Z)qA{!fNp)_{X2KT74rO}r^4U6&$~5DV=R7TnAKZtR$L8~Gq>dR zz(qjHSr68X_)}LF%Q|b@4EN~TqZ$2`M^sc)>}e$hB$ z&Am_b=~L8A%4H7%NUBOphQg*s9QKqK-5+_i6Yc1DAh%+6Qe%0#xc2pL+eXIqaVpY& zgXKls#r|cQsFYNspoz`S-eM2@<~=L6N3^sOhTcH;2y?AC+Z9%E^^<&(-Eogo$h5b- z(oC-(o7xA2;sMN95shG7?5MF-vipjky{nI}uZgAh=tJ`(fvjmi_E5AS#h2bERxjyo zBU2wLhUPI|o|>)P3U)M8BjM1Ibx}446}+_j<^Xm;^OHm6{D;W4{(g%}!prt7ZO`w%V z$|^6Frgj3>?Da;tFY8`5A%k%pSngkR?bYYBg<_UHO0RJrwt#PWtUgbu~qIo>wy5u!U%AZYNlR2p%3>C$ zl7TfjTon7!FxJlg6?nI-Se8QmF-7r_U1;nSrhE-=EL1!X#9K|&CeHaLB_az%?+tt}i=|L76 z577M;nk2XGU1uLFWD;~|8%$h!^_Ln=9B4hqiaM=HZg-m#alP-w*4bs*1k#S(q!r!p zwV)Q>xR~VIzXbcy)5-AnhnzOS{?>8&mu-qKte1N_t5zczyfO9a-MHmq+);blgR`q= zLcY0^X`115DPS_ovc&WF%F4J&EwNS4x|bKaXXT<>PvH+1xjIKk=w4|6>v(Ou zb?@itrPqJz3z{nvm6mP^5Q4#JlxsHWQzQzpV}+H1m)!SS7rQrl?$UTE>DyPpd?ScA zv6R@e2jAcS8{nq^`w7Sh0lsJ$-{t`BR9rnEp5bN@Kf&TDx*ixvgpAY$^ec{75VWp+ zh*8(mleXn?PzAxsruUqHq1rA}F0lsX+APLc|G0C1EJmso-+g1w!r}2xesmld7w$-O;S+?whlX za-$|$uqr$x?f*%R33J~pyCXcjVbqJ+;#(y{$?-qyHc+Ko zwLl2eVF`xF)aBv0QycoPVQ{d)>B=AKFQJ!740ERPB29v41u+c&aqR&ykKnn)kqmwA zgjqBUi+040sCa>D#vV^D2nz0ea>%tVR_vckUX;a2CtS9+wsz~9A$+FMqQk?BD@L1v zkaievkpH201IAE!5T-!#5k!aL5>r^#Ry@sSZ1wK@IJ57zF)D$ z{hZFV@av4;6mU7eixm|XzWE^|NoS%SRmqt@tuLz@nRYggGMufiMJsG)_3B|>SADZh z_|3~}XC+i5AR|NH0d923Sc2;mjqtpcV{m3qLv_JLI=9_u{~)EWU_(I4B6K;uX?ePQ9n3%p0*GwpeLk# zYZ`IeQo5YasTkLKDc_(?aPh)GZO!#HrxzEiKR#@2Q5^j08<9E+fwy=s2J?DreLcz- z3xYL?{+Y1Pbb8F~+qY{H1QXiMsS_eiu#@ctokmKvfluD!+8q5^vC_xtutJ-MEIw-rk# z9s!=N$4W6S(lxJAc9qW1!&rKsAodV57$Lm-l5n&?+&-5_$~K_ZyKIuq<9}I$GVd zX3oQ4Zzb+r8?jrEZn0o!%lQx&i}&wEr{q~%7dqQ3pvqL2;vvXWSvqLOu&t*@%O36H zqY4bc<2JZ{_1+JbvGebV9#xs{w59PBylx=tz#eZP8s_V5N*@UWUhg=c9Dv8j)|_i9 zVtVjcMhdp8oHDG0x_gryEZhd;BM9uC@oX2i~WJTeUv;~b$c4kLw`9R zzYQ|*E*bo#I{fEI;mYAvP4BTcAJWc_d``6$0Y1bvwYYdOgpqBLeRGPC5}$Ph;MmRz z&ae$aE0(E@7!c2Ib$xW^AiZn~CkY%6r-LUvMWITT+T@Zb-Q8lYl$^VUK%MjP0ucE= zE$V1X_|X=Pk$k-OyTf~;2e@?KSY0J~~s=x)r(%GA-tW2~L(?F~=Yx(XY5M9FgugFaK!xoJYV# zDhD_?%^Tw-%k=UoiUq-H_irccKeVhndb!lbJ;HmvK`I(pcw@b#hwSO=`f&?~z+&!g zh1EipJlT<9;-_PG^3CVZ&OwXi1Br#+eb`0yNjmAGg764%`ff0x?yfH9npRCcJ<5#t zda_w2$o*7Qc7ZVK?s#&bo_jfMuE4FkpulVNG!w+5*LC5{#ZmT>JVtF*Y&%4bBKk2O z^sp!dYn7yp&<7vi)(9X3)%m1yUq;NUSGU8G1wou$Gh%fJ@_f+;f7LW3J>O%%^I{Ts z4sPm@ddGXAy1F`X@sm3Q7|~27^WX9`ae!4usujU_$v>;ZWxBsI@Za;lf`WpuUoXH@ zdX?&ojsr0RI}^BOzTUonZ#TcNaITxV%;8*hcJ_Q5gJgl^dDEr`20P$m zp-@xBIM-ef^VPtC2&j6TdUies9rtcT%y>Q2bO6}6!QZEG1;=4;2SJi|S=B5}y(__w zeAh!2M&P03L$6ZPUSZ&>!DaXy5Vw$r2Mr>`U-D$OSX=kPE(ct8E`=l#g+vA3MZ*%I z48q!vq_b(J|6E*5OiT|8_(Ax=QTQB9;}9_JMYP9{9|OZIW{i{*l}lOG^veVb2Vmpt zK$+|4Z%9WFAFyb>mjY>uAW#Fj!F@-bYqE^Y@^dSK6F6N{jzyM4;we>?m0!OG4#wb4 zpC%_KbI}Z{_KG}XBNPvxcS#mLd-kj+uPUPUst*QpO$QDfAo9@EhYnWQI!fMMVMRkqB>swlbjkdruw4Ltt=-01v5Wzf3k8P{(C z-Z=p};4(;{P$+O7TuGnm6$DPI<}MWS1X=pa+qYLm#l-H0>-Qy>7yBL;imZ*wKqk@f ztG#+8AW-Bah)~1BLE0@UD%#*D5827W?&vhAf$bdi(%ip)b}49{r5GMmb&qKVPX^(v zo}FjoT@!F@#s{xbN#HG!VTeaNE&u4ubYE%eEp7VM0?|m}!%;v`QETVFe%B5kJ`6(b z=RGJcIN}GjPE#}aNAQPE@?dlK+(00Di_vc$h&m+XF!cIoPylw+fa?bk`SznTX&_0y zAoQ)$Kr;^HKu6Tn9uJv8WTQ)PC}8I#Aub*fZqt;guC#wYV0%-FzW%1on;lw{2bMcT zVG{RBgQ~vw9&5VW($dmnRb&-SE%&YMulz~OcoQVK6&9U6pb^Dn7R2jUtIsa!_t_D% zvwzgm(z*(WfE2{8ZmmMzoRyue4T^=R@>^mchJWY)N*zdj%n<X1mI;?6*drF zgq5|m%>Ml#2kk4Jdrl<&xM>pyfK&sBu@0_O01YVv$VfB&!Kpc6H-Uf_WJSls)U`a- z1_uGxRi!{Z5k6CmO}CN8i`e!_gVz<>+UI7K-uCqLJSU)oPoCT^AW#ps0r(-^;c`&^ zQN%VWn5@AAKz1oe4+!s**Agf$-35vS&K)oe0sv@dvD~Ijn^fY3AdLs3XVQ#|pFxl; zN-qU}nHT_I2m_Zg0+WHxWr0!+*#I}cxM-MW+86-d@7Myrwvlf3?0h(2C5VymB+{)T z$TuF8N5Q^8L=-tRge~x8+$*2i09^#N4oKB3Fz^R>$(9PhnuMQt_B}YJk6$w&FI|en z!HW){K9P!?efWW*@0%)Y&1L*1NOdP15U*VZ&x0t4vLm-mW=ODwwEwen89p7DiF_U+ zP~!7pjSYN0@cHmxfPoNRYpxWiY(UWV+2Z6H`tTOWZr7j3y|RD)fi3>yFABlu$r>a0 zfZziH1kHR4fxv*T4Sa3jYr_`|@MDOtjNqHcHBRu&Bi}so&Er?Az}E)8Ht@B9uML0$ zd{gk>WC~uOw2|W+(N7+_cc`^HmA4}2vIq-e!7+koN%m`fq|4qOg{vQEfcM1Ki zcg)`<%mKcL*KqLn(`Y`v`S|`jd#t|>zAs8w{~CGj!W9d6$)|rdKAC&M?w9`oZ~Wfg diff --git a/forui/test/golden/resizable/zinc-dark-Axis.horizontal-FResizableDivider.none.png b/forui/test/golden/resizable/zinc-dark-Axis.horizontal-FResizableDivider.none.png index c801223bf82d26aff040c40395dc7499ac42c401..0c5a1e4f767edffe5cbb8add2496bcf6f79f0992 100644 GIT binary patch delta 5087 zcmYjVc|6qX_y3@B+q7CLOSgWdtB4|m+=_Ne{jn219m(Fo^kC`h6i&5g1nwUo1q{pvyRTGDfje@7Ffa2A8l9A^|qU}6sEHhOer2{vD=Br4&6`7 z%WreD@h~VHE-7l8e0@0a^47?jYJ9+ZM%V1D*}&l7>4bHV;kEv?5z0Uvze zYWNMAOtvqwwZ)4~t#$ymr(T;L9sR3*_sS{dSJc4oTk%1?^jR6QWrd z=XBK)|Im|&H1<6;Cpw1|;3zcYY5kSK3XxQ^Vbhx|OrbH|=Yonfamdj0>QXD}5XqPOt! z+F`yE5L?kj+_k@B$`2kYaU^nCAH>%VJ}hQoDUNo+p+`2r)dxTvWbXO-y{j%4ZbGaL zib-x96Rl3V^|OvaG}h0^etUV1aEZ%ihNO!lI%F3Vy4+jtK_o#CF%o(5=aHI-W*2M+ z5J6V;rx8-?ux0pqNbv&lV*-A_s`5{0J)^Rw1~6f~1K>q^kBo}UzRF^jzZ|k1?sSWc zSH$%GEA|({8psZ`l3UK06$NX~6K$X&O{xw=(vmwQ1q%`=A#tUo{k!x;FB_Zu`clg~ zE$v62?LK=fD$lQC&o3GZ=sQ-HzrCwGR=gck@oua=`Nk772iYevwYd+E?KgG4=|5m{ zYVyFX5&8eTQi+y-mH+jSL*F%b*VE}4S-ve{mJ!P4R~dwp3oY-eo!Up!CyXZ2Cq_nR z*Q%tU{g=bnlakMlO29Vi!N9SY28|Cxf}15nqj|l@!#KvJ_r|0i&8~xJwSj~8C+ge@ z!X;%2!FFG)yi=%_Xpt~6GDXOYCu9U;JC{MQ!lUv!d-Zdz7I#9lmB5}`k=s;=X#Tk@ zGEH=QpwccoCnv|f{Qkmt(1gJ@^}DJNbeNjCCK%S^)WW-#r}s)pNpU_Otd3C zMsleQkP7F}D3%b$g16}$1Sv$e7%ns=uc#f!E+{xEckHI+XLCRk5iKn(dLyybao`;% zimSdyXVZZx;paA%0D}}O1>dg*276Am7u5U7Lr_oZy$VG-I?$ugfk(-hqL7Mk+8&~ zv*-6Zt*z2SErF77A^Z#g5UNi-9y(lwrjCEwd|WXR4Oo0DuDdXb&vx3w4yIfAu!`Q7 zz4XH2Vq!GD2Lb>>d=-#IQ0&1-#e0_&gD11hNb0C^lOkJOnv#F#Q!VHESgk=B2olY# zveph|1bzFG%&VBlK-HcGvX)1F$TlXcd!)ifg83RwkMkNs`)JY?pE}vA_1-5T$St5n zKhr%`$?t2^xd6mh2YxtJpH+Ag<)Yi~?c9H_QC)qZHFW%?Rv*Ybdyk%ypUXWx!mM$C z*>3T{J-=E3{(>~ktJZ|7rh$Qh9fbsfs%WLb^&6)FR(hf9<#{@A2!0@4-(SJrGomg5 z4Vjhob!Xcle)%N6?&XKo=>mHfV-d$9A^~0|McTJG`8I#IVgi>1{8dy`G$ys~c(vf( z|6V8aXXBV2Z!{4#uFDKvnCF=3;z?tINMpfME9O=p_B-$U9V-o8=50~4SJ?F)_zdEa z-C~bOW%Bz!x#4iQv?4V5l;i!euHj5OqN5U#T3I}$lX%#_c8}{zEte2U=vR|k{Rsiu z!Kdz7GVfr5;O!GUQ1j}N7!uMN)Rk|^y+SVWZmQAB&>!lgx|riCWfTzABC25QcpW-$ zp!fS?fj_Ie?hkmI=;Eyq;Nf4b-k2h|;*;~Q6A+iUr-3^0VI*Ewok&^gW_$zi@kmn& znJH~+Yuf=}*%`PV!Z5W1=lY-PdJW37`UjXtU$-#Q0qL>*qKa_t`6&`+XOjhaq#*cu-;Hi2Qd5f>61e7iYKN6WS4m73J0 zB1XgSPC(8mMh>kUBR7^&SQ)%Dt;e77%_b0BYq_9!g-6lswgZoRl+$qNIYDL>v*#9< zxC2~Da<6>#O2R=Z$i11rfiq&ag<{Tv?9Q9Kf%r;O{FJY-)kUQ}Bp0PlZAQ5Vs?ee0 z9)Vr4&|;9&=BC{&V=S20TN&!jDF>7>^SNR|gs)op*0)lxOLbgC(!f#y3EXZs-uE$e zl4?fKiHL}ZfYpp56s{E8^(L9uo@9JM>MJx1PX$JOLx z@hsxnl}6kdPLxHhwDHQvpqbK!3qB~|1qCN0(JY@Fx|%%WE&4+x)EM7xI=4$(WB{ z4u+WltDlC2^@2X$s`&H%Cz}fGDmQE`EjCoHE-Yds*GVpz}@7 zwP5EUTeYOyZP|?@1x`XbWe_xq0b|dd$IF`>gN7gdLw+mbD&*{%DV$2~-3G7JEG~tu zcC2Aj@uG!H3#V;Bh90};c zg)A37Kj~@?uciTy87K!&y0#4t4r=dHRE$k=49+h}2lALgF%51}M+f^i&Hw_BiQA`} zN946%Jq{>^+H<0MJZ)?W2P|jszDAnIFom8sn$r0h$-di+1>Qd!{4cE}c9I6t^)tPsz+e%;^J9JA@!G6N<(<+hq25g| z^?f6WIPJYYvt>?u>db&*i~#9@XbQYhRpUKMN=jy=V2Uyb3p)fq>jm?fw|n2_TB#*P zxL(h@7KQMVGJdg*LIrfoFTZZCf5=>a>`w}{1=gVpd=1wG3kTos0v2D}O?|i>)Wgr& zrYU7jVSEPjLXjMQ_TIRaJ~~zTsBI`g%qf_rAMWxC z2&m@|a;eEYrNBakQl?L<5%*n_xgn?awT;@rWdnqWZ2_-0sKDpoe(#z%QzC+vM?cUa zZi0x?v5yr%C{%=#4M1Y9Vq)+$on=PCmhEj&;@XLo^uU0iUw2_keMahomU}0@<-MTp zxv1##ds8OtU*__k&4nfD(1f*Ew6;jDN!D{FPW6lpy`lFNI* zY?7lq2q*a>*o1*>^}`YhB?o9j)`jySA^iDLRph``vGm7}ee*tGe){+RFNvz#RJO^; z$W?BJG=0Fm;R7c$H8n%~ySwGOuw`HIKNPhubB*@JUD&ea?k~ZIAk0I=S; zlYq)q0V4&VV0dkwKz-AN_4D_arHBV&nj@Gzv8$^e)lsW4jvJxpzanFmX91nn#$Xr- z7T&pcfMO_HiNFt{4IW8?uV{JnEe>Y_hR$&$%7YEfQp6&ob_UsfW&C`ub=2J49GZ#* z7s6Cc&t>dQx^n3D%K6tXq7nTVM8C4T_TEzWju*Q7^UPi-1A2TkC!TGefGk(;$TQm~ zy5Er(2a4P#&}%*q5{s}{tT_83Ihd2u;M@B0zNJk;S2l;zj-R#Cu#0vS#}<>Kmh`vNoV$oueKj&7 z;x@HNect7I!)g@MhN&~vc)_Hm6x3=zX+eIuWiC`IYfzXj$nw7)ez&UM? z!KfM+OmSSqLbP?r@Y}vYTH3iLB4ar7XcD$5O~>H0fvS9^7_PK=afn3CoIV_p*QtP9Yzcq3SFuxCQPT*V zz@~8*7fs-`@lVT=(DGLBYK)1WpI_|*>6X}gyk_aU;QL3<2ToZ}Rqxgxvg}FM^y!MuC@Lz zrwt68r#th(p*BBHZ*R?RqLcjj^XDJUN<%X!Bvg-Cb93?T9cji^%MlMAJm`6wYwQT) zQHhObj>7NUofnsuWZxczO4vwraSIfJMa&>H({oR4nmPi=G{uyhL*F3S& zK&HSSD?I8-;;mD8TMApP0bBp`f$XX2s00afUUnUzC;eP>tly05? delta 5104 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 NxzkpsDo(iH|385sTm}FD diff --git a/forui/test/golden/resizable/zinc-dark-Axis.vertical-FResizableDivider.divider.png b/forui/test/golden/resizable/zinc-dark-Axis.vertical-FResizableDivider.divider.png index 9ee85a399c5cfba8c4caf04ce8e66037f9deebe8..3e4d90c813bec8f01956a130e99e9b324a2af5fe 100644 GIT binary patch literal 25261 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 HudDw6=u!N) diff --git a/forui/test/golden/resizable/zinc-dark-Axis.vertical-FResizableDivider.dividerWithThumb.png b/forui/test/golden/resizable/zinc-dark-Axis.vertical-FResizableDivider.dividerWithThumb.png index e87e03bca6d7cc2d32947ebdfd2308af11baaeb9..9f5145d158eaf2c2ac782b9fa3c489e6823eaf35 100644 GIT binary patch literal 26601 zcmeHQcT`hZ{*PlX$T&EnR2^q!R0JIb>0rf<3W(G&p!5!bKnO6yC@P}kIP@l{v;Yw! zAcW>vP-BQp2rvD$sI5SuP)bLS96XCcEq6zumM&Yi1Uz}nm|FyH3&PJ@??+X(X$*rOi^BIGwOa4pimo8M-T3^!{&@~PTI14)GqZ|OIr*V#La*094xeBM zd>7xJ!c^!!=`VkDnjy};zis*Ab9&kG2cMIu z{a@&QPAB}LAXjik0RqMHQ0xRK1qc)%P=ElX0Ks1t1h)&8LXzQp?QHBB603a6?V~BJ zT(z662ALiyU?k!07gNHR#|<>mR29F@(LK&jqKUR7A8k~t)E8U=Bu z9-p%5VR-B!&c^N%X!NSqx)J?JtPUm-?N`fIGKU&63WFt4_nmj!OVTJ8b8~Y|IV)x; z^_2vMpS`lOsJdq&DQ_Vl)Y!UU9k@-7WEGVrCnwiGJ}=$b0Gc<<#st=~pX$7=c`83uJVxS>OK{gdVUlGWzud6Gq;jFGv2BnQG;C}Zq z-gxor>+8$feIg#$a)Nl{<02;_GcjnPG+|(bJNX5%YV1OiW0XY?v0-6t@2&RI$!#%?ssrjC62B!0Cgklk5qBl`-y zpb@lRW|MDW&#pBE8$JPzj^NY;!{3DE#ECz)oC^~IRvc81kyM5sVribUwU zQx4xXv9z>wv9zd!U{=4}NRKD1*V5KjW)2RjCaKHmehqXRVhj%t_X!9!fxM|u1HrewS1QgC0PsdEi`{ec@>ZKelY{k?SGz9xd7sFy zx~!77gtJhiwvy-e^PS{NFw%z7k=sf79)L+@CQr!RCqmiT<0W$v$35Ulu>fjMun%Ug zz^m%K#_yNMB5^aLsx7~C)l`f{Itvp|uLUH%6JH@cGzQmv)_S&Hhb{Q)1X@Qh?OnjwEUyDuOh{6 zBDWOO${Bm}_$}s^6%geA-fHHFCTpcY_Uih@y>$|4bi%+QNSVB23FGt5-jnoI<_mh0 zrp1yzk{khx9e*gB{Bg?O?OW(5TmySp`4bwQ*^UJNTuBr^as*)Lh z2 zW%jo%;)d_1AGWonUmu5D7bu<0uT~T} ze!lGe)(OYvILY-<*x_KiNnUs|Pt>53rswKpU>f$}$SNfzd+NDzY;Z(W6m2pRswBh% zncKD%QQdV_UNwR2ni&Q$&edRh>ai&XF(~5+6(VyFyMOFHzG3KZAf3P}DE4MOV>ULD zS8y)9;CJ~qwzs#RF(7~VmC?>%d~IW1UEwEvp&tBfv1)lnpOSAxoHZo%(hKT_V6RE< zLyBI-RpRtSk2bqjw&|O1Al3rTWn%;Se!n!;B$6Cz5d1;e-LxHQx*_-GMu;PKLZaS> z;;5rjt+K#=9(vxxpUREu!80FCz?ByFZ(askNvNNia=Y*wW#An&Z;u|?QS}=_E{<}< zF$WL2ggjY1CGL?`j!fOPPV#6ke7?JWdkS>|l9Am_uuEa5%nD&9t(PfTHr<8+3Sdehmj(T5H~{4toaKln^45ql1{<=T^g>V}^0pY!d3 zk+%gw&z+sT&I&>%UM3dV#K@j1%N}?|K2<`Oh~1ze?6j8;p~~Yq&U32&kUi__*d4|dqvXBMLD0uO`^v5icI{dr#68N_anq4D;Z8CMCB1G z=dv?Qqk^anE_$ui%u4fN(dt#JI^F;+zrR1(QUg>$t{;c-U;GUWa`zX3?;iC1%+Hq! zbcT0NH1OMIp6OUbFL8!2*D}mU*65p(w6wIxAAU{d#f@hfq%$QaAPyLPjqGN-M~bq8 zu7}l09wGwQKW%~p-byC);EmNP9fAgQ`xH(kDb8PF##RenLy4<=^DkNK;&%>)4A zzt0=J>}=_?L#nQJyPHMb6O1uqt=P#YS*#HT;cjVZX%G#b9vwMOoGKi{qklVgzl=3G z84|$ygyrOMpDfkBR#jD1<`^Cx9y{|?yNn$U)!%Y;k7^^7K#|zCHj?j6Ob2av;n#26 zcrib_vPftQ<@6qGSP0p~;Ol?oRrtUCBLDaI{s?Cgum~b&0scf1&%d8h3g&=y{uhvy z705xM{-kPEyG z6BD(~n_K%|-rBs&$Y?!ya)<~iT~>)IuzdeZXGh1{!5sPqNc}xqY9}z!vDZt#>!N3U z{P=OZZQ-7=v1X8tw{W2ZROKXqkIU`(4w1dLrXKs-I$bQ&QFO||)_z-R;oZBNyVz_` znN+gN2zzfR73#B(Rmv=L7nEATV6nblshY=rFvVb}QU=aH4*4M>GICubbP^DyR5B&o z4@u`O*ZqQn^HZzNdV4!Os-Tm`JQ8G>(Jx7&LOH(Os$&w`=Kx@UY&LFCX zok8`ZH?v8F=@3J_lG@s2@z#aFHMl>jK-w*xz-<94CU-K&Nw1-!TNtbV|t6wQ(c6FT-tl0gUHaW_l z&hLXwLXcknM$6)-FClX1+E|L%H4<3ELMB>2X7R}A*hENVk;TlDWRI~fe~+pD=TmQX z%hp)RW>t1sxJeF=`7_;A{5xH=)~v}k47@s+AKx@G1=b!DEqgWdHc7f|dX%N2Y&rk* z9mzYG6DinjChp*SuLo`Q?m%{NFFSzX_qd6uyI{3^^Nq!)Tg_nc?$E+V(4U!W&$OUl z>}{H|QDHJ&!Z9xKlH&eU2e-@&{2V?1nv!}@_T#2cueXD~@jS3t>3 zhnc97*G^5bvj<~^X%szj`A7_~PuVjE!i>)mn`R#4EY4#ZecB6wzB_kUE$ zcZ%g2+^;~_tHRU%%dHz+57c=rra9q@5u$p+(v_s%U;%87?nwE^}y1!hMDbp3vqF7w4DOd-Ff;2%YSGa+Mdz&b!7Ti#jg0 z-n!+9F^1gj2`r*r=_BS~BNqTaA*vxS@1hD?G(Em8LUn|Amz$Ge86U@Kgy>oLT{BdB%Te@1~%7LWSr}|E*U6mXAd_HfK zPuuS%t~t|;A`pqP-`YDa^f8=Yym;Xup0?}=EUulO@Q1d>1Y5b`;l!&d&(`iWKm5_# zdu#oM4O{@v#s(U4XhXB@l_AwV`|d z!N%7EFQk@nU<0p;mt}*!{JdZrM6+k3d@oK+wDzFo^#R8{fYVul$=1Zg#L(WBAJ=PY zZjJdGB31hh*#jQ6x8K5YQ}FFwUF(2lY?t>b|2=#6S_3^AsMv)}!uP zkE-Z%>>PHHGjsz?==LkN?q8^P;>-8omV{P~)e%^%f)~)2|FCF&Mz&q}`6gt?SCGTpP;f?p8I%G93J@qj zpm=+r6d+K5Kmh`U90^22g-r05kqKT_i~?T+auz^={r?B{W6HE(b&>?E@OJ~=&+wCC ziWpgX4wWujdt$>&T^@%NvddAhiVr)g_zJ0KXgp*%@U zdj0I#v(0SCm4i~IpudEy?x#(Ge`&jZ(+nkS{C)a>kSTJ2zhX;Rg1DhhJG;8N4)i`* zcrijiv$ugPjduzVmDg?@oMyVu@H3yJ2h}$7XHRAu0*m-8wR{XV*2)ki`E(uAjcq?C zPB)w6f4H6eI?EvOBD0b+@FGQBgm1mIIbN5;;gFg%LB$DP@-|nhsHj}LaN$w;`KmGv z)9IjAVRv`;!|=i2?JTJCR^f-5Ko7hqdF6*<0jCvA(44kg#LVuLq-kVXuEz5_y0k;A)pYMd%e?QNhZclwY)cAO0k z4t9Lt{^UBzpIK>N16#(u0i+%QG{gJHnuRe-u2{yEdsxmH>>+S5$r&I9&uXF(J6 z_nxQL_QVmuxhk<{a~wu8C;ZfI9bXXu+m@*vwnC@}DB$Gz&cCy~ZlXGxA9va?;N9uY z3TKDB=#Rq>L;8NdfeY$sa_y{?IQmvQksiROrp6KT_USrvTx2@m+c{4rTt;;Eh zQ!jiO1_O>{u20(S+ z$&}CHA6Hf4w~?bJhK;l}G$6#u^P}bYoiAVdWai}Lgc^FcWOD-Vrlbwh=ZH;GT2fZ1P+S50A%Roc%N~P+A;km$t+C+?-fEfkTrydcY48 zbNx6pJohb#!75cNtO0|$D<=D|&~;;`XA?pr^E&oN51oz-$)a6o4N@h z4ckpeIVjyR_io2A}z9LZfD)o+7pDFQ)6W>(fVCb8!`9h*Ge)|<`fpza1o z;U2gW$}(t~AydcTTTLgbaGSB)5tECkNT1&VKr{=?rEDZXJ; zKuiHK#W##VY5j)}`V?>AKi?Y|^_LBZgNXEyc&(UK1qc)%Q0xSXod9fxikH0Nb@1;6 zfl)>!Z3|k#ro{UD4B^dgi#-Ih*Qs2X39%sA`Py&-^ zC}PN6%KzREeC=&{JDqlKaFCN92N{Taaj-EkA(1uKC8-7htuh;8w^UcaCy0$SV1r)B zPJQ$~qs$xuh-Y>G)rE)6kzYVo%a9}Ro4?n+hE0`%&}7q4Hi<-%2qVd37|5U+;v(-^ zIg=+5f^c!|J{>%*gt@2u5?;L%QCpk`SsOLh$Xfw%*ywb+w0rCM7FzEB$%hmTqJ+h8 zAWOG~DnfHw-zF`SrXR!k;Niepx_Z97m!Zvs}6Lg41~oupLgkW-#LU)nKV>dlIWzXClXNx9(L7? zVW4BrA+hoy>_``hUl#agWzhy@{CL#rK#S&*BHyy<&>?)!Z9tf?84>VTSMuuXn`P@v zbl0VWkbp6qMGZS{zq$v)o`H`gqGmqE zPdSXi2!D{x(Wzdx1V-6}BPh~x3mKs0o3XKzAhKXtncC_kKvr=1Y0-pZ%NqZzk0NiX zW&GUxu}BOKM;Ae{5_+$|cJ>7AA`qRgv60n0?GG5!dXs6ObyJ+TM5AB|3nI{Ii;BlE zt`2+m%1UYi!DCQRV;9Wu$pavE;GB?2mf-2vL5Mrglf~YR<6qpMM3_|YcsCh)dQP!G zBsl^R-8@|nO}SBA;;^8Bhl3_IWWJ5&Ed*X2hkSFh*isN!&p3C<6{Vz;l20IzVLr_b z9~Tt`V#=Xo*pQ2-K@-7~et1~e*@+%BBV=am^f-tr#~-v24kVxcV#b2RYS7cymrb5v zF{sp&plfcm&Z>k1#R9`FR&IrxL`TG`F;5 zdXY+ti!nWPP!#2c>;X^`_48#s>?nYL%#aaWAvtho;3P_M{8Vu;chZ?03CCR7`LZWw zH92{61{}%|21vru7RVI^U;l;2t*u{{f&V5D4E>LQ|3dSMCXt!{FQY&)4T@<%DKLnD j0Hs(Biq-I+T@73L9uW_B5e$Ea7=856se_gK-GBN&27GJb literal 26617 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.ztv%b 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 ThOKRb*mco|payJ*Ds? diff --git a/forui/test/golden/resizable/zinc-dark-Axis.vertical-FResizableDivider.none.png b/forui/test/golden/resizable/zinc-dark-Axis.vertical-FResizableDivider.none.png index 8600ef4eb5249f40b09dda131afe4a71d6bbd42c..d26400b6a70250c1477be098967366b639aea3a0 100644 GIT binary patch literal 25234 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 z zM?nOqTuy|sj3%NIT*cyi5I}3O8Xl6-JY*mGcyMCV1$VbY{^t2yPo3AX$}I45!GC!q7xbKJXQ0ssEFVw3x5d8|5Y=?XBE{1i^l9j+WOn{cNNl>>wU0s{o}=Z=PkCxak<$6Gt$|04jy5tM(=Bvz zrPil=($COmpYC`410%;IgMk3+9@t2Ljgb%r0t^Hg2%!J3An3aK5z#9ZK_;Hvf%@b> zu3q9z*S_Y3S!tyDXZn2fqic>)DSg$YLcA+SSPgCp3kzM!9L;T30fjOu-&xC=nr{i~ zmWe?p)Y#M0XS7vjGZ|aV87tz$$gJWXeni~T!jo!_unPx>NUQcC+UMG%s&~gfe0XSW z!*~$9X3^W7%?ht8NlcXW3GpB+pxpc`qOwLsSTVb$(&+45&qco|R&`J*o7@+uFSGeM zNIz@bsO<3I1zjs!=GgPsyfaoByiDs9f0JDH)g#g&B8@@@1rnm7rXIljd1Rvn+5=(= zg+l!Co1B~;(fqs1*n8*Bj^+ z(cb>in_5a)Q(_*-0>yph1!pyFZf>S!S{KUr91h2y(?LoinV0tlj!OnYBy7+g2M-=x z>jtl%>b()wJTLOmo1)InPBA+rr468M)xnjUJN&DPTUuI{M7_OI`6&}XOfre)feSP@ z@!`Ywin=mxuw!Io}%JqS-*hSQH0ST7}{NA9*?&)<`~53;qk%;E$F*l52geB*)N4{?3tdP zrX!71bD9K;a?ZcpNkG&|ZyTou)Ai{2eCmY7daBcUr0RII>VAOJS!pb>!6j~Is1jYh zF@8y|mB|>D*)D(*poLvXa}z3^w8WQR`c(E3#h-b72Wt1Jd|Iq-ei4w6n$DrMjePv* ztKf_|(#x(^xd@5saErpM*XyCuGvG~MRmeCsA*&9qh#Hd~1<+Qmg~b~cu-XY+%tCT3 zl{i8?eJ`YAOw_Q_K(m=H=U%Bb=qOsum|J{~NcmH(K1ZZ#de4K74}M8X$J0hvq6I6%(KK~Md0`hPRVFP`?8$ls*Z}uJXeaJmV z4q=kPK!AY&!a#t500RN^-vYsux_DyW>DGm0-h4<}v-g_6?LP36*~1?lloK9rykEP{ z%KzT|Z^rYjXqMtJI&WoyH;%9@YMC;kGl`w zNYJa`*cxn8SHYVeC#u9YSf@@NosDTMJa)c61L((?F>P0O?*yz0LW7A8WghkfLU2)5 zgQVZIO)M;X?zaa{F)Vk9l*|p`bzqhF!8R2wC&L+n*C10r__wi%uKb%%$YgRbe(vL& zBO(2Z`a!QU=#hT|lwF(DzFiNl^vB^cVU6Pl@};vGhp(I-8yoX`c^bTj4jG{;RB9_V zqG_ARg{VkS2}ZUA3N;X=((CPg{Zg`)bH&weep|YZj%~qtzab=RXgH$tK^k|f0@!KE z$!~}i;{t(}gez%N35GRBXdk*@^LksWkjt#4IeGy-&%M5aQ?_njuJ*UR>28-s7`dJX zGBGElZE(lioRtD0cM6&-`qO-qlxHl4s;HMR69(ziQ_9J#nQj z$nJ!7aSzuxu9kZa&T=hb&1Wjf^=ez^pWn?2H8KkI%4>gctTMRz`dG!0fS!^H+-NdY zn(i6ztfKAmzExznYCakM=FI#`E>ap@#MUW$<(R0feo&pbIC<&pe#;a!?V~>JTkG(0 z>1aBcvT&xi@><9_3H+TT^_lf2;d=Xmd9Ri3^}2>E1^p>HK3VTt*XZ3gQZRuCGbbn?a%I)iG`Y;v0+6M#>|3E7e; z*U)`YP5C*?T-n$zqhWDI+$y+h&|lQ979Ztqi-&1QEu*Ji=vi^UfGMrf)sGoxPAqotVVEj@ zE1D#ZJ!x|AQ9dz6PC#YG+l^o_Pg_N&vA#V!<}z0xn{3hns}pt6QHHU^ZJU}JB}?0_ z_L*Dkw1rhKTCxQK7&F(v{`$HjoGSj!@WuJ*i>5fiJFnh`m`Lybfu{0&8r+fSPUxPO zZ<1@UG}>F-ZEKS~gJYP;Mq35R$0vM$w}x3gTC8Gw+-1Cf?q^#!+e!Pt zfES8pzwKEM^WppSscm7}lXGPO^L56?2D*#q;pz65DuSr^?VC6AxlcNc_$6;S zvZRDu1gHDKr!Fl(+T^>^Ar)vjqeAeon?(UEw5%=4!T`NCM zsif4;{8SOa|16@CT-Hd1JI9V=;a5+_Ah`J?lnkZqYNhQaibbzz372?BR>Gx4rnjgo z;xde5#J`s~knf53?0YS0GVU!g(hruw1i6e%&?bx9J%~%9`TCjxd5kxHvO)5C6cKsU zvdC}mJ(t$KZ3s!PN32G1JZI8nF|aW%Vu@rA}e|TMT%7 zC6#}UtRuUwYdTW2fC(g`GCw~b$iY)1R?M_fJl&+M%3s>e|~dl%4=PP)DO|f;Kaf6{06l<5V{|B_t$_`($Tl z5BCKS`<}(XdFZ#VSI59yL7joeBO4t%jV1L3{k-{U-f;cwh^`3P*bV(!z5)RUOov(M z|DDu})%p8>2W^V@0>G^c|F9PRcWPm@O|e!5a=?}aSl7ltfQ|3iNPtZT*mQttda!DQ z=>(WgfPvtDq!Y+n`WtRJMXP!3AZ90ZpFYg{zP>B)l$Ftn7o86;-MFIn^Fh^!RMj6g zA5`_<1?> z*ks9EIJGoCA8%@yC814~C=)vo69qPFVFMO6Yhkk%ECFoR!e%WD1epGcjRasY#1=8w zbbx^Xn-2bZBoiNpj zt*Dzo3M+Z1PCD48UTEk)eDtVo=L6~U9VW4l&s$rYJobhurv?|-?1pcuD!pFZnE8;@ zq&3PQI)iajzo|u>V{)BJkj6a>QdShXDY+MaN?(Vpzero8@ z$$v?#jFXkMzPP#0sFMN2e?t$>`H6FvXyAj@x=y`*V4Ck}Yim3FC`In_<^W8RSzI`d zteOuUI&`6@)HRY3@R`bDUSQwzr-ARD<)4^sXL?V6Xx=G#-xx8Deh(SDBZO zIwExUOih)wvB-)8Ey;K7j1hl{1k~^TLV&Tc@i5CVGM!;^+?Gm><-)0S9%~t=QKQ+s zVP1*?Kft#+G5xZFAR0enIG?y3ISZgm@aSFW)@G{u%7+Mk-k5`rJMn`BMRxR>q4B4SjY!GSU%E*H}(>ee~#x zH-SLt?5&TUZ5?Nk54gZGGGi|DR)rhwjCfG$JbQi3Iq)9xMbGg-RbpX{V#3h1I?(T5 z69kp3c3yL&xIOjS0Oznmk4ooNr)fD~>Y=!E!c0u!%a>8{3+mj`xA13bQ@V6^lyNL8 zJ6jv{c(O0z$7Hqa+=I^{#^a>pngXsuWT>eMG+0IN@J@vaVM z>D(AAjVqIgMECA#I;IuoEL?Oh|K4J3ah|{bU!OkRKHUA(cKFq8Nn1yj0Xb(aAT+y)y4OUNctj0tvA2OU zlM)NaXlH<*pa?8P0j4ox8Y8ALLh_gWOL|X!8M(Yw{_U!te!73Q`TnG0%t3S8n!oRU zYrL*^Hj{157deUjxB219!HNvhL=$Dd!-M80mR}v;;n@Hcv#1UZjTJ;2Ijgz>naz za>|8y2hZjRaexw7z|2w8ns~&!8-#X=*U-s5!(ebsrSPdZy61AD4=pH?4dSg_o0-Yz zu0{-bUZ}N>-d`WPX6R~oH}6XlTO;+4iM|bR=oY%kr+Nc>X#BD3eQ>h1wKbld)lty0 z7pBPn!V5O7##FkL;@KdW)9FVSQv#sIXz7V@D#d}^lCuR)PCSK}oCQ`OP|)1mb6Vs^ zm8qjqQZ1LV++sdejSWbkMD%>8fYp}j?Nd3cmJY?@@cJBgQxl5(&n%dNhz3=92O=#c za>tIKQF{m;tLwc%Je@KRQ(zVDn*ACO4tAkoVjBE8)hbEN6Y(ZZMK8R%cwY~es%~1V zm+L8**pg&X6~y5o)SoYZrK{Ei{ugtmu3lD$yoCq}1_JROR!lpVde}#IMiMBOWR99= z#S}i3N|UJ>wU2Jm%Q#PPTV1c0`p4suS?Pp)VgfHAz;Xy;`&V>qanK2F_;KqT!Bzfque;=o$>K;TdTr-#uN|(>AF!VnQX(- z9kA(@ElP19v{qFMQlaai`_?wJMl=%F1>cY%0&iKTMxmvi^C{4sbOdkM&g^EmKYfFZvWclww>>;5rB!WmB;2jxsypGo= zCnY5jqYDE03ky{JEUT0@Sfn*5juuNZeeBdtVvGK`Ix{{CWZO3U(1C0pk)5kaQUo5_ z+6_3Lot@1*pX{*|RN33z(Gd|;!^!D^B^-iU(LXkW_+!#V(I0w5r&0$Hnd^dQlZhj{ zid9{jx3d5K3$F_=hn^+8ysWhLrD{q`M0ofm=GfdoBL@WP;&OY!>jal!yY*BL3Z4E< zi7$;zbJ?IwfHTRC!7a=PckT2f7cCVK#c2QuMrMFE?Ht7~)5zGk6a;)SGBQ%RvO;0c zj;Qi5W%-NjQc{$yTi|291oRwyyirRF6Hpbu@wEd$1jtmqd&_w$;kvscgTVm!2%vF$ zW@mAwY(9bDA~J?|wg#8a0E1h|%=euHz9K)8=RIWq0C~X7qnLRV+fe`O4fX#*#Nq)? z)fIR^A$=?F!M$_eVYLzoXaILF`ah6K5$S2?vDb(kFqt4?fFKMIs30&v{NDj$^w&MV oK+wvs;r|hU;Ss~*U(Q&6+rRYs>I;WURdMwOmTUcLw|LU0d3AYxf!%jMXeBWdBQ8D)ZogCLs5_25i{a~>@i&Yn_@q(> z6n>FOeym8BZ8%<;4!}-u*7CR`<+$SQHAoM4Edb1vp)kytkRT+iF7#0s8Dvl8I*rW$ z{vtio3Z7B}iv#y$uLk>@nm_q+({%0zUVbPHhK z?F?{k`{Jptu8!eF>u&{<{O_KDSj}tno(`cfcYC}GuM}Mu+j`IjahO>Mt%)`wzq9;9 z8XU2Z+72d5?sz^)Pe0}6p(i%19<8DlwE1G)oZLjdyCXRj?1N1@GizA1jO~ltPeZU9DvC&ZonZd zQJk|Vo4Gz}kl{&d`*kc^B-=Xv*Q&kXyz6HRY3gLBf z;#717L)8uwJ_C+CwpXfyn8ow!%zzK#Szow z-Imr=fDI3KadOITHlXox#EWBs=%qQVx~68L`7SW|dL#5e5QfK#bQo#YKVl>1>h$W- z&9T|<-@OY}*NA|z{*t`~LZIl98uiY+!{&z=-)lZweDRiP}!UpSRJZdf3Wg7~!L&pV2a73c? zDu#Q4sXUlGfTFOcGl*7kxqG5)WQGq>%WGbTZn*!bslX^(Q&1Khw4L6x3c%9$SEYb$ z7@>w+iVOs$6;l9Hr9=eEbmkV{r+eM+$RJA9GR2^ z@sOlyQu~9qNApq6*ba3Cd%0Dl5;c%CMO#^efnVT*MMp@$r3p^ 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 RsNevcJ$1pd?8Mbu{{yaro`(Pc delta 5212 zcmaJ_X;@R&*4{yJK#`&{C?F116pP?R20_39r4EQPh%yOMQJFy!h7eAwEuaWg5g8?p zAc+BKgh+r8F9@X?C_@MkNGOQNl!P%r61e+dzyAF4Jo%BFwbov1?e~56+9#zJlUa*- zGrhq`kXNR>?_N!P$+n-*F&21|#kjr8lz#rccHHYPyG;sLij{RUj$toGR@M^e=Ve__Z$fSJ=0<<(N%c9L%cNvKkzs1dn0> zk?TwAY#VGEV*+Tc{!Ei z@982bY0og^mR{^`uTK?`N4oVDL0*FLMZlt6q_$&mxP|K@E?n&N%veq~JAcR76~Lx$ z#SgI1jG%H4&cJ|6kZDfOwX~B?y4IDHnwlC_y=4gST64(^h-=i7av1MsC%)3?Ar2#- zKS#Z|gXRK+Y`<0*3riq4Wn@UW`{}%=3$y)AF%n^rj;?O

06ivKls5H~i*J>27BB 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 ana2eWHjgVP+0We_I&t*Wk&MH3zx^A&p#j(c literal 26442 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

jIy% zZ;j6dW>oNs1g=-KZ&ZKj>C#z*0<@r@=53}acF%l|T-iomUfxiYv_VSw9GN2!#Iz3* zcPpK|nCS6k_qhufE~t9fY__io;gzcb02Lh_#YL0E)$=zXqwjGps$d8h#%J+dwq($jZs-%6xzDm>*R($%a|lmc(fW_`>`VI@AXf>1VgZ{l}i?VyW5Xn(^`R5AX*AW+p!T{Id58 zK_YPKN3Z8nsG|7Bbe~aA5jCb-%xCrjDJQ|TX!imn)E1?0SAAFTvJ*QzbzN&ub$HJ_ zTS7Q5-?3H0y^>d1lnL@!DnB(CRYh%up2Q{5EGAP25He>{?oK6_cG2z`LIIOqL?Fae z7L~$L%;{q=(9-TD&-O~^xKr@Bw_?EYG44kvdbSN{(o4o)V6i)aO+V$NHT99N=dqDe z_3qR}|27aP#ZwuG1=IRDb)D%7b^iM_iKCm20o36L;e#f<&P(KfqwMexiiE3 z`0?Yzc%xb!A^StmPxs=Q$3~VW`T73ScZGpJFL0_bh`}4pCs$1S>s4p3h92iTle`#i z9Hy=LwU5h9qTzVr375U3VHy&G6#AJMetzj>bveM|wOolR)VGS1!IbDIKoGu}0zs89 zYD5%#XdUjw>rNYbd124(+PKHJq1_bNJKZQCHkd$*`ipMfdfq1HHs6qH9{$DdZx zv31AH$P=r}*MT_z=MSqq2=_qLx_5&P7OPjlhOIVq=rQauA$`O6gaojzmp?Uj1F<(W z=m~fS!p|Y8*!H(@#E3bWpjo;T*gsobl*Kt2AzWW#p}Fjp2FLK4nh^Jc3*VBx5G)2C zs7pH;8OiHDlA{}WN*s;-Uu}?Xjar0}dQ$F+zL5?IEc(3jrj(b6ff-*+*Nu>YQ#vdhc=W!_)k( zAVIl!-TPb42`MiK1(5?H2LuEE8U|2-0ttX`asMs=+~QxBo9H8RStDO_86m}m?Hp^{ z5jJU{Ecwn-s6+% zu>-CF30!h;05xFaC<-UwuIUdC51))?vseB##R(SQBXJ^;SX#Gt3B-gGAS++x0a~p3J`a$FyvNXnDhy!yv+ks3a(GC{%s0|ZbR3`baZ%f;9ElB{QRJf#J+tE@G~yKlKebEQcMB9aN9Nz z#9U%C#a_7-afK+A$C-L^MNdz!KB+T?VE|+e@76x(9iNWVD9(H@#sWeLoXnsJi;I6o z?}taiEE5qIzhgC*Ui>~I2t-h%JbN8Yx=|{0Xp7b{2>J}x{6(gV&d?2z9m&d~2@4C? zUt8FWo)Zxkj>yU?Wf*E#)jv^uk(H%X`3Afi%qB!*`ul4DiF5nYP(~=F*w22XV>;h# z1J|2B{4_Y|06u%eIcM7(VSf6EKgzQ|!okt89<2&lr$6*q28Cu87Vd`Argn V+>^NLWFI`W6UWYIXC1M=^&j>j2o(ST diff --git a/forui/test/golden/resizable/zinc-light-Axis.horizontal-FResizableDivider.none.png b/forui/test/golden/resizable/zinc-light-Axis.horizontal-FResizableDivider.none.png index b471c79aabdd62e8238d694d41908d5f8e21c1c1..d934ac0e0d0ff668b2553db04295b07aa753feb4 100644 GIT binary patch literal 24994 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 pkWnJ>{&Sq2YNkY_|U- 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 delta 5052 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 diff --git a/forui/test/golden/resizable/zinc-light-Axis.vertical-FResizableDivider.dividerWithThumb.png b/forui/test/golden/resizable/zinc-light-Axis.vertical-FResizableDivider.dividerWithThumb.png index 9cdd1adb0c087108534e2c01d1d3f11cbc6f7f2e..3f327b603c8fb515139d600cd53fab211e5b1597 100644 GIT binary patch literal 26454 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
)c8yFar%+5aP@xwVXcw9C;rldEC-wj4RJ|0V< z(Z+8l!(J(hj+8H4%FZE%hlM%EFeXg`=+#}_smC@C#({wY3EsG=TBAuOY5^e8q3)NU z&eVM*v>xXU64%w%)ReFz&{K;b!(sDKSXO2S$VPZSZ*43ZqGO>nHMg2^1!tOG zIxr-GXP-G8YMas7sC13%tc49Vhu7n zZ2|LmR;>wkiCJr%wqEgM&rvY;{zv>)mW>J*qn&0KqbFX0DyVIu(+04JI@UFY9E^fx z@xuJ4EX+{Uf8`J2pb5LL9QLvCD=bTILM;)N)7Bw}PGAvdiR`|?;$P~v=OGCS3bo+_ z{67NzVqFt==P!?5@eqrL7+~NpyE=>U{XdNF1B!RM29B!zj>L;tp0GY%dd%bce*qLv B-FW~2 diff --git a/forui/test/golden/resizable/zinc-light-Axis.vertical-FResizableDivider.none.png b/forui/test/golden/resizable/zinc-light-Axis.vertical-FResizableDivider.none.png index 9725341c4f65e6e898deb865c2566b3e7729a66f..0b2cc677545b89abef0b482834249eb18b3ed2c2 100644 GIT binary patch literal 25154 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 aeAj$$Yoztj5-AQmIq|jgR~5&6|MEYI5X5Ex literal 25164 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 diff --git a/forui/test/src/widgets/resizable/divider_test.dart b/forui/test/src/widgets/resizable/divider_test.dart index bcdf0327e..42ce3bc78 100644 --- a/forui/test/src/widgets/resizable/divider_test.dart +++ b/forui/test/src/widgets/resizable/divider_test.dart @@ -36,19 +36,25 @@ void main() { controller: controller, style: style, type: FResizableDivider.divider, - indexes: (left: -1, right: 0), + left: -1, + right: 0, crossAxisExtent: null, hitRegionExtent: 100, cursor: MouseCursor.defer, + resizePercentage: 0.1, + semanticFormatterCallback: (l, r) => '', ), () => HorizontalDivider( controller: controller, style: style, type: FResizableDivider.divider, - indexes: (left: 0, right: 0), + left: 0, + right: 0, crossAxisExtent: null, hitRegionExtent: 100, cursor: MouseCursor.defer, + resizePercentage: 0.1, + semanticFormatterCallback: (l, r) => '', ), ].indexed) { test('[$index] constructor throws error', () => expect(constructor, throwsAssertionError)); diff --git a/forui/test/src/widgets/resizable/resizable_golden_test.dart b/forui/test/src/widgets/resizable/resizable_golden_test.dart index 3040031a6..044f940a2 100644 --- a/forui/test/src/widgets/resizable/resizable_golden_test.dart +++ b/forui/test/src/widgets/resizable/resizable_golden_test.dart @@ -57,5 +57,49 @@ void main() { } } } + + for (final axis in Axis.values) { + testWidgets('expanded - $axis', (tester) async { + await tester.pumpWidget( + TestScaffold( + data: FThemes.zinc.light, + child: FScaffold( + content: DecoratedBox( + decoration: BoxDecoration( + border: Border.all( + color: FThemes.zinc.light.colorScheme.border, + ), + borderRadius: BorderRadius.circular(8), + ), + child: FResizable( + axis: axis, + children: [ + FResizableRegion( + initialExtent: 150, + builder: (_, __, child) => child!, + child: const Align( + child: Text('A'), + ), + ), + FResizableRegion( + initialExtent: 300, + builder: (_, __, child) => child!, + child: const Align( + child: Text('B'), + ), + ), + ], + ), + ), + ), + ), + ); + + await expectLater( + find.byType(FResizable), + matchesGoldenFile('resizable/expanded-$axis.png'), + ); + }); + } }); }