Skip to content
ZikZuk UI

List

Stripe List

Related records inside a Section: flat rows separated by hairlines, a title with an optional grey second line on the left, a value on the right, an icon or image in front. With href the whole row is a real link; with onPress, or an id inside List onAction, it is a button. Row actions sit outside the clickable area, so opening a menu never opens the row.

pnpm add @zikzuk/ui
import { List, ListItem } from "@zikzuk/ui";

onAction

Rows report their id.

Picked: none yet

When to use

  • A provider's rules, an account's branches, quick links and help on an overview.

Not for

  • A long, sortable, paged list — use a table.

Props

List

PropTypeDescription
childrenListItem elementsThe rows.
onAction(id) => voidEvery ListItem with an id becomes a button reporting it.
size"default" | "large"
Default "default"
Taller rows for images.
aria-labelstringNames the list.
classNamestringExtra classes on the outer element.

ListItem

PropTypeDescription
titleReactNodeLeft, medium weight; teal on hover when interactive.
descriptionReactNodeGrey second line (alias secondaryTitle).
valueReactNodeRight-aligned, tabular.
iconComponentType | ReactNodeA lucide icon or any node, in front.
imageReactNodeWins over icon.
hrefstringThe whole row is a link with a chevron.
onPress() => voidThe whole row is a button.
idstringReported to List onAction.
actionsReactNodeRowActions or IconActions beside the row.
disabledbooleanNot interactive, greyed title.