Officina UI
Components

PropertyList

Dense label/value rows for detail panels and settings summaries.

PropertyList renders dense label/value rows as a <dl> for detail panels and settings summaries. Feed it an items array of { label, value }, or pass PropertyItem children when a value needs custom markup. Control the layout with orientation (horizontal puts label and value side by side, vertical stacks them), toggle divided rules, and set the label column width with labelWidth.

Example

Preview
Workspace
Acme Operations
Plan
Growth
Owner
ada@acme.test
import { PropertyList } from '@officina/ui';

<PropertyList
  items={[
    { label: 'Workspace', value: 'Acme Operations' },
    { label: 'Plan', value: 'Growth' },
    { label: 'Owner', value: 'ada@acme.test' },
  ]}
/>;

API

PropertyList

The label/value list container.

PropTypeDefaultDescription
childrenReactNode—`PropertyItem` children; alternative to `items`.
dividedbooleantrueAdd dividing lines between rows.
itemsPropertyListItem[]—Data-driven rows; alternative to passing `PropertyItem` children.
labelWidthstring10remWidth of the label column when horizontal.
orientationenumhorizontal`horizontal` puts label and value side by side; `vertical` stacks them.

PropertyItem

A single label/value row, for custom value markup.

PropTypeDefaultDescription
children*ReactNode—Row value.
label*ReactNode—Row label.
dividedbooleantrueDraw a divider above the row.
labelWidthstring10remWidth of the label column when horizontal.
orientationenumhorizontalLayout of label vs value; inherited from the list by default.

On this page