Add Wizard component, composable multi-step flows#559
Conversation
Co-authored-by: OpenCode <noreply@opencode.ai> Co-authored-by: Conductor <noreply@cloudflare.com> Co-authored-by: Anthropic <noreply@anthropic.com> Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
commit: |
Docs PreviewCommit: |
Co-authored-by: OpenCode <noreply@opencode.ai> Co-authored-by: Conductor <noreply@cloudflare.com> Co-authored-by: Anthropic <noreply@anthropic.com> Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
Co-authored-by: OpenCode <noreply@opencode.ai> Co-authored-by: Conductor <noreply@cloudflare.com> Co-authored-by: Anthropic <noreply@anthropic.com> Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
|
/bonk |
|
PR #559: Add Wizard component by pedromenezes1 Summary: Introduces a new What's added:
CI / Automation:
PR checklist: Author marked "Tests included/updated" as complete. Awaiting review. |
Co-authored-by: OpenCode <noreply@opencode.ai> Co-authored-by: Conductor <noreply@cloudflare.com> Co-authored-by: Anthropic <noreply@anthropic.com> Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
Co-authored-by: OpenCode <noreply@opencode.ai> Co-authored-by: Conductor <noreply@cloudflare.com> Co-authored-by: Anthropic <noreply@anthropic.com> Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
Co-authored-by: OpenCode <noreply@opencode.ai> Co-authored-by: Conductor <noreply@cloudflare.com> Co-authored-by: Anthropic <noreply@anthropic.com> Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
- move width prop to Wizard.Fullscreen for layout ownership - add Wizard.Sidebar composition for sidebar content - add previousStepNavigation prop for back-button behavior - remove showCloseButton in favor of Wizard.CloseButton compound - make header optional on Wizard.Fullscreen - fix conditional step ordering and previous-step inert behavior - redesign demo playground with LayerCard, progressive reveal - switch code preview from lazy to static rendering - clean up hero snippet and demo file naming Co-authored-by: OpenCode <noreply@opencode.ai> Co-authored-by: Conductor <noreply@cloudflare.com> Co-authored-by: Anthropic <noreply@anthropic.com> Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
Replace RefObject<T> with { current: T } in context interfaces so the
type is compatible with both React 18 and 19 ref shapes. Add explicit
null to useRef type params, and cast ref callbacks where the React 18
MutableRefObject signature requires it.
Also tidy changeset wording and join wrapped single-line comments.
Co-authored-by: OpenCode <noreply@opencode.ai>
Co-authored-by: Conductor <noreply@cloudflare.com>
Co-authored-by: Anthropic <noreply@anthropic.com>
Co-authored-by: claude-opus-4-6 <noreply@anthropic.com>
|
/bonk |
|
PR #559: Add Wizard component, composable multi-step flows by Overview: Introduces a new What's added:
CI / Automation:
Status: Author marked "Tests included/updated" as complete. Awaiting review. |
|
thanks for putting this together! we're cleaning up the pr backlog and this would need a significant rebase plus another api and design pass against current main. are you still planning to work on it? if not we'll close it for now on july 28, but you're always welcome to reopen it when ready. |








































































Adds a Wizard to Kumo, a fullscreen, multi-step flow built as a single composable compound component.
what's included:
Wizard.Fullscreen/Wizard.Grid/Wizard/Wizard.Sidebar/Wizard.Steps/Wizard.Step/Wizard.Page/Wizard.CloseButton, plususeWizardanduseWizardGridhooksgoToStepand a declarativewhenprop, so steps can branch rather than only go linear next/backstep+onStepChange) and uncontrolled (defaultStep) modesWizard.Gridtitle) and composable right-side step indicator viaWizard.SidebarwidthonWizard.Fullscreen— controls the card max-width ("narrow"/"wide")headeronWizard.Fullscreen— renders arbitrary top chrome; its height is measured and subtracted from the layoutWizard.CloseButton— close button for custom header placement; throws outsideWizard.FullscreenuseWizard().close()— programmatically closes the wizard by delegating toWizard.Fullscreen'sonClosepreviousStepNavigation— disables implicit go-back affordances (card click, sidebar click) while keeping explicitback()labelspropsusage: