Skip to content

Stepper ​

A set of steps used to indicate progress. Responsive by default: horizontal when every step gets 140vp, vertical otherwise. Tap a step to go back (or to the next one).

Usage ​

Approximate web preview — the HarmonyOS rendering is the reference.

Vertical ​

linear: false lets the user jump to any step.

Approximate web preview — the HarmonyOS rendering is the reference.

API ​

Extracted from the @Param / @Event / @BuilderParam declarations in the library sources.

SStepper ​

shadcn-vue Stepper: numbered steps joined by separators; earlier steps are completed (check), the current one is active, later ones inactive.

Steps are numbers (1-based like reka-ui; value is the current step). orientation: 'responsive' (default) is horizontal when the stepper's own width gives every step at least 140vp, vertical otherwise. linear (default) only lets the user jump back or to the next step; tapping a step selects it.

PropTypeDefaultDescription
value!!number | undefinedundefinedControlled current step (use with !!). Leave undefined for uncontrolled.
defaultValuenumber1
orientationStepperOrientation
StepperOrientation = 'horizontal' | 'vertical' | 'responsive'
'responsive'
linearbooleantrue
EventTypeDefaultDescription
onValueChange(v: number) => void() => { }

Slots: children (trailing closure)

SStepperItem ​

One step: indicator circle (rounded-full size-8; check when completed, number otherwise), title (text-sm font-semibold), description (text-xs text-muted-foreground) and the separator to the next step (h-0.5 bg-muted, bg-primary once completed). Extra content goes in the slot.

PropTypeDefaultDescription
stepnumber1
titleResourceStr''
descriptionResourceStr | undefinedundefined
disabledbooleanfalse
iconstring | undefinedundefinedLucide icon shown in the circle instead of the number (completed steps still show a check).

Slots: children (trailing closure)

MIT Licensed