Stepper

Navigation
Workflow

A multi-step progress indicator for wizards, onboarding flows, and sequential processes. Supports horizontal and vertical orientations with multiple status states.

Preview

Basic wizard stepper with step descriptions

Progress1 of 4 complete
Account Setup
Create your account
03:30 PM
Profile Details
Add your information
35m left
Verification
Verify your identity
Complete
Ready to go

Orientations

Horizontal and vertical layout options

Horizontal

Account Setup
Create your account
03:30 PM
Profile Details
Add your information
35m left
Verification
Verify your identity
Complete
Ready to go

Vertical

Account Setup
Create your account
03:30 PM
Profile Details
Add your information
35m left
Verification
Verify your identity
Complete
Ready to go

Sizes

Small, medium, and large size variants

Small

Account Setup
Create your account
03:30 PM
Profile Details
Add your information
35m left
Verification
Verify your identity
Complete
Ready to go

Medium (default)

Account Setup
Create your account
03:30 PM
Profile Details
Add your information
35m left
Verification
Verify your identity
Complete
Ready to go

Large

Account Setup
Create your account
03:30 PM
Profile Details
Add your information
35m left
Verification
Verify your identity
Complete
Ready to go

Compact Mode

Space-efficient layout for constrained areas

Account Setup
Profile Details
Verification
Complete

Workflow Example

Content approval workflow with team collaboration

Progress1 of 4 complete
Content created
Sofia Rodriguez
03:30 PM
Design review
Marcus Johnson
35m left
Team feedback
O
P
Y
Published

Status States

Complete, active, failed, skipped, and pending states

Progress1 of 3 complete
Draft created
10:00 AM
AI review
AI Agent
10:05 AM
Schedule post

Props

Stepper component API reference

PropTypeDefaultDescription
stepsStepperStep[][]Array of steps
orientation'horizontal' | 'vertical''horizontal'Display orientation
size'sm' | 'md' | 'lg''md'Visual size variant
onStepClick(step: StepperStep, index: number) => voidCallback when step is clicked
showProgressbooleantrueShow progress bar
showDeadlineWarningsbooleantrueShow deadline warnings for active steps
compactbooleanfalseSpace-efficient layout

StepperStep Type

PropTypeDefaultDescription
label*stringStep label
status*'complete' | 'active' | 'failed' | 'skipped' | 'pending'Step status
descriptionstringOptional step description
timestampstring | Date | nullCompletion timestamp
assigneestring | { name: string; avatar?: string }Assigned person
parallel_assigneesArray<{ name: string; avatar?: string }>Multiple assignees
deadline_minutesnumberDeadline in minutes
elapsed_minutesnumberTime elapsed in minutes

Usage

Import and implementation example

import { Stepper } from '@/components/ui/stepper'

const steps = [
  {
    label: 'Account Setup',
    status: 'complete',
    description: 'Create your account'
  },
  {
    label: 'Profile Details',
    status: 'active',
    description: 'Add your information'
  },
  {
    label: 'Verification',
    status: 'pending',
    description: 'Verify your identity'
  }
]

export default function Example() {
  return (
    <Stepper
      orientation="horizontal"
      steps={steps}
      showProgress={true}
      onStepClick={(step, idx) => console.log(step)}
    />
  )
}

Features

Built-in functionality

  • Multi-step visualization: Progress display with status indicators for each step
  • Five status types: Complete, active, failed, skipped, and pending states
  • Orientation options: Horizontal and vertical display modes
  • Size variants: Small, medium, and large size options
  • Step descriptions: Optional description text for each step
  • Deadline warnings: Time remaining alerts with urgency indicators
  • Assignee tracking: Shows AI/human indicators and parallel assignees
  • Progress bar: Overall completion percentage
  • Compact mode: Space-efficient layout for constrained areas
  • Dark mode: Full dark mode support

Accessibility

Accessibility considerations

ARIA Attributes

Steps are clickable regions with keyboard supportStatus icons have appropriate semanticsProgress bar has accessible percentage

Keyboard Navigation

KeyAction
TabNavigate between steps
Enter / SpaceActivate step click handler

Notes

  • Status indicated by icon and color
  • Step labels are readable text
  • Timestamps shown in readable format
  • Deadline warnings include time remaining

Related Components