Step 1: Personal Account Info
setFullName(e.target.value)}
placeholder="Jane Doe"
aria-invalid={!!errors.fullName}
aria-describedby={errors.fullName ? "fullname-error" : undefined}
className={`w-full px-3.5 py-2.5 rounded-xl border text-sm bg-white dark:bg-slate-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 ${
errors.fullName
? "border-red-500 text-red-900 focus-visible:ring-red-500"
: "border-slate-300 dark:border-slate-700"
}`}
/>
{errors.fullName && (
{errors.fullName}
)}
setEmail(e.target.value)}
placeholder="jane@company.com"
aria-invalid={!!errors.email}
aria-describedby={errors.email ? "email-error" : undefined}
className={`w-full px-3.5 py-2.5 rounded-xl border text-sm bg-white dark:bg-slate-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 ${
errors.email
? "border-red-500 text-red-900 focus-visible:ring-red-500"
: "border-slate-300 dark:border-slate-700"
}`}
/>
{errors.email && (
{errors.email}
)}
)}
{/* Step 2: Organization Info */}
{currentStep === 2 && (
Step 2: Organization Details
setCompanyName(e.target.value)}
placeholder="Acme Inc."
aria-invalid={!!errors.companyName}
aria-describedby={errors.companyName ? "company-error" : undefined}
className={`w-full px-3.5 py-2.5 rounded-xl border text-sm bg-white dark:bg-slate-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500 ${
errors.companyName
? "border-red-500 focus-visible:ring-red-500"
: "border-slate-300 dark:border-slate-700"
}`}
/>
{errors.companyName && (
{errors.companyName}
)}
)}
{/* Step 3: Billing Plan */}
{currentStep === 3 && (
Step 3: Select Plan
{[
{ id: "starter", name: "Starter", price: "$19/mo" },
{ id: "pro", name: "Pro", price: "$49/mo" },
{ id: "enterprise", name: "Enterprise", price: "Custom" },
].map((plan) => (
))}
)}
{/* Step 4: Review Summary */}
{currentStep === 4 && (