Extends the Dialog component to display content that complements the main content of the screen.
Philosophy
Sheets are dialogs that slide in from the edge - they maintain spatial context better than centered modals. Use them for supplementary content (settings panels, detail views, mobile navigation) where the user needs to reference what's behind the overlay. The side prop makes the direction of information flow explicit.
<Sheet> <SheetTrigger>Open</SheetTrigger> <SheetContent> <SheetHeader> <SheetTitle>Are you absolutely sure?</SheetTitle> <SheetDescription> This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
</SheetDescription> </SheetHeader> </SheetContent></Sheet>
Examples
Side
Use the side property to <SheetContent /> to indicate the edge of the screen where the component will appear. The values can be top, right, bottom or left.
Size
You can adjust the size of the sheet using CSS classes:
<Sheet> <SheetTrigger>Open</SheetTrigger> <SheetContentclassName="w-[400px] sm:w-[540px]"> <SheetHeader> <SheetTitle>Are you absolutely sure?</SheetTitle> <SheetDescription> This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
</SheetDescription> </SheetHeader> </SheetContent></Sheet>
Active Trigger on Open
Style the trigger to appear active while the sheet is open using data-[state=open]:
Component Composition
RTL Support
Motion
Alpha: Motion Compositions
Motion components work standalone, but some compositions may behave unexpectedly — this is still under active development. If you find a broken composition, please file an issue.
Use MotionSheet and MotionSheetContent for smooth slide-in/out animations powered by motion. The content slides from the edge based on the side prop while the overlay fades.
Requires the motion package. Use MotionSheet instead of Sheet and MotionSheetContent instead of SheetContent. All other sub-components (SheetTrigger, SheetHeader, etc.) stay the same.
Same props as Sheet. Wraps with useMotionRoot for exit animation support. Requires the motion package.
MotionSheetContent
Same props as SheetContent. Adds directional slide enter/exit animation with blur and opacity fade using tweenSlow (300ms). Requires the motion package.