Skip to content

feat(docs): refresh HIG candidate to 872906a; drop Radix peers, font bridge and copied token values (bloxwap/hig#58) - #48

Merged
joeblau merged 1 commit into
mainfrom
feat/hig-candidate-872906a
Oct 15, 2026
Merged

joeblau merged 1 commit into
mainfrom
feat/hig-candidate-872906a

Conversation

@joeblau

@joeblau joeblau commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Part of bloxwap/hig#58.

Follow-up to #47, which moved the docs from copied HIG CSS to the HIG packages. That PR recorded three exceptions in the agent-cli row of HIG's planning/adoption.json. HIG main has fixed the cause of each, so this PR moves to HIG 0.1.0-candidate.sha872906a9 (bloxwap/hig@872906a) and removes all three workarounds.

Changes

  • Vendored candidate: hig-tokens, hig-react, hig-contracts and hig-native-fonts, recorded with checksums in vendor/bloxwap-hig/provenance.json. The root overrides point HIG's exact internal dependency versions at the same tarballs. They were built with npm ci && npm run generate:fonts && npm run build && npm run release:dry-run -- --channel candidate. The dry run did not publish, tag or release anything.
  • Radix peers removed (hig#63 / hig#74): the docs now import @bloxwap/hig-react/recipes/install-command, which has no overlay code. That means @radix-ui/react-dropdown-menu and @radix-ui/react-tooltip are no longer needed. npm ls no longer reports invalid HIG peers, because the peer ranges are now caret ranges.
  • Font bridge removed (hig#65): --hig-font-sans and --hig-font-mono resolve the @bloxwap/font Next loader variables on <html>. The .hig-button and .hig-number font-family overrides are gone, and Tailwind's --font-sans and --font-mono read the HIG roles.
  • Copied token values removed (hig#75 / hig#81): the 14 --docs-* radius, motion, easing, density and type values are replaced by the --hig-radius-*, --hig-motion-*, --hig-density-* and --hig-type-* roles. HIG's reduced-motion rule replaces the local one.
  • Social cards (hig#64): hig-tokens no longer ships TTFs, so the Satori renderer reads Bloxwap Sans Bold and Black from @bloxwap/hig-native-fonts, a build-time dev dependency. All 13 cards are byte-identical to main.
  • Callout (hig#69): the MDX info type maps to HIG note and idea maps to tip. Inline-node titles are passed through instead of being replaced with a default.
  • Checks:
    • docs:check now also verifies the overrides, that every --hig-* role global.css reads is defined by the installed HIG CSS, and that no copied token values or font bridge come back.
    • docs:smoke adds three checks: HIG controls render loaded Bloxwap faces, compact controls keep 48 px touch targets at 390 px, and reduced motion sets durations to 0 ms.
    • CI's drift check runs from the same HIG commit as the tarballs.

The CLI content, search, base path, metadata and social cards are unchanged.

Before / after (static export at /agent-cli; details in evidence/hig/docs-package-refresh/)

main 778c8f5 this PR
app/global.css 408 lines, 21,885 B 390 lines, 21,373 B
Copied HIG values / font bridge rules 14 / 2 0 / 0
Emitted CSS 150,822 B (24,357 gz) 153,404 B (24,739 gz)
Emitted JS 1,268,205 B (406,649 gz) 1,270,472 B (407,458 gz)
Emitted fonts 22 files, 12,965,628 B same
Docs direct deps (runtime) 21 (13) 20 (11)
Lockfile entries (@radix-ui/*) 762 (90) 735 (62)

The emitted CSS and JS grew slightly because HIG itself added the token roles, input and callout rules, and localizable component strings. The only visible change is that buttons are 44 px tall instead of 48 px; this is HIG's new web button height from hig#80. Compact controls stay 36 px, or 48 px on touch screens. The search, quickstart, errors and mobile navigation screenshots are pixel-identical to main.

Validation (automated + browser, local macOS arm64, Node 24)

  • npm run build, npm run lint and npm run typecheck pass. npm test passes (38 files, 71 tests), and so does npm run test:package.
  • npm run docs:check passes.
  • NEXT_PUBLIC_BASE_PATH=/agent-cli npm run docs:build passes: 16 HTML pages, 597 local links and assets, 13 social cards, and the base path verified.
  • npm run docs:smoke: 13/13 pass in Playwright Chromium. A negative run with the font loader variable removed from the built CSS fails the new font check.
  • node <hig@872906a>/scripts/drift.mjs --root . --config hig-drift.json: Scoped anti-drift: passed (38 files, 0 dated exceptions).

Not run: large text, RTL, Firefox and WebKit. No physical devices were used, and simulators and emulators do not apply to this static docs site.

Rollback: revert this PR.

🤖 Generated with Claude Code

…bridge and copied token values (bloxwap/hig#58)

- Vendor HIG 0.1.0-candidate.sha872906a9 (tokens, react, contracts, native-fonts) with checksums and root overrides.
- Import the overlay-free @bloxwap/hig-react/recipes/install-command entry; remove @radix-ui/react-dropdown-menu
  and react-tooltip.
- Read radius, motion, type, density and font families from the --hig-* CSS roles; delete the --docs-* copies and
  the .hig-button/.hig-number font bridge.
- Social cards read Bloxwap Sans TTFs from @bloxwap/hig-native-fonts (hig-tokens no longer ships fonts);
  output is byte-identical.
- Callout maps to HIG note/tip and passes inline-node titles.
- docs:check verifies overrides and that every --hig-* role used exists; docs:smoke adds loaded-font, 48 px touch
  target and reduced-motion checks. Drift check runs from the same HIG commit.
- Before/after evidence in evidence/hig/docs-package-refresh/.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant