build69
build69  /  Components  /  Data Display  /  KVList

KVList

v1.0.9Updated 27 Aug 2026

Two-column key/value display list. Use for read-only metadata, attribute panels, audit summaries.

Preview

Live · 17 stories
StackedOpen ↗
Why this is recommendedlistkvattributesmeta+2

KVList — stacked.

Recommended for+14
  • Detail page side panels
  • Settings summaries
  • Audit attribute lists
Tags+6
listkvattributesmetadefinitionstacked
Features+4
  • Aligned key column
  • Per-row icon support
  • Sections / groups
  • Inline edit affordance
  • Data states — loading (skeleton), empty, and error (role="alert" with a caller-supplied message + Retry, taking precedence over loading/empty/content)
  • i18n: labels prop overrides copy toasts, edit/copy/action aria-labels and the error message (DEFAULT_KV_LIST_LABELS)
Not recommended for−2
  • Tabular many-row data (use DataTable)
  • Editable forms (use FormField rows)

Install

Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.

get_registry_item({ name: "KVList" })

Usage

import { KVList } from '@/components/data-display/kv-list';

<KVList items={[{ key: 'Customer', value: 'Mali & Daughters' }, { key: 'Issued', value: '2025-01-12' }]} />

Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.

Props

PropTypeRequired
items

Key/value rows

KVItem[]yes
editable

Allow inline edit

boolean
layout

Row arrangement; 'grid' is an alias of 'multi'. 'multi' steps 1 -> 2 -> 3 columns off the width of the CONTAINER the list is in (intrinsic auto-fit tracks, min 13rem), not the viewport — so it stays correct inside a Sheet, Dialog or narrow pane on a wide screen. Pass your own style.gridTemplateColumns to override. MCP feedback fb_b9610152.

'stacked' | 'inline' | 'multi' | 'grid' | 'flush'
error

Error state: pass true for the default localized message or a ReactNode (message + Retry) for a custom one; renders a role="alert" region and takes precedence over loading/empty/content

React.ReactNode
labels

Override built-in UI strings (copy toasts, edit/save/cancel/copy/row-actions aria-labels, 'Edit {key}' template, error message) for i18n; English defaults exported as DEFAULT_KV_LIST_LABELS

Partial<KVListLabels>

Related