- Accordion
- Action Bar
- Alert Dialog
- Alert
- Announcement
- Aspect Ratio
- Autocomplete
- Avatar
- Badge
- Bottom Navigation
- Breadcrumb
- Button Group
- Button
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Circular Progress
- Circular Slider
- Clipboard
- Collapsible
- Color Picker
- Combobox
- Command
- Context Menu
- Data List
- Date Picker
- Dialog
- Drawer
- Editable
- Field
- File Upload
- Float
- Floating Panel
- Frame
- Hint
- Hover Card
- Image Cropper
- Input Group
- Input OTP
- Input
- Item
- Kbd
- Link Overlay
- Listbox
- Marquee
- Menu
- Native Select
- Number Input
- Pagination
- Popover
- Progress
- Prose
- QR Code
- Radio Group
- Rating
- Resizable
- Scroll Area
- Segment Group
- Select
- Separator
- Sheet
- Sidebar
- Signature Pad
- Skeleton
- Skip Nav
- Slider
- Spinner
- Status
- Steps
- Switch
- Table
- Tabs
- Textarea
- Timer
- Toast
- Toggle Group
- Toggle Tooltip
- Toggle
- Tooltip
- Tour
- Tree View
A simple item with title and description.
Installation
pnpm dlx shadcn@latest add https://shark.vini.one/r/item.json
Usage
import { Item, ItemActions, ItemContent, ItemDescription, ItemMedia, ItemTitle, } from "@/components/ui/item";
<Item> <ItemMedia /> <ItemContent> <ItemTitle /> <ItemDescription /> </ItemContent> <ItemActions /> </Item>
Variant
Use the variant prop to change the visual style of the item.
Default
Transparent background with no border.
Outline
Outlined style with a visible border.
Muted
Muted background for secondary content.
Custom spacing
The [--space:--spacing("value")] utility class controls the item padding and gap.
Uses `[--space:--spacing(2)]` for tighter padding and gap.
Wider from `md` up with `md:[--space:--spacing(5)]`.
Breakpoint utilities change the spacing at different screen sizes.
md:[--space:--spacing(4)] lg:[--space:--spacing(6)]
Examples
Icon
Use <ItemMedia /> with variant="icon" to display an icon.
New login detected from unknown device.
Avatar
<ItemMedia /> with variant="default" displays an avatar.
PVLast seen 5 months ago
Image
Use <ItemMedia /> with variant="image" to display an image.
Electric Nights · Neon Dreams · 3:45
Urban Stories · The Morning Brew · 4:05
Binary Beats · Cyber Symphony · 3:30
Group
Use <ItemGroup /> to group related items together.
vvinihvc@example.com
ssegunadebayo@example.com
ppasqualevitiello@example.com
Header
Use <ItemHeader /> to add a header above the item content.
Everyday tasks and UI generation.
Advanced thinking or reasoning.
Open Source model for everyone.
Link
Use the asChild prop to render the item as a link. The hover and focus states will be applied to the anchor element.
Dropdown
Use <Item /> inside a menu or dropdown to display rich content in menu items.
API Reference
Item
Layout for list items with media, title, description, and actions. Use [--space:--spacing("value")] via className to control padding and gap. Supports asChild.
| Prop | Type | Default |
|---|---|---|
variant | default, outline, muted | default |
asChild | boolean | false |
className | string | - |
| Attribute | Default |
|---|---|
--space | --spacing(3) |
ItemGroup
Groups related items with consistent spacing. Uses a fixed gap; adjust layout with className if needed. Has role="list" for accessibility.
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |
ItemSeparator
Horizontal divider between items in a group.
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |
ItemMedia
Avatar, icon, or image for the item. Supports icon and image variants.
| Prop | Type | Default |
|---|---|---|
variant | default, icon, image | default |
className | string | - |
asChild | boolean | false |
ItemContent
Wraps the item title and description text.
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |
ItemTitle
Primary title or heading for the item.
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |
ItemDescription
Secondary description or subtitle for the item.
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |
ItemActions
Holds action buttons or controls (e.g. menu, buttons).
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |
ItemHeader
Full-width header row above the item content.
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |
ItemFooter
Full-width footer row below the item content.
| Prop | Type | Default |
|---|---|---|
className | string | - |
asChild | boolean | false |