Components/Navigation/Stepper

Stepper

Navigation

Linear multi-step progress indicator.

Numbered step circles connected by lines. Active step shows Neo Green fill; completed steps show a checkmark; pending steps show Slate. Supports horizontal and vertical orientations. Clicking completed steps is opt-in via allowStepClick.

Usage

import { Stepper } from "nosible-ux"

const steps = [
  { label: "Select signals" },
  { label: "Configure alerts" },
  { label: "Review & publish" },
]

export default function Example() {
  return <Stepper steps={steps} value={1} />
}

Examples

Controlled navigation

Select signals

Choose signal sources

Configure alerts

Set thresholds

Review & publish

Go live

Vertical orientation

Data ingestion

RSS and API feeds connected

Signal extraction

NLP pipeline running

Alert dispatch

Webhooks and email configured

Accessibility

Step circles are button elements when allowStepClick is true. Each step has an implicit label from label and description. Completed steps have aria-label including "completed".

Props

Name TypeDefaultDescription
allowStepClick
boolean | undefinedfalseWhen true, clicking completed steps allows navigation backward.
defaultValue
number | undefined0Uncontrolled initial active step.
onChange
((index: number) => void) | undefinedCallback fired when a step is clicked.
orientation
"horizontal" | "vertical" | undefined"horizontal"Layout direction.
size
"sm" | "md" | "lg" | undefined"md"Visual size of the step circles.
steps
StepProps[]Step definitions.
value
number | undefined00-indexed position of the active step.