Skip to content
Uxelith
Sign in
Prov1.0.0Forms

Stepper

A form in steps with per-step validation: steps slide in from the side you're heading, ticks draw themselves, a failed check shakes the step, and finishing draws a large tick.

Installs with Uxelith ProHow
Licence
Pro
Packages
2
Updated
9 Oct 2026
Live

Installation

Usage

example.tsx
"use client"

import { Stepper } from "@/components/stepper"

export function Onboarding() {
  return (
    <Stepper
      label="Sign-up progress"
      steps={[
        { id: "account", title: "Account", content: <p>Account fields</p> },
        { id: "plan", title: "Plan", content: <p>Plan fields</p> },
      ]}
      onComplete={async () => {
        await fetch("/api/signup", { method: "POST" })
      }}
      done={<p>You are all set.</p>}
    />
  )
}

Props

PropTypeDefaultDescription
steps{ id; title; description?; content; validate? }[]—validate returns true or a message; may be async.
onComplete() => void | string | Promise<…>—After the last step; return or throw a message to show an error.
doneReactNode"All done."Shown after completion.
labelstring"Progress"Accessible name of the progress list.
backLabel / nextLabel / finishLabelstringBack / Continue / FinishButton text.
--stepper-accentCSS variable--primaryProgress and button colour.

Accessibility

  • Progress is an ordered list with aria-current="step"; finished steps are buttons that go back.
  • Focus moves to each new step's heading, and the change is announced.
  • Validation errors are alerts; async checks disable the buttons and say "Checking…".
  • Steps you've left stay mounted, so typed values survive going back.
  • Slides, the breathing ring, the shake and the drawn ticks are removed under prefers-reduced-motion; focus still moves to each new step.

Changelog

  1. v1.0.0Latest

    First release.

More in Forms

All 10 in Forms
  • FormsFree

    Animated Input

    A text field whose label floats out of the way, with examples that take turns while it's empty, an error that shakes once, a tick for a valid value and sent text that drifts away.

  • FormsPro

    Date Picker

    Single dates and ranges in a keyboard-first calendar, with one-tap presets ("Last 7 days"), months that slide the way you go, min/max, unavailable days and ISO strings for forms.

  • FormsPro

    File Dropzone

    Drop, paste or browse for files: the zone lights up as a file crosses the page and warns before a wrong type lands; files show thumbnails and upload with live, cancellable progress.