chore: author import-ready Tokens Studio JSON for the missing beta colour tokens - #5227
chore: author import-ready Tokens Studio JSON for the missing beta colour tokens#5227pomfrida wants to merge 1 commit into
Conversation
…lour tokens Generated proposal sets (semantic, scheme/light, scheme/dark) closing the gaps the Button migration surfaced in the beta colour export: alpha step twins for disabled states, a semantic fill group, neutral/danger surface equivalents, tone text/border tokens, and the border-focus/border-disabled/ text-disabled name-collision fixes. Part of #5221
|
@claude review |
|
Claude finished @pomfrida's task in 2m 49s —— View job Review: import-ready Tokens Studio JSON for beta colour gaps
I ran the generator and checked its claims against the raw sources. This is a high-quality, self-verifying PR — the approach is sound and the diff is trustworthy. Verified ✅
Observations / minor suggestions (non-blocking)
Design sign-off still neededThe README's open questions are the right ones to gate on — derived alpha percentages becoming canonical (#1), standardising disabled strength on step 7 (#2), and the Nice work — the generator-as-proof-of-diff pattern makes this genuinely reviewable. |
Part of #5221, follow-up from the Button migration test case (#5208).
What
Import-ready Tokens Studio proposal sets in
packages/eds-tokens/token-proposals/5221-beta-colour-gaps/, generated deterministically from the currentstudio tokens pullbybuild-proposal.mjs(re-run it after a new pull to rebase the proposal). The three JSON files are complete replacement sets for their counterparts insrc/tokens/raw/, so the diff against the raw sets is exactly the proposal.README.mdin the folder is the design-review document: change list with rationale, computed-value table, open questions, and import instructions.Content
{accent,neutral,danger}-alpha.{3,7}in the scheme sets as explicit hex8 values (🎨 Implement Alpha‑Channel approach for disabled states #4741 — the platform only evaluates colour formulas in the CSS export, somodifyformulas are not an option). Each twin composites to its opaque step exactly over white (light) / black (dark); deviation over the actual canvas is ≤ ±12/255 and reported per twin. Colour math matchesscripts/generate-ts-tokens.mjs.background.fill.{tone}.{default,hover,pressed,disabled}→ steps 9/10/11 + alpha-3 (the values the migrated Button consumes directly today).background.surfacegroup, mirrored step for step.text.{tone}→ step 12,border.{tone}→ step 8.text.accentrepointed from{info.8}(link blue, still available astext-link) to{accent.12}.border-focus(→{info.7}, removing the self-reference),border-disabledandtext-disabled(→{neutral-alpha.7}); the scheme sets drop their duplicates.text-disabledhad the same double-value collision asborder-disabledand is fixed the same way.The generated artifacts are added to
.prettierignoreso they keep the studio-pull JSON style and diff cleanly againstsrc/tokens/raw/.Verification
build-proposal.mjsresolves all 376 references across the proposal sets, checks that no flattened--eds-*name is declared by both the semantic and a scheme set, and asserts each alpha twin composites back to its opaque step exactly.Out of scope
:root-scoping export problem (Emit the semantic token layer under the [data-color-scheme] scopes #5226) — this PR is token content only.studio tokens pull.