Skip to content

Key-value / description list

In review
Live · web

Session inspector: aligned label → value

nockerl-design · docs site
Session details
Status
Streaming
Model
Large 2.0
Session ID
sess_3kPq9veL2mZ
Tokens
128,420 in · 9,310 out
Owner
the design lead
Created
Jun 27, 2026 · 09:14
Repo
dizyx/nockerl-design
Workspace
dizyx
Ended
Not set

Compact: label above value (narrow panes)

Status
Healthy
Endpoint
http://localhost:8080
Commit
a1f9c34d8e2b
Working directory
~/dizyx/projects/nockerl-design/ repos/nockerl-design

Tool call parameters: read-only key → value

Tool
Edit
file_path
src/components/NockerlButton.tsx
Result
Awaiting approval

Copy fired 0 times. Hover or tab a row, then activate its copy button. The island is live.

// Web: React, consuming @dizyx/nockerl-tokens. (Web is the laggard platform. Spec + live demo,
// not yet exported from @dizyx/nockerl-react; promotion is tracked.)
// Renders a semantic <dl> of <dt>/<dd> pairs: ONE record's properties.
export function SessionInspector({ session }) {
return (
<KeyValueList title="Session details" labelWidth={112}>
<KeyValueRow label="Status">
<StatusValue status="info">Streaming</StatusValue>
</KeyValueRow>
<KeyValueRow label="Model">{session.model}</KeyValueRow>
<KeyValueRow label="Session ID" mono copyText={session.id}>
{session.id}
</KeyValueRow>
<KeyValueRow label="Tokens" mono>{session.tokens}</KeyValueRow>
<KeyValueRow label="Repo">
<a href={session.repoUrl}>{session.repo}</a>
</KeyValueRow>
<KeyValueRow label="Ended" />{/* empty → renders a muted "-" */}
</KeyValueList>
);
}
PropTypeDefaultDescription
label *stringThe key, rendered as the muted <dt> in the aligned label column.
childrenReactNodeThe value (<dd>): text, a StatusValue pill, a link, an avatar+name. Omit / empty → a muted -.
monobooleanfalseRender the value in the font.family.mono token (ids, token counts, hashes, commits).
multilinebooleanfalseLet the value wrap across lines (paths, descriptions) instead of staying on one baseline.
copyTextstringReveals a copy button (a separate focusable target) that writes this string and confirms Copied for 2s.

KeyValueList wraps the rows in the lifted card + semantic <dl>. Props: title?, labelWidth? (aligned column, px), variant?: ‘aligned’ | ‘stacked’ (stacked puts the label above the value for narrow panes).