diff --git a/.fvmrc b/.fvmrc new file mode 100644 index 00000000..86d02647 --- /dev/null +++ b/.fvmrc @@ -0,0 +1,3 @@ +{ + "flutter": "3.47.1" +} diff --git a/.gitignore b/.gitignore index ac5aa989..821aa356 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ migrate_working_dir/ **/doc/api/ .dart_tool/ build/ + +# FVM Version Cache +.fvm/ diff --git a/packages/pin_code_fields/CHANGELOG.md b/packages/pin_code_fields/CHANGELOG.md index 4db61442..93efb5d9 100644 --- a/packages/pin_code_fields/CHANGELOG.md +++ b/packages/pin_code_fields/CHANGELOG.md @@ -1,3 +1,19 @@ +## 10.0.0 + +### Breaking Changes ⚠️ + +Migrate to Flutter 3.47's standalone design-system packages. + +- **Material / Cupertino imports**: `package:flutter/material.dart` and `package:flutter/cupertino.dart` are replaced with `package:material_ui/material_ui.dart` and `package:cupertino_ui/cupertino_ui.dart`. +- **New dependencies**: `material_ui` and `cupertino_ui` (the Flutter SDK still ships the old libraries in 3.47, but they are scheduled for deprecation). +- **Minimum SDK**: Dart `^3.12.0`, Flutter `>=3.44.0` (tested on Flutter 3.47.1 / Dart 3.13.1). + +Apps that still import `package:flutter/material.dart` should either migrate with `dart fix --apply --code=migrate_design_widgets`, or wrap mixed trees with `MaterialUiCompatibilityBridge`. See [migration/10.0.0/MIGRATION_GUIDE.md](migration/10.0.0/MIGRATION_GUIDE.md). + +### Features ✨ + +- **Flutter 3.47 support**: PIN fields now use the pub.dev `material_ui` / `cupertino_ui` 1.0 packages so Material types (`ThemeData`, `ColorScheme`, selection handles, context menus) stay in sync with the decoupled design system. + ## 9.4.0 - **FIX**: suppress semantic hint and focused state when disabled (#427). diff --git a/packages/pin_code_fields/README.md b/packages/pin_code_fields/README.md index ed96b1d6..146bf9a3 100644 --- a/packages/pin_code_fields/README.md +++ b/packages/pin_code_fields/README.md @@ -66,12 +66,22 @@ Add to your `pubspec.yaml`: ```yaml dependencies: - pin_code_fields: ^9.0.0 + pin_code_fields: ^10.0.0 + material_ui: ^1.0.0 +``` + +Requires **Flutter 3.44+** (tested on **Flutter 3.47**). `pin_code_fields` now depends on the standalone [`material_ui`](https://pub.dev/packages/material_ui) and [`cupertino_ui`](https://pub.dev/packages/cupertino_ui) packages introduced in Flutter 3.47. + +If you are still on `package:flutter/material.dart`, run: + +```bash +dart fix --apply --code=migrate_design_widgets ``` ### Quick Start - Material Design ```dart +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; MaterialPinField( @@ -91,6 +101,7 @@ MaterialPinField( For complete control over the UI, use the headless `PinInput`: ```dart +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; PinInput( @@ -413,6 +424,17 @@ PinCellData( ) ``` +## Migration from v9.x 🔄 + +v10.0.0 is a **major** release for Flutter 3.47: Material and Cupertino now live in standalone packages. + +1. Upgrade Flutter (`flutter upgrade` to 3.47, or at least 3.44). +2. Bump the dependency to `pin_code_fields: ^10.0.0` and add `material_ui: ^1.0.0`. +3. Replace `package:flutter/material.dart` with `package:material_ui/material_ui.dart` (`dart fix --apply --code=migrate_design_widgets`). +4. If some of your dependencies still use the SDK Material library, wrap the app with `MaterialUiCompatibilityBridge`. + +📖 **Full migration guide**: [migration/10.0.0/MIGRATION_GUIDE.md](https://github.com/adar2378/pin_code_fields/blob/main/packages/pin_code_fields/migration/10.0.0/MIGRATION_GUIDE.md) + ## Migration from v8.x 🔄 Upgrading from v8.x? Here's a quick reference: diff --git a/packages/pin_code_fields/analysis_options.yaml b/packages/pin_code_fields/analysis_options.yaml index 7e40c440..4af478a4 100644 --- a/packages/pin_code_fields/analysis_options.yaml +++ b/packages/pin_code_fields/analysis_options.yaml @@ -1,3 +1,12 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml linter: diff --git a/packages/pin_code_fields/example/analysis_options.yaml b/packages/pin_code_fields/example/analysis_options.yaml index 0d290213..bf8d4218 100644 --- a/packages/pin_code_fields/example/analysis_options.yaml +++ b/packages/pin_code_fields/example/analysis_options.yaml @@ -7,6 +7,15 @@ # The following line activates a set of recommended lints for Flutter apps, # packages, and plugins designed to encourage good coding practices. +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml linter: diff --git a/packages/pin_code_fields/example/lib/demos/animations/creative_cell_animations_demo.dart b/packages/pin_code_fields/example/lib/demos/animations/creative_cell_animations_demo.dart index 13f33a50..f01fe453 100644 --- a/packages/pin_code_fields/example/lib/demos/animations/creative_cell_animations_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/animations/creative_cell_animations_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Creative Cell Animations - Showcase headless architecture flexibility diff --git a/packages/pin_code_fields/example/lib/demos/animations/custom_cursor_demo.dart b/packages/pin_code_fields/example/lib/demos/animations/custom_cursor_demo.dart index 557531ce..a89403f1 100644 --- a/packages/pin_code_fields/example/lib/demos/animations/custom_cursor_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/animations/custom_cursor_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Custom Cursor - Different cursor styles diff --git a/packages/pin_code_fields/example/lib/demos/animations/entry_animations_demo.dart b/packages/pin_code_fields/example/lib/demos/animations/entry_animations_demo.dart index 940e76e0..9bf24a73 100644 --- a/packages/pin_code_fields/example/lib/demos/animations/entry_animations_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/animations/entry_animations_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Entry Animations - Compare all animation types diff --git a/packages/pin_code_fields/example/lib/demos/customization/headless_builder_demo.dart b/packages/pin_code_fields/example/lib/demos/customization/headless_builder_demo.dart index 0c8224f7..d144b88e 100644 --- a/packages/pin_code_fields/example/lib/demos/customization/headless_builder_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/customization/headless_builder_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Headless Builder - Completely custom UI diff --git a/packages/pin_code_fields/example/lib/demos/customization/hints_demo.dart b/packages/pin_code_fields/example/lib/demos/customization/hints_demo.dart index 9fa19cc0..1c8c7462 100644 --- a/packages/pin_code_fields/example/lib/demos/customization/hints_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/customization/hints_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Hints Demo - Hint characters and widgets diff --git a/packages/pin_code_fields/example/lib/demos/customization/obscure_text_demo.dart b/packages/pin_code_fields/example/lib/demos/customization/obscure_text_demo.dart index 1bdffb45..218244db 100644 --- a/packages/pin_code_fields/example/lib/demos/customization/obscure_text_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/customization/obscure_text_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Obscure Text Demo - Password mode with blink effect diff --git a/packages/pin_code_fields/example/lib/demos/customization/separators_demo.dart b/packages/pin_code_fields/example/lib/demos/customization/separators_demo.dart index ff2a6f67..fcdf7c20 100644 --- a/packages/pin_code_fields/example/lib/demos/customization/separators_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/customization/separators_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Separators Demo - Custom separators between cells diff --git a/packages/pin_code_fields/example/lib/demos/customization/text_gradient_demo.dart b/packages/pin_code_fields/example/lib/demos/customization/text_gradient_demo.dart index 8edf446b..57f7f1f4 100644 --- a/packages/pin_code_fields/example/lib/demos/customization/text_gradient_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/customization/text_gradient_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Text Gradient - Apply gradient effects to PIN text diff --git a/packages/pin_code_fields/example/lib/demos/interactions/autofill_demo.dart b/packages/pin_code_fields/example/lib/demos/interactions/autofill_demo.dart index 4e671247..3cb4591f 100644 --- a/packages/pin_code_fields/example/lib/demos/interactions/autofill_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/interactions/autofill_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Autofill Demo - SMS autofill and keyboard suggestions diff --git a/packages/pin_code_fields/example/lib/demos/interactions/clipboard_demo.dart b/packages/pin_code_fields/example/lib/demos/interactions/clipboard_demo.dart index a26e35f9..d763a1d0 100644 --- a/packages/pin_code_fields/example/lib/demos/interactions/clipboard_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/interactions/clipboard_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; diff --git a/packages/pin_code_fields/example/lib/demos/interactions/custom_formatters_demo.dart b/packages/pin_code_fields/example/lib/demos/interactions/custom_formatters_demo.dart index 495fc254..ee011056 100644 --- a/packages/pin_code_fields/example/lib/demos/interactions/custom_formatters_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/interactions/custom_formatters_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; diff --git a/packages/pin_code_fields/example/lib/demos/interactions/form_validation_demo.dart b/packages/pin_code_fields/example/lib/demos/interactions/form_validation_demo.dart index 3e9aab65..8d44737c 100644 --- a/packages/pin_code_fields/example/lib/demos/interactions/form_validation_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/interactions/form_validation_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Form Validation - Using PIN fields with Form validation diff --git a/packages/pin_code_fields/example/lib/demos/quick_start/basic_demo.dart b/packages/pin_code_fields/example/lib/demos/quick_start/basic_demo.dart index 5eb07334..c57f79b8 100644 --- a/packages/pin_code_fields/example/lib/demos/quick_start/basic_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/quick_start/basic_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Basic Usage - Simplest example diff --git a/packages/pin_code_fields/example/lib/demos/quick_start/controller_demo.dart b/packages/pin_code_fields/example/lib/demos/quick_start/controller_demo.dart index 014e6b53..55900c1d 100644 --- a/packages/pin_code_fields/example/lib/demos/quick_start/controller_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/quick_start/controller_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Controller Usage - Programmatic control diff --git a/packages/pin_code_fields/example/lib/demos/shapes_themes/app_wide_theming_demo.dart b/packages/pin_code_fields/example/lib/demos/shapes_themes/app_wide_theming_demo.dart index 24b3f60e..680b5dc6 100644 --- a/packages/pin_code_fields/example/lib/demos/shapes_themes/app_wide_theming_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/shapes_themes/app_wide_theming_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Demo showing how to use MaterialPinThemeExtension for app-wide theming diff --git a/packages/pin_code_fields/example/lib/demos/shapes_themes/color_customization_demo.dart b/packages/pin_code_fields/example/lib/demos/shapes_themes/color_customization_demo.dart index 87027983..c9090d41 100644 --- a/packages/pin_code_fields/example/lib/demos/shapes_themes/color_customization_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/shapes_themes/color_customization_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Color Customization - Comprehensive state-based theming diff --git a/packages/pin_code_fields/example/lib/demos/shapes_themes/shadows_demo.dart b/packages/pin_code_fields/example/lib/demos/shapes_themes/shadows_demo.dart index d0cfd31c..f777bad1 100644 --- a/packages/pin_code_fields/example/lib/demos/shapes_themes/shadows_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/shapes_themes/shadows_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Shadows Demo - Box shadows and elevation diff --git a/packages/pin_code_fields/example/lib/demos/shapes_themes/shape_gallery_demo.dart b/packages/pin_code_fields/example/lib/demos/shapes_themes/shape_gallery_demo.dart index bd51aeed..b70e2491 100644 --- a/packages/pin_code_fields/example/lib/demos/shapes_themes/shape_gallery_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/shapes_themes/shape_gallery_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Shape Gallery - All 4 shapes side-by-side diff --git a/packages/pin_code_fields/example/lib/demos/state_theming/all_states_demo.dart b/packages/pin_code_fields/example/lib/demos/state_theming/all_states_demo.dart index 365f4043..5888e596 100644 --- a/packages/pin_code_fields/example/lib/demos/state_theming/all_states_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/state_theming/all_states_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// All States Demo - Visual state machine diff --git a/packages/pin_code_fields/example/lib/demos/state_theming/error_state_demo.dart b/packages/pin_code_fields/example/lib/demos/state_theming/error_state_demo.dart index 5705e54e..9bebd025 100644 --- a/packages/pin_code_fields/example/lib/demos/state_theming/error_state_demo.dart +++ b/packages/pin_code_fields/example/lib/demos/state_theming/error_state_demo.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Error State Demo - Error handling and display diff --git a/packages/pin_code_fields/example/lib/home_page.dart b/packages/pin_code_fields/example/lib/home_page.dart index e4876b65..0c5a6163 100644 --- a/packages/pin_code_fields/example/lib/home_page.dart +++ b/packages/pin_code_fields/example/lib/home_page.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; // Use Cases import 'use_cases/otp_verification_page.dart'; diff --git a/packages/pin_code_fields/example/lib/main.dart b/packages/pin_code_fields/example/lib/main.dart index bf087111..c0fb4e1d 100644 --- a/packages/pin_code_fields/example/lib/main.dart +++ b/packages/pin_code_fields/example/lib/main.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; import 'home_page.dart'; diff --git a/packages/pin_code_fields/example/lib/playground/playground_page.dart b/packages/pin_code_fields/example/lib/playground/playground_page.dart index 69e4da8a..0e3a1612 100644 --- a/packages/pin_code_fields/example/lib/playground/playground_page.dart +++ b/packages/pin_code_fields/example/lib/playground/playground_page.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Comprehensive Playground - Interactively customize all options diff --git a/packages/pin_code_fields/example/lib/use_cases/app_lock_screen.dart b/packages/pin_code_fields/example/lib/use_cases/app_lock_screen.dart index a1deb5b6..054a1cb9 100644 --- a/packages/pin_code_fields/example/lib/use_cases/app_lock_screen.dart +++ b/packages/pin_code_fields/example/lib/use_cases/app_lock_screen.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// App Lock Screen - Full-screen PIN lock diff --git a/packages/pin_code_fields/example/lib/use_cases/invite_code_page.dart b/packages/pin_code_fields/example/lib/use_cases/invite_code_page.dart index 7ee4bb7e..0489ff1b 100644 --- a/packages/pin_code_fields/example/lib/use_cases/invite_code_page.dart +++ b/packages/pin_code_fields/example/lib/use_cases/invite_code_page.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// Invite/Referral Code - Alphanumeric code input diff --git a/packages/pin_code_fields/example/lib/use_cases/otp_verification_page.dart b/packages/pin_code_fields/example/lib/use_cases/otp_verification_page.dart index 4545c723..ee89ce94 100644 --- a/packages/pin_code_fields/example/lib/use_cases/otp_verification_page.dart +++ b/packages/pin_code_fields/example/lib/use_cases/otp_verification_page.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// OTP Verification - Stunning visual design diff --git a/packages/pin_code_fields/example/lib/use_cases/payment_pin_page.dart b/packages/pin_code_fields/example/lib/use_cases/payment_pin_page.dart index 829939ff..484bd814 100644 --- a/packages/pin_code_fields/example/lib/use_cases/payment_pin_page.dart +++ b/packages/pin_code_fields/example/lib/use_cases/payment_pin_page.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; diff --git a/packages/pin_code_fields/example/lib/use_cases/pin_login_page.dart b/packages/pin_code_fields/example/lib/use_cases/pin_login_page.dart index 3b3dcbd1..8ec57a08 100644 --- a/packages/pin_code_fields/example/lib/use_cases/pin_login_page.dart +++ b/packages/pin_code_fields/example/lib/use_cases/pin_login_page.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// PIN Login - Authenticate with PIN diff --git a/packages/pin_code_fields/example/lib/use_cases/pin_setup_flow.dart b/packages/pin_code_fields/example/lib/use_cases/pin_setup_flow.dart index 5f351a13..90faa251 100644 --- a/packages/pin_code_fields/example/lib/use_cases/pin_setup_flow.dart +++ b/packages/pin_code_fields/example/lib/use_cases/pin_setup_flow.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; /// PIN Setup Flow - Two-step PIN creation diff --git a/packages/pin_code_fields/example/pubspec.lock b/packages/pin_code_fields/example/pubspec.lock index 883ec874..81cee667 100644 --- a/packages/pin_code_fields/example/pubspec.lock +++ b/packages/pin_code_fields/example/pubspec.lock @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -41,6 +41,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" + cupertino_ui: + dependency: transitive + description: + name: cupertino_ui + sha256: "2137c0d41f3b62cc4d3d2495e6c354bd6b6133cd21c6bb155736cc31dbd49a11" + url: "https://pub.dev" + source: hosted + version: "1.0.1" fake_async: dependency: transitive description: @@ -62,11 +70,24 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.0" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + intl: + dependency: transitive + description: + name: intl + sha256: "1ca20c894b1717686a2319b8548763d812bc0aabdac580420a44c5178c57a867" + url: "https://pub.dev" + source: hosted + version: "0.20.3" leak_tracker: dependency: transitive description: @@ -103,26 +124,34 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" + url: "https://pub.dev" + source: hosted + version: "0.13.0" + material_ui: + dependency: "direct main" + description: + name: material_ui + sha256: "7ba1ca315d50a004791dbab290417c52a61466d56db2822fe3c5c2994903110c" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "1.1.0" meta: dependency: transitive description: name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.19.0" path: dependency: transitive description: @@ -137,7 +166,7 @@ packages: path: ".." relative: true source: path - version: "9.2.0" + version: "10.0.0" sky_engine: dependency: transitive description: flutter @@ -187,18 +216,18 @@ packages: dependency: transitive description: name: test_api - sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.7" + version: "0.7.12" vector_math: dependency: transitive description: name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.2" vm_service: dependency: transitive description: @@ -208,5 +237,5 @@ packages: source: hosted version: "15.0.2" sdks: - dart: ">=3.8.0-0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + dart: ">=3.12.0 <4.0.0" + flutter: ">=3.44.0" diff --git a/packages/pin_code_fields/example/pubspec.yaml b/packages/pin_code_fields/example/pubspec.yaml index eb6e4329..9acb20d1 100644 --- a/packages/pin_code_fields/example/pubspec.yaml +++ b/packages/pin_code_fields/example/pubspec.yaml @@ -3,14 +3,15 @@ description: Example app demonstrating pin_code_fields package. publish_to: 'none' environment: - sdk: ^3.5.4 - flutter: ">=3.0.0" + sdk: ^3.12.0 + flutter: ">=3.44.0" dependencies: flutter: sdk: flutter pin_code_fields: path: ../ + material_ui: ^1.0.0 dev_dependencies: flutter_test: diff --git a/packages/pin_code_fields/lib/src/core/form/pin_input_form_field.dart b/packages/pin_code_fields/lib/src/core/form/pin_input_form_field.dart index 953814b0..fec8dc9b 100644 --- a/packages/pin_code_fields/lib/src/core/form/pin_input_form_field.dart +++ b/packages/pin_code_fields/lib/src/core/form/pin_input_form_field.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import '../haptics.dart'; diff --git a/packages/pin_code_fields/lib/src/core/gestures/context_menu_builder.dart b/packages/pin_code_fields/lib/src/core/gestures/context_menu_builder.dart index d7a5ab2a..18412a9f 100644 --- a/packages/pin_code_fields/lib/src/core/gestures/context_menu_builder.dart +++ b/packages/pin_code_fields/lib/src/core/gestures/context_menu_builder.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// Default context menu builder that only shows the Paste option. /// diff --git a/packages/pin_code_fields/lib/src/core/gestures/selection_gesture_builder.dart b/packages/pin_code_fields/lib/src/core/gestures/selection_gesture_builder.dart index 1e5974ee..f4125276 100644 --- a/packages/pin_code_fields/lib/src/core/gestures/selection_gesture_builder.dart +++ b/packages/pin_code_fields/lib/src/core/gestures/selection_gesture_builder.dart @@ -1,5 +1,5 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:cupertino_ui/cupertino_ui.dart'; +import 'package:material_ui/material_ui.dart'; /// Gets platform-specific text selection controls. /// diff --git a/packages/pin_code_fields/lib/src/core/input_capture/invisible_text_field.dart b/packages/pin_code_fields/lib/src/core/input_capture/invisible_text_field.dart index bc58b58f..2311fa97 100644 --- a/packages/pin_code_fields/lib/src/core/input_capture/invisible_text_field.dart +++ b/packages/pin_code_fields/lib/src/core/input_capture/invisible_text_field.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; /// A completely invisible TextField that captures keyboard input. diff --git a/packages/pin_code_fields/lib/src/core/pin_input.dart b/packages/pin_code_fields/lib/src/core/pin_input.dart index 0ad6ce9e..21fc27de 100644 --- a/packages/pin_code_fields/lib/src/core/pin_input.dart +++ b/packages/pin_code_fields/lib/src/core/pin_input.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import 'gestures/context_menu_builder.dart'; diff --git a/packages/pin_code_fields/lib/src/material/animations/cursor_blink.dart b/packages/pin_code_fields/lib/src/material/animations/cursor_blink.dart index 1c676c86..5fc01543 100644 --- a/packages/pin_code_fields/lib/src/material/animations/cursor_blink.dart +++ b/packages/pin_code_fields/lib/src/material/animations/cursor_blink.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// A widget that displays a blinking cursor. /// diff --git a/packages/pin_code_fields/lib/src/material/animations/entry_animations.dart b/packages/pin_code_fields/lib/src/material/animations/entry_animations.dart index 06317f55..2d9d4eaa 100644 --- a/packages/pin_code_fields/lib/src/material/animations/entry_animations.dart +++ b/packages/pin_code_fields/lib/src/material/animations/entry_animations.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import '../theme/material_pin_theme.dart'; diff --git a/packages/pin_code_fields/lib/src/material/animations/error_shake.dart b/packages/pin_code_fields/lib/src/material/animations/error_shake.dart index c8af4b2a..eb531ebd 100644 --- a/packages/pin_code_fields/lib/src/material/animations/error_shake.dart +++ b/packages/pin_code_fields/lib/src/material/animations/error_shake.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// A widget that shakes its child when triggered. /// diff --git a/packages/pin_code_fields/lib/src/material/cells/material_cell_content.dart b/packages/pin_code_fields/lib/src/material/cells/material_cell_content.dart index da264c68..9c69a42b 100644 --- a/packages/pin_code_fields/lib/src/material/cells/material_cell_content.dart +++ b/packages/pin_code_fields/lib/src/material/cells/material_cell_content.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import '../../core/pin_cell_data.dart'; import '../animations/cursor_blink.dart'; diff --git a/packages/pin_code_fields/lib/src/material/cells/material_pin_cell.dart b/packages/pin_code_fields/lib/src/material/cells/material_pin_cell.dart index 043caf2e..acaeae4d 100644 --- a/packages/pin_code_fields/lib/src/material/cells/material_pin_cell.dart +++ b/packages/pin_code_fields/lib/src/material/cells/material_pin_cell.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import '../../core/pin_cell_data.dart'; import '../shapes/circle_decoration.dart'; diff --git a/packages/pin_code_fields/lib/src/material/form/material_pin_form_field.dart b/packages/pin_code_fields/lib/src/material/form/material_pin_form_field.dart index ca20ee59..7e700545 100644 --- a/packages/pin_code_fields/lib/src/material/form/material_pin_form_field.dart +++ b/packages/pin_code_fields/lib/src/material/form/material_pin_form_field.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import '../../core/haptics.dart'; diff --git a/packages/pin_code_fields/lib/src/material/layout/material_pin_row.dart b/packages/pin_code_fields/lib/src/material/layout/material_pin_row.dart index 78540336..13dce22d 100644 --- a/packages/pin_code_fields/lib/src/material/layout/material_pin_row.dart +++ b/packages/pin_code_fields/lib/src/material/layout/material_pin_row.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import '../../core/pin_cell_data.dart'; import '../cells/material_pin_cell.dart'; diff --git a/packages/pin_code_fields/lib/src/material/material_pin_field.dart b/packages/pin_code_fields/lib/src/material/material_pin_field.dart index 2814ce13..55c85e95 100644 --- a/packages/pin_code_fields/lib/src/material/material_pin_field.dart +++ b/packages/pin_code_fields/lib/src/material/material_pin_field.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import '../core/haptics.dart'; diff --git a/packages/pin_code_fields/lib/src/material/shapes/circle_decoration.dart b/packages/pin_code_fields/lib/src/material/shapes/circle_decoration.dart index 2d50e82e..b2670447 100644 --- a/packages/pin_code_fields/lib/src/material/shapes/circle_decoration.dart +++ b/packages/pin_code_fields/lib/src/material/shapes/circle_decoration.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// Builds a BoxDecoration for a circular PIN cell. /// diff --git a/packages/pin_code_fields/lib/src/material/shapes/filled_decoration.dart b/packages/pin_code_fields/lib/src/material/shapes/filled_decoration.dart index 0a779e1f..29c9ce11 100644 --- a/packages/pin_code_fields/lib/src/material/shapes/filled_decoration.dart +++ b/packages/pin_code_fields/lib/src/material/shapes/filled_decoration.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// Builds a BoxDecoration for a filled PIN cell. /// diff --git a/packages/pin_code_fields/lib/src/material/shapes/outlined_decoration.dart b/packages/pin_code_fields/lib/src/material/shapes/outlined_decoration.dart index 512c8392..8c33040f 100644 --- a/packages/pin_code_fields/lib/src/material/shapes/outlined_decoration.dart +++ b/packages/pin_code_fields/lib/src/material/shapes/outlined_decoration.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// Builds a BoxDecoration for an outlined PIN cell. /// diff --git a/packages/pin_code_fields/lib/src/material/shapes/underlined_decoration.dart b/packages/pin_code_fields/lib/src/material/shapes/underlined_decoration.dart index 659505a2..512ddd92 100644 --- a/packages/pin_code_fields/lib/src/material/shapes/underlined_decoration.dart +++ b/packages/pin_code_fields/lib/src/material/shapes/underlined_decoration.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// Builds a BoxDecoration for an underlined PIN cell. /// diff --git a/packages/pin_code_fields/lib/src/material/theme/material_pin_theme.dart b/packages/pin_code_fields/lib/src/material/theme/material_pin_theme.dart index c300f62a..f2a89ad1 100644 --- a/packages/pin_code_fields/lib/src/material/theme/material_pin_theme.dart +++ b/packages/pin_code_fields/lib/src/material/theme/material_pin_theme.dart @@ -1,5 +1,5 @@ import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; /// Shape variants for Material PIN cells. enum MaterialPinShape { diff --git a/packages/pin_code_fields/lib/src/material/theme/material_pin_theme_extension.dart b/packages/pin_code_fields/lib/src/material/theme/material_pin_theme_extension.dart index 0dd71ff4..8b3e82e8 100644 --- a/packages/pin_code_fields/lib/src/material/theme/material_pin_theme_extension.dart +++ b/packages/pin_code_fields/lib/src/material/theme/material_pin_theme_extension.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'material_pin_theme.dart'; /// Theme extension for embedding [MaterialPinTheme] in [ThemeData]. diff --git a/packages/pin_code_fields/migration/10.0.0/MIGRATION_GUIDE.md b/packages/pin_code_fields/migration/10.0.0/MIGRATION_GUIDE.md new file mode 100644 index 00000000..f3c4eb1a --- /dev/null +++ b/packages/pin_code_fields/migration/10.0.0/MIGRATION_GUIDE.md @@ -0,0 +1,132 @@ +# Migration Guide: pin_code_fields 9.x → 10.0.0 + +v10.0.0 migrates the package to Flutter 3.47's standalone design-system packages. The PIN field API is unchanged — this is an ecosystem / import migration. + +See also: [What's new in Flutter 3.47](https://flutter.dev/blog/whats-new-in-flutter-3-47) + +## Why this is a major version + +Flutter 3.47 publishes [`material_ui`](https://pub.dev/packages/material_ui) and [`cupertino_ui`](https://pub.dev/packages/cupertino_ui) as 1.0 packages on pub.dev. The copies bundled in the Flutter SDK are scheduled for deprecation in the following stable release. + +The Flutter team recommends treating ecosystem packages that switch to these libraries as a **major** release: `ThemeData`, `ColorScheme`, selection handles, and context menus now come from `material_ui` / `cupertino_ui` instead of `package:flutter/material.dart`. Mixing the two without a compatibility bridge can cause type mismatches. + +## Requirements + +| | v9.x | v10.0.0 | +|---|---|---| +| Dart | `^3.5.0` | `^3.12.0` | +| Flutter | `>=3.0.0` | `>=3.44.0` (tested on 3.47.1) | +| Material | `package:flutter/material.dart` | `package:material_ui/material_ui.dart` | +| Cupertino | `package:flutter/cupertino.dart` | `package:cupertino_ui/cupertino_ui.dart` | + +## Step 1: Upgrade Flutter + +```bash +flutter upgrade +``` + +`material_ui` 1.0 requires Flutter **3.44+**. Flutter **3.47** is the release that introduces the standalone packages as the recommended path. + +## Step 2: Update pubspec.yaml + +```yaml +dependencies: + pin_code_fields: ^10.0.0 + material_ui: ^1.0.0 +``` + +Then: + +```bash +flutter pub get +``` + +`cupertino_ui` is pulled in transitively. Add it directly only if your app imports Cupertino widgets. + +## Step 3: Migrate design-system imports + +```bash +dart fix --apply --code=migrate_design_widgets +``` + +This rewrites: + +```dart +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +``` + +to: + +```dart +import 'package:material_ui/material_ui.dart'; +import 'package:cupertino_ui/cupertino_ui.dart'; +``` + +If the fix does not update `pubspec.yaml`, add the packages by hand and run the command again: + +```bash +flutter pub add material_ui +# flutter pub add cupertino_ui # only if you use Cupertino widgets +dart fix --apply --code=migrate_design_widgets +``` + +## Step 4: Bridge leftover SDK Material (if needed) + +If **your app** has migrated but some **other packages** still import `package:flutter/material.dart`, wrap the app with `MaterialUiCompatibilityBridge`: + +```dart +import 'package:material_ui/material_ui.dart'; +import 'package:pin_code_fields/pin_code_fields.dart'; + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + builder: (context, child) { + return MaterialUiCompatibilityBridge(child: child!); + }, + home: Scaffold( + body: MaterialPinField( + length: 6, + onCompleted: (pin) {}, + ), + ), + ); + } +} +``` + +You can also wrap a single subtree that still uses a legacy package. + +## Localizations + +If you set `localizationsDelegates` from `package:flutter_localizations`, switch to the delegates from `material_ui`: + +```dart +import 'package:material_ui/material_ui.dart'; + +MaterialApp( + localizationsDelegates: GlobalMaterialLocalizations.delegates, + // ... +) +``` + +`GlobalMaterialLocalizations.delegates` now includes the Cupertino and Widgets delegates as well. + +## What did not change + +`MaterialPinField`, `PinInput`, `PinInputController`, `MaterialPinTheme`, and the rest of the public PIN API are the same as in 9.x. No widget or parameter renames in this release. + +## Troubleshooting + +**Theme / type errors involving `ThemeData` or `ThemeExtension`** +You are mixing SDK Material with `material_ui`. Migrate the import or add `MaterialUiCompatibilityBridge`. + +**Analyzer: `depend_on_referenced_packages` for `material_ui`** +Declare `material_ui` in your own `pubspec.yaml` even though `pin_code_fields` already depends on it. + +**Still on Flutter < 3.44** +Stay on `pin_code_fields` 9.x until you can upgrade. diff --git a/packages/pin_code_fields/pubspec.lock b/packages/pin_code_fields/pubspec.lock index bf6304b8..bb75c55b 100644 --- a/packages/pin_code_fields/pubspec.lock +++ b/packages/pin_code_fields/pubspec.lock @@ -41,6 +41,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" + cupertino_ui: + dependency: "direct main" + description: + name: cupertino_ui + sha256: "2137c0d41f3b62cc4d3d2495e6c354bd6b6133cd21c6bb155736cc31dbd49a11" + url: "https://pub.dev" + source: hosted + version: "1.0.1" fake_async: dependency: transitive description: @@ -62,11 +70,24 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.0" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + intl: + dependency: transitive + description: + name: intl + sha256: "1ca20c894b1717686a2319b8548763d812bc0aabdac580420a44c5178c57a867" + url: "https://pub.dev" + source: hosted + version: "0.20.3" leak_tracker: dependency: transitive description: @@ -103,10 +124,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.19" + version: "0.12.20" material_color_utilities: dependency: transitive description: @@ -115,14 +136,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.13.0" + material_ui: + dependency: "direct main" + description: + name: material_ui + sha256: "7ba1ca315d50a004791dbab290417c52a61466d56db2822fe3c5c2994903110c" + url: "https://pub.dev" + source: hosted + version: "1.1.0" meta: dependency: transitive description: name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.19.0" path: dependency: transitive description: @@ -180,18 +209,18 @@ packages: dependency: transitive description: name: test_api - sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.10" + version: "0.7.12" vector_math: dependency: transitive description: name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.2" vm_service: dependency: transitive description: @@ -201,5 +230,5 @@ packages: source: hosted version: "15.0.2" sdks: - dart: ">=3.9.0-0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + dart: ">=3.12.0 <4.0.0" + flutter: ">=3.44.0" diff --git a/packages/pin_code_fields/pubspec.yaml b/packages/pin_code_fields/pubspec.yaml index c55a4a78..687a0e04 100644 --- a/packages/pin_code_fields/pubspec.yaml +++ b/packages/pin_code_fields/pubspec.yaml @@ -1,6 +1,6 @@ name: pin_code_fields description: A highly customizable PIN/OTP input field for Flutter with Material Design support and headless core for custom UIs. -version: 9.4.0 +version: 10.0.0 homepage: https://github.com/adar2378/pin_code_fields repository: https://github.com/adar2378/pin_code_fields issue_tracker: https://github.com/adar2378/pin_code_fields/issues @@ -13,15 +13,15 @@ topics: - input screenshots: - - description: 'OTP Verification - Outlined style with gradient background' + - description: "OTP Verification - Outlined style with gradient background" path: screenshots/outlined.png - - description: 'Payment Confirmation - Obscured PIN with dark theme' + - description: "Payment Confirmation - Obscured PIN with dark theme" path: screenshots/filled.png - - description: 'Creative Animations - Multiple animation styles' + - description: "Creative Animations - Multiple animation styles" path: screenshots/underlined.png - - description: 'Custom Cursors - Various cursor styles' + - description: "Custom Cursors - Various cursor styles" path: screenshots/cursors.png - - description: 'Text Gradients - Rainbow and gold gradients' + - description: "Text Gradients - Rainbow and gold gradients" path: screenshots/gradient_texts.png platforms: @@ -33,14 +33,17 @@ platforms: windows: environment: - sdk: ^3.5.0 - flutter: ">=3.0.0" + sdk: ^3.12.0 + flutter: ">=3.44.0" dependencies: flutter: sdk: flutter + material_ui: ^1.0.0 + cupertino_ui: ^1.0.0 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 \ No newline at end of file + flutter_lints: ^5.0.0 + diff --git a/packages/pin_code_fields/test/material_pin_field_test.dart b/packages/pin_code_fields/test/material_pin_field_test.dart index eb9006d1..8d4ca834 100644 --- a/packages/pin_code_fields/test/material_pin_field_test.dart +++ b/packages/pin_code_fields/test/material_pin_field_test.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; diff --git a/packages/pin_code_fields/test/material_pin_form_field_test.dart b/packages/pin_code_fields/test/material_pin_form_field_test.dart index 3c3bcd57..6a69e063 100644 --- a/packages/pin_code_fields/test/material_pin_form_field_test.dart +++ b/packages/pin_code_fields/test/material_pin_form_field_test.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; diff --git a/packages/pin_code_fields/test/material_pin_theme_extension_test.dart b/packages/pin_code_fields/test/material_pin_theme_extension_test.dart index bdc3cc65..44184752 100644 --- a/packages/pin_code_fields/test/material_pin_theme_extension_test.dart +++ b/packages/pin_code_fields/test/material_pin_theme_extension_test.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; diff --git a/packages/pin_code_fields/test/pin_input_test.dart b/packages/pin_code_fields/test/pin_input_test.dart index f7e4d8e8..feda4a58 100644 --- a/packages/pin_code_fields/test/pin_input_test.dart +++ b/packages/pin_code_fields/test/pin_input_test.dart @@ -1,5 +1,5 @@ import 'dart:ui' show SemanticsFlag; -import 'package:flutter/material.dart'; +import 'package:material_ui/material_ui.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pin_code_fields/pin_code_fields.dart';