anydrawer 2.0.0
anydrawer: ^2.0.0 copied to clipboard
A powerful Flutter drawer that slides from any edge — left, right, top, or bottom. No Scaffold required. Supports backdrop blur, drag gestures, return values, multiple drawers, swipe-from-edge, and de [...]
2.0.0 #
⚠️ Breaking Changes #
showDrawernow returnsFuture<T?>— the drawer can return a result (likeshowDialog). Existing callers that ignore the return value are unaffected.DrawerSidegainstopandbottom— exhaustiveswitchonDrawerSidein user code will need updating.- Removed assertion requiring either
closeOnClickOutsideorcloseOnEscapeKeyto betrue. Both can now befalse; use a controller or back button to close.
🚀 New Features #
- Top & bottom drawers —
DrawerSide.topandDrawerSide.bottomfor sliding panels from any edge. - Custom animation curve —
DrawerConfig.curveproperty (default:Curves.easeInOut). - Width constraints —
DrawerConfig.maxWidthandDrawerConfig.minWidthto clamp drawer size. - Backdrop blur —
DrawerConfig.backdropBlurapplies aBackdropFilterbehind the drawer. - Elevation & shadow —
DrawerConfig.elevationandDrawerConfig.shadowColorfor Material shadow. - Custom barrier —
DrawerConfig.barrierBuilderfor fully custom barrier widgets (e.g., gradient, blur). - Drag callbacks —
onDragUpdateandonDragEndparameters onshowDrawer. - Controller enhancements —
AnyDrawerController.open()andisOpengetter for two-way programmatic control. - Accessibility —
DrawerConfig.semanticsLabelfor screen reader announcements. - Declarative widget —
AnyDrawerwidget for embedding in the widget tree, driven byAnyDrawerController. - Swipe-from-edge —
AnyDrawerRegionwidget detects edge swipes to open a drawer (all 4 sides). - Resizable drawers —
DrawerConfig.resizableenables animated runtime size changes.
1.0.7 #
- Breaking fix: Rewrote drawer internals to use
PopupRouteinstead of rawOverlayEntry. Dialogs, bottom sheets, and menus now correctly display above the drawer (#5). - Fixed: Click-outside dismiss now works reliably via a custom modal barrier.
- Fixed:
AnyDrawerController.dispose()crash when called fromonClosecallback —onCloseis now deferred to avoid re-entrancy duringnotifyListeners(). - New: Multiple drawers can be opened simultaneously (e.g., left + right side).
- New: Nested drawer support — open a drawer from inside another drawer.
- Improved: Revamped example app with 6 use case demos: Navigation Menu, Form, Dialog-over-Drawer, Settings Panel, Multiple Drawers, and Programmatic Control with deep linking pattern.
1.0.6 #
-
Fixed drawer not closing when controller was not provided.
-
Fixed
AnydrawerControllerdispose issue.
1.0.5 #
- Updated deprecated
RawKeyboardwithHardwareKeyboardfor handlingcloseOnEscapeKey.
1.0.4 #
- Minor bug fixes.
1.0.3 #
- Added
closeOnResumeproperty to close drawer when app is resumed (Android only). - Added
closeOnBackButtonproperty to close drawer when back button is pressed (Requires a route navigator). - Added
closeOnEscapeKeyproperty to close drawer when Escape key is pressed.
1.0.2 #
- Added
controllerproperty showDrawer function to close drawer programmatically.
1.0.1 #
- Added screenshots to README.md
- Fixed right drawer drag issue.
1.0.0 #
- Initial release
