The generic row of a non-tabular list: leading visual, title and description, meta and actions. Recent posts, contacts in a side panel, notifications, search results. Hover-revealed actions stay reachable on focus and touch; with selectable the list becomes a keyboard listbox.
Recent posts
- A practical guide to QR menus for restaurantsSamet · Today, 09:00Published
- How to stand out on Google Business ProfileMeltem · Nov 11, 09:00Scheduled
- Local SEO checklist for 2026Samet · Edited yesterdayDraft
- NFC business cards vs. paperEce · Nov 8In review
Installation
The whole kit as one package — get updates by bumping the version. Add the styles to globals.css: @import "@vamos-ui/react/styles.css";
Usage
import { Item, ItemContent, ItemDescription, ItemList, ItemMeta, ItemTitle } from "@vamos-ui/react";
<ItemList>
<Item>
<ItemContent>
<ItemTitle>Local SEO checklist for 2026</ItemTitle>
<ItemDescription>Samet · Edited yesterday</ItemDescription>
</ItemContent>
<ItemMeta>Draft</ItemMeta>
</Item>
</ItemList>Examples
Leading visuals
Avatar, icon tile (variant="icon"), thumbnail (variant="thumbnail") or a checkbox.
- Ayşe KayaHead of Sales · Northwind TradersAvatar
- Invoice INV-2041 paid$10,720.00 · Kadıköy BistroIcon
- terrace-dinner-hero.jpg2400 × 1600 · 412 KBThumbnail
- Cookie policyLegal page · updated Oct 2Checkbox
Hover actions (CRM)
reveal="hover" hides actions until hover — they still show on focus-within and always on touch screens.
Contacts
Actions appear on hover, on focus and always on touch screens.
- Ayşe KayaHead of Sales · Northwind Traders
- Burak ŞenOwner · Kadıköy Bistro
- İlker ŞahinMarketing lead · Moda Wellness
Selectable list (HR)
selectable="single" | "multiple": listbox with ↑ ↓ Home End, Space/Enter toggles, Shift+↓ extends, Ctrl/⌘+A selects all. Disabled rows are skipped.
Assign reviewers
1 selected · ↑ ↓ to move, Space to toggle
- Ece DemirProduct designer3 open tasks
- Meltem AydınAccount manager7 open tasks
- Can ÖzkanFrontend engineerOn leave until Nov 14
- Samet SarıFounder2 open tasks
Rows as links (search)
asChild merges the row styles onto your Link. Keep actions out of link rows (one interactive element).
Loading and empty
ItemSkeleton for loading rows; ItemList empty for the no-rows message.
Upcoming birthdays
Loading
Upcoming birthdays
Empty
API
ItemList
| Prop | Type | Default |
|---|---|---|
dividedHairlines between rows. | boolean | true |
insetSmall side padding and rounded hover — for a list inside a padded CardBody. | boolean | false |
selectableListbox behaviour; Item children need a value. | "single" | "multiple" | — |
value / defaultValueSelected values (controlled / uncontrolled). | string[] | — |
onValueChangeSelection change. | (value: string[]) => void | — |
asList element. | "ul" | "ol" | "div" | "ul" |
emptyShown when there are no children. | ReactNode | — |
Item
| Prop | Type | Default |
|---|---|---|
valueOption value in a selectable list. | string | — |
sizeRow height from --row-h (−0.5rem / base / +1rem). | "sm" | "md" | "lg" | "md" |
alignVertical alignment of the parts. | "center" | "start" | "center" |
interactiveHover tint and pointer (default on for asChild and options). | boolean | — |
disabledDimmed, aria-disabled, skipped by the keyboard. | boolean | false |
asChildMerge the row onto the child (a link). | boolean | false |
asRow wrapper element. | "li" | "div" | "li" |
ItemLeading
| Prop | Type | Default |
|---|---|---|
variantIcon tile or 56×40 thumbnail frame. | "plain" | "icon" | "thumbnail" | "plain" |
ItemTitle
| Prop | Type | Default |
|---|---|---|
truncateOne line; string titles get a title tooltip. | boolean | true |
asChildRender as a heading or link. | boolean | false |
ItemActions
| Prop | Type | Default |
|---|---|---|
revealhover: visible on hover, focus-within and touch. | "always" | "hover" | "always" |
ItemSkeleton
| Prop | Type | Default |
|---|---|---|
countPlaceholder rows. | number | 3 |
leadingInclude an avatar circle. | boolean | true |
ItemContent / ItemDescription / ItemMeta
| Prop | Type | Default |
|---|---|---|
...propsLayout parts. | HTMLAttributes | — |