Stepper

A progress indicator for multi-step workflows. States auto-compute from the current step.

Horizontal
  1. Profile

    Tell us about yourself

  2. 2

    Workspace

    Configure team defaults

  3. 3

    Invite

    Bring in teammates

Vertical

Use orientation="vertical" for side panels or mobile flows. The connector line runs vertically between markers.

Vertical
  1. Account

    Email and password

  2. Team

    Invite collaborators

  3. 3

    Billing

    Choose a plan

  4. 4

    Launch

    Go live

Responsive

Set orientation="responsive" to stack vertically on mobile and switch to horizontal on larger screens.

Responsive
  1. Design

    Wireframes

  2. 2

    Build

    Implementation

  3. 3

    Review

    QA pass

  4. 4

    Ship

    Deploy

Clickable Steps

Pass a select_event and a value on each step to make markers clickable. The event fires with phx-value-step set to the step's value.

Interactive Wizard
  1. Profile

    Tell us about yourself

  2. Workspace

    Configure defaults

  3. Invite

    Bring in teammates

Click any marker above to jump to that step. Currently on step 2.

Error State

Pass an errors map keyed by step index (1-based). The step auto-marks as error and shows the message — no per-step state attrs needed.

Error State
  1. Select plan

  2. Payment

  3. Confirm

    Card declined

Variants

The default variant uses solid markers. variant="outline" gives a lighter, bordered look that reads well on muted backgrounds.

Outline Variant
  1. Design

    Wireframes

  2. 2

    Build

    Implementation

  3. 3

    Ship

    Deploy

Custom Markers

Use the icon slot attr to replace the marker content with text or an emoji. This overrides both the number and the auto-state check/error icons.

Custom Icons
  1. Order placed

  2. Shipped

  3. 🚚

    In transit

    Arriving today

  4. 📦

    Delivered

Wizard Form

Use the stepper as navigation chrome for larger LiveView forms. The parent LiveView owns validation and decides when to advance.

Workspace Wizard
  1. 1
    Account Profile details
  2. 2
    Workspace Team setup
  3. 3
    Invite Add teammates

Notes

  • Step states auto-compute from current (1-based): before = complete, at = current, after = pending.
  • The errors map overrides auto-state — a step with an error entry shows the error icon and message regardless of its position.
  • When select_event is set, markers render as buttons with keyboard focus and hover states. Without it, they're non-interactive spans.
  • Use orientation="responsive" for wizards that need to work on both mobile and desktop.