1Sponsor

Wizard

Multi-step wizard with per-step validation

Terminal

Installation

pnpm dlx shadcn@latest add https://termcn.dev/r/wizard.json

Usage

import { Wizard } from "@/components/ui/wizard";
<Wizard
  steps={[
    {
      key: "install",
      title: "Install",
      content: <Text>Install dependencies</Text>,
    },
    {
      key: "configure",
      title: "Configure",
      content: <Text>Set up your preferences</Text>,
    },
    {
      key: "finish",
      title: "Finish",
      content: <Text>Review and confirm your settings</Text>,
    },
  ]}
  onComplete={(keys) => console.log("Completed:", keys)}
  onCancel={() => console.log("Cancelled")}
/>

API Reference

Wizard

PropTypeDefault
stepsWizardStep[]required
onComplete(completedSteps: string[]) => voidundefined
onCancel() => voidundefined
showProgressbooleantrue

WizardStep

PropTypeDefault
keystringrequired
titlestringrequired
contentReactNoderequired
validate() => boolean | stringundefined