@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/CHANGELOG.md +27 -0
- package/CONSUMING.md +3 -3
- package/DESIGN.md +2 -2
- package/NOTICE.md +3 -3
- package/README.md +11 -10
- package/UPGRADING.md +14 -1
- package/dist/css-contract.json +1 -1
- package/dist/fonts/ibm-plex-mono-LICENSE.txt +93 -0
- package/dist/fonts/plus-jakarta-sans-400.woff2 +0 -0
- package/dist/fonts/plus-jakarta-sans-500.woff2 +0 -0
- package/dist/fonts/plus-jakarta-sans-700.woff2 +0 -0
- package/dist/fonts/plus-jakarta-sans-LICENSE.txt +22 -0
- package/dist/fonts.css +14 -14
- package/dist/hirobius-ui.js +134 -134
- package/dist/manifest.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens.css +1 -1
- package/dist/tokens.js +2 -2
- package/dist/types/src/app/components/error-pattern.d.ts +1 -0
- package/dist/types/src/app/components/metric-tiles.d.ts +1 -0
- package/dist/types/src/app/components/page-header.d.ts +1 -0
- package/dist/types/src/app/context/hds-theme.d.ts +1 -1
- package/dist/types/src/app/design-system/generated-token-values.d.ts +2 -2
- package/dist/variables.css +2 -2
- package/docs/CONSUMING.md +5 -5
- package/hirobius.tokens.json +4 -4
- package/package.json +6 -2
- package/public/hds-manifest.json +21 -21
- package/public/llms-full.txt +2 -2
- package/src/app/data/component-api.json +3 -1
- package/upgrade/index.json +8 -1
- package/upgrade/releases/0.23.1.json +108 -0
- package/dist/fonts/satoshi-400.woff2 +0 -0
- package/dist/fonts/satoshi-500.woff2 +0 -0
- 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: ["
|
|
137
|
-
display: ["
|
|
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
|
|
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 ["
|
|
151
|
-
readonly display: readonly ["
|
|
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: {
|
package/dist/variables.css
CHANGED
|
@@ -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:
|
|
120
|
-
--primitive-typography-family-display:
|
|
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'; //
|
|
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/
|
|
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
|
-
(`"
|
|
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:
|
|
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
|
|
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). |
|
package/hirobius.tokens.json
CHANGED
|
@@ -515,25 +515,25 @@
|
|
|
515
515
|
"$type": "fontFamily",
|
|
516
516
|
"primary": {
|
|
517
517
|
"$value": [
|
|
518
|
-
"
|
|
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
|
|
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
|
-
"
|
|
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:
|
|
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": "
|
|
21
|
+
"license": "MIT AND OFL-1.1",
|
|
22
22
|
"private": false,
|
|
23
|
-
"version": "0.23.
|
|
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",
|
package/public/hds-manifest.json
CHANGED
|
@@ -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-
|
|
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": "
|
|
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":
|
|
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":
|
|
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":
|
|
8366
|
+
"figmaUrl": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-89",
|
|
8367
8367
|
"figmaId": null,
|
|
8368
|
-
"figmaLink":
|
|
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":
|
|
8421
|
+
"figmaUrl": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-3",
|
|
8422
8422
|
"figmaId": null,
|
|
8423
|
-
"figmaLink":
|
|
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
|
|
9840
|
-
"value": "
|
|
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:
|
|
9847
|
-
"value": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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",
|
package/public/llms-full.txt
CHANGED
|
@@ -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**:
|
|
427
|
-
- **Body / UI font**:
|
|
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-
|
|
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",
|
package/upgrade/index.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "@hirobius/design-system",
|
|
3
|
-
"latest": "0.23.
|
|
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
|