Zephora UI

Navigation

Stepper

Progress indicator for multi-step flows: completed, active and upcoming steps with optional descriptions, error states and clickable steps.

Import

import { Stepper } from "@zephora/react";

Examples

With controls

Drive `activeStep` from your own state.

  1. Cart
  2. Shipping
  3. Payment
  4. Done

Vertical with error

Steps take descriptions; `error` flags a failed step.

  1. Create accountEmail verified
  2. BillingCard declined
  3. WorkspacePick a name

Clickable

`clickable` renders steps as buttons that fire `onStepChange`.

API

Stepper props

PropTypeDefaultDescription
steps *Array<{ title: ReactNode; description?: ReactNode; icon?: ReactNode; error?: boolean }>Ordered list of steps.
activeStep *numberIndex of the current step (0-based).
orientation"horizontal" | "vertical""horizontal"Layout direction.
clickablebooleanfalseRender steps as buttons that fire onStepChange.
onStepChange(index: number) => voidCalled with the clicked step index (requires clickable).
size"sm" | "md" | "lg""md"Indicator/typography scale.
unstyledbooleanfalseHeadless mode — skips Zephora styling.