Skip to content

Stepper

Stepper

Stepper is a multi-step navigation component that guides users through complex workflows with animated transitions between steps.

PropertyValue
Step Indicator Size20px (mobile) / 28px (desktop)
Step Line Height2px (mobile) / 4px (desktop)
Width (Desktop)543px
Width (Mobile)320px (20rem)
Content Max-Width1444px
Animation Duration500ms
  • Three-step layout: Uses justify-content: space-evenly for balanced distribution.
  • Responsive breakpoints: Uses 768px (md) for layout adjustment between mobile and desktop styles.

The stepper-content area enforces a min-height calculated based on header height (approx. 130px - 137px), ensuring consistent page depth.

DirectionTransform
NextSlide from right (100% → 0)
PreviousSlide from left (-100% → 0)
Easingcubic-bezier(0.35, 0, 0.25, 1)
TransitionsHandled by @stepTransition animation trigger

Grey circle (bg-primary-tselGrey40) and grey label text.

Pending State

Brand red indicator (bg-primary-tselRed) and bold black label text.

Active State

Brand red indicator (bg-primary-tselRed) for validated steps.

Completed State

Note: Active step is determined by selectedIndex comparison; completed steps are validated via stepControl.status === 'VALID'.

ModeDescription
LinearMust complete steps in order
Non-linearCan jump to any step
ControlledSystem-controlled steps
Auto-advanceProgresses automatically
OptionTypeDefaultDescription
navigatebooleanfalseAllow step clicking
buttonBackbooleanfalseShow back button
btnResponsestringundefinedCustom button text
activeTabnumberundefinedSet initial step
stepClassstringundefinedCustom step class
isDeviceBundlingbooleanundefinedBundle mode
OrientationDescriptionUsage
HorizontalSteps in row, content belowStandard workflows
VerticalSteps in column, content besideComplex forms, desktop
Back ButtonNext/SubmitUsage
ShownShownStandard navigation
HiddenShownForward-only flow
ShownHiddenMulti-step review
HiddenHiddenControlled externally
DirectionTransform
NextSlide from right (100% → 0)
PreviousSlide from left (-100% → 0)
EasingSmooth easing
Opacity0 → 1 (current), 1 → 0 (leaving)
  • Multi-step forms
  • Checkout processes
  • Onboarding flows
  • Wizards and setup processes
  • Data entry with validation
✅ Do❌ Don’t
Show clear step labelsVague step names
Indicate progressHide user’s position
Allow review when possiblePrevent going back
Validate before nextSkip validation
Save state between stepsLost progress on back
Show completion statusUnclear finish
Consider mobile layoutCramped interface
ElementRecommendation
Steps per flow3-7 recommended
Step labels1-3 words
Content per stepFocused, single task
Completion time2-5 minutes total
  • Keyboard navigation (arrows, Tab)
  • Accessibility: step indicator
  • Keyboard navigation on step change
  • Screen reader announcements
  • Skip stepper link
ScreenLayout
DesktopHorizontal with labels
TabletHorizontal with icons
MobileCompact horizontal or vertical

View in Storybook →