mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-07-02 17:08:39 +00:00
96 lines
3.5 KiB
TypeScript
96 lines
3.5 KiB
TypeScript
import { Button } from "@/registry/new-york-v4/ui/button"
|
|
import { Input } from "@/registry/new-york-v4/ui/input"
|
|
import { Label } from "@/registry/new-york-v4/ui/label"
|
|
import {
|
|
Sheet,
|
|
SheetClose,
|
|
SheetContent,
|
|
SheetDescription,
|
|
SheetFooter,
|
|
SheetHeader,
|
|
SheetTitle,
|
|
SheetTrigger,
|
|
} from "@/registry/new-york-v4/ui/sheet"
|
|
|
|
const SHEET_SIDES = ["top", "right", "bottom", "left"] as const
|
|
|
|
export function SheetDemo() {
|
|
return (
|
|
<div className="flex flex-col gap-6 md:flex-row">
|
|
<Sheet>
|
|
<SheetTrigger asChild>
|
|
<Button variant="outline">Open</Button>
|
|
</SheetTrigger>
|
|
<SheetContent>
|
|
<SheetHeader>
|
|
<SheetTitle>Edit profile</SheetTitle>
|
|
<SheetDescription>
|
|
Make changes to your profile here. Click save when you're
|
|
done.
|
|
</SheetDescription>
|
|
</SheetHeader>
|
|
<div className="grid flex-1 auto-rows-min gap-6 px-4">
|
|
<div className="grid gap-3">
|
|
<Label htmlFor="sheet-demo-name">Name</Label>
|
|
<Input id="sheet-demo-name" defaultValue="Pedro Duarte" />
|
|
</div>
|
|
<div className="grid gap-3">
|
|
<Label htmlFor="sheet-demo-username">Username</Label>
|
|
<Input id="sheet-demo-username" defaultValue="@peduarte" />
|
|
</div>
|
|
</div>
|
|
<SheetFooter>
|
|
<Button type="submit">Save changes</Button>
|
|
<SheetClose asChild>
|
|
<Button variant="outline">Close</Button>
|
|
</SheetClose>
|
|
</SheetFooter>
|
|
</SheetContent>
|
|
</Sheet>
|
|
<div className="flex gap-2">
|
|
{SHEET_SIDES.map((side) => (
|
|
<Sheet key={side}>
|
|
<SheetTrigger asChild>
|
|
<Button variant="outline" className="capitalize">
|
|
{side}
|
|
</Button>
|
|
</SheetTrigger>
|
|
<SheetContent side={side}>
|
|
<SheetHeader>
|
|
<SheetTitle>Edit profile</SheetTitle>
|
|
<SheetDescription>
|
|
Make changes to your profile here. Click save when you're
|
|
done.
|
|
</SheetDescription>
|
|
</SheetHeader>
|
|
<div className="overflow-y-auto px-4 text-sm">
|
|
<h4 className="mb-4 text-lg leading-none font-medium">
|
|
Lorem Ipsum
|
|
</h4>
|
|
{Array.from({ length: 10 }).map((_, index) => (
|
|
<p key={index} className="mb-4 leading-normal">
|
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed
|
|
do eiusmod tempor incididunt ut labore et dolore magna
|
|
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
|
|
ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
Duis aute irure dolor in reprehenderit in voluptate velit
|
|
esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
|
|
occaecat cupidatat non proident, sunt in culpa qui officia
|
|
deserunt mollit anim id est laborum.
|
|
</p>
|
|
))}
|
|
</div>
|
|
<SheetFooter>
|
|
<Button type="submit">Save changes</Button>
|
|
<SheetClose asChild>
|
|
<Button variant="outline">Cancel</Button>
|
|
</SheetClose>
|
|
</SheetFooter>
|
|
</SheetContent>
|
|
</Sheet>
|
|
))}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|