Docs
Sheet
Extends the Dialog component to display content that complements the main content of the screen.
Built on top of Dialog component.
Dialog
import * as React from "react"; import { css } from "@pigment-css/react"; import { Button } from "@/components/ui/button"; import { Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetTitle, SheetTrigger, } from "@/components/ui/sheet"; import { Field, FieldLabel } from "@/components/ui/field"; import { Input } from "@/components/ui/input"; export function SheetExample(): React.JSX.Element { return ( <Sheet> <SheetTrigger render={<Button variant="outline">Open</Button>} /> <SheetOverlay /> <SheetContent side="right"> <SheetHeader> <SheetTitle>Edit Profile</SheetTitle> <SheetDescription> Make changes to your profile here. Click save when you're done. </SheetDescription> </SheetHeader> <div className={css({ display: "grid", gap: "calc(var(--spacing-unit) * 3)", paddingBlock: "calc(var(--spacing-unit) * 4)", })} > <Field className={css({ alignItems: "center", display: "grid", gridTemplateColumns: "1fr 3fr", })} > <FieldLabel className={css({ textAlign: "end" })}>Name</FieldLabel> <Input defaultValue="John Doe" /> </Field> <Field className={css({ alignItems: "center", display: "grid", gridTemplateColumns: "1fr 3fr", })} > <FieldLabel className={css({ textAlign: "end" })}>Username</FieldLabel> <Input defaultValue="@john.doe" /> </Field> </div> <SheetFooter> <Button>Save Changes</Button> </SheetFooter> </SheetContent> </Sheet> ); }
npx lotru@latest add ui/sheet
import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, } from "@/components/ui/sheet";
<Sheet> <SheetTrigger>Open</SheetTrigger> <SheetContent> <SheetHeader> <SheetTitle>Are you absolutely sure?</SheetTitle> <SheetDescription>This action cannot be undone.</SheetDescription> </SheetHeader> <SheetFooter> <Button>Submit</Button> <SheetClose> <Button variant="outline">Cancel</Button> </SheetClose> </SheetFooter> </SheetContent> </Sheet>
Previous
Separator
Next
Slider
On this page