m3e_dropdown_menu 0.1.0
m3e_dropdown_menu: ^0.1.0 copied to clipboard
A Flutter package providing Material 3 Expressive Dropdown Menu with spring physics and extensive customization options.
0.1.0 #
⚠️ Breaking Changes #
- Styling Refactor: Renamed all
Decorationclasses toStylefor better alignment with Flutter's naming conventions:M3EDropdownFieldDecoration->M3EDropdownFieldStyleM3EDropdownDecoration->M3EDropdownStyleM3EChipDecoration->M3EChipStyleM3ESearchDecoration->M3ESearchStyleM3EDropdownItemDecoration->M3EDropdownItemStyle
- Motion API: Replaced flat
stiffnessanddampingproperties withopenMotionandcloseMotionobjects of typeM3EMotion. - Haptic Feedback: Migrated
hapticproperty frominttoM3EHapticFeedbackenum. - Radius Property: Renamed
expandedBorderRadiustoselectedBorderRadiusin field styling and changed its type todouble.
✨ New Features #
- Style Standardization: Added
copyWith,lerp,operator ==, andhashCodeto all style classes. - Form Validation Styling: Added
errorBorderanderrorStyletoM3EDropdownFieldStyle. - Desktop/Web Support: Added
mouseCursorcustomization for field, search, chips, and items. - Customization: Added
clearIconparameter toM3EDropdownFieldStyle. - Empty State: Added
emptyBuilderfor custom empty states when search/list is empty. - Interactive Radius Morphing: Added snappy (40ms) radius morphing for both field and items.
- Dual-Speed Animations: Transitions (20ms) for logical changes and (40ms) for interaction feedback.
- Premium Interaction Model: Added subtle background overlay fade (5% hover, 10% press).
- Granular Ripple Control: Added
splashFactory,splashColor, andhighlightColortoStyleclasses.
🛠 Improvements & Fixes #
- Animation Stability: Fixed direction "flipping" and flickering by locking expansion direction during animation.
- Positioning Logic: Improved overlay positioning to reactively account for validation error space.
- Optimized Performance:
- Added
ValueKeyto menu items to preserve state. - Eliminated redundant
setStatecalls usingListenableBuilder. - Optimized
FlowDelegatelayout passes for chips.
- Added
- Code Health: Refactored to modular components in
src/widgets/. - Formatting: Applied
dart formatfor a perfect pub.dev score. - Documentation: 100% documentation coverage with library-level docs.
0.0.1 #
- Initial release of
m3e_dropdown_menu!