@hirobius/design-system 0.23.0 → 0.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +45 -0
  3. package/CONSUMING.md +3 -3
  4. package/DESIGN.md +2 -2
  5. package/NOTICE.md +3 -3
  6. package/README.md +16 -17
  7. package/UPGRADING.md +23 -1
  8. package/codemods/hds-prefix.mjs +0 -1
  9. package/codemods/jsx-fold.mjs +0 -1
  10. package/codemods/lib/scan.mjs +0 -1
  11. package/codemods/patterns-subpath.mjs +0 -1
  12. package/dist/chunks/{empty-state-ChC_xZfg.js → empty-state-BQ1v7ZIx.js} +15 -15
  13. package/dist/css-contract.json +1 -1
  14. package/dist/fonts/ibm-plex-mono-LICENSE.txt +93 -0
  15. package/dist/fonts/plus-jakarta-sans-400.woff2 +0 -0
  16. package/dist/fonts/plus-jakarta-sans-500.woff2 +0 -0
  17. package/dist/fonts/plus-jakarta-sans-700.woff2 +0 -0
  18. package/dist/fonts/plus-jakarta-sans-LICENSE.txt +22 -0
  19. package/dist/fonts.css +14 -14
  20. package/dist/hirobius-ui.js +86 -86
  21. package/dist/manifest.js +9 -9
  22. package/dist/patterns.js +1 -1
  23. package/dist/styles.css +1 -1
  24. package/dist/tokens.css +1 -1
  25. package/dist/tokens.js +2 -2
  26. package/dist/types/src/app/components/error-pattern.d.ts +1 -0
  27. package/dist/types/src/app/components/metric-tiles.d.ts +1 -0
  28. package/dist/types/src/app/components/page-header.d.ts +1 -0
  29. package/dist/types/src/app/context/hds-theme.d.ts +1 -1
  30. package/dist/types/src/app/design-system/generated-token-values.d.ts +2 -2
  31. package/dist/types/src/index.d.ts +0 -8
  32. package/dist/types/src/lib/deprecation.d.ts +1 -1
  33. package/dist/variables.css +6 -6
  34. package/docs/CONSUMING.md +5 -5
  35. package/hirobius.tokens.json +6 -14
  36. package/llms.txt +3 -3
  37. package/package.json +7 -25
  38. package/public/hds-manifest.json +192 -1251
  39. package/public/llms/scroll.txt +1 -1
  40. package/public/llms-full.txt +5 -5
  41. package/public/llms.txt +3 -3
  42. package/src/app/data/component-api.json +3 -1
  43. package/upgrade/index.json +15 -1
  44. package/upgrade/releases/0.23.1.json +108 -0
  45. package/upgrade/releases/0.23.2.json +47 -0
  46. package/dist/fonts/satoshi-400.woff2 +0 -0
  47. package/dist/fonts/satoshi-500.woff2 +0 -0
  48. package/dist/fonts/satoshi-700.woff2 +0 -0
package/dist/tokens.js CHANGED
@@ -133,8 +133,8 @@ const a = {
133
133
  },
