Sheet
Extends the dialog pattern to slide in content from an edge of the screen. 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-end"
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-end"
@click.stop
class="fixed z-[51] flex flex-col gap-4 bg-background shadow-lg inset-y-0 end-0 h-full w-3/4 border-s sm:max-w-sm"
>
Edit profile
Make changes to your profile here. Click save when you are done.
Sides
Use logical sides: top, bottom, start, end.
Composition
code
Sheet
├── SheetTrigger
└── SheetContent
├── SheetHeader / Title / Description
├── SheetClose
└── SheetFooter