List

A general-purpose content list — a stack of peer item rows (leading media · title/description · trailing meta/actions) for settings, inbox/notification feeds, file lists, search results, and resource lists. Terse or composed items, surfaces & dividers, grouped sections, truncation, expandable rows, per-row status/unread/tone, and three selection models (navigational overlay, a keyboard GridList for multi-select, a radiogroup for single) with select-all, range, and a bulk-action bar.

Stablev0.3.0@garn/ui/list

Default

Terse rows — leading icon + title + description + a trailing badge.

Recent files
  • Q3 financials.pdf
    Updated 2 hours ago · 1.2 MB
    PDF
  • hero-banner.png
    Updated yesterday · 4.8 MB
    PNG
  • Brand assets
    24 items
    Folder

Appearances

plain · divided (inset) · card surfaces.

plain

Plain
  • Starred
    12 items
  • Archive
    340 items
  • Trash
    Empties in 30 days

divided · inset

Divided
  • Starred
    12 items
  • Archive
    340 items
  • Trash
    Empties in 30 days

card

Card
  • Starred
    12 items
  • Archive
    340 items
  • Trash
    Empties in 30 days

Selection Multiple

A keyboard grid — checkboxes, select-all, range, and a bulk-action bar.

Team members
1 selected
A
Ada Lovelace
Principal Engineer
A
Alan Turing
Research Lead
G
Grace Hopper
Staff Engineer
K
Katherine Johnson
Analyst

Selection Single

A radiogroup — single-choice rows (a plan picker).

Choose a plan

Grouped

List.Group section headers over nested lists.

Notifications
  • Today
    • New comment on your PR
      2:14 PM
    • Your post was featured
      11:03 AM
  • Earlier
    • Weekly digest ready
      Mon

Sizes

The size ladder — xs (condensed) · sm · md · lg.

xs

Size xs
  • Documents
    18 items
  • Photos
    204 items

sm

Size sm
  • Documents
    18 items
  • Photos
    204 items

md

Size md
  • Documents
    18 items
  • Photos
    204 items

lg

Size lg
  • Documents
    18 items
  • Photos
    204 items

Truncation

Title clamped to one line, description to N lines.

Threads
  • A very long subject line that will be clamped to a single line with an ellipsis
    This supporting description is deliberately long so it demonstrates the two-line clamp behaviour that keeps the row scannable in dense lists without wrapping forever.
    3

Loading Empty

List.Skeleton while loading; an Empty state via List.Empty.

loading

empty

Empty
  • No items yet

    Files you add will show up here.

Expandable

Expandable rows — a disclosure chevron reveals List.ItemDetail.

Order
  • Standard shipping
    3 items · $48.00
    Wireless mouse — $24.00
    USB-C cable — $12.00
    Notebook — $12.00
  • Gift wrapping
    Optional add-on

Status

Per-row status — unread, saving (spinner), error (retry), and a tone accent.

Sync status
  • Unread:
    New follower
    Marked unread
    now
  • report.pdf
    Saving changes…
  • banner.png
    Upload failed
  • deploy.yml
    Deployed to production
    Live

Keyboard Grid

A navigable link list (keyboardNavigation) — arrow keys + type-ahead.

Navigable list (arrow keys + typeahead)

Compose In

Compose-in — a right-click ContextMenu and an InlineEdit title.

Projects
  • Right-click for actions · click the title to rename