# Product Setup Wizard block

> Five-step ecommerce product creation wizard with variant options and SKU matrix

Add-product flow across details, image gallery, variant option groups, pricing, and a per-variant SKU matrix table. ReUI Stepper, Badge, Alert with shadcn Card, Select, Switch, Table, Dialog. Product setup wizard, multi-step form.

- Type: Pro block
- Category: [Wizard](https://web.dev.reui.io/blocks/application/wizard.md)
- Page: https://web.dev.reui.io/blocks/application/wizard/wizard-6
- Docs (Base UI): https://web.dev.reui.io/docs/components/base/stepper.md
- Docs (Radix UI): https://web.dev.reui.io/docs/components/radix/stepper.md
- MCP: `get_block("wizard-6")`
- Built with: Accordion, Alert, Alert Dialog, Badge, Button, Card, Checkbox, Dialog, Field, Input, Item, Radio Group, Scroll Area, Select, Separator, Spinner, Stepper, Switch, Table, Textarea, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

A 5 step sidebar layout with an image dropzone, swatch option groups and a SKU table whose add dialog rejects duplicate combinations

## Agent notes

- `DEFAULT_PRODUCT_VALUES`, `DEFAULT_OPTION_GROUPS`, `DEFAULT_VARIANT_ROWS` and `DEFAULT_PRODUCT_IMAGES` hold the sample product, options, variants and photos
- `handlePreview`, `handleSaveDraft` and the final `handleSubmit` only show a `toast`; nothing is saved or posted
- `handleSubmit` runs no step validation before `setCurrentStep`, so add checks for `title` and `baseSku` there

## When not to use

- A shopper paying for an order with shipping and card details: use the [Checkout blocks](https://web.dev.reui.io/blocks/ecommerce/checkout.md)
- A few plain profile fields over 3 steps with no images or variants: use [Billing Setup](https://web.dev.reui.io/blocks/application/wizard/wizard-1.md) (`get_block("wizard-1")`)

## Third-party libraries

- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)
- Base UI v1: [API reference](https://base-ui.com/react/components), [docs](https://base-ui.com/react/overview/quick-start), [llms.txt](https://base-ui.com/llms.txt)

## Install

```bash
npx shadcn@latest add @reui/wizard-6
```

## About Wizard blocks

### When to use

- Money tasks done in steps: account billing setup, sending an invoice, a seat upgrade or a fund transfer
- Admin intake in steps: a vendor compliance file, a store product with variants or a batch of team invites
- A long form split into 3 to 5 numbered steps with previous and next buttons and a summary before submit

### When not to use

- A first run setup right after signup that collects a profile, a role and goals: use the [Onboarding blocks](https://web.dev.reui.io/blocks/application/onboarding.md)
- Only numbered step markers and panel switching around fields you already built: use [Stepper](https://web.dev.reui.io/components/stepper.md) (`get_component("stepper")`)
- A shopper paying for a cart, entering shipping and card details beside an order summary: use the [Checkout blocks](https://web.dev.reui.io/blocks/ecommerce/checkout.md)

### Agent notes

- Steps come from `WIZARD_STEPS`, `PRODUCT_STEPS` or `PAYMENT_STEPS` in the data file, and each step id has its own render branch; add both for a new step
- No step calls an API: the final button shows a sonner `toast`, sets local state such as `isIssued`, or both; post the collected values from that handler
- Each page.tsx sets a `min-h-svh` wrapper and the full screen variants size their root to the viewport too; remove both inside an app shell or dialog

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
