j3w1/theme implementation brief — progress 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/progress.json spec: spec/components/progress.md site: https://j3w1.github.io/theme/reference/#c-progress maturity: stable priority: R1 Summary: A native progress element with a label and value; determinate fills with the primary colour, indeterminate shows static 45° stripes, never an animation. 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): track.bg #420f0c ({color.interaction.pressed.bg}) use track.border #a3676b ({color.border.control}) use-and-report (D-007) value.bg #7d1310 ({color.action.primary.bg}) use value.bg-error #dc282e ({color.status.danger.fill}) use stripe.a #7d1310 ({color.action.primary.bg}) use stripe.b #420f0c ({color.interaction.pressed.bg}) use label.text #ffa2a7 ({color.text.bright}) use value.text #e99499 ({color.text.default}) use detail.text #bd787d ({color.text.muted}) use error.text #f73f35 ({color.status.danger.text}) use State dependency disclosures: D-007 States: default, busy, error, reduced-motion default: fill {color.action.primary.bg} on the track; the value text [the native value; the percentage text] busy: the whole track shows static 45° stripes of {color.action.primary.bg} on {color.interaction.pressed.bg}; no value text [`aria-busy`; `aria-valuetext`; the stripe pattern; no animation] error: fill → {color.status.danger.fill}; the label gains the ✕ glyph in {color.status.danger.text}; the detail line says what failed [glyph; worded detail] reduced-motion: identical to default and busy: nothing animates in any state [`prefers-reduced-motion`] Keyboard: Tab: Nothing; progress is not focusable and never traps a person. Escape: Nothing; cancelling is a separate button next to the bar. ARIA: native labelled by