j3w1/theme implementation brief — wizard theme: j3w1-theme 1.1.0 profile: default sourceDigest: sha256-C+iD5Q7l0XPU/boMj003wPbPLBOq3C3ZM7s4OfzJ6mc= pin: https://raw.githubusercontent.com/j3w1/theme/v1.1.0/exports/components/wizard.json spec: spec/components/wizard.md site: https://j3w1.github.io/theme/reference/#c-wizard maturity: stable priority: R1 Summary: A multi-step form with a stepper header, the current panel and back/next actions; native buttons with aria-current="step". Use the pinned approved default profile. Pending roles in that profile use-and-report their decision IDs; this does not approve them. Proposed profiles are preview-only and blocked for delivery. Heritage profiles are historical-only. Deprecated or heritage roles are blocked for new approved-profile mappings. Consume roles within their documented scope, never primitives. Release numbering does not approve profiles or tokens. Tokens (resolved): steps.divider #2b0e0d ({color.border.divider}) use-and-report (D-008) step.text #e99499 ({color.text.default}) use step.bg-hover #1c0a09 ({color.interaction.hover.bg}) use step.ring #e53935 ({color.interaction.focus.ring}) use step.text-current #ffa2a7 ({color.text.bright}) use step.indicator-current #e53935 ({color.border.selected-indicator}) use step.text-disabled #8a5559 ({color.text.disabled}) use step.marker-complete #86a46f ({color.status.success.text}) use step.marker-invalid #f73f35 ({color.status.danger.text}) use step.indicator-invalid #e53935 ({color.status.danger.border}) use panel.bg #100c0c ({color.surface.default}) use panel.border #531310 ({color.border.default}) use title.text #ffa2a7 ({color.text.bright}) use text.text #e99499 ({color.text.default}) use message.text #f73f35 ({color.status.danger.text}) use next.bg #7d1310 ({color.action.primary.bg}) use next.text #f4eeee ({color.action.primary.text}) use next.bg-hover #911410 ({color.action.primary.hover-bg}) use next.bg-pressed #630f0d ({color.action.primary.pressed-bg}) use next.border #9e231f ({color.action.primary.border}) use next.ring #ffa2a7 ({color.interaction.focus.ring-container}) use back.text #ffa2a7 ({color.action.secondary.text}) use back.border #a3676b ({color.action.secondary.border}) use back.bg-hover #630f0d ({color.action.secondary.hover-bg}) use busy.glyph #f4eeee ({color.action.primary.text}) use States: default, hover, focus-visible, current, disabled, invalid, busy default: steps in {color.text.default}; complete steps carry the ✓ in {color.status.success.text} [the ✓ glyph; the numbers] hover: step background → {color.interaction.hover.bg}; Next → {color.action.primary.hover-bg}; Back → {color.action.secondary.hover-bg} [cursor: pointer] focus-visible: ring 1px dashed {color.interaction.focus.ring} at −2px; on Next's fill the ring takes {color.interaction.focus.ring-container} [the ring] current: 2px {color.border.selected-indicator} under the step; name in {color.text.bright} [`aria-current="step"`; the indicator bar; the heading reads "Step n of m"] disabled: a future step in {color.text.disabled}; no hover [`disabled`; cursor: not-allowed; skipped by Tab] invalid: the step's marker becomes ✕ in {color.status.danger.text}; its indicator takes {color.status.danger.border}; the panel shows the message [glyph; message text; `aria-invalid` on the failing fields] busy: Next shows the static ⋯ glyph before its label and does not respond; size unchanged [`aria-busy` on the wizard; the glyph; cursor: progress] Keyboard: Tab / Shift+Tab: Reaches each enabled step button, the panel's fields, then Back and Next; future steps are disabled and skipped. Enter / Space: On a step button, goes to that step if it is reachable; on Next, validates the panel and advances; on Back, returns without validating. Escape: Nothing; leaving a wizard is an explicit Cancel or the host's navigation. ARIA: native