Progress Stepper
A multi-step wizard / flow indicator. Works uncontrolled (drive it via a ref) or controlled (you own steps[i].state and currentStep, applying transitions reported through onStepChange).
Usage
import { ProgressStepper } from '@mav-labs-inc/mavkit-react'
// Uncontrolled — internal state, drive it via ref
<ProgressStepper
steps={[{ label: 'Details' }, { label: 'Payment' }, { label: 'Confirm' }]}
mode="linear"
onStepChange={onStepChange}
ref={stepperRef}
/>
// Controlled — you own steps[i].state and currentStep
<ProgressStepper
steps={steps}
currentStep={current}
onStepChange={({ index, states }) => {
setCurrent(index)
setSteps(prev => prev.map((s, i) => ({ ...s, state: states[i] })))
}}
/>Examples
Uncontrolled, driven by ref
- Details
- Payment
- Confirm
Vertical, with preset states
- Order placed
- Shipped
- Out for delivery
- Delivered
Props
StepState is 'pending' | 'active' | 'done' | 'error' | 'disabled'.
Last updated on