docs / core / list
List
a vertical stack of items, each with an optional marker. the marker is decoration, so the text carries the meaning on its own.
intensity · recedesrsc · client
provenance
authored in usvalayer
core / primitivesintensity
recedes · safe anywhere, including dense surfacescomposition
feature lists, checklists and summaries inside a Card or sectiondivided when the rows are entries, plain when they are bulletsnot a menu and not navigation. those have their own rolesmeaning never lives in the marker alonea11y
a realul or ol · every marker is aria-hiddenjest-axelive demo · try it out
- Runs entirely on your machine
- No tracking, no analytics
- Open source, end to end
customize
asul or ol, by whether order carries meaning
markerdecorative marker on every item
dividedrule between items, not after the last
usage
import { List, ListItem } from "@usva-ui/react/primitives/list";
<List marker={<CheckIcon />} divided>
<ListItem>Runs entirely on your machine</ListItem>
<ListItem>No tracking, no analytics</ListItem>
<ListItem>Open source, end to end</ListItem>
</List>props
| prop | type | default | notes |
|---|---|---|---|
| as | "ul" | "ol" | "ul" | pick by whether the order carries meaning. |
| marker | ReactNode | — | decorative marker on every item, hidden from assistive tech. |
| divided | boolean | false | rule between items, stopping at the last one. |
| ListItem marker | ReactNode | — | overrides the shared marker for this item alone. |
get it
bun add @usva-ui/reactusage
import { List, ListItem } from "@usva-ui/react/primitives/list";
<List marker={<CheckIcon />} divided>
<ListItem>Runs entirely on your machine</ListItem>
<ListItem>No tracking, no analytics</ListItem>
</List>