Sheet
화면 가장자리에서 슬라이드되어 나타나는 패널
Basic Usage
기본적인 시트 예시입니다. 오른쪽에서 슬라이드됩니다.
tsx
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Open Sheet</Button>
</SheetTrigger>
<SheetContent>
<SheetHeader>
<SheetTitle>Edit Profile</SheetTitle>
<SheetDescription>
프로필 정보를 수정합니다.
</SheetDescription>
</SheetHeader>
<div className="grid gap-4 py-4">
<Input id="name" defaultValue="John Doe" />
</div>
<SheetFooter>
<SheetClose asChild>
<Button type="submit">Save changes</Button>
</SheetClose>
</SheetFooter>
</SheetContent>
</Sheet>Sides
시트가 나타나는 방향을 지정할 수 있습니다.
tsx
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Left</Button>
</SheetTrigger>
<SheetContent side="left">
<SheetHeader>
<SheetTitle>Left Sheet</SheetTitle>
</SheetHeader>
</SheetContent>
</Sheet>
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Right</Button>
</SheetTrigger>
<SheetContent side="right">...</SheetContent>
</Sheet>
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Top</Button>
</SheetTrigger>
<SheetContent side="top">...</SheetContent>
</Sheet>
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Bottom</Button>
</SheetTrigger>
<SheetContent side="bottom">...</SheetContent>
</Sheet>Usage
tsx
import {
Sheet,
SheetClose,
SheetContent,
SheetDescription,
SheetFooter,
SheetHeader,
SheetTitle,
SheetTrigger,
} from '@gpters-internal/ui';
function Example() {
return (
<Sheet>
<SheetTrigger asChild>
<Button>Open</Button>
</SheetTrigger>
<SheetContent side="right">
<SheetHeader>
<SheetTitle>Title</SheetTitle>
<SheetDescription>Description</SheetDescription>
</SheetHeader>
{/* Content */}
<SheetFooter>
<SheetClose asChild>
<Button>Close</Button>
</SheetClose>
</SheetFooter>
</SheetContent>
</Sheet>
);
}