Sheet

A panel that slides in from any edge.

Installation

import { Sheet } from "~/components/ui/Sheet";

Usage

<Sheet
  side="right"
  trigger={<Button>Open panel</Button>}
  title="Panel"
>
  ...
</Sheet>

API reference

PropTypeDefaultDescription
side"top" | "right" | "bottom" | "left""right"Edge the panel slides from.
triggerReactElement-Element that opens the sheet (uncontrolled use).
openboolean-Controlled open state.
onOpenChange(open: boolean) => void-Controlled open handler.
titleReactNode-Panel title.
descriptionReactNode-Optional supporting text.

Accessibility

  • Built on the Base UI Dialog primitive: focus trap, scroll lock, Escape to close, and aria wiring.
  • The global theme Drawer is this component with side=right.
View site