Back to elements
ElementNavigationFree

Vertical Progress Steps React component

A live status tracker for multi-step processes like deploys, imports and order tracking: each step is done, running, waiting or failed, the connector fills as steps finish, the running step spins and shows its log lines, and screen readers hear every change.

When to use the Vertical Progress Steps component

Use Vertical Progress Steps to show where a running process is: deploys and CI pipelines, data imports, order and shipping tracking, account verification.

For a form wizard people step through, use Stepper; for a history of past events, use Timeline.

Installation

Add the Vertical Progress Steps component to your project with the shadcn CLI. It lands in components/vertical-progress-steps.tsx as plain React + Tailwind CSS source you own and can edit.

Install
Copied!
npx shadcn@latest add @reactframe/vertical-progress-steps

Or copy the source by hand and install its dependencies:

Install
Copied!
npm install motion clsx tailwind-merge

Props

<VerticalProgressSteps /> accepts 6 props (required ones are marked *).

  • steps*
    { id: string; title: string; description?: string; status: StepStatus; meta?: string; detail?: React.ReactNode }[]
  • size
    "sm" | "md"
    Default: "md"
  • accentColor

    Colour of finished steps and the filled connector.

    string
  • label
    string
    Default: "Progress"
  • theme
    "dark" | "light"
    Default: "dark"
  • className
    string

FAQ

Who moves the steps along?
You do: pass each step's status from your own state or server events and the tracker animates the change (the demo simulates it with timers).
How is a failure shown?
Set a step's status to "error": the marker, title and description turn red and its detail (for example a Retry button or the error log) opens under it.
Is progress announced?
Yes, a polite live region reads a summary like '2 of 5 steps done, Build in progress' whenever a status changes, and the running step has aria-current="step".

Related components

Dot Pager Indicator
Free
Side Tab Menu
Free
Language Switcher
Free
Timeline
Free
Tree View
Free
Stat Card
Free