Skip to content
RivetUI

Drawer

Presents mobile-first actions or content in a bottom panel with swipe dismissal and optional snap points.

@rivetui/drawer

Preview

Explore each composition interactively, then open its code in the same context.

Default

Deployment / Mobile actions

Production deployment

Keep the current view visible while presenting focused actions.

Snap points

Snap points accept viewport fractions, pixels, or rem values and can be controlled.

Registry

Installation

Add the component source and its declared dependencies with the shadcn CLI.

Install component
bunx --bun shadcn@latest add @rivetui/drawer
Inspect registry item

Public interface

API reference

Component-specific props are listed here. Native element and Base UI props continue to pass through.

Drawer

PropTypeDefault
openboolean—
defaultOpenbooleanfalse
onOpenChange(open: boolean, details) => void—
snapPoints(number | string)[]—
snapPointnumber | string | null—
defaultSnapPointnumber | string | nullfirst snap point
onSnapPointChange(snapPoint: number | string | null, details) => void—
snapToSequentialPointsbooleanfalse
modalboolean | "trap-focus"true

DrawerContent

PropTypeDefault
showHandlebooleantrue
classNamestring—
Rivet UI / DrawerComponents engineered, not decorated.