Axon 911 Frontend Docs
    Loading navigation…
U
User
Switch to light mode
  1. Components
  2. Stepper
  3. Usage

Stepper

Usage

Stepper is an ordered list that reports progress through a wizard or checklist. Each step is complete, current, or upcoming. Progress comes from the current step id; optional error, optional, and disabledReason fields on a step adjust copy and markers without replacing progress (see Accessibility for how assistive technology reads errors). The vertical rail is a summary: one-sentence descriptions per step, not badges or counts.
When to use
  • A form or takeover flow where the person needs to see what is done, what is active, and what is left.
  • A bounded vertical rail beside scrolling fields inside a dialog or drawer.
When not to use
  • Measurable completion without named steps: use Progress.
  • Peer panels on one route: use Tabs.
  • A live protocol list over chat: use LiveGuidance.
Props
PropRole
stepsData for each row: id, label, optional description, error, optional, disabledReason.
currentControlled id of the active step. Unknown ids warn once and leave no step current.
stateLabelsRequired hidden text for every StepperState, including Error.
announcementOptional (change) => LocalizedMessage for one polite sentence when a step becomes current or complete after mount.
onStepSelectWhen set, eligible steps render as buttons; arrow keys rove among them.
selectionStepperSelection.Completed (default) or All to widen which steps are buttons.
orientationHorizontal (default) or Vertical.
compactHorizontal only: hides non-current labels visually while keeping them in the accessible name.
Progress and error
current drives complete, current, and upcoming. When step.error is set, the row still uses its progress position and title. The marker shows an alert glyph, visible error copy replaces the description, and assistive technology hears the progress state label, then the error state label, then the label and error message. Only rows with error add the extra hidden error state text.
Optional and disabled steps
optional appends muted suffix copy after the label (read after the title). disabledReason dims the title, replaces the description, and prevents selection. These flags are built for wizard flows; there is no recorded UX Core ruling that optional steps are approved for merge—ship the API additively and avoid claiming approval in copy.
Motion
Connector fills animate forward with token spring motion and stagger up to four segments; backward jumps snap instantly. Marker check swaps use glide enter and exit tokens. Under prefers-reduced-motion: reduce or data-motion="reduced" on the document root, transform transitions and stagger delays are zeroed while layout and state stay the same.
Layout
Put a long step list in a bounded Scrollable; the rail beside a scrolling form stays fixed while fields scroll (see Composition stories). Labels wrap; the marker aligns to the first line.
Not included
Per-step badges or counts in the rail, footer Back/Next, or horizontal descriptions below 640px in form wizards (handled in later form-wizard work).
Previous
Status dot / Accessibility
Next
Stepper / API and Development
On this page
When to use
When not to use
Props
Progress and error
Optional and disabled steps
Motion
Layout
Not included