Library lists
Design References
Contract
RecordList renders repeated records that are not
naturally tabular. Each item comes from the view model and may use a supplied
item renderer or generic summary fields.
Each item requires stable id when it has events or when mounted updates may
reorder items. Static lists without events may omit id; in that case the
renderer uses the item index as an internal path only, and handlers must not
depend on it as stable identity. The generic summary shape is optional id,
required title, optional meta, optional detail, optional status, and
optional events. Public-safe strings may name user-visible records,
statuses, and actions, but must not include secrets, bearer tokens, raw
provider payloads, stack traces, SQL, or private customer data. meta is an
ordered array of public-safe strings. status is a status pill value object
with label and semantic status; allowed values are neutral, working,
success, warning, danger, and muted. events uses the same item shape
as EventBar: public label, exactly one onClick event name, and optional
variant.
Empty arrays render the configured empty state. When no empty state is provided, the renderer emits a neutral empty-state surface with the list label. Item events emit the list id or path plus the item id and event name; they do not carry the item payload. The controller reads any required model state.
Consequence
Lists are for repeated content where scanning individual records matters more than column comparison.