Sheet
An edge-positioned panel that slides in from the side of the screen, built on the Base UI Dialog primitive.
Installation
Bash
Usage
Examples
Sides
API reference
Sheet
Extends the Base UI Dialog Root — Sheet is a positioned Dialog rather than a distinct primitive. Per Base UI’s own guidance, an edge panel without swipe gestures is just a Dialog pinned to a screen edge; reach for Drawer when you need gesture-driven dragging.
| Prop | Type | Default |
|---|---|---|
open / defaultOpen | boolean | false |
onOpenChange | (open: boolean) => void | — |
modal | true | false | "trap-focus" | true |
disablePointerDismissal | boolean | false |
SheetContent
No Viewport part is used — the Popup is position: fixed against a
screen edge and slides via translate utilities, animated by
transition-transform.
| Prop | Type | Default |
|---|---|---|
side | "top" | "right" | "bottom" | "left" | "right" |
showCloseButton | boolean — built-in ✕ | true |
SheetTrigger, SheetClose, SheetHeader, SheetFooter, SheetTitle, SheetDescription, SheetOverlay, SheetPortal
Styled parts; trigger and close accept the render prop.