Progress Steps

A multi-step progress indicator. Completed steps show a check and are clickable for backwards jumps; the current step is highlighted; upcoming steps are inert.

Usage

<script>
  import { ProgressSteps } from '@vultra/ui';

  let steps = [
    { label: 'Cart' },
    { label: 'Shipping' },
    { label: 'Payment' },
    { label: 'Confirm' }
  ];
  let current = $state(1);
  let completed = $state(0);
</script>

<ProgressSteps {steps} bind:current {completed} />

Props

PropTypeDefaultDescription
stepsStep[]Step labels ({ label, icon? })
currentnumberBindable active step index (0-based)
completednumberHighest completed index; enables jumping to it and earlier
classstringAdditional CSS classes

Step

{
  label: string;
  icon?: string;
}

Features

  • Distinct completed / current / upcoming states.
  • Completed steps are buttons that jump back on click.
  • Connectors between steps with themed states.
  • current is bindable for wizard-style flows.