Sheet

Extends the Dialog component to display content that complements the main content of the screen.

Demo

Dark previewReplay previewOpen in new tab

Usage

Import the parts you need from the component's folder.

ts
import {
  Sheet,
  SheetTrigger,
  SheetClose,
  SheetContent,
  SheetHeader,
  SheetFooter,
  SheetTitle,
  SheetDescription,
} from "@/components/ui/sheet";

Side

Use the side prop on SheetContent to set which edge the sheet slides in from.

Dark previewReplay previewOpen in new tab

No Close Button

Set showCloseButton to false to hide the default close button.

Dark previewReplay previewOpen in new tab

API Reference

Sheet

PropTypeDefaultDescription
openboolean—Open state. Supports v-model:open.
EventDescription
update:openFires when the sheet opens or closes.

SheetContent

PropTypeDefaultDescription
side"top" | "right" | "bottom" | "left""right"Edge the sheet slides in from.
showCloseButtonbooleantrueShow the ✕ button in the top-right corner.

SheetTrigger / SheetClose

PropTypeDefaultDescription
asChildbooleanfalseMerge props onto the child element.

Accessibility

Keyboard shortcuts and ARIA behavior.

Shortcut Description
EscCloses the sheet.
TabFocus is trapped inside the sheet while open.