Overview
Wizard is a compound component that provides a complete multi-step workflow solution without boilerplate. Compose WizardStep children inside a Wizard parent, then add optional sub-components like WizardHeader for step indication, WizardProgress for visual progress (bar, dots, or numbers), WizardNavigation for built-in back/next/finish buttons, WizardSidebar for a step list, and WizardFooter for custom footer layouts.
Common use cases
- Checkout and payment flows.
- Multi-page registration and signup forms.
- Onboarding wizards with sidebar navigation.
- Survey and questionnaire interfaces.
FAQ
Can I control the current step from outside?
The Wizard is uncontrolled by default. Use the useWizard hook inside the Wizard to access currentStep, next, previous, goTo, reset, and other controls. For fully controlled state, the wizard accepts defaultStep and onStepChange.
How do I skip certain steps conditionally?
Set the hidden prop on Wizard.Step to conditionally hide steps. Hidden steps are automatically excluded from navigation and progress calculations.
Can I persist the wizard state across page reloads?
Yes. Set persist and storageKey on the Wizard component to save the current step and completed steps to localStorage.
How do I add animations between steps?
Import from the animated entry: @zentauri-ui/zentauri-components/ui/wizard/animated. Use WizardContentAnimated with the animation prop (slide, fade, scale, flip).