admin-wizard — create-organization

Editorial-density hardening pass. Composes the block against an ENTR-style admin onboarding flow: four steps (Organization → Workspace → Team → Confirm), Field primitives, per-step validation, and the dirty-guard / submit surface.

New workspace

Create an organization

Set up your organization, configure workspace defaults, and invite your team.

Organization

Name and plan

Workspace

Locale and formatting

Team

Invite members

Confirm

Review and create

The display name shown to members and on billing receipts.

Used in your workspace URL — acme.entr.app/slug.

You can upgrade or downgrade later from billing settings.

What this exercises

  • Stepper — horizontal, 4 steps, click-to-jump navigation gated by completed-step set.
  • Per-step validation — Step 1 (sync) + Step 3 (sync) gate Next; Back never invokes validate.
  • Form rows — Field + FieldLabel + FieldDescription + FieldError compose with Input and Select primitives at multi-field editorial density.
  • Repeating row — invite list with add/remove and per-row Select for role.
  • Dirty guard — Cancel routes through the unsaved-changes ConfirmDialog when any field is dirty.
  • Async submit — final step calls onSubmit; busy state announced via aria-busy.
  • State persistence — form state lives in the consumer (not the block); confirmed to persist across step navigation in both directions.