KQ-796 · STEP/CARD

Step Card

One agent step as a card whose header opens a body of inputs, tool calls and output to a height measured by a ResizeObserver on glide, the chevron turning on snap and the three sections arriving in a cascade. A rail on the card's left edge fills from the top on glide as the host reports progress and reads cobalt, success or danger by status; a failure holds the fill where it stopped, opens an error line and brings a Retry control in on snap. The header is a disclosure button, so Enter and Space open and close it, and Tab reaches Retry.

KQ-796 · STEP/CARD

Idle · press play

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/step-card

Props

step
StepCardStep
default —
The step: id, title, agent, an optional model, inputs as name and value pairs, tool calls with their status, an output once it lands, and an error when it fails.
index
number
default —
The step's number in its run, printed before the title.
status
"queued" | "running" | "done" | "failed"
default —
Drives the rail's tone, the status word and the live region.
progress
number
default —
0..1, the rail's fill; clamped and rounded before it reaches the transform.
expanded / defaultExpanded
boolean
default false
Controlled or initial open state.
onExpandedChange
(expanded: boolean) => void
default —
Fires from the header press or key.
onRetry
(id: string) => void
default —
Offers a Retry control on a failed step and fires from it.