Stepper

Stepper displays a sequence of steps for a multi-step workflow or wizard. Individual steps are declared with Step children. Inspired by the Material UI Stepper, it supports horizontal and vertical orientations, an alternative-label layout, and a nonLinear mode that allows users to navigate between steps freely.

Behaviors

This component supports the following behaviors:

BehaviorProperties
Animationanimation, animationOptions
Bookmarkbookmark, bookmarkLevel, bookmarkTitle, bookmarkOmitFromToc
Component Labellabel, labelPosition, labelWidth, labelBreak, required, enabled, shrinkToLabel, style, readOnly
Tooltiptooltip, tooltipMarkdown, tooltipOptions
Styling Variantvariant

Properties

activeStep

default: 0

The 0-based index of the currently active step. If not set, the first step (index 0) is active. When out of range, it falls back to 0.

nonLinear

default: false

When true, step headers become clickable so users can jump to any step. Default is false (linear navigation via the next/prev APIs).

orientation

default: "horizontal"

Layout orientation of the stepper. In horizontal mode the step headers are laid out in a row above a shared content area; only the active step's content is shown. In vertical mode each step renders its own header with the active step's content expanding beneath it.

Available values: horizontal (default), vertical

stackedLabel

default: false

When true, step labels are placed below the step icons instead of next to them. Works in both horizontal and vertical orientations.

Events

didChange

This event is triggered when value of Stepper has changed.

Signature: didChange(newValue: any): void

  • newValue: The new value of the component.

Exposed Methods

next

Advances to the next step. If the current step is the last, no change occurs.

Signature: next(): void

prev

Moves back to the previous step. If the current step is the first, no change occurs.

Signature: prev(): void

reset

Resets the stepper back to the first step (index 0).

Signature: reset(): void

setActiveStep

Sets the active step by its 0-based index.

Signature: setActiveStep(index: number): void

Styling

Theme Variables

VariableDefault Value (Light)Default Value (Dark)
backgroundColor-icon-Stepper$color-surface-300$color-surface-300
backgroundColor-icon-Stepper--active$color-primary-500$color-primary-500
backgroundColor-icon-Stepper--completed$color-primary-500$color-primary-500
backgroundColor-icon-Stepper--error$color-danger-500$color-danger-500
backgroundColor-Steppertransparenttransparent
borderColor-connector-Stepper$borderColor$borderColor
borderColor-connector-Stepper--completed$color-primary-500$color-primary-500
borderStyle-connector-Steppersolidsolid
borderWidth-connector-Stepper1px1px
fontSize-description-Stepper$fontSize-small$fontSize-small
fontSize-icon-Stepper$fontSize-small$fontSize-small
fontSize-label-Stepper$fontSize-base$fontSize-base
fontWeight-icon-Stepper$fontWeight-bold$fontWeight-bold
fontWeight-label-Stepper$fontWeight-normal$fontWeight-normal
gap-Stepper00
padding-content-Stepper$space-4 0$space-4 0
padding-Stepper00
size-icon-Stepper28px28px
textColor-description-Stepper$textColor-secondary$textColor-secondary
textColor-icon-Stepper$color-surface-50$color-surface-50
textColor-icon-Stepper--active$color-surface-50$color-surface-50
textColor-icon-Stepper--completed$color-surface-50$color-surface-50
textColor-icon-Stepper--error$color-surface-50$color-surface-50
textColor-label-Stepper$textColor-secondary$textColor-secondary
textColor-label-Stepper--active$textColor-primary$textColor-primary
textColor-label-Stepper--completed$textColor-primary$textColor-primary
textColor-label-Stepper--error$color-danger-600$color-danger-600