ns-ui
Prompt version history read like woodgrain — one vertical fiber per prompt block running down through every revision, continuous where that block is unchanged and nicked where it churned, so the load-bearing parts of a prompt are visible without diffing anything.
Use when the panel that answers 'which parts of this prompt are load-bearing and which churn every release' across a whole version history at once — each prompt block is one vertical fiber whose unbroken length IS its stability, so a never-touched system block reads as a single 300px line and a rewritten tools block reads as a ladder of stubs. Pick diff-unified-viewer instead when the user needs the actual line-level text change between two specific versions, approval-inline-diff when a proposed edit needs accepting or rejecting, and context-prompt-shims when the user is composing what goes into the prompt rather than auditing what already happened to it.
Install
npx shadcn add https://design.helpmarq.com /r/prompt-version-grain.jsonns-ui / prompt-version-grain
One fiber per prompt block, running down through every release. Unbroken means untouched; a nick marks the release where that block changed.
| Prop | Type | Default | Description |
|---|---|---|---|
| blocks? | PromptGrainBlock[] | — | Prompt blocks, left to right. |
| versions? | PromptGrainVersion[] | — | Versions, NEWEST FIRST. |
| rowHeight? | number | — | Resting row height in px. |
| expandedRowHeight? | number | — | Row height while a nick is expanded, in px. |
| columnMinWidth? | number | — | Minimum column width in px. |
| ariaLabel? | string | — | — |
| className? | string | — | — |