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.