Skip to content

ProgressTracker

ProgressTracker is a horizontal multi-step wizard/stepper. It visually communicates completed, current, and upcoming steps.

Interactive demo

Current step: 0 — Details

Tailwind v4
vue
<script setup>
import { ref } from 'vue'
const step = ref(0)
const steps = [
  { id: 'details', label: 'Details' },
  { id: 'review', label: 'Review' },
  { id: 'confirm', label: 'Confirm' },
  { id: 'done', label: 'Done' },
]
</script>

<ProgressTracker v-model="step" :steps="steps" />

<div>
  <Button @click="step--" :disabled="step === 0">Previous</Button>
  <Button @click="step++" :disabled="step === steps.length - 1">Next</Button>
</div>

Props

PropTypeDefaultDescription
modelValuenumber0Index of the current active step (0-based)
stepsArray<{ id: string; label: string }>Required. Array of step definitions

Emits

EventPayloadDescription
update:modelValuenumberFired when a step circle is clicked, with the new step index

Private — Jetpack Labs internal use only