Repository navigation
Packed plain-CSS consumer check for token roles; fix installation code fence (#66) - #81
Merged
Merged
Conversation
3 tasks
joeblau
force-pushed
the
claude/hig-66-plain-css-roles
branch
from
October 15, 2026 17:09
976947a to
f2904ad
Compare
…density roles (#66) Add `npm run smoke:packed-css`: installs only the packed @bloxwap/hig-tokens tarball into an empty consumer, links @bloxwap/hig-tokens/css from a script-free HTML page whose stylesheet uses only the roles, and checks the computed radius, type (longhands and font shorthand), motion (including 0ms under prefers-reduced-motion and [data-hig-motion='reduced']) and density (including [data-hig-density='compact']) values in Chromium, Firefox and WebKit against packages/tokens/source.json. It fails if the page requests anything other than the HTML, its stylesheet and the token CSS, so the manifest is never read. CI runs it after the packed Next smoke. Fix the Tokens only / plain CSS section of docs/installation.md: the CSS example's closing fence shared a line with the next paragraph, so the rest of the page rendered as code in the docs site. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ated.css (#66) bloxwap/chart#54 re-vendors the d7ff478 candidate, reads the radius, type, motion and density roles from @bloxwap/hig-tokens/css and deletes styles/hig-roles.generated.css. Record it as the open Chart PR in planning/adoption.json and in the new-repository drift notes. Co-Authored-By: Claude Opus 5.5 <[email protected]>
joeblau
force-pushed
the
claude/hig-66-plain-css-roles
branch
from
October 15, 2026 17:22
f2904ad to
8192bd1
Compare
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #66. Chart follow-up: bloxwap/chart#54 deletes
styles/hig-roles.generated.css. #65 was closed by #75; its acceptance checks were re-run here and still pass.What this adds
#75 shipped the radius, type, motion and density roles in
@bloxwap/hig-tokens/css, the drift negative test and the docs. This PR adds the remaining proof for the second #66 criterion ("a plain CSS consumer can style with the roles without reading the manifest"):npm run smoke:packed-css(scripts/packed-css-smoke.mjs, new CI step aftersmoke:packed-next):@bloxwap/hig-tokensand installs only that tarball into an empty consumer;@bloxwap/hig-tokens/css(resolved from the package'sexports["./css"]) from a script-free HTML page whose own stylesheet uses nothing but--hig-radius-*,--hig-type-*,--hig-motion-*and--hig-density-*;packages/tokens/source.json: radius px, type size/line-height/weight longhands and the--hig-type-<role>font shorthand (first familyBloxwap Sans), motion durations + standard easing,0sunderprefers-reduced-motion: reduceand[data-hig-motion='reduced'], and density control/target/gap in default and[data-hig-density='compact'];@bloxwap/hig-tokens/cssand deletesstyles/hig-roles.generated.cssand its generator. It also drops Chart's.hig-buttonfont bridge (HIG control CSS should use token font variables, not literal family names #65) and moves its OG TTFs to@bloxwap/hig-native-fonts(Move native TTFs out of the web @bloxwap/hig-tokens package #64).planning/adoption.json(both Chart rows) anddocs/governance/new-repository.mdlink it.docs/installation.md(Tokens only / plain CSS), the closing code fence of the role example shared a line with the next paragraph, so everything after it rendered as one code block on the docs site. Fixed, and the smoke is documented there and indocs/governance/release.md.Verification (local, macOS arm64, Node 22.22.0 / npm 11.6.1)
npm run check(build, lint + check-drift, typecheck, vitest, native jest)npm run quality(afternpm run generate:fonts)npm run smoke:packed-css(automated browser, headless Playwright)sandbox_extension_issue_file_to_process … Operation not permitted); CI on Linux runs all three engines--hig-density-compact-gapin the built CSSsmoke:packed-cssfails with#density-compact columnGap actual '12px' expected '8px'tests/quality.test.tsstale-role negative (from #75)check-drift.mjsexits non-zero withStale generated artifactnpm run smoke:packedthensmoke:packed-next(automated browser, Chromium).hig-button→BloxwapSans, "Bloxwap Sans Scripts", …and.hig-number→BloxwapMono, …, bothcheck: true, loaded: true; the plain@font-facepath is covered bybrowser-smokein CINo package source, token values or visual baselines change. No publish, tag or release.
🤖 Generated with Claude Code