Drawer

A panel that slides from any screen edge with optional drag-to-dismiss.

Focus timer

How long do you want to focus?

25 min

Installation

CLI

Install the component using the StarUI CLI:

star add drawer

Examples

Direction

Drawers from all four edges — bottom gets a drag handle by default

Share

Send this to a friend or save for later.

Filters

Narrow down your search results.

Updates

2 items need your attention.

Menu

Jump to a different section.

Reactive

Order cart with per-item dismiss, running count, and empty state

Your order

items

Espresso

$4.50

Almond croissant

$3.00

Your order is empty

No Handle

Cookie consent with show_handle=False and dismissible=False

Cookie preferences

We use cookies to keep things running and improve your experience.

Essential cookies are always active. Accept all to enable analytics and personalization.

Non-modal

Now-playing panel that doesn't trap focus or show a backdrop

Now playing

Chet Baker — Almost Blue

API Reference

Props

Prop Type Default Description
signal str | Signal auto-generated Signal name for open state
modal bool True Use showModal() for focus trapping and backdrop
dismissible bool True Allow dismissing via click-outside and drag
direction Literal['top','right','bottom','left'] 'bottom' Edge the drawer slides from
show_handle bool | None None Show the drag handle for swipe-to-dismiss (defaults to True for bottom, False otherwise)
show_close bool False Show the default close button
Component Description
Drawer Root container managing open state and drag signals
DrawerTrigger Button that opens the drawer
DrawerContent Panel container; supports direction, show_handle, and show_close
DrawerHeader Header layout for title and description
DrawerTitle Accessible title linked to content
DrawerDescription Supplementary description text
DrawerFooter Footer area for actions
DrawerClose Action that closes the drawer