Get Started
Migration
Components
- Accordion
- Alert Dialog
- Alert
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Drawer
- Dropdown Menu
- Formsnap
- Hover Card
- Input OTP
- Input
- Label
- Menubar
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Range Calendar
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Switch
- Table
- Tabs
- Textarea
- Toggle Group
- Toggle
- Tooltip
- Typography
Installation
Special sponsor
We're looking for one partner to be featured here.
Support the project and reach thousands of developers.
Reach outExtends the Dialog component to display content that complements the main content of the screen.
<script lang="ts">
import * as Sheet from "$lib/components/ui/sheet/index.js";
import { buttonVariants } from "$lib/components/ui/button/index.js";
import { Input } from "$lib/components/ui/input/index.js";
import { Label } from "$lib/components/ui/label/index.js";
</script>
<Sheet.Root>
<Sheet.Trigger class={buttonVariants({ variant: "outline" })}
>Open</Sheet.Trigger
>
<Sheet.Content side="right">
<Sheet.Header>
<Sheet.Title>Edit profile</Sheet.Title>
<Sheet.Description>
Make changes to your profile here. Click save when you're done.
</Sheet.Description>
</Sheet.Header>
<div class="grid flex-1 auto-rows-min gap-6 px-4">
<div class="grid gap-3">
<Label for="name" class="text-right">Name</Label>
<Input id="name" value="Pedro Duarte" />
</div>
<div class="grid gap-3">
<Label for="username" class="text-right">Username</Label>
<Input id="username" value="@peduarte" />
</div>
</div>
<Sheet.Footer>
<Sheet.Close class={buttonVariants({ variant: "outline" })}
>Save changes</Sheet.Close
>
</Sheet.Footer>
</Sheet.Content>
</Sheet.Root>
Installation
pnpm dlx shadcn-svelte@latest add sheet
npx shadcn-svelte@latest add sheet
bun x shadcn-svelte@latest add sheet
npx shadcn-svelte@latest add sheet
Install bits-ui
:
pnpm i bits-ui -D
npm i bits-ui -D
bun install bits-ui -D
yarn install bits-ui -D
Copy and paste the component source files linked at the top of this page into your project.
Usage
<script lang="ts">
import * as Sheet from "$lib/components/ui/sheet/index.js";
</script>
<Sheet.Root>
<Sheet.Trigger>Open</Sheet.Trigger>
<Sheet.Content>
<Sheet.Header>
<Sheet.Title>Are you sure absolutely sure?</Sheet.Title>
<Sheet.Description>
This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
</Sheet.Description>
</Sheet.Header>
</Sheet.Content>
</Sheet.Root>
Examples
Side
Pass the side
property to <Sheet.Content />
to indicate the edge of the screen where the component will appear. The values can be top
, right
, bottom
or left
.
Size
You can adjust the size of the sheet using CSS classes:
<Sheet.Root>
<Sheet.Trigger>Open</Sheet.Trigger>
<Sheet.Content class="w-[400px] sm:w-[540px]">
<Sheet.Header>
<Sheet.Title>Are you absolutely sure?</Sheet.Title>
<Sheet.Description>
This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
</Sheet.Description>
</Sheet.Header>
</Sheet.Content>
</Sheet.Root>