@hirobius/design-system 0.23.0 → 0.23.1

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.
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: {
@@ -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;
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"],
package/package.json CHANGED
@@ -18,9 +18,9 @@
18
18
  "url": "git+https://github.com/hirobius/hds.git"
19
19
  },
20
20
  "author": "Adrian Milsap",
21
- "license": "SEE LICENSE IN NOTICE.md",
21
+ "license": "MIT AND OFL-1.1",
22
22
  "private": false,
23
- "version": "0.23.0",
23
+ "version": "0.23.1",
24
24
  "engines": {
25
25
  "node": ">=20",
26
26
  "pnpm": ">=8"
@@ -191,6 +191,7 @@
191
191
  "@arethetypeswrong/cli": "^0.18.4",
192
192
  "@axe-core/playwright": "^4.11.1",
193
193
  "@changesets/cli": "^2.27.10",
194
+ "@chromatic-com/playwright": "^1.0.0",
194
195
  "@cyclonedx/cyclonedx-npm": "^4.2.1",
195
196
  "@figma/code-connect": "^2.0.1",
196
197
  "@guidepup/virtual-screen-reader": "^0.33.0",
@@ -350,6 +351,7 @@
350
351
  "check:story-coverage": "node scripts/check-story-coverage.mjs",
351
352
  "check:layout-contract": "node scripts/check-layout-contract.mjs",
352
353
  "check:spacing-scale": "node scripts/check-tailwind-spacing-scale.mjs",
354
+ "check:docs-axe": "node scripts/check-docs-axe.mjs",
353
355
  "check:storybook-axe": "node scripts/check-storybook-axe.mjs",
354
356
  "check:style-props": "node scripts/check-style-discipline.mjs --style-props-only",
355
357
  "check:sync-map": "node scripts/check-sync-map.mjs",
@@ -367,11 +369,13 @@
367
369
  "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
370
  "check:type-coverage": "pnpm exec type-coverage --at-least 99.9",
369
371
  "chromatic": "chromatic --exit-zero-on-changes",
372
+ "test:visual-docs": "playwright test",
370
373
  "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
374
  "closure:plan:check": "node scripts/generate-closure-plan.mjs --check",
372
375
  "docs:api": "node scripts/generate-component-api.mjs",
373
376
  "docs:changelogs": "node scripts/generate-component-changelogs.mjs",
374
377
  "docs:build": "pnpm docs:prepare && pnpm --dir docs-site build",
378
+ "docs:publish": "pnpm docs:build && node scripts/generate-manifest-projection.mjs && node scripts/copy-agent-context.mjs --out docs-site/out --with-public && node scripts/figma-push.mjs --bundle docs-site/out/figma/sync-bundle.json",
375
379
  "docs:components": "node scripts/generate-docs-components.mjs",
376
380
  "docs:component": "node scripts/generate-component-page.mjs",
377
381
  "docs:dev": "pnpm docs:prepare && pnpm --dir docs-site dev",
@@ -2,7 +2,7 @@
2
2
  "name": "Hirobius Design System",
3
3
  "description": "Three-tier design token system for Adrian Milsap's portfolio site. Tokens flow primitive → semantic → component. All visual decisions trace back to hirobius.tokens.json.",
4
4
  "version": "1",
5
- "generated": "2026-10-09T05:30:51.055Z",
5
+ "generated": "2026-10-11T06:18:15.595Z",
6
6
  "source": "hirobius.tokens.json",
7
7
  "format": "W3C DTCG 2025.10",
8
8
  "docs": "https://hirobius-design-system.vercel.app/",
@@ -30,7 +30,7 @@
30
30
  "brand": {
31
31
  "primaryColor": "#66b239",
32
32
  "primaryColorToken": "semantic.accent.rest",
33
- "font": "Satoshi variable 100–900, self-hosted",
33
+ "font": "Plus Jakarta Sans variable 100–900, self-hosted",
34
34
  "spacingBase": "4px",
35
35
  "buttonBorderRadius": "0px",
36
36
  "cardBorderRadius": "8px",
@@ -977,7 +977,7 @@
977
977
  "hidden": false,
978
978
  "filePath": "src/app/components/error-pattern.tsx",
979
979
  "description": "ErrorPattern - governed recovery surface for routed application errors.",
980
- "figmaUrl": null,
980
+ "figmaUrl": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-839",
981
981
  "figmaId": null,
982
982
  "preview": {
983
983
  "exportName": "ErrorPattern",
@@ -1054,7 +1054,7 @@
1054
1054
  ],
1055
1055
  "tier": "template",
1056
1056
  "docExempt": false,
1057
- "figmaLink": null,
1057
+ "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-839",
1058
1058
  "storyFiles": [
1059
1059
  "src/stories/error-pattern.stories.tsx"
1060
1060
  ],
@@ -8363,9 +8363,9 @@
8363
8363
  "docExempt": false,
8364
8364
  "filePath": "src/app/components/metric-tiles.tsx",
8365
8365
  "description": "A row of `MetricTile`s. The grid has `min(tiles, 4)` columns, so three tiles fill three columns and never leave an empty fourth. The default for any row of headline numbers on a screen; use `Stat` only for an inline number inside prose or a dense list, `Card.Metric` only inside an existing `Card`, and `StatusTile` for state with notes (never a number).",
8366
- "figmaUrl": null,
8366
+ "figmaUrl": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-89",
8367
8367
  "figmaId": null,
8368
- "figmaLink": null,
8368
+ "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-89",
8369
8369
  "tier": "pattern",
8370
8370
  "preview": {
8371
8371
  "exportName": "MetricTiles",
@@ -8418,9 +8418,9 @@
8418
8418
  "docExempt": false,
8419
8419
  "filePath": "src/app/components/page-header.tsx",
8420
8420
  "description": "Screen header: breadcrumb slot, the title at the one canonical page-title size (`heading2`), a status slot and an actions slot. Every screen has exactly one. `display` and `h1` type are reserved for marketing and landing surfaces.",
8421
- "figmaUrl": null,
8421
+ "figmaUrl": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-3",
8422
8422
  "figmaId": null,
8423
- "figmaLink": null,
8423
+ "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-3",
8424
8424
  "tier": "pattern",
8425
8425
  "preview": {
8426
8426
  "exportName": "PageHeader",
@@ -9836,15 +9836,15 @@
9836
9836
  "path": "primitive.typography.family.primary",
9837
9837
  "cssVar": "--primitive-typography-family-primary",
9838
9838
  "type": "fontFamily",
9839
- "description": "Self-hosted Satoshi (ITF) body typeface; falls back to system-ui sans-serif stack.",
9840
- "value": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"
9839
+ "description": "Self-hosted Plus Jakarta Sans (OFL) body typeface; falls back to system-ui sans-serif stack.",
9840
+ "value": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"
9841
9841
  },
9842
9842
  {
9843
9843
  "path": "primitive.typography.family.display",
9844
9844
  "cssVar": "--primitive-typography-family-display",
9845
9845
  "type": "fontFamily",
9846
- "description": "Display face: Satoshi Bold (ITF), bound to the display and title composites.",
9847
- "value": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"
9846
+ "description": "Display face: Plus Jakarta Sans Bold (OFL), bound to the display and title composites.",
9847
+ "value": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"
9848
9848
  },
9849
9849
  {
9850
9850
  "path": "primitive.typography.family.mono",
@@ -11112,7 +11112,7 @@
11112
11112
  "type": "typography",
11113
11113
  "description": "One per page, hero only. 48px / 1.05 / 700. Role 1 of 6.",
11114
11114
  "composite": {
11115
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11115
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11116
11116
  "fontSize": "48px",
11117
11117
  "fontWeight": "700",
11118
11118
  "letterSpacing": "-0.01em",
@@ -11125,7 +11125,7 @@
11125
11125
  "type": "typography",
11126
11126
  "description": "Section and card headings. 24px / 1.25 / 700. Role 2 of 6.",
11127
11127
  "composite": {
11128
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11128
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11129
11129
  "fontSize": "24px",
11130
11130
  "fontWeight": "700",
11131
11131
  "letterSpacing": "-0.01em",
@@ -11138,7 +11138,7 @@
11138
11138
  "type": "typography",
11139
11139
  "description": "Prose. 16px / 1.6 / 400, 60ch measure. Role 3 of 6.",
11140
11140
  "composite": {
11141
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11141
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11142
11142
  "fontSize": "16px",
11143
11143
  "fontWeight": "400",
11144
11144
  "letterSpacing": "0em",
@@ -11152,7 +11152,7 @@
11152
11152
  "type": "typography",
11153
11153
  "description": "Controls, nav, table text, values. 14px / 1.5 / 500. Role 4 of 6.",
11154
11154
  "composite": {
11155
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11155
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11156
11156
  "fontSize": "14px",
11157
11157
  "fontWeight": "500",
11158
11158
  "letterSpacing": "0em",
@@ -11166,7 +11166,7 @@
11166
11166
  "type": "typography",
11167
11167
  "description": "Metadata, help text and labels, in sentence case. 12px / 1.5 / 500. Role 5 of 6.",
11168
11168
  "composite": {
11169
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11169
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11170
11170
  "fontSize": "12px",
11171
11171
  "fontWeight": "500",
11172
11172
  "letterSpacing": "0em",
@@ -11193,7 +11193,7 @@
11193
11193
  "type": "typography",
11194
11194
  "description": "deprecated: use semantic.typography.title",
11195
11195
  "composite": {
11196
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11196
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11197
11197
  "fontSize": "24px",
11198
11198
  "fontWeight": "700",
11199
11199
  "letterSpacing": "-0.01em",
@@ -11206,7 +11206,7 @@
11206
11206
  "type": "typography",
11207
11207
  "description": "deprecated: use semantic.typography.title",
11208
11208
  "composite": {
11209
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11209
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11210
11210
  "fontSize": "24px",
11211
11211
  "fontWeight": "700",
11212
11212
  "letterSpacing": "-0.01em",
@@ -11219,7 +11219,7 @@
11219
11219
  "type": "typography",
11220
11220
  "description": "deprecated: use semantic.typography.title",
11221
11221
  "composite": {
11222
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11222
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11223
11223
  "fontSize": "24px",
11224
11224
  "fontWeight": "700",
11225
11225
  "letterSpacing": "-0.01em",
@@ -11232,7 +11232,7 @@
11232
11232
  "type": "typography",
11233
11233
  "description": "deprecated: use semantic.typography.caption",
11234
11234
  "composite": {
11235
- "fontFamily": "Satoshi, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11235
+ "fontFamily": "\"Plus Jakarta Sans\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
11236
11236
  "fontSize": "12px",
11237
11237
  "fontWeight": "500",
11238
11238
  "letterSpacing": "0em",
@@ -423,8 +423,8 @@ Feedback hues are never decorative; do not use them as accents. Light and dark m
423
423
  <!-- auto:start:typography -->
424
424
  HDS ships three typefaces — each with a distinct and exclusive role:
425
425
 
426
- - **Display / Heading font**: Satoshi. Bound exclusively to the `display` and `title` styles. Never used for body copy or UI labels.
427
- - **Body / UI font**: Satoshi. All prose, labels, small text, captions, and UI copy.
426
+ - **Display / Heading font**: Plus Jakarta Sans. Bound exclusively to the `display` and `title` styles. Never used for body copy or UI labels.
427
+ - **Body / UI font**: Plus Jakarta Sans. All prose, labels, small text, captions, and UI copy.
428
428
  - **Mono font**: IBM Plex Mono. Reserved for tokens, code, technical callouts, and metric readouts.
429
429
 
430
430
  Weights declared: `400` regular, `500` medium, `700` bold. Heading styles (display · title) use `700` bold; body, UI, and caption use `400` regular / `500` medium.
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-10-10T03:04:03.405Z",
2
+ "generatedAt": "2026-10-11T07:01:23.624Z",
3
3
  "source": "react-docgen-typescript@2.4.0",
4
4
  "components": {
5
5
  "Alert": {
@@ -2465,6 +2465,7 @@
2465
2465
  },
2466
2466
  "category": "Display",
2467
2467
  "hidden": false,
2468
+ "figmaUrl": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-89",
2468
2469
  "props": [
2469
2470
  {
2470
2471
  "name": "children",
@@ -2525,6 +2526,7 @@
2525
2526
  },
2526
2527
  "category": "Layout",
2527
2528
  "hidden": false,
2529
+ "figmaUrl": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-3",
2528
2530
  "props": [
2529
2531
  {
2530
2532
  "name": "actions",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@hirobius/design-system",
3
- "latest": "0.23.0",
3
+ "latest": "0.23.1",
4
4
  "floor": "0.16.0",
5
5
  "versions": [
6
6
  {
@@ -58,6 +58,13 @@
58
58
  "bump": "minor",
59
59
  "breaking": 0,
60
60
  "summary": "14 that look different."
61
+ },
62
+ {
63
+ "version": "0.23.1",
64
+ "date": "2026-10-11",
65
+ "bump": "patch",
66
+ "breaking": 0,
67
+ "summary": "6 that look different."
61
68
  }
62
69
  ],
63
70
  "deprecated": [
@@ -0,0 +1,108 @@
1
+ {
2
+ "version": "0.23.1",
3
+ "date": "2026-10-11",
4
+ "bump": "patch",
5
+ "summary": "6 that look different.",
6
+ "backfilled": false,
7
+ "steps": [
8
+ {
9
+ "id": "0.23.1/value-changed/--hds-font-family",
10
+ "kind": "value-changed",
11
+ "impact": "look",
12
+ "plain": "The scoped HDS font variable now names Plus Jakarta Sans first instead of Satoshi.",
13
+ "detect": {
14
+ "cssVars": [
15
+ "--hds-font-family"
16
+ ],
17
+ "cssVarWrites": [
18
+ "--hds-font-family"
19
+ ]
20
+ },
21
+ "facts": [
22
+ "css-var-changed:--hds-font-family::root"
23
+ ],
24
+ "source": "CHANGELOG.md:20"
25
+ },
26
+ {
27
+ "id": "0.23.1/value-changed/--primitive-typography-family-display",
28
+ "kind": "value-changed",
29
+ "impact": "look",
30
+ "plain": "Display and title text now renders in Plus Jakarta Sans instead of Satoshi.",
31
+ "detect": {
32
+ "cssVars": [
33
+ "--primitive-typography-family-display"
34
+ ],
35
+ "cssVarWrites": [
36
+ "--primitive-typography-family-display"
37
+ ]
38
+ },
39
+ "facts": [
40
+ "css-var-changed:--primitive-typography-family-display::root"
41
+ ],
42
+ "source": "CHANGELOG.md:20"
43
+ },
44
+ {
45
+ "id": "0.23.1/value-changed/--primitive-typography-family-primary",
46
+ "kind": "value-changed",
47
+ "impact": "look",
48
+ "plain": "Body, UI and caption text now renders in Plus Jakarta Sans instead of Satoshi.",
49
+ "detect": {
50
+ "cssVars": [
51
+ "--primitive-typography-family-primary"
52
+ ],
53
+ "cssVarWrites": [
54
+ "--primitive-typography-family-primary"
55
+ ]
56
+ },
57
+ "facts": [
58
+ "css-var-changed:--primitive-typography-family-primary::root"
59
+ ],
60
+ "source": "CHANGELOG.md:20"
61
+ },
62
+ {
63
+ "id": "0.23.1/look/font-face-Satoshi-400-normal",
64
+ "kind": "look",
65
+ "impact": "look",
66
+ "plain": "fonts.css no longer declares Satoshi 400; it declares Plus Jakarta Sans 400 instead, so drop any font-family: Satoshi of your own.",
67
+ "detect": {
68
+ "regex": [
69
+ "Satoshi"
70
+ ]
71
+ },
72
+ "facts": [
73
+ "font-face-removed:Satoshi/400/normal"
74
+ ],
75
+ "source": "CHANGELOG.md:20"
76
+ },
77
+ {
78
+ "id": "0.23.1/look/font-face-Satoshi-500-normal",
79
+ "kind": "look",
80
+ "impact": "look",
81
+ "plain": "fonts.css no longer declares Satoshi 500; it declares Plus Jakarta Sans 500 instead, so drop any font-family: Satoshi of your own.",
82
+ "detect": {
83
+ "regex": [
84
+ "Satoshi"
85
+ ]
86
+ },
87
+ "facts": [
88
+ "font-face-removed:Satoshi/500/normal"
89
+ ],
90
+ "source": "CHANGELOG.md:20"
91
+ },
92
+ {
93
+ "id": "0.23.1/look/font-face-Satoshi-700-normal",
94
+ "kind": "look",
95
+ "impact": "look",
96
+ "plain": "fonts.css no longer declares Satoshi 700; it declares Plus Jakarta Sans 700 instead, so drop any font-family: Satoshi of your own.",
97
+ "detect": {
98
+ "regex": [
99
+ "Satoshi"
100
+ ]
101
+ },
102
+ "facts": [
103
+ "font-face-removed:Satoshi/700/normal"
104
+ ],
105
+ "source": "CHANGELOG.md:20"
106
+ }
107
+ ]
108
+ }
Binary file
Binary file
Binary file