Item
A versatile component that you can use to display any content.
Loading preview…
1<script lang="ts">
2 import Button from '../button/button.svelte';
3 import * as Item from './index.js';
4</script>
5
6<div class="flex w-full max-w-md flex-col gap-6">
7 <Item.Root variant="outline">
8 <Item.Content>
9 <Item.Title>Basic Item</Item.Title>
10 <Item.Description>A simple item with title and description.</Item.Description>
11 </Item.Content>
12 <Item.Actions>
13 <Button variant="outline" size="sm">Action</Button>
14 </Item.Actions>
15 </Item.Root>
16</div>
17Installation
1. Install dependencies
2. Copy these files into your project
- ~/components/item/index.ts
- ~/components/item/item.svelte
- ~/components/item/item.variants.ts
- ~/components/item/item-group.svelte
- ~/components/item/item-separator.svelte
- ~/components/item/item-header.svelte
- ~/components/item/item-footer.svelte
- ~/components/item/item-content.svelte
- ~/components/item/item-title.svelte
- ~/components/item/item-description.svelte
- ~/components/item/item-actions.svelte
- ~/components/item/item-media.svelte
- ~/components/item/item-media.variants.ts
Usage
Use item for flexible content rows with title, description, media, and actions. Group rows with Item.Group and Item.Separator. Render as a link via the child snippet. Set variant and size on Item.Root.
1<script lang="ts">
2 import * as Item from '~/components/item';
3 import { Button } from '~/components/button';
4</script>
5
6<Item.Root variant="outline">
7 <Item.Content>
8 <Item.Title>Basic Item</Item.Title>
9 <Item.Description>A simple item with title and description.</Item.Description>
10 </Item.Content>
11 <Item.Actions>
12 <Button variant="outline" size="sm">Action</Button>
13 </Item.Actions>
14</Item.Root>