Stepper
Guide users through a sequence of panels and completion states.
Use Stepper to show progress through a fixed sequence of steps. Decide whether users may jump ahead before enabling clickable navigation.
Basic usage#
Playground#
Step 1: Set up your profile and login credentials.
Anatomy#
The indicator, title, and description share one trigger; separators appear only between items.
Usage#
Linear and clickable steps#
The component’s linear and clickable behavior determines which steps can be activated. Use controlled state with value and onChange when completion or navigation decisions come from application state.
Panels and orientation#
Step labels and panels use tab-like relationships. Vertical orientation changes the layout and directional keyboard navigation; completed state and step icons remain data you supply.
Keyboard interaction#
activationMode controls whether keyboard focus selects a step immediately (automatic, the default navigation mode) or selection waits for activation (manual). Disabled or linear-locked steps are skipped.
| Key | Description |
|---|---|
| → / ↓ | Moves toward the next enabled step where applicable. |
| ← / ↑ | Moves toward the previous enabled step where applicable. |
| ↵ / Space | Activates the focused step in manual activation mode. |
Examples#
Controlled step#
Clickable and linear steps#
Attributes#
data-disabledSlot: stepper-item, stepper-separatorDescription: Present when the component, slot, or item is disabled.data-stateSlot: stepper-item, stepper-trigger, stepper-indicator, stepper-separatorDescription: Stores the component state used by styling hooks (e.g. open, closed, active).data-clickableSlot: stepper-triggerDescription: Present when the step or item accepts direct activation.data-selectedSlot: stepper-trigger, stepper-contentDescription: Present when the item or tab is selected.Props#
Props for the Stepper component. Renders a <div> element by default.