Drawer

Slide-in panel on any side (left, right, top, or bottom), with focus trap and a size prop. Backdrop, ESC to close, body scroll lock, and the bracket motif. Portaled.

Trigger

Add to your project

One command adds this component to your project.

1

Run the following command. New project? Run npx shadcn@latest init first to set up Tailwind and path aliases.

npx shadcn@latest add @aicanvas/andromeda-drawer

Props

Every prop this component accepts. Any other prop is forwarded to the underlying element.

PropTypeDefaultDescription
openreqboolean-Whether the drawer is open.
onOpenChange(next: boolean) => void-Handler called with the next open state when the drawer requests to close (ESC or backdrop click).
side'left'|'right'|'top'|'bottom''right'Screen edge the panel slides in from.
sizenumber|string420Width (left/right) or height (top/bottom). Number → px, string passed through.
childrenReact.ReactNode-Panel content, typically the Drawer compound parts (Header, Body, Footer).
classNamestring-Extra classes merged onto the panel element.
styleReact.CSSProperties-Inline styles merged onto the panel element.

More Andromeda components