Skip to content
shadcn.io is not affiliated with official shadcn/ui

Shadcn Steps for React and Tailwind

Steps in a wizard-like format.

Step 1

Installation

bunx --bun shadcn@latest add https://kit.dev/r/steps.json

Anatomy

Steps
├── StepsList
│   └── StepsItem
│       ├── StepsTrigger
│       ├── StepsIndicator
│       ├── StepsSeparator
│       ├── StepsTitle
│       └── StepsDescription
├── StepsContent
├── StepsCompletedContent
├── StepsPrevious
└── StepsNext

Usage

import {
  Steps,
  StepsList,
  StepsItem,
  StepsTrigger,
  StepsSeparator,
  StepsIndicator,
  StepsTitle,
  StepsDescription,
  StepsContent,
  StepsCompletedContent,
  StepsNext,
  StepsPrevious
} from "@/components/ui/steps";
<Steps>
  <StepsList>
    <StepsItem>
      <StepsTrigger>
        <StepsIndicator />
        <StepsTitle />
      </StepsTrigger>
      <StepsSeparator />
    </StepsItem>
  </StepsList>
  <StepsContent />
  <StepsCompletedContent />
  <StepsPrevious />
  <StepsNext />
</Steps>

Examples

Title

Use StepsTitle to display a description for each step.

Description

Use StepsDescription to display a description for each step.

Vertical

Use orientation="vertical" for a vertical layout.

Loading

Controlled

Use the step and onStepChange props to control the active step programmatically.

Custom Icon

API Reference

Steps

Root component. Manages step state and connectors.

PropTypeDefault
countnumber-
stepnumber-
defaultStepnumber-
orientation"horizontal" | "vertical""horizontal"
linearbooleanfalse
onStepChange(details: StepChangeDetails) => void-
onStepComplete() => void-

StepsList

Wraps the list of steps. Handles connector layout.

AttributeDefault
--steps-gutter--spacing(2)
--steps-icon-size--spacing(4)
--steps-size--spacing(8)

For a complete list of props, see the Ark UI documentation.