Stepper

A sequence of steps that shows where the user is in a multi-stage flow.

Usage

Steps are numbered from 1. Every step below the active one is completed, the active one is highlighted, and the ones above it are inactive. Clicking a StepperTrigger makes its step the active one; leave the trigger out and drive value from your own controls for a read-only stepper.

API Reference

This is a custom component.

Stepper

Root ordered list. Holds the active step and the orientation and exposes both to its items through data-orientation.

StepperItem

List item for one step. Derives its state from step and the active step and exposes it as data-state (completed, active or inactive), plus data-orientation, data-disabled and data-loading.

StepperTrigger

Button that makes its step the active one. Carries aria-current="step" while active, is disabled with its item, and supports the render prop for links.

StepperIndicator

The step marker. Shows the step number by default, swaps it for a checkmark once the step is completed and for a spinner while it is loading. Pass children to replace that content: a string or number keeps the number styling without the checkmark, anything else, such as an icon, an avatar or a visually hidden label under a progress bar, renders as is.

StepperTitle

Label of a step. Place it inside the trigger so it is part of the step's accessible name.

StepperDescription

Secondary text of a step, rendered muted.

StepperSeparator

Connector between two steps. Follows the root orientation and turns to the primary colour once the step it belongs to is completed. Hidden from assistive technology.

Examples

Numbers only

Tiny indicators

Controlled

Loading step

Mixed indicators

Labels

Paginated

Progress

Titles and descriptions

Inline titles

Inline titles and descriptions

Vertical

Controlled vertical

Vertical with inline titles

Vertical with inline titles and descriptions