Drawer
A panel that slides in from an edge of the screen. Defaults to side="bottom" with a drag handle. Requires Alpine.js.
Usage
el.getClientRects().length > 0);
if (!nodes.length) { $event.preventDefault(); return; }
const first = nodes[0];
const last = nodes[nodes.length - 1];
if ($event.shiftKey && document.activeElement === first) { $event.preventDefault(); last.focus(); }
else if (!$event.shiftKey && document.activeElement === last) { $event.preventDefault(); first.focus(); }
"
x-transition:enter="slate-motion-slide"
x-transition:enter-start="slate-slide-from-bottom"
x-transition:enter-end="slate-slide-to"
x-transition:leave="slate-motion-slide-out"
x-transition:leave-start="slate-slide-to"
x-transition:leave-end="slate-slide-from-bottom"
@click.stop
class="fixed z-[51] flex flex-col gap-4 bg-background shadow-lg inset-x-0 bottom-0 h-auto max-h-[85vh] rounded-t-xl border-t"
>
Move goal
Set your daily activity goal.
Composition
code
Drawer
├── DrawerTrigger
└── DrawerContent
├── DrawerHeader / Title / Description
├── DrawerClose
└── DrawerFooter