Stepper

A component that visually represents a sequence of steps in a process, allowing navigation between steps.

Usage & Examples

Default

Progress Stepper
default.tsx

const [activeStep, setActiveStep] = useState(0);
const steps = [
  { label: "Start", icon: FaClipboardList },
  { label: "Review", icon: FaFileAlt },
  { label: "Submit", icon: FaCheckCircle },
];

<Stepper
  steps={steps}
  activeStep={activeStep}
  onStepClick={setActiveStep}
/>

Props API

19 props
Columns
Stepper props API
Default
Description
activeStepnumberYespropsThe index of the currently active step.
aria-describedbystringNoariaID of an element that describes the stepper container.
aria-labelstringNoariaAccessible label for the stepper container. Use this when there is no visible external label.
aria-labelledbystringNoariaID of an element that labels the stepper container. Takes precedence over aria-label when provided.
classNamestringNostylingAdditional class names for styling customization.
data-testidstringNotestingBackward-compatible alias for test ID attributes.
disableBackNavigationbooleanNopropsfalseIf true, disables backward navigation (users cannot go to previous steps).
getStepAriaLabel((step: Step, index: number, stepCount: number, isActive: boolean, isCompleted: boolean) => string)NoeventsOptional custom accessible label generator for each step button.
glassbooleanNopropsconfigured default glass setting (fallback: false)Adds glass styling to the step buttons.
groupLabelstringNoprops"Progress Stepper"Fallback hidden label text when no aria-label or aria-labelledby is provided. Defaults to "Progress Stepper".
onStepClick((stepIndex: number) => void)NoeventsOptional callback when a step is clicked.
orientationOrientationTypeNoprops"horizontal"Orientation of the stepper. "horizontal" | "vertical"