Toggle Sidebar B
AppearanceLight & dark mode D

Stepper

Multi-step process visualisation with numbered indicators, titles, and connectors. Good for checkout flows and onboarding.

Default

Three-step horizontal stepper.

Replay preview
Step 1

Address

Where to ship

Step 2

Shipping

Carrier and speed

Step 3

Payment

Card or bank

Step 2 of 0

Anatomy

Import all parts and piece them together.

vue
<script setup>
import {
  Stepper,
  StepperDescription,
  StepperIndicator,
  StepperItem,
  StepperSeparator,
  StepperTitle,
  StepperTrigger,
} from "@/components/ui/stepper";
</script>

<template>
  <Stepper>
    <StepperItem>
      <StepperTrigger>
        <StepperIndicator />
        <StepperTitle />
        <StepperDescription />
      </StepperTrigger>
      <StepperSeparator />
    </StepperItem>
  </Stepper>
</template>

API Reference

Stepper

PropTypeDefaultDescription
modelValuenumber11-based active step. Supports v-model.
orientation"horizontal" | "vertical""horizontal"Axis.
linearbooleantrueBlock jumping past incomplete steps.
EventDescription
update:modelValueFires when the active step changes. Enables v-model.
SlotDescription
defaultScoped slot exposing the current step state for the items.

StepperItem

PropTypeDefaultDescription
stepnumber1-based step number this item represents.
disabledbooleanfalseBlock activating this step.

StepperTrigger / StepperIndicator

PropTypeDefaultDescription
classstringTrigger makes a step clickable; Indicator renders the numbered/checked badge.

StepperTitle / StepperDescription / StepperSeparator

PropTypeDefaultDescription
classstringPer-step label, helper text, and the connector line between steps.