134
134
  typography: {
135
135
  family: {
136
- primary: ["Satoshi", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"],
137
- display: ["Satoshi", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"],
136
+ primary: ["Plus Jakarta Sans", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"],
137
+ display: ["Plus Jakarta Sans", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"],
138
138
  mono: ["IBM Plex Mono", "Courier New", "monospace"]
139
139
  },
140
140
  size: {
@@ -10,6 +10,7 @@ export type ErrorPatternProps = {
10
10
  fullPage?: boolean;
11
11
  };
12
12
  /**
13
+ * @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-839
13
14
  * @public
14
15
  */
15
16
  export declare function ErrorPattern({ displayText, message, fullPage, }: ErrorPatternProps): import("react/jsx-runtime").JSX.Element;
@@ -38,6 +38,7 @@ export interface MetricTilesProps extends Omit<React.HTMLAttributes<HTMLDivEleme
38
38
  * headline numbers on a screen; use `Stat` only for an inline number inside prose
39
39
  * or a dense list, `Card.Metric` only inside an existing `Card`, and `StatusTile`
40
40
  * for state with notes (never a number).
41
+ * @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-89
41
42
  * @screenPattern
42
43
  */
43
44
  export declare const MetricTiles: React.ForwardRefExoticComponent<MetricTilesProps & React.RefAttributes<HTMLDivElement>>;
@@ -28,6 +28,7 @@ export interface PageHeaderProps extends Omit<React.HTMLAttributes<HTMLElement>,
28
28
  * Screen header: breadcrumb slot, the title at the one canonical page-title size
29
29
  * (`heading2`), a status slot and an actions slot. Every screen has exactly one.
30
30
  * `display` and `h1` type are reserved for marketing and landing surfaces.
31
+ * @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-3
31
32
  * @screenPattern
32
33
  */
33
34
  export declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLElement>>;
@@ -16,7 +16,7 @@
16
16
  * theme data-theme "dark" (light = unset) light
17
17
  * density data-density "compact" (comfortable = unset) comfortable
18
18
  * brand data-brand + data-tenant overlay slug (e.g. "acme") base
19
- * font --hds-font-family(-mono) any CSS font-family value Satoshi / IBM Plex Mono
19
+ * font --hds-font-family(-mono) any CSS font-family value Plus Jakarta Sans / IBM Plex Mono
20
20
  *
21
21
  * This provider is a thin, typed convenience that renders a `data-hds` scope
22
22
  * wrapper carrying those attributes — it does NOT own state, storage, or a
@@ -147,8 +147,8 @@ export declare const tokenValues: {
147
147
  };
148
148
  readonly typography: {
149
149
  readonly family: {
150
- readonly primary: readonly ["Satoshi", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"];
151
- readonly display: readonly ["Satoshi", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"];
150
+ readonly primary: readonly ["Plus Jakarta Sans", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"];
151
+ readonly display: readonly ["Plus Jakarta Sans", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"];
152
152
  readonly mono: readonly ["IBM Plex Mono", "Courier New", "monospace"];
153
153
  };
154
154
  readonly size: {
@@ -2517,14 +2517,6 @@ export declare const tokens: {
2517
2517
  textDisabled: {
2518
2518
  $type: string;
2519
2519
  $value: string;
2520
- $extensions: {
2521
- "com.figma.variables": {
2522
- modes: {
2523
- Light: string;
2524
- Dark: string;
2525
- };
2526
- };
2527
- };
2528
2520
  $description: string;
2529
2521
  };
2530
2522
  bgDisabled: {
@@ -1,4 +1,4 @@
1
1
  /** Emit a deprecation warning once per unique `code` (dev only). */
2
2
  export declare function warnOnce(code: string, message: string): void;
3
- /** Test/Storybook helper to reset the once-per-session guard. */
3
+ /** Test helper to reset the once-per-session guard. */
4
4
  export declare function __resetDeprecationWarnings(): void;
@@ -116,8 +116,8 @@
116
116
  --primitive-radius-8: 8px;
117
117
  --primitive-radius-12: 12px;
118
118
  --primitive-radius-full: 9999px;
119
- --primitive-typography-family-primary: Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
120
- --primitive-typography-family-display: Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
119
+ --primitive-typography-family-primary: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
120
+ --primitive-typography-family-display: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
121
121
  --primitive-typography-family-mono: "IBM Plex Mono", "Courier New", monospace;
122
122
  --primitive-typography-size-xs: 12px;
123
123
  --primitive-typography-size-sm: 14px;
@@ -447,8 +447,8 @@
447
447
  --component-button-size-lg-iconSize: var(--primitive-size-20);
448
448
  --component-button-size-lg-height: var(--primitive-size-48);
449
449
  --component-button-size-lg-itemSpacing: var(--primitive-space-2);
450
- --component-button-primary-textDisabled: var(--semantic-color-content-onAccent);
451
- --component-button-primary-bgDisabled: var(--semantic-color-surface-accentSubtle);
450
+ --component-button-primary-textDisabled: var(--semantic-color-content-disabled);
451
+ --component-button-primary-bgDisabled: var(--semantic-color-surface-muted);
452
452
  --component-button-secondary-bg-rest: var(--semantic-color-surface-page);
453
453
  --component-button-secondary-bg-hover: var(--semantic-color-surface-raised);
454
454
  --component-button-secondary-bg-pressed: var(--semantic-color-surface-overlay);
@@ -548,7 +548,6 @@
548
548
  --semantic-accent-contentHover: var(--primitive-color-apple-300);
549
549
  --semantic-accent-subtle: var(--primitive-color-apple-900);
550
550
  --component-badge-bg: var(--semantic-color-feedback-bg-info);
551
- --component-button-primary-textDisabled: var(--semantic-color-content-disabled);
552
551
  --semantic-elevation-flat-surface: var(--semantic-color-surface-page);
553
552
  --semantic-elevation-flat-border: var(--semantic-color-border-subtle);
554
553
  --semantic-elevation-raised-surface: var(--semantic-color-surface-raised);
@@ -570,7 +569,8 @@
570
569
  --component-button-bg: var(--semantic-color-surface-accent);
571
570
  --component-button-bgHover: var(--semantic-accent-hover);
572
571
  --component-button-text: var(--semantic-color-content-onAccent);
573
- --component-button-primary-bgDisabled: var(--semantic-color-surface-accentSubtle);
572
+ --component-button-primary-textDisabled: var(--semantic-color-content-disabled);
573
+ --component-button-primary-bgDisabled: var(--semantic-color-surface-muted);
574
574
  --component-button-secondary-bg-rest: var(--semantic-color-surface-page);
575
575
  --component-button-secondary-bg-hover: var(--semantic-color-surface-raised);
576
576
  --component-button-secondary-bg-pressed: var(--semantic-color-surface-overlay);
package/docs/CONSUMING.md CHANGED
@@ -70,16 +70,16 @@ All three:
70
70
  ### Brand fonts (optional)
71
71
 
72
72
  ```ts
73
- import '@hirobius/design-system/fonts.css'; // Satoshi 400/500/700 + IBM Plex Mono 400
73
+ import '@hirobius/design-system/fonts.css'; // Plus Jakarta Sans 400/500/700 + IBM Plex Mono 400
74
74
  ```
75
75
 
76
76
  `fonts.css` declares the four `@font-face` blocks with `font-display: swap`. Its
77
- URLs are relative (`./fonts/satoshi-400.woff2`), and the woff2 files ship in the
77
+ URLs are relative (`./fonts/plus-jakarta-sans-400.woff2`), and the woff2 files ship in the
78
78
  package, so Vite, Next and webpack resolve and hash them; there is nothing to
79
79
  copy. Import it alongside one of the stylesheets above to keep the HDS fonts.
80
80
  Skip it to bring your own: `tokens.css` and `styles.css` keep the
81
81
  `--hds-font-family*` variables, so text falls back to the family stack
82
- (`"Satoshi", system-ui, …`) and uses your font if you declare that family
82
+ (`"Plus Jakarta Sans", system-ui, …`) and uses your font if you declare that family
83
83
  yourself.
84
84
 
85
85
  HDS's own base styles (type baseline, resets) are scoped to the `[data-hds]`
@@ -229,7 +229,7 @@ export function Example() {
229
229
  | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
230
230
  | `@hirobius/design-system` | The 43-component core set ([README → What belongs in the system](../README.md#what-belongs-in-the-system)), the rest of the allow-list, and the router seam (`HdsRouterProvider`, `useHdsRouter`); the `pattern` tier is in `/patterns` |
231
231
  | `@hirobius/design-system/styles.css` | Components + utilities + tokens, NO global reset (host-safe; recommended for embedding) |
232
- | `@hirobius/design-system/fonts.css` | Optional brand fonts: Satoshi 400/500/700 + IBM Plex Mono 400 (`@font-face`, relative woff2 URLs) |
232
+ | `@hirobius/design-system/fonts.css` | Optional brand fonts: Plus Jakarta Sans 400/500/700 + IBM Plex Mono 400 (`@font-face`, relative woff2 URLs) |
233
233
  | `@hirobius/design-system/tokens.css` | The complete stylesheet — styles.css PLUS a global Tailwind-preflight reset |
234
234
  | `@hirobius/design-system/variables.css` | Design tokens as CSS custom properties ONLY — no reset/preflight (host-safe) |
235
235
  | `@hirobius/design-system/tokens` | Design-token values as typed TS |
@@ -503,7 +503,7 @@ npx skills add hirobius/hds --skill hds-consumer
503
503
  | `npm ERR! 404` on install | Check the package name spelling; if pinning a version, confirm it's published on npm (`npm view @hirobius/design-system version`). Public npm needs no auth (see §1–2). |
504
504
  | `ERR_REQUIRE_ESM` / `require() of ES Module` | Consumer is CommonJS — switch to an ESM bundler (§9). |
505
505
  | Components render unstyled / wrong font | Import `@hirobius/design-system/styles.css` (or `tokens.css`) at the app root (§3) **and** add `data-hds` to your root or section (§4). |
506
- | Text uses the host font, not Satoshi | Missing `data-hds` on an ancestor (§4). |
506
+ | Text uses the host font, not Plus Jakarta Sans | Missing `data-hds` on an ancestor (§4). |
507
507
  | In-app links do a full page reload | Expected with no router. Inject your router via `<HdsRouterProvider>` for SPA nav (§5). |
508
508
  | Host app's spacing/layout shifted after adding HDS | Tailwind preflight ships global this release (§6); scope HDS to a section and isolate where possible. |
509
509
  | Brand overlay has no effect on an Astro page | Inject the overlay on an ancestor of the themed markup (usually `<html>`), and ensure `variables.css` is imported once (§12). |
@@ -515,25 +515,25 @@
515
515
  "$type": "fontFamily",
516
516
  "primary": {
517
517
  "$value": [
518
- "Satoshi",
518
+ "Plus Jakarta Sans",
519
519
  "system-ui",
520
520
  "-apple-system",
521
521
  "BlinkMacSystemFont",
522
522
  "Segoe UI",
523
523
  "sans-serif"
524
524
  ],
525
- "$description": "Self-hosted Satoshi (ITF) body typeface; falls back to system-ui sans-serif stack."
525
+ "$description": "Self-hosted Plus Jakarta Sans (OFL) body typeface; falls back to system-ui sans-serif stack."
526
526
  },
527
527
  "display": {
528
528
  "$value": [
529
- "Satoshi",
529
+ "Plus Jakarta Sans",
530
530
  "system-ui",
531
531
  "-apple-system",
532
532
  "BlinkMacSystemFont",
533
533
  "Segoe UI",
534
534
  "sans-serif"
535
535
  ],
536
- "$description": "Display face: Satoshi Bold (ITF), bound to the display and title composites."
536
+ "$description": "Display face: Plus Jakarta Sans Bold (OFL), bound to the display and title composites."
537
537
  },
538
538
  "mono": {
539
539
  "$value": ["IBM Plex Mono", "Courier New", "monospace"],
@@ -2475,20 +2475,12 @@
2475
2475
  "primary": {
2476
2476
  "textDisabled": {
2477
2477
  "$type": "color",
2478
- "$value": "{semantic.color.content.onAccent}",
2479
- "$extensions": {
2480
- "com.figma.variables": {
2481
- "modes": {
2482
- "Light": "{semantic.color.content.onAccent}",
2483
- "Dark": "{semantic.color.content.disabled}"
2484
- }
2485
- }
2486
- },
2478
+ "$value": "{semantic.color.content.disabled}",
2487
2479
  "$description": "Disabled primary button text color."
2488
2480
  },
2489
2481
  "bgDisabled": {
2490
2482
  "$type": "color",
2491
- "$value": "{semantic.color.surface.accentSubtle}",
2483
+ "$value": "{semantic.color.surface.muted}",
2492
2484
  "$description": "Disabled primary button fill."
2493
2485
  }
2494
2486
  },
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Hirobius Design System
2
2
 
3
- Generated: 2026-10-09T13:43:23.079Z
3
+ Generated: 2026-10-11T06:38:18.383Z
4
4
  Primary sources: `public/hds-manifest.json`, `src/app/data/component-api.json`, `hirobius.tokens.json`
5
5
 
6
6
  ## Agents Using The Package: Start Here
@@ -274,7 +274,7 @@ Negative rules:
274
274
  - No GSAP/ScrollTrigger or bespoke Lenis wiring inside `@hirobius/design-system` — those stay app-level/downstream, composed from `Reveal`/`Pin`/`useScrollProgress`/`SmoothScroll`.
275
275
  - Every scroll effect must degrade to fully visible/static content — never gate content visibility behind `animation-timeline` support or a scroll listener with no fallback.
276
276
 
277
- Reference: `src/app/components/reveal.tsx`, `src/app/components/pin.tsx`, `src/scroll/` (`use-scroll-progress.ts`, `smooth-scroll.tsx`), ADR-021, and `src/stories/patterns-scroll.stories.tsx` for golden-path examples.
277
+ Reference: `src/app/components/reveal.tsx`, `src/app/components/pin.tsx`, `src/scroll/` (`use-scroll-progress.ts`, `smooth-scroll.tsx`), ADR-021, and the Reveal pattern page on the docs site (`/docs/patterns/reveal`) for golden-path examples.
278
278
 
279
279
  ## HDS Card Anatomy (mandatory — every property is non-negotiable)
280
280
 
@@ -317,7 +317,7 @@ Load only what the task needs. Same text as this file, split by topic:
317
317
 
318
318
  - `public/llms-full.txt` - this file + the full `DESIGN.md` + a compact props digest for every component.
319
319
 
320
- Paths in this file that begin with `docs/architecture/`, `src/app/components/`, `src/scroll/`, `src/stories/` or under `scripts/`, or that name `public/manifest.json`, `DESIGN-HANDOFF.md`, `TOKEN_GOVERNANCE.md` or `SYSTEMS_REGISTRY.md` exist only in the source repo, not in the npm package. Everything under "Default context" below ships in the package.
320
+ Paths in this file that begin with `docs/architecture/`, `src/app/components/`, `src/scroll/` or under `scripts/`, or that name `public/manifest.json`, `DESIGN-HANDOFF.md`, `TOKEN_GOVERNANCE.md` or `SYSTEMS_REGISTRY.md` exist only in the source repo, not in the npm package. Everything under "Default context" below ships in the package.
321
321
 
322
322
  ## Context Loading Rules (Credit Efficiency)
323
323
 
package/package.json CHANGED
@@ -6,8 +6,7 @@
6
6
  "design-tokens",
7
7
  "dtcg",
8
8
  "react",
9
- "radix-ui",
10
- "storybook"
9
+ "radix-ui"
11
10
  ],
12
11
  "homepage": "https://github.com/hirobius/hds#readme",
13
12
  "bugs": {
@@ -18,9 +17,9 @@
18
17
  "url": "git+https://github.com/hirobius/hds.git"
19
18
  },
20
19
  "author": "Adrian Milsap",
21
- "license": "SEE LICENSE IN NOTICE.md",
20
+ "license": "MIT AND OFL-1.1",
22
21
  "private": false,
23
- "version": "0.23.0",
22
+ "version": "0.23.2",
24
23
  "engines": {
25
24
  "node": ">=20",
26
25
  "pnpm": ">=8"
@@ -191,6 +190,7 @@
191
190
  "@arethetypeswrong/cli": "^0.18.4",
192
191
  "@axe-core/playwright": "^4.11.1",
193
192
  "@changesets/cli": "^2.27.10",
193
+ "@chromatic-com/playwright": "^1.0.0",
194
194
  "@cyclonedx/cyclonedx-npm": "^4.2.1",
195
195
  "@figma/code-connect": "^2.0.1",
196
196
  "@guidepup/virtual-screen-reader": "^0.33.0",
@@ -199,11 +199,6 @@
199
199
  "@microsoft/api-extractor": "7.58.7",
200
200
  "@playwright/test": "^1.58.2",
201
201
  "@size-limit/file": "^12.1.0",
202
- "@storybook/addon-a11y": "^8.6.18",
203
- "@storybook/addon-designs": "^8.2.1",
204
- "@storybook/addon-essentials": "^8.6.14",
205
- "@storybook/react": "^8.6.18",
206
- "@storybook/react-vite": "^8.6.18",
207
202
  "@tailwindcss/vite": "^4.2.4",
208
203
  "@testing-library/dom": "^10.4.0",
209
204
  "@testing-library/react": "^16.1.0",
@@ -216,7 +211,6 @@
216
211
  "@vitest/coverage-v8": "^4.1.0",
217
212
  "acorn": "^8.16.0",
218
213
  "acorn-jsx": "^5.3.2",
219
- "chromatic": "^17.6.0",
220
214
  "cors": "^2.8.6",
221
215
  "editorconfig-checker": "^6.1.1",
222
216
  "eslint": "^10.3.0",
@@ -250,7 +244,6 @@
250
244
  "react-hook-form": "^7.80.0",
251
245
  "react-router": "7.13.0",
252
246
  "size-limit": "^12.1.0",
253
- "storybook": "^8.6.18",
254
247
  "style-dictionary": "^5.4.0",
255
248
  "tailwindcss": "^4.2.4",
256
249
  "type-coverage": "^2.29.7",
@@ -286,7 +279,6 @@
286
279
  "audit:sbom": "node scripts/audit-sbom.mjs",
287
280
  "audit:sidecar": "node scripts/generate-security-posture.mjs",
288
281
  "audit:style-dictionary": "bash scripts/poc/style-dictionary-poc/run.sh",
289
- "build-storybook": "storybook build",
290
282
  "build:lib": "vite build -c vite.config.lib.ts && pnpm build:types && node scripts/build-vars-css.mjs && node scripts/build-fonts-css.mjs && node scripts/build-styles-css.mjs && node scripts/build-static-css.mjs && node scripts/build-css-contract.mjs",
291
283
  "build:types": "tsc -p tsconfig.dts.json && node scripts/strip-dts-side-effects.mjs && node scripts/add-dts-extensions.mjs",
292
284
  "catalog": "node scripts/generate-visual-catalog.mjs",
@@ -338,8 +330,6 @@
338
330
  "check:refs": "node scripts/check-ref-forwarding.mjs",
339
331
  "check:registry": "node scripts/check-registry.mjs",
340
332
  "check:release": "pnpm check:full && node scripts/check-style-discipline.mjs && pnpm build:lib && pnpm check:size",
341
- "check:rendered-geometry": "node scripts/check-rendered-geometry.mjs",
342
- "check:rendered-geometry:update": "node scripts/check-rendered-geometry.mjs --update-baseline",
343
333
  "check:routes": "node scripts/check-link-integrity.mjs --route-links-only",
344
334
  "check:secrets": "node scripts/check-secrets.mjs",
345
335
  "check:security": "node scripts/check-security-baseline.mjs",
@@ -347,10 +337,9 @@
347
337
  "check:size": "pnpm build:lib && node scripts/build-button-probe.mjs && pnpm size-limit",
348
338
  "check:spacing": "node scripts/check-hardcoded-spacing.mjs",
349
339
  "check:spacing-vocabulary": "node scripts/check-spacing-vocabulary.mjs",
350
- "check:story-coverage": "node scripts/check-story-coverage.mjs",
351
340
  "check:layout-contract": "node scripts/check-layout-contract.mjs",
352
341
  "check:spacing-scale": "node scripts/check-tailwind-spacing-scale.mjs",
353
- "check:storybook-axe": "node scripts/check-storybook-axe.mjs",
342
+ "check:docs-axe": "node scripts/check-docs-axe.mjs",
354
343
  "check:style-props": "node scripts/check-style-discipline.mjs --style-props-only",
355
344
  "check:sync-map": "node scripts/check-sync-map.mjs",
356
345
  "check:status-claims": "node scripts/check-status-claims.mjs --check",
@@ -366,20 +355,17 @@
366
355
  "check:token-structure": "node scripts/check-token-structure.mjs",
367
356
  "check:tokens": "node scripts/check-hardcoded-colors.mjs && pnpm lint --rule '{\"tailwindcss/no-custom-classname\":\"error\"}' && node scripts/audit-tokens.mjs --forbidden && node scripts/check-tier-bypass.mjs && node scripts/check-hardcoded-spacing.mjs && node scripts/check-typography-discipline.mjs --fonts-only",
368
357
  "check:type-coverage": "pnpm exec type-coverage --at-least 99.9",
369
- "chromatic": "chromatic --exit-zero-on-changes",
358
+ "test:visual-docs": "playwright test",
370
359
  "closure:plan": "node scripts/run-gates.mjs --channel pre-commit --emit-inventory docs/guardrails/full-strictness-inventory.json && node scripts/generate-closure-plan.mjs",
371
360
  "closure:plan:check": "node scripts/generate-closure-plan.mjs --check",
372
361
  "docs:api": "node scripts/generate-component-api.mjs",
373
362
  "docs:changelogs": "node scripts/generate-component-changelogs.mjs",
374
363
  "docs:build": "pnpm docs:prepare && pnpm --dir docs-site build",
364
+ "docs:publish": "pnpm docs:build && node scripts/generate-manifest-projection.mjs && node scripts/copy-agent-context.mjs --out docs-site/out && node scripts/figma-push.mjs --bundle docs-site/out/figma/sync-bundle.json",
375
365
  "docs:components": "node scripts/generate-docs-components.mjs",
376
- "docs:component": "node scripts/generate-component-page.mjs",
377
366
  "docs:dev": "pnpm docs:prepare && pnpm --dir docs-site dev",
378
367
  "docs:llms": "node scripts/generate-llms-txt.mjs",
379
368
  "docs:prepare": "pnpm build:lib && pnpm docs:api && pnpm docs:components && pnpm --dir docs-site install --frozen-lockfile",
380
- "docs:site": "node scripts/generate-component-page.mjs --all --clean",
381
- "docs:site:inline": "node scripts/generate-component-page.mjs --all --clean --inline",
382
- "docs:site:shots": "node scripts/generate-component-page.mjs --all --clean --shots",
383
369
  "figma-variables": "node scripts/build-figma-variables.mjs",
384
370
  "figma:connect:check": "node scripts/check-code-connect.mjs",
385
371
  "figma:connect:generate": "node scripts/generate-code-connect.mjs",
@@ -406,9 +392,7 @@
406
392
  "check:consumer-skill": "node scripts/generate-consumer-skill.mjs --check",
407
393
  "manifest:generate": "node scripts/generate-manifest.mjs && node scripts/generate-component-api.mjs && node scripts/enrich-manifest.mjs",
408
394
  "manifest:project": "node scripts/generate-manifest-projection.mjs",
409
- "prebuild-storybook": "node scripts/generate-component-api.mjs",
410
395
  "prebuild:lib": "node scripts/generate-component-api.mjs",
411
- "prestorybook": "node scripts/generate-component-api.mjs",
412
396
  "pretest": "node scripts/validate-manifest.mjs && node scripts/check-manifest-drift.mjs && node scripts/check-manifest-schema-semver.mjs && node scripts/audit-component-integrity.mjs --completeness && node scripts/audit-component-integrity.mjs --api && node scripts/check-source-canon.mjs && node scripts/check-binding-drift.mjs && node scripts/check-registry.mjs && node scripts/check-tenant-tokens.mjs && node scripts/check-props-exports.mjs && knip --no-exit-code && node scripts/check-dark-alias-flip.mjs && node scripts/check-focus-states.mjs && node scripts/generate-consumer-skill.mjs --check && node scripts/generate-agents-md.mjs --check && node scripts/check-deprecations.mjs && node scripts/upgrade/schema.mjs --check && node scripts/upgrade/compile.mjs --check && node scripts/check-docs.mjs && node --test scripts/check-docs.selftest.mjs && node scripts/check-upgrade-ledger.mjs",
413
397
  "pretypecheck": "node scripts/audit-tokens.mjs --report-only",
414
398
  "preview:build": "vite build --config preview/vite.config.mjs",
@@ -422,8 +406,6 @@
422
406
  "status:touch": "node scripts/status-touch.mjs",
423
407
  "status:fold": "node scripts/status-fold.mjs",
424
408
  "smoke:consumer": "node scripts/smoke-consumer.mjs && node scripts/check-published-types.mjs && node scripts/check-rsc-directives.mjs && node scripts/check-pack-contents.mjs && node scripts/check-upgrade-css.mjs",
425
- "storybook": "storybook dev -p 6006",
426
- "storybook:deploy": "node scripts/deploy-storybook.mjs",
427
409
  "sync": "node scripts/build-tokens.mjs && node scripts/audit-tokens.mjs --forbidden && node scripts/build-handoff.mjs && node scripts/build-design-md.mjs && node scripts/build-figma-variables.mjs",
428
410
  "sync-map": "node scripts/check-sync-map.mjs --gaps",
429
411
  "sync:health": "node scripts/generate-manifest.mjs && node scripts/generate-component-api.mjs && node scripts/enrich-manifest.mjs && node scripts/build-tokens.mjs && node scripts/audit-tokens.mjs --report-only && node scripts/build-design-md.mjs",