Sheet
A slide-out side panel that extends from the edge of the screen, commonly used for filters, navigation, or supplementary content.
Preview
Usage
tsx
import {
Sheet,
SheetTrigger,
SheetContent,
SheetHeader,
SheetTitle,
SheetDescription,
SheetFooter,
SheetClose,
} from "zostel-ui";
<Sheet>
<SheetTrigger asChild>
<Button>Open Sheet</Button>
</SheetTrigger>
<SheetContent side="right">
<SheetHeader>
<SheetTitle>Filters</SheetTitle>
<SheetDescription>
Refine your hostel search
</SheetDescription>
</SheetHeader>
<div className="py-4">
{/* Sheet content here */}
</div>
<SheetFooter>
<Button variant="outline">Reset</Button>
<Button>Apply Filters</Button>
</SheetFooter>
</SheetContent>
</Sheet>Props
| Prop | Type | Default | Description |
|---|---|---|---|
side | "top" | "right" | "bottom" | "left" | "right" | The edge of the screen the sheet slides in from |
open | boolean | — | Controlled open state of the sheet |
onOpenChange | (open: boolean) => void | — | Callback when the open state changes |
sideType:
"top" | "right" | "bottom" | "left"Default: "right"
The edge of the screen the sheet slides in from
openType:
booleanDefault: —
Controlled open state of the sheet
onOpenChangeType:
(open: boolean) => voidDefault: —
Callback when the open state changes