anydrawer 2.0.0 copy "anydrawer: ^2.0.0" to clipboard
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 #

  • showDrawer now returns Future<T?> — the drawer can return a result (like showDialog). Existing callers that ignore the return value are unaffected.
  • DrawerSide gains top and bottom — exhaustive switch on DrawerSide in user code will need updating.
  • Removed assertion requiring either closeOnClickOutside or closeOnEscapeKey to be true. Both can now be false; use a controller or back button to close.

🚀 New Features #

  • Top & bottom drawersDrawerSide.top and DrawerSide.bottom for sliding panels from any edge.
  • Custom animation curveDrawerConfig.curve property (default: Curves.easeInOut).
  • Width constraintsDrawerConfig.maxWidth and DrawerConfig.minWidth to clamp drawer size.
  • Backdrop blurDrawerConfig.backdropBlur applies a BackdropFilter behind the drawer.
  • Elevation & shadowDrawerConfig.elevation and DrawerConfig.shadowColor for Material shadow.
  • Custom barrierDrawerConfig.barrierBuilder for fully custom barrier widgets (e.g., gradient, blur).
  • Drag callbacksonDragUpdate and onDragEnd parameters on showDrawer.
  • Controller enhancementsAnyDrawerController.open() and isOpen getter for two-way programmatic control.
  • AccessibilityDrawerConfig.semanticsLabel for screen reader announcements.
  • Declarative widgetAnyDrawer widget for embedding in the widget tree, driven by AnyDrawerController.
  • Swipe-from-edgeAnyDrawerRegion widget detects edge swipes to open a drawer (all 4 sides).
  • Resizable drawersDrawerConfig.resizable enables animated runtime size changes.

1.0.7 #

  • Breaking fix: Rewrote drawer internals to use PopupRoute instead of raw OverlayEntry. 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 from onClose callback — onClose is now deferred to avoid re-entrancy during notifyListeners().
  • 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 AnydrawerController dispose issue.

1.0.5 #

  • Updated deprecated RawKeyboard with HardwareKeyboard for handling closeOnEscapeKey.

1.0.4 #

  • Minor bug fixes.

1.0.3 #

  • Added closeOnResume property to close drawer when app is resumed (Android only).
  • Added closeOnBackButton property to close drawer when back button is pressed (Requires a route navigator).
  • Added closeOnEscapeKey property to close drawer when Escape key is pressed.

1.0.2 #

  • Added controller property showDrawer function to close drawer programmatically.

1.0.1 #

  • Added screenshots to README.md
  • Fixed right drawer drag issue.

1.0.0 #

  • Initial release
34
likes
150
points
658
downloads
screenshot

Publisher

verified publishernbhatt.com.np

Weekly Downloads

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 declarative API.

Repository (GitHub)
View/report issues

Topics

#drawer #navigation #panel #overlay #widget

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on anydrawer