Skip to content

Item

A list row that pairs leading media and content with metadata and an action.

Browsers
Chrome 123+Firefox 121+Safari 17.5+
Tier
0
Forced layout budget
0 ms
Axe budget
0
SSR compatible
Yes
Published contract
Test harness

Playground

Item

  • Mina Chen
    Design · Updated today
  • Sam Rivera
    Engineering · Updated yesterday

Examples

Recent projects

Omit media and actions when a plain project name and its metadata are enough; use links only when a real destination exists.

  • Project Atlas
    Private project · Updated 2 hours ago
  • Q3 launch
    Shared with 4 people · Updated yesterday
import { Item, ItemContent, ItemMetadata } from "@gunkin/uiify";

export default function Example() {
  return (
    <ul>
      <Item>
        <ItemContent>Project Atlas</ItemContent>
        <ItemMetadata>Private project · Updated 2 hours ago</ItemMetadata>
      </Item>
      <Item>
        <ItemContent>Q3 launch</ItemContent>
        <ItemMetadata>Shared with 4 people · Updated yesterday</ItemMetadata>
      </Item>
    </ul>
  );
}

API

Item

PropTypeDefaultDescription
childrenReactNode—Media, primary content, metadata, and optional actions.
className / style / ref / native li propsnative li props—Native list-item props, styles, events, and ref are forwarded.
renderReactElement | ((props, state) => ReactElement)—Replace the rendered element while keeping behavior and accessibility wiring.

ItemMedia

PropTypeDefaultDescription
childrenReactNode—Content for this presentational item part.
renderReactElement | ((props, state) => ReactElement)—Replace the rendered element while keeping behavior and accessibility wiring.

ItemContent

PropTypeDefaultDescription
childrenReactNode—Content for this presentational item part.
renderReactElement | ((props, state) => ReactElement)—Replace the rendered element while keeping behavior and accessibility wiring.

ItemMetadata

PropTypeDefaultDescription
childrenReactNode—Content for this presentational item part.
renderReactElement | ((props, state) => ReactElement)—Replace the rendered element while keeping behavior and accessibility wiring.

ItemActions

PropTypeDefaultDescription
childrenReactNode—Content for this presentational item part.
renderReactElement | ((props, state) => ReactElement)—Replace the rendered element while keeping behavior and accessibility wiring.

Keyboard

KeyAction

Accessibility

Item renders a list item; place it inside a native ul or ol. Parts are presentational. Keep links and buttons as separate controls; do not make the entire row one link or button. For ItemMedia, choose meaningful alt text or an empty alt when the media is decorative.

Styling hooks

data-uiify-itemdata-uiify-item-mediadata-uiify-item-contentdata-uiify-item-metadatadata-uiify-item-actionsdata-part