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
| Prop | Type | Default | Description |
|---|---|---|---|
steps | StepperStep[] | [] | Array of steps |
orientation | 'horizontal' | 'vertical' | 'horizontal' | Display orientation |
size | 'sm' | 'md' | 'lg' | 'md' | Visual size variant |
onStepClick | (step: StepperStep, index: number) => void | — | Callback when step is clicked |
showProgress | boolean | true | Show progress bar |
showDeadlineWarnings | boolean | true | Show deadline warnings for active steps |
compact | boolean | false | Space-efficient layout |
StepperStep Type
| Prop | Type | Default | Description |
|---|---|---|---|
label* | string | — | Step label |
status* | 'complete' | 'active' | 'failed' | 'skipped' | 'pending' | — | Step status |
description | string | — | Optional step description |
timestamp | string | Date | null | — | Completion timestamp |
assignee | string | { name: string; avatar?: string } | — | Assigned person |
parallel_assignees | Array<{ name: string; avatar?: string }> | — | Multiple assignees |
deadline_minutes | number | — | Deadline in minutes |
elapsed_minutes | number | — | Time 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 percentageKeyboard Navigation
| Key | Action |
|---|---|
| Tab | Navigate between steps |
| Enter / Space | Activate 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