mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-27 14:44:12 +00:00
* feat: init * fix * fix * fix * feat * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: implement icons * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: update init command * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: dialog * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add registry:base item type * feat: rename frame to canva * fix * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fi * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add all colors * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add outfit font * fix * fix * fix * fix * fix * chore: changeset * fix * fix * fix * fix * fix * fix * fix * fix
139 lines
4.6 KiB
TypeScript
139 lines
4.6 KiB
TypeScript
import {
|
|
Example,
|
|
ExampleWrapper,
|
|
} from "@/registry/bases/base/components/example"
|
|
import { Button } from "@/registry/bases/base/ui/button"
|
|
import { Field, FieldGroup, FieldLabel } from "@/registry/bases/base/ui/field"
|
|
import { Input } from "@/registry/bases/base/ui/input"
|
|
import {
|
|
Sheet,
|
|
SheetClose,
|
|
SheetContent,
|
|
SheetDescription,
|
|
SheetFooter,
|
|
SheetHeader,
|
|
SheetTitle,
|
|
SheetTrigger,
|
|
} from "@/registry/bases/base/ui/sheet"
|
|
|
|
export default function SheetExample() {
|
|
return (
|
|
<ExampleWrapper>
|
|
<SheetWithForm />
|
|
<SheetNoCloseButton />
|
|
<SheetWithSides />
|
|
</ExampleWrapper>
|
|
)
|
|
}
|
|
|
|
function SheetWithForm() {
|
|
return (
|
|
<Example title="With Form">
|
|
<Sheet>
|
|
<SheetTrigger render={<Button variant="outline" />}>Open</SheetTrigger>
|
|
<SheetContent>
|
|
<SheetHeader>
|
|
<SheetTitle>Edit profile</SheetTitle>
|
|
<SheetDescription>
|
|
Make changes to your profile here. Click save when you're
|
|
done.
|
|
</SheetDescription>
|
|
</SheetHeader>
|
|
<div className="style-vega:px-4 style-maia:px-6 style-mira:px-6 style-lyra:px-4 style-nova:px-4">
|
|
<FieldGroup>
|
|
<Field>
|
|
<FieldLabel htmlFor="sheet-demo-name">Name</FieldLabel>
|
|
<Input id="sheet-demo-name" defaultValue="Pedro Duarte" />
|
|
</Field>
|
|
<Field>
|
|
<FieldLabel htmlFor="sheet-demo-username">Username</FieldLabel>
|
|
<Input id="sheet-demo-username" defaultValue="@peduarte" />
|
|
</Field>
|
|
</FieldGroup>
|
|
</div>
|
|
<SheetFooter>
|
|
<Button type="submit">Save changes</Button>
|
|
<SheetClose render={<Button variant="outline" />}>Close</SheetClose>
|
|
</SheetFooter>
|
|
</SheetContent>
|
|
</Sheet>
|
|
</Example>
|
|
)
|
|
}
|
|
|
|
function SheetNoCloseButton() {
|
|
return (
|
|
<Example title="No Close Button">
|
|
<Sheet>
|
|
<SheetTrigger render={<Button variant="outline" />}>
|
|
No Close Button
|
|
</SheetTrigger>
|
|
<SheetContent showCloseButton={false}>
|
|
<SheetHeader>
|
|
<SheetTitle>No Close Button</SheetTitle>
|
|
<SheetDescription>
|
|
This sheet doesn't have a close button in the top-right
|
|
corner. You can only close it using the button below.
|
|
</SheetDescription>
|
|
</SheetHeader>
|
|
</SheetContent>
|
|
</Sheet>
|
|
</Example>
|
|
)
|
|
}
|
|
|
|
const SHEET_SIDES = ["top", "right", "bottom", "left"] as const
|
|
|
|
function SheetWithSides() {
|
|
return (
|
|
<Example title="Sides">
|
|
<div className="flex flex-wrap gap-2">
|
|
{SHEET_SIDES.map((side) => (
|
|
<Sheet key={side}>
|
|
<SheetTrigger
|
|
render={<Button variant="outline" className="capitalize" />}
|
|
>
|
|
{side}
|
|
</SheetTrigger>
|
|
<SheetContent
|
|
side={side}
|
|
className="data-[side=bottom]:max-h-[50vh] data-[side=top]:max-h-[50vh]"
|
|
>
|
|
<SheetHeader>
|
|
<SheetTitle>Edit profile</SheetTitle>
|
|
<SheetDescription>
|
|
Make changes to your profile here. Click save when you're
|
|
done.
|
|
</SheetDescription>
|
|
</SheetHeader>
|
|
<div className="no-scrollbar style-vega:px-4 style-maia:px-6 style-mira:px-6 style-lyra:px-4 style-nova:px-4 overflow-y-auto">
|
|
{Array.from({ length: 10 }).map((_, index) => (
|
|
<p
|
|
key={index}
|
|
className="style-lyra:mb-2 style-lyra:leading-relaxed 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 render={<Button variant="outline" />}>
|
|
Cancel
|
|
</SheetClose>
|
|
</SheetFooter>
|
|
</SheetContent>
|
|
</Sheet>
|
|
))}
|
|
</div>
|
|
</Example>
|
|
)
|
|
}
|