⚠️ Breaking Changes
threshold.lockdefaults to8in MagicCarousel, MagicDrawer, MagicDraggable and MagicTray, as in MagicToast. A release within 8px is a tap and keeps its click; before, a click that moved a pixel counted as a drag.- MagicTray content in
insetmode sits flush with its frame. It was padded by the overshoot on every side; the overshoot stays reserved outside the frame. @maas/vue-primitive^1.5is required. It fixesasChildslots dropping the slotted element’s classes after a re-render.
🍿 Features
MagicTrayTriggermakes any element a drag surface for one side of the tray, inside the provider or anywhere else byid. Taps pass their click through, drags swallow it, and form fields never start a drag. ItspreventEdgeNavigationprop overrides the tray option per trigger, and--magic-tray-trigger-touch-actionsets how it shares touches with scrolling.- MagicDrawer derives
progressfrom its position while dragging and snapping, and measures the panel only during its open and close transitions.
❗️ Bug Fixes
- MagicDrawer sets
activeSnapPointas soon as it opens, not after the first drag or snap. - Links and images inside a dragged MagicTray handle or trigger, or a dragged MagicDrawer, no longer start the browser’s own drag in Chromium and WebKit.
📖 Docs
- MagicTray documents
MagicTrayTrigger, with a phone-sized sidebar demo, and every drag plugin describesthreshold.lockthe same way. - The MagicDrawer willSnapTo demo shows the pending target inside the drawer.
Full Changelog: v1.1.0...v1.2.0