Wizard

Wizard is the multi-step form, for the case where a later step genuinely depends on an earlier answer.

Installation

Nothing to add. This component ships as source in your download, so it is already in your project.

Filesrc/vui/wizard.tsx
Import from@viliha/vui-react/wizard

The exported names are at the top of that file. The import path is an alias the download's tsconfig.json points at src/vui/, so you can move that folder and change one line rather than every file that imports from it.

Usage

wizard-demo.tsx
import { Wizard, WizardSection } from "@viliha/vui-react/wizard";

Exports

Everything this family exports. They are read from the source, so this list is what the package actually ships.

PropTypeDefault
Wizardcomponent—
WizardSectioncomponent—

Wizard props

PropTypeDefaultWhat it does
stepsStep[]—Named steps ("workflows") — drives the stepper. One entry per step.
currentnumber—Zero-based index of the active step (you own this state + all logic).
childrenReact.ReactNode—The active step's body — compose it from {@link WizardSection}s.
onBack?() => void—
onNext?() => void—
backLabel?React.ReactNode—Footer button contents — pass a node to fully customise (e.g. the final step's "Create account"). Defaults include Back/Next arrows.
nextLabel?React.ReactNode—
backDisabled?boolean—
nextDisabled?boolean—
footer?React.ReactNode—Replace the whole Back/Next footer.
hideFooter?boolean—Hide the footer (e.g. on a success screen).
className?string—

WizardSection props

PropTypeDefault
title?string—
description?string—
icon?IconType—
className?string—
childrenReact.ReactNode—

Customize

Every value this component draws comes from the theme: the colours, the radius, the control height and the type scale. Change a token and this moves with everything else, which is the difference between theming the product and overriding a component. See Theming for the token contract, and Swapping defaults for replacing the markup itself.