Skip to content

Sheet

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

Install

Bash
npx @madeui/cli add sheet

Usage

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

Composition

TSX
<Sheet>
  <SheetTrigger />
  <SheetContent>
    <SheetHeader>
      <SheetTitle />
      <SheetDescription />
    </SheetHeader>
    <SheetFooter>
      <SheetClose />
    </SheetFooter>
  </SheetContent>
</Sheet>

Sides

No close button

Set showCloseButton={false} and close the sheet through your own footer buttons instead.

API reference

Built on Base UI Dialog (same primitive as Dialog). The table below covers the props this library adds or changes — every other prop is forwarded; see the Base UI Dialog API reference.

SheetContent

PropTypeDefaultDescription
side'top' | 'right' | 'bottom' | 'left''right'Edge of the screen the sheet slides in from.
showCloseButtonbooleantrueRenders an X close button in the top-right corner.
styleStyleXStyles—StyleX styles merged last — always win over the component’s own styles.

Was this page helpful?