Skip to main content
VelinStyle v1.3.0
⌂ Home
  1. Docs
  2. Components
  3. Navigation
  4. Stepper

Stepper 1.2.2

Multi-step progress indicators available as the <velin-stepper> web component or the pure-CSS .velin-stepper class. Deutsch: Schrittanzeige

Maturity: Documented as stable in VelinStyle 1.2.0. Design Intelligence (plan / review / agent meta) is separate and beta / foundation where noted.

When to use

When not

CSS stepper

Use .velin-stepper with .velin-stepper__step, __indicator, and __label. Mark state with --active / --completed.

Account
Profile
Review
Done
<div class="velin-stepper" role="list" aria-label="Checkout progress">
  <div class="velin-stepper__step velin-stepper__step--completed" role="listitem">
    <span class="velin-stepper__indicator" aria-hidden="true"></span>
    <span class="velin-stepper__label">Account</span>
  </div>
  <div class="velin-stepper__step velin-stepper__step--active" role="listitem" aria-current="step">
    <span class="velin-stepper__indicator" aria-hidden="true"></span>
    <span class="velin-stepper__label">Profile</span>
  </div>
  <div class="velin-stepper__step" role="listitem">…</div>
</div>

Web component

Pass comma-separated labels and a zero-based active index. Drive progress with next(), prev(), or goTo(n) (dispatches velin-step-change). Default-slot children render in part="panels" for accompanying step content you show/hide from that event.

<velin-stepper id="stepper" active="1"
  labels="Account,Profile,Review,Done" aria-label="Checkout">
</velin-stepper>

<button type="button" onclick="document.getElementById('stepper').prev()">Previous</button>
<button type="button" onclick="document.getElementById('stepper').next()">Next</button>

Vertical layout

Add .velin-stepper--vertical on the CSS stepper. The web component has no orientation attribute.

Create account
Verify email
Set password
<div class="velin-stepper velin-stepper--vertical" role="list" aria-label="Onboarding">
  <div class="velin-stepper__step velin-stepper__step--completed" role="listitem">…</div>
  <div class="velin-stepper__step velin-stepper__step--active" role="listitem" aria-current="step">…</div>
  <div class="velin-stepper__step" role="listitem">…</div>
</div>

Accessibility

API (<velin-stepper>)

Attributes

AttributeTypeDescription
activeNumberObserved — zero-based current step
labelsStringObserved — comma-separated step labels
aria-labelStringObserved — name for the steps list

Methods & events

APIDescription
next() / prev() / goTo(step)Update active and rebuild markers
velin-step-changeBubbles with detail: { step }

Parts: steps, panels. Default slot = panel nodes.

Best practices & pitfalls

Legacy *-wc tags

<velin-tooltip-wc> and <velin-stepper-wc> remain registered as deprecated aliases. Prefer <velin-tooltip> and <velin-stepper> in new markup.