Aura Design System

Stepper

A sequential progress indicator with navigation controls.

Preview

Content for step 1
import {
  Stepper,
  StepperList,
  StepperItem,
  StepperTrigger,
  StepperIndicator,
  StepperSeparator,
  StepperTitle,
  StepperDescription,
  StepperContent,
  StepperPrev,
  StepperNext,
} from "@/components/ui/Stepper";

export function StepperDemo() {
  return {
  return (
    <Stepper defaultValue="step-1" className="w-full">
      <StepperList>
        <StepperItem value="step-1">
          <StepperTrigger>
            <StepperIndicator />
            <div className="flex flex-col">
              <StepperTitle>Step 1</StepperTitle>
              <StepperDescription>Complete your profile</StepperDescription>
            </div>
          </StepperTrigger>
          <StepperSeparator />
        </StepperItem>
        <StepperItem value="step-2">
          <StepperTrigger>
            <StepperIndicator />
            <div className="flex flex-col">
              <StepperTitle>Step 2</StepperTitle>
              <StepperDescription>Verify your email</StepperDescription>
            </div>
          </StepperTrigger>
          <StepperSeparator />
        </StepperItem>
        <StepperItem value="step-3">
          <StepperTrigger>
            <StepperIndicator />
            <div className="flex flex-col">
              <StepperTitle>Step 3</StepperTitle>
              <StepperDescription>Set up your preferences</StepperDescription>
            </div>
          </StepperTrigger>
          <StepperSeparator />
        </StepperItem>
        <StepperItem value="step-4">
          <StepperTrigger>
            <StepperIndicator />
            <div className="flex flex-col">
              <StepperTitle>Step 4</StepperTitle>
              <StepperDescription>Review and confirm</StepperDescription>
            </div>
          </StepperTrigger>
        </StepperItem>
      </StepperList>
      <StepperContent value="step-1">
        <div className="p-4">Content for step 1</div>
      </StepperContent>
      <StepperContent value="step-2">
        <div className="p-4">Content for step 2</div>
      </StepperContent>
      <StepperContent value="step-3">
        <div className="p-4">Content for step 3</div>
      </StepperContent>
      <StepperContent value="step-4">
        <div className="p-4">Content for step 4</div>
      </StepperContent>
    </Stepper>
  );
};

Installation

Make sure that namespace is set in your component.json file. Namespace docs: Learn more about namespaces

pnpm dlx shadcn@latest add @aura/stepper

Props

Stepper

PropTypeDefault
asChild?booleanundefined
value?stringundefined
defaultValue?stringundefined
onValueChange?(value: string) =&gt; voidundefined
onValueComplete?(value: string, completed: boolean) =&gt; voidundefined
onValueAdd?(value: string) =&gt; voidundefined
onValueRemove?(value: string) =&gt; voidundefined
onValidate?`( value: string, direction: NavigationDirection, ) => booleanPromise<boolean>`
activationMode?ActivationModeundefined
dir?Directionundefined
orientation?Orientationundefined
disabled?booleanundefined
loop?booleanundefined
nonInteractive?booleanundefined

StepperList

PropTypeDefault
asChild?booleanundefined

StepperItem

PropTypeDefault
asChild?booleanundefined
valuestring-
completed?booleanundefined
disabled?booleanundefined

StepperTrigger

PropTypeDefault
asChild?booleanundefined

StepperIndicator

PropTypeDefault
children?`React.ReactNode((dataState: DataState) => React.ReactNode)`

StepperSeparator

PropTypeDefault
asChild?booleanundefined
forceMount?booleanundefined

StepperTitle

PropTypeDefault
asChild?booleanundefined

StepperDescription

PropTypeDefault
asChild?booleanundefined

StepperContent

PropTypeDefault
asChild?booleanundefined
valuestring-
forceMount?booleanundefined

StepperPrev

PropTypeDefault
asChild?booleanundefined

StepperNext

PropTypeDefault
asChild?booleanundefined

useStore as useStepper

PropTypeDefault
All props fromany-

type StepperProps

PropTypeDefault
All props fromany-