Cajón Design System
Components

Stepper

Labelled progress for persistent multi-step flows.

Stepper indicates where someone is in a multi-step flow. The host owns all entered values and validation; moving backward must not clear data.

<Stepper
  steps={steps}
  current={currentStep}
  onStepClick={setCurrentStep}
/>

Props

PropTypeDefaultNotes
steps{ id, label, optional? }[]—Ordered, sentence-case decision labels
currentnumber—Zero-indexed current step
onStepClick(index: number) => void—Omit for an indicator; supply it to navigate
allowForwardbooleanfalsePermits clicks beyond the current step
orientationhorizontal | verticalhorizontalVertical is suited to a side rail
variantbar | numberedbarUse numbered for short flows

At narrow widths, the horizontal presentation condenses to “Step n of total” and the current label while retaining the ordered-list semantics for assistive technology.

On this page