@hirobius/design-system 0.23.1 → 0.24.0

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.
@@ -2,11 +2,11 @@
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-11T06:18:15.595Z",
5
+ "generated": "2026-10-11T21:00:30.237Z",
6
6
  "source": "hirobius.tokens.json",
7
7
  "format": "W3C DTCG 2025.10",
8
- "docs": "https://hirobius-design-system.vercel.app/",
9
- "llmsTxt": "https://hirobius-design-system.vercel.app/llms.txt",
8
+ "docs": "https://hirobius-hds-components.vercel.app/",
9
+ "llmsTxt": "https://hirobius-hds-components.vercel.app/llms.txt",
10
10
  "systemSpecs": {
11
11
  "engine": "React + TypeScript",
12
12
  "icons": "Lucide React",
@@ -28,7 +28,7 @@
28
28
  "consumeTypography": "hds.typeStyles.h1 (inline style object) — never Tailwind font classes"
29
29
  },
30
30
  "brand": {
31
- "primaryColor": "#66b239",
31
+ "primaryColor": "#433a3f",
32
32
  "primaryColorToken": "semantic.accent.rest",
33
33
  "font": "Plus Jakarta Sans variable 100–900, self-hosted",
34
34
  "spacingBase": "4px",
@@ -402,10 +402,7 @@
402
402
  "src/app/components/callout.tsx",
403
403
  "src/app/components/dialog.tsx",
404
404
  "src/app/components/empty-state.tsx",
405
- "src/app/components/toast.tsx",
406
- "src/stories/alert-dialog.stories.tsx",
407
- "src/stories/alert.stories.tsx",
408
- "src/stories/static-primitives.stories.tsx"
405
+ "src/app/components/toast.tsx"
409
406
  ],
410
407
  "tokenMapping": {
411
408
  "Success accent": "semantic.color.feedback.success",
@@ -514,17 +511,7 @@
514
511
  ]
515
512
  }
516
513
  },
517
- "storyFiles": [
518
- "src/stories/alert.stories.tsx"
519
- ],
520
- "storyIds": [
521
- "primitives-alert--all-variants",
522
- "primitives-alert--error",
523
- "primitives-alert--info",
524
- "primitives-alert--success",
525
- "primitives-alert--warning",
526
- "primitives-alert--with-title"
527
- ],
514
+ "docsPage": "/docs/components/alert",
528
515
  "usage": {
529
516
  "when": "Show a persistent inline message with a severity, next to the content it concerns.",
530
517
  "whenNot": "A brief confirmation that should disappear on its own, or a status label.",
@@ -554,9 +541,7 @@
554
541
  "exportName": "CodeBlock",
555
542
  "sizing": "panel"
556
543
  },
557
- "consumers": [
558
- "src/stories/code-block.stories.tsx"
559
- ],
544
+ "consumers": [],
560
545
  "tokenMapping": {
561
546
  "Surface fill": "semantic.color.surface.raised",
562
547
  "Border stroke": "semantic.color.border.default",
@@ -614,16 +599,7 @@
614
599
  "docExempt": false,
615
600
  "sourcePath": "src/app/components/CodeBlock.tsx",
616
601
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=89-154",
617
- "storyFiles": [
618
- "src/stories/code-block.stories.tsx"
619
- ],
620
- "storyIds": [
621
- "primitives-code-block--collapsible",
622
- "primitives-code-block--css-highlighting",
623
- "primitives-code-block--default",
624
- "primitives-code-block--inline",
625
- "primitives-code-block--json-highlighting"
626
- ],
602
+ "docsPage": "/docs/patterns/code-block",
627
603
  "usage": {
628
604
  "when": "Show a code sample with a copy button, optionally collapsed."
629
605
  }
@@ -646,11 +622,7 @@
646
622
  "src/app/components/page.tsx",
647
623
  "src/app/components/switcher.tsx",
648
624
  "src/app/context/__tests__/portal-scope.test.tsx",
649
- "src/index.ts",
650
- "src/stories/box.stories.tsx",
651
- "src/stories/container.stories.tsx",
652
- "src/stories/page.stories.tsx",
653
- "src/stories/patterns-layout.stories.tsx"
625
+ "src/index.ts"
654
626
  ],
655
627
  "tokenMapping": {},
656
628
  "props": {
@@ -690,13 +662,7 @@
690
662
  "docExempt": false,
691
663
  "sourcePath": "src/app/components/Container.tsx",
692
664
  "figmaLink": null,
693
- "storyFiles": [
694
- "src/stories/container.stories.tsx"
695
- ],
696
- "storyIds": [
697
- "primitives-container--content-width",
698
- "primitives-container--max-width"
699
- ],
665
+ "docsPage": "/docs/components/utilities",
700
666
  "usage": {
701
667
  "when": "Constrain a page region to the content or maximum width and centre it.",
702
668
  "whenNot": "Spacing between siblings, columns, or a surface with padding.",
@@ -732,8 +698,7 @@
732
698
  "sizing": "panel"
733
699
  },
734
700
  "consumers": [
735
- "src/app/components/tabs.tsx",
736
- "src/stories/disclosure.stories.tsx"
701
+ "src/app/components/tabs.tsx"
737
702
  ],
738
703
  "tokenMapping": {
739
704
  "Surface fill": "semantic.color.surface.raised",
@@ -830,15 +795,7 @@
830
795
  ],
831
796
  "sourcePath": "src/app/components/Disclosure.tsx",
832
797
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=88-453",
833
- "storyFiles": [
834
- "src/stories/disclosure.stories.tsx"
835
- ],
836
- "storyIds": [
837
- "primitives-disclosure--controlled",
838
- "primitives-disclosure--multiple-items",
839
- "primitives-disclosure--open-by-default",
840
- "primitives-disclosure--panel"
841
- ],
798
+ "docsPage": "/docs/components/disclosure",
842
799
  "usage": {
843
800
  "when": "Hide optional explanatory content behind a heading that people can expand.",
844
801
  "whenNot": "Content people must see, or switching between panels.",
@@ -865,9 +822,7 @@
865
822
  "sizing": "panel"
866
823
  },
867
824
  "consumers": [
868
- "src/app/components/metadata-list.tsx",
869
- "src/stories/divider.stories.tsx",
870
- "src/stories/static-primitives.stories.tsx"
825
+ "src/app/components/metadata-list.tsx"
871
826
  ],
872
827
  "tokenMapping": {
873
828
  "Default stroke": "semantic.color.border.default",
@@ -943,17 +898,7 @@
943
898
  ]
944
899
  }
945
900
  },
946
- "storyFiles": [
947
- "src/stories/divider.stories.tsx"
948
- ],
949
- "storyIds": [
950
- "primitives-divider--between-sections",
951
- "primitives-divider--horizontal",
952
- "primitives-divider--horizontal-strong",
953
- "primitives-divider--legacy-strong-prop",
954
- "primitives-divider--vertical",
955
- "primitives-divider--with-spacing"
956
- ],
901
+ "docsPage": "/docs/components/divider",
957
902
  "usage": {
958
903
  "when": "Separate two blocks of content with a thin line.",
959
904
  "whenNot": "Spacing alone would do, or the separation needs a container.",
@@ -984,8 +929,7 @@
984
929
  "sizing": "panel"
985
930
  },
986
931
  "consumers": [
987
- "src/index.ts",
988
- "src/stories/error-pattern.stories.tsx"
932
+ "src/index.ts"
989
933
  ],
990
934
  "tokenMapping": {
991
935
  "Headline typography": "semantic.typography.display",
@@ -1055,15 +999,7 @@
1055
999
  "tier": "template",
1056
1000
  "docExempt": false,
1057
1001
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2121-839",
1058
- "storyFiles": [
1059
- "src/stories/error-pattern.stories.tsx"
1060
- ],
1061
- "storyIds": [
1062
- "feedback-error-pattern--default",
1063
- "feedback-error-pattern--not-found",
1064
- "feedback-error-pattern--server-error",
1065
- "feedback-error-pattern--unauthorized"
1066
- ],
1002
+ "docsPage": "/docs/patterns/error-pattern",
1067
1003
  "usage": {
1068
1004
  "when": "Show an error with a short message and a Back button, in place or as a full page."
1069
1005
  }
@@ -1094,13 +1030,7 @@
1094
1030
  "src/app/components/stack.tsx",
1095
1031
  "src/app/components/table.tsx",
1096
1032
  "src/app/components/tooltip.tsx",
1097
- "src/index.ts",
1098
- "src/stories/box.stories.tsx",
1099
- "src/stories/grid.stories.tsx",
1100
- "src/stories/patterns-layout.stories.tsx",
1101
- "src/stories/segmented-control.stories.tsx",
1102
- "src/stories/status-tile.stories.tsx",
1103
- "src/stories/surface.stories.tsx"
1033
+ "src/index.ts"
1104
1034
  ],
1105
1035
  "tokenMapping": {},
1106
1036
  "props": {
@@ -1230,16 +1160,7 @@
1230
1160
  "docExempt": false,
1231
1161
  "sourcePath": "src/app/components/Grid.tsx",
1232
1162
  "figmaLink": null,
1233
- "storyFiles": [
1234
- "src/stories/grid.stories.tsx"
1235
- ],
1236
- "storyIds": [
1237
- "primitives-grid--aside-layout",
1238
- "primitives-grid--auto-fill",
1239
- "primitives-grid--auto-fit",
1240
- "primitives-grid--three-column",
1241
- "primitives-grid--two-column"
1242
- ],
1163
+ "docsPage": "/docs/components/grid",
1243
1164
  "usage": {
1244
1165
  "when": "Lay out content in columns that adapt to the screen width, or line up nested content with subgrid.",
1245
1166
  "whenNot": "A single row or column, or styling a surface.",
@@ -1275,6 +1196,7 @@
1275
1196
  "src/app/components/avatar.tsx",
1276
1197
  "src/app/components/breadcrumb.tsx",
1277
1198
  "src/app/components/button.test.tsx",
1199
+ "src/app/components/button.tsx",
1278
1200
  "src/app/components/checkbox.tsx",
1279
1201
  "src/app/components/code-block.tsx",
1280
1202
  "src/app/components/combobox.tsx",
@@ -1288,10 +1210,7 @@
1288
1210
  "src/app/components/pagination.tsx",
1289
1211
  "src/app/components/select.tsx",
1290
1212
  "src/app/components/table.tsx",
1291
- "src/app/components/toast.tsx",
1292
- "src/stories/data-table-section.stories.tsx",
1293
- "src/stories/icon.stories.tsx",
1294
- "src/stories/patterns-client-detail.stories.tsx"
1213
+ "src/app/components/toast.tsx"
1295
1214
  ],
1296
1215
  "tokenMapping": {
1297
1216
  "Small icon size": "primitive.typography.size.base",
@@ -1401,17 +1320,7 @@
1401
1320
  "docExempt": false,
1402
1321
  "sourcePath": "src/app/components/Icon.tsx",
1403
1322
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=27-2",
1404
- "storyFiles": [
1405
- "src/stories/icon.stories.tsx"
1406
- ],
1407
- "storyIds": [
1408
- "primitives-icon--default",
1409
- "primitives-icon--large",
1410
- "primitives-icon--medium",
1411
- "primitives-icon--semantic-color",
1412
- "primitives-icon--semantic-colors",
1413
- "primitives-icon--size-gallery"
1414
- ],
1323
+ "docsPage": "/docs/components/icon",
1415
1324
  "usage": {
1416
1325
  "when": "Show a Lucide icon at a set size and color.",
1417
1326
  "whenNot": "A control someone can activate, or a picture that carries content.",
@@ -1443,9 +1352,7 @@
1443
1352
  },
1444
1353
  "consumers": [
1445
1354
  "src/app/components/inline-code.test.tsx",
1446
- "src/app/components/metadata-list.tsx",
1447
- "src/stories/inline-code.stories.tsx",
1448
- "src/stories/metadata-list.stories.tsx"
1355
+ "src/app/components/metadata-list.tsx"
1449
1356
  ],
1450
1357
  "tokenMapping": {
1451
1358
  "Font family": "primitive.typography.family.mono",
@@ -1492,18 +1399,7 @@
1492
1399
  "docExempt": false,
1493
1400
  "sourcePath": "src/app/components/InlineCode.tsx",
1494
1401
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=89-155",
1495
- "storyFiles": [
1496
- "src/stories/inline-code.stories.tsx"
1497
- ],
1498
- "storyIds": [
1499
- "primitives-inline-code--comfortable",
1500
- "primitives-inline-code--compact",
1501
- "primitives-inline-code--compact-deprecated-alias",
1502
- "primitives-inline-code--copyable",
1503
- "primitives-inline-code--copyable-in-prose",
1504
- "primitives-inline-code--default",
1505
- "primitives-inline-code--in-prose"
1506
- ]
1402
+ "docsPage": null
1507
1403
  },
1508
1404
  "InlineLink": {
1509
1405
  "category": "Navigation",
@@ -1521,9 +1417,7 @@
1521
1417
  "consumers": [
1522
1418
  "src/app/components/button.tsx",
1523
1419
  "src/app/components/inline-link.test.tsx",
1524
- "src/app/components/text.tsx",
1525
- "src/stories/inline-link.stories.tsx",
1526
- "src/stories/lib/usage-description.test.ts"
1420
+ "src/app/components/text.tsx"
1527
1421
  ],
1528
1422
  "tokenMapping": {
1529
1423
  "Link text": "semantic.color.content.accent",
@@ -1570,15 +1464,7 @@
1570
1464
  "docExempt": false,
1571
1465
  "sourcePath": "src/app/components/InlineLink.tsx",
1572
1466
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=89-161",
1573
- "storyFiles": [
1574
- "src/stories/inline-link.stories.tsx"
1575
- ],
1576
- "storyIds": [
1577
- "primitives-inline-link--default",
1578
- "primitives-inline-link--external-no-icon",
1579
- "primitives-inline-link--in-body-copy",
1580
- "primitives-inline-link--internal-route"
1581
- ],
1467
+ "docsPage": "/docs/components/inline-link",
1582
1468
  "usage": {
1583
1469
  "when": "Link to a route or external URL from inside body copy.",
1584
1470
  "whenNot": "An action that changes something, or a control that needs button styling.",
@@ -1618,11 +1504,7 @@
1618
1504
  "src/app/components/slider.tsx",
1619
1505
  "src/app/components/textarea.tsx",
1620
1506
  "src/app/design-system/generated-token-descriptions.ts",
1621
- "src/index.ts",
1622
- "src/stories/combobox.stories.tsx",
1623
- "src/stories/input.stories.tsx",
1624
- "src/stories/patterns-layout.stories.tsx",
1625
- "src/stories/textarea.stories.tsx"
1507
+ "src/index.ts"
1626
1508
  ],
1627
1509
  "tokenMapping": {
1628
1510
  "Surface fill": "role.background",
@@ -1855,20 +1737,7 @@
1855
1737
  "tier": "primitive",
1856
1738
  "docExempt": false,
1857
1739
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=38-20",
1858
- "storyFiles": [
1859
- "src/stories/input.stories.tsx"
1860
- ],
1861
- "storyIds": [
1862
- "primitives-input--date-and-time",
1863
- "primitives-input--default",
1864
- "primitives-input--disabled",
1865
- "primitives-input--loading",
1866
- "primitives-input--mono",
1867
- "primitives-input--prefix-and-suffix",
1868
- "primitives-input--size-variants",
1869
- "primitives-input--with-error",
1870
- "primitives-input--with-helper"
1871
- ],
1740
+ "docsPage": "/docs/components/input",
1872
1741
  "usage": {
1873
1742
  "when": "Collect a single line of text, a number, an email, a password, a date or a time, with label, helper and error slots.",
1874
1743
  "whenNot": "Multi-line text, or choosing from a fixed list of options.",
@@ -1906,8 +1775,7 @@
1906
1775
  "src/app/components/radio.tsx",
1907
1776
  "src/app/components/segmented-control.test.tsx",
1908
1777
  "src/app/components/tabs.tsx",
1909
- "src/app/hooks/useInteractionState.ts",
1910
- "src/stories/segmented-control.stories.tsx"
1778
+ "src/app/hooks/useInteractionState.ts"
1911
1779
  ],
1912
1780
  "tokenMapping": {
1913
1781
  "Frame surface fill": "semantic.color.surface.page",
@@ -2013,15 +1881,7 @@
2013
1881
  "docExempt": false,
2014
1882
  "sourcePath": "src/app/components/SegmentedControl.tsx",
2015
1883
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=82-334",
2016
- "storyFiles": [
2017
- "src/stories/segmented-control.stories.tsx"
2018
- ],
2019
- "storyIds": [
2020
- "primitives-segmented-control--compact",
2021
- "primitives-segmented-control--full-width",
2022
- "primitives-segmented-control--primary",
2023
- "primitives-segmented-control--secondary"
2024
- ],
1884
+ "docsPage": "/docs/components/segmented-control",
2025
1885
  "usage": {
2026
1886
  "when": "Switch between two to five mutually exclusive views or modes in a compact row.",
2027
1887
  "whenNot": "A form choice that submits with the form, or more than five options.",
@@ -2075,14 +1935,7 @@
2075
1935
  "src/app/components/switcher.tsx",
2076
1936
  "src/app/components/table.tsx",
2077
1937
  "src/app/components/tooltip.tsx",
2078
- "src/index.ts",
2079
- "src/stories/box.stories.tsx",
2080
- "src/stories/code-block.stories.tsx",
2081
- "src/stories/grid.stories.tsx",
2082
- "src/stories/page.stories.tsx",
2083
- "src/stories/patterns-client-detail.stories.tsx",
2084
- "src/stories/patterns-layout.stories.tsx",
2085
- "src/stories/stack.stories.tsx"
1938
+ "src/index.ts"
2086
1939
  ],
2087
1940
  "tokenMapping": {
2088
1941
  "Default gap": "primitive.space.3",
@@ -2205,16 +2058,7 @@
2205
2058
  "docExempt": false,
2206
2059
  "sourcePath": "src/app/components/Stack.tsx",
2207
2060
  "figmaLink": null,
2208
- "storyFiles": [
2209
- "src/stories/stack.stories.tsx"
2210
- ],
2211
- "storyIds": [
2212
- "primitives-stack--column",
2213
- "primitives-stack--row",
2214
- "primitives-stack--space-between",
2215
- "primitives-stack--spacious-gap",
2216
- "primitives-stack--tight-gap"
2217
- ],
2061
+ "docsPage": "/docs/components/stack",
2218
2062
  "usage": {
2219
2063
  "when": "Space items in a row or column with even gaps.",
2220
2064
  "whenNot": "Multi-column layout, or giving content a background or padding.",
@@ -2248,10 +2092,7 @@
2248
2092
  "consumers": [
2249
2093
  "src/app/components/data-table-section.tsx",
2250
2094
  "src/app/components/table.test.tsx",
2251
- "src/app/data/manifest-types.ts",
2252
- "src/stories/data-table-section.stories.tsx",
2253
- "src/stories/segmented-control.stories.tsx",
2254
- "src/stories/table.stories.tsx"
2095
+ "src/app/data/manifest-types.ts"
2255
2096
  ],
2256
2097
  "tokenMapping": {},
2257
2098
  "props": {
@@ -2336,19 +2177,7 @@
2336
2177
  "docExempt": false,
2337
2178
  "sourcePath": "src/app/components/Table.tsx",
2338
2179
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=89-300",
2339
- "storyFiles": [
2340
- "src/stories/table.stories.tsx"
2341
- ],
2342
- "storyIds": [
2343
- "primitives-table--default",
2344
- "primitives-table--density-comfortable",
2345
- "primitives-table--density-compact",
2346
- "primitives-table--flush",
2347
- "primitives-table--follows-density-dial",
2348
- "primitives-table--sortable",
2349
- "primitives-table--with-badge-slots",
2350
- "primitives-table--with-caption"
2351
- ],
2180
+ "docsPage": "/docs/components/table",
2352
2181
  "usage": {
2353
2182
  "when": "Show rows of structured data in aligned columns, with optional sorting.",
2354
2183
  "whenNot": "A single record, a short list of links, or content that reflows as cards.",
@@ -2392,9 +2221,7 @@
2392
2221
  "src/app/components/switcher.tsx",
2393
2222
  "src/app/components/text.tsx",
2394
2223
  "src/app/components/visually-hidden.tsx",
2395
- "src/app/design-system/generated-token-descriptions.ts",
2396
- "src/stories/static-primitives.stories.tsx",
2397
- "src/stories/tag.stories.tsx"
2224
+ "src/app/design-system/generated-token-descriptions.ts"
2398
2225
  ],
2399
2226
  "tokenMapping": {
2400
2227
  "Surface fill": "component.tag.background",
@@ -2489,17 +2316,7 @@
2489
2316
  "docExempt": false,
2490
2317
  "sourcePath": "src/app/components/Tag.tsx",
2491
2318
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=32-11",
2492
- "storyFiles": [
2493
- "src/stories/tag.stories.tsx"
2494
- ],
2495
- "storyIds": [
2496
- "primitives-tag--active",
2497
- "primitives-tag--default",
2498
- "primitives-tag--disabled",
2499
- "primitives-tag--filter-row",
2500
- "primitives-tag--interactive",
2501
- "primitives-tag--state-matrix"
2502
- ],
2319
+ "docsPage": "/docs/components/tag",
2503
2320
  "usage": {
2504
2321
  "when": "Show an interactive filter or category chip that people can toggle.",
2505
2322
  "whenNot": "A read-only status or count label.",
@@ -2542,13 +2359,7 @@
2542
2359
  "src/app/components/table.tsx",
2543
2360
  "src/app/components/tooltip.test.tsx",
2544
2361
  "src/app/components/tooltip.tsx",
2545
- "src/app/context/hds-theme.tsx",
2546
- "src/stories/card.stories.tsx",
2547
- "src/stories/container.stories.tsx",
2548
- "src/stories/grid.stories.tsx",
2549
- "src/stories/page.stories.tsx",
2550
- "src/stories/patterns-layout.stories.tsx",
2551
- "src/stories/surface.stories.tsx"
2362
+ "src/app/context/hds-theme.tsx"
2552
2363
  ],
2553
2364
  "tokenMapping": {},
2554
2365
  "props": {
@@ -2618,16 +2429,7 @@
2618
2429
  "states": [
2619
2430
  "default"
2620
2431
  ],
2621
- "storyFiles": [
2622
- "src/stories/surface.stories.tsx"
2623
- ],
2624
- "storyIds": [
2625
- "primitives-surface--card-grid",
2626
- "primitives-surface--default",
2627
- "primitives-surface--forced-dark",
2628
- "primitives-surface--item-padding",
2629
- "primitives-surface--with-shadow"
2630
- ],
2432
+ "docsPage": "/docs/components/surface",
2631
2433
  "usage": {
2632
2434
  "when": "Give a block of content a background and padding, with no header or footer.",
2633
2435
  "whenNot": "Page layout, section spacing, width constraints, or content that needs slots.",
@@ -2672,11 +2474,7 @@
2672
2474
  "src/app/components/surface-padding.ts",
2673
2475
  "src/app/components/surface.tsx",
2674
2476
  "src/app/design-system/generated-token-descriptions.ts",
2675
- "src/index.ts",
2676
- "src/stories/card.stories.tsx",
2677
- "src/stories/grid.stories.tsx",
2678
- "src/stories/metric-tiles.stories.tsx",
2679
- "src/stories/static-primitives.stories.tsx"
2477
+ "src/index.ts"
2680
2478
  ],
2681
2479
  "tokenMapping": {
2682
2480
  "Surface fill": "role.card",
@@ -2859,23 +2657,7 @@
2859
2657
  ]
2860
2658
  }
2861
2659
  },
2862
- "storyFiles": [
2863
- "src/stories/card.stories.tsx"
2864
- ],
2865
- "storyIds": [
2866
- "primitives-card--bordered",
2867
- "primitives-card--default",
2868
- "primitives-card--elevated",
2869
- "primitives-card--feedback-tones",
2870
- "primitives-card--full-anatomy",
2871
- "primitives-card--header-only",
2872
- "primitives-card--metric-slot",
2873
- "primitives-card--padding-variants",
2874
- "primitives-card--progress-slot",
2875
- "primitives-card--selectable",
2876
- "primitives-card--tone-matrix",
2877
- "primitives-card--variant-accent"
2878
- ],
2660
+ "docsPage": "/docs/components/card",
2879
2661
  "usage": {
2880
2662
  "when": "Group related content on a raised surface with header, body, footer and metric slots, or as one selectable option.",
2881
2663
  "whenNot": "A bare padded background with no slot anatomy, or a single headline figure.",
@@ -2944,17 +2726,7 @@
2944
2726
  "src/app/components/table.tsx",
2945
2727
  "src/app/components/visually-hidden.tsx",
2946
2728
  "src/app/design-system/generated-token-descriptions.ts",
2947
- "src/brand/overlay.ts",
2948
- "src/stories/container.stories.tsx",
2949
- "src/stories/disclosure.stories.tsx",
2950
- "src/stories/grid.stories.tsx",
2951
- "src/stories/inline-code.stories.tsx",
2952
- "src/stories/input.stories.tsx",
2953
- "src/stories/page.stories.tsx",
2954
- "src/stories/patterns-layout.stories.tsx",
2955
- "src/stories/skeleton.stories.tsx",
2956
- "src/stories/surface.stories.tsx",
2957
- "src/stories/text.stories.tsx"
2729
+ "src/brand/overlay.ts"
2958
2730
  ],
2959
2731
  "tokenMapping": {},
2960
2732
  "variantAxes": [],
@@ -2963,20 +2735,7 @@
2963
2735
  "docExempt": true,
2964
2736
  "sourcePath": "src/app/components/Text.tsx",
2965
2737
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2022-31",
2966
- "storyFiles": [
2967
- "src/stories/text.stories.tsx"
2968
- ],
2969
- "storyIds": [
2970
- "primitives-text--body",
2971
- "primitives-text--caption",
2972
- "primitives-text--display",
2973
- "primitives-text--full-ramp",
2974
- "primitives-text--heading-1",
2975
- "primitives-text--heading-2",
2976
- "primitives-text--heading-3",
2977
- "primitives-text--technical",
2978
- "primitives-text--ui"
2979
- ],
2738
+ "docsPage": "/docs/components/text",
2980
2739
  "usage": {
2981
2740
  "when": "Set any text on the type ramp, with the element chosen by `as`.",
2982
2741
  "whenNot": "Navigation links, or a keyboard hint.",
@@ -3017,11 +2776,6 @@
3017
2776
  "src/app/components/toast.tsx",
3018
2777
  "src/app/context/__tests__/portal-hydration.test.tsx",
3019
2778
  "src/app/context/__tests__/portal-scope.test.tsx",
3020
- "src/stories/alert-dialog.stories.tsx",
3021
- "src/stories/alert.stories.tsx",
3022
- "src/stories/combobox.stories.tsx",
3023
- "src/stories/dialog.stories.tsx",
3024
- "src/stories/table.stories.tsx",
3025
2779
  "src/styles/__tests__/scrim-and-color-scheme.test.ts"
3026
2780
  ],
3027
2781
  "tokenMapping": {},
@@ -3200,16 +2954,7 @@
3200
2954
  "type": "boolean"
3201
2955
  }
3202
2956
  },
3203
- "storyFiles": [
3204
- "src/stories/dialog.stories.tsx"
3205
- ],
3206
- "storyIds": [
3207
- "primitives-dialog--dark-scope",
3208
- "primitives-dialog--default",
3209
- "primitives-dialog--destructive",
3210
- "primitives-dialog--information",
3211
- "primitives-dialog--no-close-affordance"
3212
- ],
2957
+ "docsPage": "/docs/components/dialog",
3213
2958
  "usage": {
3214
2959
  "when": "Interrupt the page with a modal that needs a decision or focused input before people continue.",
3215
2960
  "whenNot": "A preview on hover, a message that needs no reply, or content that can stay inline.",
@@ -3296,24 +3041,6 @@
3296
3041
  "src/form/index.ts",
3297
3042
  "src/index.ts",
3298
3043
  "src/mui/index.ts",
3299
- "src/stories/alert-dialog.stories.tsx",
3300
- "src/stories/button.stories.tsx",
3301
- "src/stories/code-block.stories.tsx",
3302
- "src/stories/combobox.stories.tsx",
3303
- "src/stories/data-table-section.stories.tsx",
3304
- "src/stories/dialog.stories.tsx",
3305
- "src/stories/form-actions.stories.tsx",
3306
- "src/stories/form.stories.tsx",
3307
- "src/stories/hds-tooltip.stories.tsx",
3308
- "src/stories/inline-code.stories.tsx",
3309
- "src/stories/lib/usage-description.test.ts",
3310
- "src/stories/menu.stories.tsx",
3311
- "src/stories/page-header.stories.tsx",
3312
- "src/stories/patterns-client-detail.stories.tsx",
3313
- "src/stories/patterns-layout.stories.tsx",
3314
- "src/stories/popover.stories.tsx",
3315
- "src/stories/table.stories.tsx",
3316
- "src/stories/toast.stories.tsx",
3317
3044
  "src/styles/__tests__/pressed-overlay-token.test.ts"
3318
3045
  ],
3319
3046
  "tokenMapping": {},
@@ -3509,23 +3236,7 @@
3509
3236
  ]
3510
3237
  }
3511
3238
  },
3512
- "storyFiles": [
3513
- "src/stories/button.stories.tsx"
3514
- ],
3515
- "storyIds": [
3516
- "primitives-button--all-variants-row",
3517
- "primitives-button--disabled",
3518
- "primitives-button--icon-only",
3519
- "primitives-button--large",
3520
- "primitives-button--loading",
3521
- "primitives-button--medium",
3522
- "primitives-button--pressed",
3523
- "primitives-button--primary",
3524
- "primitives-button--secondary",
3525
- "primitives-button--small",
3526
- "primitives-button--tertiary",
3527
- "primitives-button--tone-matrix"
3528
- ],
3239
+ "docsPage": "/docs/components/button",
3529
3240
  "usage": {
3530
3241
  "when": "Run an action, such as submit, save or open a dialog. For an icon-only control pass iconOnly, iconLeft and label; for an on/off toggle pass pressed.",
3531
3242
  "whenNot": "Navigating to another page, where a link is the correct element.",
@@ -3554,9 +3265,7 @@
3554
3265
  "exportName": "Callout",
3555
3266
  "sizing": "panel"
3556
3267
  },
3557
- "consumers": [
3558
- "src/stories/callout.stories.tsx"
3559
- ],
3268
+ "consumers": [],
3560
3269
  "tokenMapping": {},
3561
3270
  "variantAxes": [],
3562
3271
  "componentProperties": [],
@@ -3602,18 +3311,7 @@
3602
3311
  "required": false
3603
3312
  }
3604
3313
  ],
3605
- "storyFiles": [
3606
- "src/stories/callout.stories.tsx"
3607
- ],
3608
- "storyIds": [
3609
- "primitives-callout--accent",
3610
- "primitives-callout--all-tones",
3611
- "primitives-callout--danger",
3612
- "primitives-callout--default",
3613
- "primitives-callout--italic",
3614
- "primitives-callout--success",
3615
- "primitives-callout--warning"
3616
- ]
3314
+ "docsPage": null
3617
3315
  },
3618
3316
  "EmptyState": {
3619
3317
  "category": "Display",
@@ -3632,10 +3330,7 @@
3632
3330
  "sizing": "panel"
3633
3331
  },
3634
3332
  "consumers": [
3635
- "src/app/components/data-table-section.tsx",
3636
- "src/stories/data-table-section.stories.tsx",
3637
- "src/stories/empty-state.stories.tsx",
3638
- "src/stories/patterns-layout.stories.tsx"
3333
+ "src/app/components/data-table-section.tsx"
3639
3334
  ],
3640
3335
  "tokenMapping": {},
3641
3336
  "variantAxes": [],
@@ -3659,15 +3354,7 @@
3659
3354
  "propConstraints": {},
3660
3355
  "requiredProps": [],
3661
3356
  "a11yRules": [],
3662
- "storyFiles": [
3663
- "src/stories/empty-state.stories.tsx"
3664
- ],
3665
- "storyIds": [
3666
- "primitives-empty-state--default",
3667
- "primitives-empty-state--in-grid",
3668
- "primitives-empty-state--title-only",
3669
- "primitives-empty-state--with-description"
3670
- ],
3357
+ "docsPage": "/docs/components/empty-state",
3671
3358
  "usage": {
3672
3359
  "when": "Say that a list, grid or section has no data yet, with a title and an optional description.",
3673
3360
  "whenNot": "Content that is still loading, or a full-page error.",
@@ -3707,9 +3394,7 @@
3707
3394
  "src/app/components/input.tsx",
3708
3395
  "src/app/components/table.tsx",
3709
3396
  "src/app/components/textarea.tsx",
3710
- "src/form/hds-form.tsx",
3711
- "src/stories/field.stories.tsx",
3712
- "src/stories/patterns-layout.stories.tsx"
3397
+ "src/form/hds-form.tsx"
3713
3398
  ],
3714
3399
  "tokenMapping": {},
3715
3400
  "variantAxes": [],
@@ -3772,20 +3457,7 @@
3772
3457
  "required": false
3773
3458
  }
3774
3459
  ],
3775
- "storyFiles": [
3776
- "src/stories/field.stories.tsx"
3777
- ],
3778
- "storyIds": [
3779
- "primitives-field--all-tones",
3780
- "primitives-field--danger",
3781
- "primitives-field--default",
3782
- "primitives-field--info",
3783
- "primitives-field--metadata-grid",
3784
- "primitives-field--mono",
3785
- "primitives-field--success",
3786
- "primitives-field--warning",
3787
- "primitives-field--with-children"
3788
- ],
3460
+ "docsPage": "/docs/components/field",
3789
3461
  "usage": {
3790
3462
  "when": "Show a labelled read-only value, such as a name and its value in a detail view.",
3791
3463
  "whenNot": "Editable input, or a single headline figure.",
@@ -3826,12 +3498,7 @@
3826
3498
  "src/app/components/surface.tsx",
3827
3499
  "src/app/components/toast.tsx",
3828
3500
  "src/app/design-system/generated-token-descriptions.ts",
3829
- "src/brand/overlay.ts",
3830
- "src/stories/error-pattern.stories.tsx",
3831
- "src/stories/page.stories.tsx",
3832
- "src/stories/pagination.stories.tsx",
3833
- "src/stories/patterns-layout.stories.tsx",
3834
- "src/stories/table.stories.tsx"
3501
+ "src/brand/overlay.ts"
3835
3502
  ],
3836
3503
  "tokenMapping": {},
3837
3504
  "variantAxes": [],
@@ -3872,20 +3539,7 @@
3872
3539
  "propConstraints": {},
3873
3540
  "requiredProps": [],
3874
3541
  "a11yRules": [],
3875
- "storyFiles": [
3876
- "src/stories/page.stories.tsx",
3877
- "src/stories/patterns-layout.stories.tsx"
3878
- ],
3879
- "storyIds": [
3880
- "layout-page--compact-padding",
3881
- "layout-page--content-width",
3882
- "layout-page--default",
3883
- "layout-page--no-padding",
3884
- "patterns-layout--dashboard-grid",
3885
- "patterns-layout--detail-page",
3886
- "patterns-layout--empty-state-screen",
3887
- "patterns-layout--form-screen"
3888
- ],
3542
+ "docsPage": "/docs/patterns/page",
3889
3543
  "usage": {
3890
3544
  "when": "Wrap a screen in the standard width and padding."
3891
3545
  }
@@ -3907,9 +3561,7 @@
3907
3561
  "sizing": "panel"
3908
3562
  },
3909
3563
  "consumers": [
3910
- "src/app/components/metric-tiles.tsx",
3911
- "src/stories/metric-tiles.stories.tsx",
3912
- "src/stories/stat.stories.tsx"
3564
+ "src/app/components/metric-tiles.tsx"
3913
3565
  ],
3914
3566
  "tokenMapping": {},
3915
3567
  "variantAxes": [],
@@ -3963,17 +3615,7 @@
3963
3615
  "required": false
3964
3616
  }
3965
3617
  ],
3966
- "storyFiles": [
3967
- "src/stories/stat.stories.tsx"
3968
- ],
3969
- "storyIds": [
3970
- "primitives-stat--all-tones",
3971
- "primitives-stat--danger",
3972
- "primitives-stat--default",
3973
- "primitives-stat--success",
3974
- "primitives-stat--warning",
3975
- "primitives-stat--with-sub"
3976
- ],
3618
+ "docsPage": null,
3977
3619
  "usage": {
3978
3620
  "when": "Show one headline figure inline, inside prose or a dense list, with its label and an optional sub-line.",
3979
3621
  "whenNot": "A row of headline numbers on a screen, a figure inside a Card, or a status with a trailing badge.",
@@ -4010,9 +3652,7 @@
4010
3652
  "sizing": "panel"
4011
3653
  },
4012
3654
  "consumers": [
4013
- "src/app/components/status-tile.tsx",
4014
- "src/stories/status-list-item.stories.test.tsx",
4015
- "src/stories/status-list-item.stories.tsx"
3655
+ "src/app/components/status-tile.tsx"
4016
3656
  ],
4017
3657
  "tokenMapping": {},
4018
3658
  "variantAxes": [],
@@ -4063,17 +3703,7 @@
4063
3703
  "required": true
4064
3704
  }
4065
3705
  ],
4066
- "storyFiles": [
4067
- "src/stories/status-list-item.stories.tsx"
4068
- ],
4069
- "storyIds": [
4070
- "primitives-status-list-item--danger",
4071
- "primitives-status-list-item--default",
4072
- "primitives-status-list-item--info",
4073
- "primitives-status-list-item--success",
4074
- "primitives-status-list-item--warning",
4075
- "primitives-status-list-item--with-trailing"
4076
- ]
3706
+ "docsPage": null
4077
3707
  },
4078
3708
  "StatusTile": {
4079
3709
  "category": "Display",
@@ -4095,11 +3725,7 @@
4095
3725
  "src/app/components/metric-tiles.tsx",
4096
3726
  "src/app/components/stat.tsx",
4097
3727
  "src/index.ts",
4098
- "src/patterns.ts",
4099
- "src/stories/metric-tiles.stories.tsx",
4100
- "src/stories/status-list-item.stories.tsx",
4101
- "src/stories/status-tile.stories.test.tsx",
4102
- "src/stories/status-tile.stories.tsx"
3728
+ "src/patterns.ts"
4103
3729
  ],
4104
3730
  "tokenMapping": {},
4105
3731
  "variantAxes": [],
@@ -4134,16 +3760,7 @@
4134
3760
  "propConstraints": {},
4135
3761
  "requiredProps": [],
4136
3762
  "a11yRules": [],
4137
- "storyFiles": [
4138
- "src/stories/status-tile.stories.tsx"
4139
- ],
4140
- "storyIds": [
4141
- "primitives-status-tile--danger",
4142
- "primitives-status-tile--default",
4143
- "primitives-status-tile--in-grid",
4144
- "primitives-status-tile--warning",
4145
- "primitives-status-tile--with-trailing-badge"
4146
- ],
3763
+ "docsPage": "/docs/patterns/status-tile",
4147
3764
  "usage": {
4148
3765
  "when": "Show a titled status block with optional notes and a trailing badge or affordance.",
4149
3766
  "whenNot": "A headline number (never a value), or a row inside a list.",
@@ -4268,34 +3885,10 @@
4268
3885
  "src/app/components/page-header.tsx",
4269
3886
  "src/app/components/tag.tsx",
4270
3887
  "src/app/design-system/generated-token-descriptions.ts",
4271
- "src/mui/index.ts",
4272
- "src/stories/badge.stories.tsx",
4273
- "src/stories/code-block.stories.tsx",
4274
- "src/stories/combobox.stories.tsx",
4275
- "src/stories/data-table-section.stories.tsx",
4276
- "src/stories/page-header.stories.tsx",
4277
- "src/stories/patterns-client-detail.stories.tsx",
4278
- "src/stories/patterns-layout.stories.tsx",
4279
- "src/stories/static-primitives.stories.tsx",
4280
- "src/stories/status-list-item.stories.test.tsx",
4281
- "src/stories/status-list-item.stories.tsx",
4282
- "src/stories/status-tile.stories.test.tsx",
4283
- "src/stories/status-tile.stories.tsx",
4284
- "src/stories/table.stories.tsx"
3888
+ "src/mui/index.ts"
4285
3889
  ],
4286
3890
  "tokenMapping": {},
4287
- "storyFiles": [
4288
- "src/stories/badge.stories.tsx"
4289
- ],
4290
- "storyIds": [
4291
- "primitives-badge--all-tones",
4292
- "primitives-badge--danger",
4293
- "primitives-badge--dot",
4294
- "primitives-badge--info",
4295
- "primitives-badge--neutral",
4296
- "primitives-badge--success",
4297
- "primitives-badge--warning"
4298
- ],
3891
+ "docsPage": "/docs/components/badge",
4299
3892
  "usage": {
4300
3893
  "when": "Label a status, state or count with a compact neutral or semantic chip, or a dot.",
4301
3894
  "whenNot": "A chip people can toggle, or a message that needs a sentence.",
@@ -4332,8 +3925,7 @@
4332
3925
  "src/app/components/asset-img.test.tsx",
4333
3926
  "src/app/components/hds-tooltip.tsx",
4334
3927
  "src/app/components/tooltip.test.tsx",
4335
- "src/app/components/tooltip.tsx",
4336
- "src/stories/asset-img.stories.tsx"
3928
+ "src/app/components/tooltip.tsx"
4337
3929
  ],
4338
3930
  "tokenMapping": {},
4339
3931
  "variantAxes": [],
@@ -4475,16 +4067,7 @@
4475
4067
  "required": false
4476
4068
  }
4477
4069
  ],
4478
- "storyFiles": [
4479
- "src/stories/asset-img.stories.tsx"
4480
- ],
4481
- "storyIds": [
4482
- "primitives-asset-img--default",
4483
- "primitives-asset-img--detail-context",
4484
- "primitives-asset-img--lightbox-context",
4485
- "primitives-asset-img--placeholder-fallback",
4486
- "primitives-asset-img--with-title"
4487
- ],
4070
+ "docsPage": "/docs/patterns/asset-img",
4488
4071
  "usage": {
4489
4072
  "when": "Show an image that scales to its frame, with a placeholder if it fails to load."
4490
4073
  }
@@ -4509,10 +4092,7 @@
4509
4092
  "src/app/components/breadcrumb.tsx",
4510
4093
  "src/app/components/disclosure.tsx",
4511
4094
  "src/app/components/segmented-control.tsx",
4512
- "src/app/components/tabs.test.tsx",
4513
- "src/stories/combobox.stories.tsx",
4514
- "src/stories/patterns-client-detail.stories.tsx",
4515
- "src/stories/tabs.stories.tsx"
4095
+ "src/app/components/tabs.test.tsx"
4516
4096
  ],
4517
4097
  "tokenMapping": {},
4518
4098
  "variantAxes": [],
@@ -4561,15 +4141,7 @@
4561
4141
  "propConstraints": {},
4562
4142
  "requiredProps": [],
4563
4143
  "a11yRules": [],
4564
- "storyFiles": [
4565
- "src/stories/tabs.stories.tsx"
4566
- ],
4567
- "storyIds": [
4568
- "primitives-tabs--controlled",
4569
- "primitives-tabs--default",
4570
- "primitives-tabs--many-tabs",
4571
- "primitives-tabs--with-disabled-tab"
4572
- ],
4144
+ "docsPage": "/docs/components/tabs",
4573
4145
  "usage": {
4574
4146
  "when": "Switch between panels of related content in the same place, one visible at a time.",
4575
4147
  "whenNot": "A compact mode switch with no panels, or content that must all be visible.",
@@ -4603,9 +4175,7 @@
4603
4175
  "sizing": "panel"
4604
4176
  },
4605
4177
  "consumers": [
4606
- "src/app/components/tabs.test.tsx",
4607
- "src/stories/patterns-client-detail.stories.tsx",
4608
- "src/stories/tabs.stories.tsx"
4178
+ "src/app/components/tabs.test.tsx"
4609
4179
  ],
4610
4180
  "tokenMapping": {},
4611
4181
  "variantAxes": [],
@@ -4629,15 +4199,7 @@
4629
4199
  "propConstraints": {},
4630
4200
  "requiredProps": [],
4631
4201
  "a11yRules": [],
4632
- "storyFiles": [
4633
- "src/stories/tabs.stories.tsx"
4634
- ],
4635
- "storyIds": [
4636
- "primitives-tabs--controlled",
4637
- "primitives-tabs--default",
4638
- "primitives-tabs--many-tabs",
4639
- "primitives-tabs--with-disabled-tab"
4640
- ]
4202
+ "docsPage": null
4641
4203
  },
4642
4204
  "TabsList": {
4643
4205
  "category": "Navigation",
@@ -4656,9 +4218,7 @@
4656
4218
  "sizing": "panel"
4657
4219
  },
4658
4220
  "consumers": [
4659
- "src/app/components/tabs.test.tsx",
4660
- "src/stories/patterns-client-detail.stories.tsx",
4661
- "src/stories/tabs.stories.tsx"
4221
+ "src/app/components/tabs.test.tsx"
4662
4222
  ],
4663
4223
  "tokenMapping": {},
4664
4224
  "variantAxes": [],
@@ -4679,15 +4239,7 @@
4679
4239
  "propConstraints": {},
4680
4240
  "requiredProps": [],
4681
4241
  "a11yRules": [],
4682
- "storyFiles": [
4683
- "src/stories/tabs.stories.tsx"
4684
- ],
4685
- "storyIds": [
4686
- "primitives-tabs--controlled",
4687
- "primitives-tabs--default",
4688
- "primitives-tabs--many-tabs",
4689
- "primitives-tabs--with-disabled-tab"
4690
- ]
4242
+ "docsPage": null
4691
4243
  },
4692
4244
  "TabsTrigger": {
4693
4245
  "category": "Navigation",
@@ -4706,9 +4258,7 @@
4706
4258
  "sizing": "panel"
4707
4259
  },
4708
4260
  "consumers": [
4709
- "src/app/components/tabs.test.tsx",
4710
- "src/stories/patterns-client-detail.stories.tsx",
4711
- "src/stories/tabs.stories.tsx"
4261
+ "src/app/components/tabs.test.tsx"
4712
4262
  ],
4713
4263
  "tokenMapping": {},
4714
4264
  "variantAxes": [],
@@ -4728,15 +4278,7 @@
4728
4278
  "propConstraints": {},
4729
4279
  "requiredProps": [],
4730
4280
  "a11yRules": [],
4731
- "storyFiles": [
4732
- "src/stories/tabs.stories.tsx"
4733
- ],
4734
- "storyIds": [
4735
- "primitives-tabs--controlled",
4736
- "primitives-tabs--default",
4737
- "primitives-tabs--many-tabs",
4738
- "primitives-tabs--with-disabled-tab"
4739
- ]
4281
+ "docsPage": null
4740
4282
  },
4741
4283
  "Radio": {
4742
4284
  "category": "Inputs",
@@ -4758,9 +4300,7 @@
4758
4300
  "src/app/components/segmented-control.tsx",
4759
4301
  "src/app/components/toggle.tsx",
4760
4302
  "src/app/hooks/useInteractionState.test.ts",
4761
- "src/app/hooks/useInteractionState.ts",
4762
- "src/stories/menu.stories.tsx",
4763
- "src/stories/radio.stories.tsx"
4303
+ "src/app/hooks/useInteractionState.ts"
4764
4304
  ],
4765
4305
  "tokenMapping": {
4766
4306
  "label": "semantic.typography.small",
@@ -4797,16 +4337,7 @@
4797
4337
  "tier": "primitive",
4798
4338
  "docExempt": false,
4799
4339
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=36-17",
4800
- "storyFiles": [
4801
- "src/stories/radio.stories.tsx"
4802
- ],
4803
- "storyIds": [
4804
- "primitives-radio--default",
4805
- "primitives-radio--disabled",
4806
- "primitives-radio--disabled-selected",
4807
- "primitives-radio--group",
4808
- "primitives-radio--selected"
4809
- ],
4340
+ "docsPage": "/docs/components/radio",
4810
4341
  "usage": {
4811
4342
  "when": "Choose exactly one option from a small set that should stay visible together.",
4812
4343
  "whenNot": "Independent yes/no options, or a long list of options.",
@@ -4852,12 +4383,7 @@
4852
4383
  "src/app/components/segmented-control.tsx",
4853
4384
  "src/app/components/select.test.tsx",
4854
4385
  "src/app/context/__tests__/portal-hydration.test.tsx",
4855
- "src/app/context/__tests__/portal-scope.test.tsx",
4856
- "src/stories/checkbox.stories.tsx",
4857
- "src/stories/combobox.stories.tsx",
4858
- "src/stories/lib/open-listbox.test.tsx",
4859
- "src/stories/lib/open-listbox.ts",
4860
- "src/stories/select.stories.tsx"
4386
+ "src/app/context/__tests__/portal-scope.test.tsx"
4861
4387
  ],
4862
4388
  "tokenMapping": {
4863
4389
  "label": "semantic.typography.small",
@@ -4912,14 +4438,7 @@
4912
4438
  "tier": "primitive",
4913
4439
  "docExempt": false,
4914
4440
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=82-49",
4915
- "storyFiles": [
4916
- "src/stories/select.stories.tsx"
4917
- ],
4918
- "storyIds": [
4919
- "primitives-select--default",
4920
- "primitives-select--no-label",
4921
- "primitives-select--open"
4922
- ],
4441
+ "docsPage": "/docs/components/select",
4923
4442
  "usage": {
4924
4443
  "when": "Choose one value from a short list of options in a form field.",
4925
4444
  "whenNot": "Firing actions, or choosing from a list long enough to need search.",
@@ -4980,8 +4499,7 @@
4980
4499
  "sizing": "panel"
4981
4500
  },
4982
4501
  "consumers": [
4983
- "src/app/components/form-control.ts",
4984
- "src/stories/slider.stories.tsx"
4502
+ "src/app/components/form-control.ts"
4985
4503
  ],
4986
4504
  "tokenMapping": {
4987
4505
  "label": "semantic.typography.small",
@@ -5021,15 +4539,7 @@
5021
4539
  "tier": "primitive",
5022
4540
  "docExempt": false,
5023
4541
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=82-265",
5024
- "storyFiles": [
5025
- "src/stories/slider.stories.tsx"
5026
- ],
5027
- "storyIds": [
5028
- "primitives-slider--decimal",
5029
- "primitives-slider--default",
5030
- "primitives-slider--stepped",
5031
- "primitives-slider--typography-controls"
5032
- ],
4542
+ "docsPage": "/docs/components/slider",
5033
4543
  "usage": {
5034
4544
  "when": "Pick a number within a known range by dragging, when the exact value matters less than the position.",
5035
4545
  "whenNot": "A precise number the person must type or read exactly.",
@@ -5061,8 +4571,7 @@
5061
4571
  "src/app/components/radio.tsx",
5062
4572
  "src/app/components/toggle.test.tsx",
5063
4573
  "src/app/hooks/useInteractionState.test.ts",
5064
- "src/app/hooks/useInteractionState.ts",
5065
- "src/stories/toggle.stories.tsx"
4574
+ "src/app/hooks/useInteractionState.ts"
5066
4575
  ],
5067
4576
  "tokenMapping": {
5068
4577
  "label": "semantic.typography.small",
@@ -5098,16 +4607,7 @@
5098
4607
  "tier": "primitive",
5099
4608
  "docExempt": false,
5100
4609
  "figmaLink": "https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=37-19",
5101
- "storyFiles": [
5102
- "src/stories/toggle.stories.tsx"
5103
- ],
5104
- "storyIds": [
5105
- "primitives-toggle--default",
5106
- "primitives-toggle--disabled",
5107
- "primitives-toggle--disabled-on",
5108
- "primitives-toggle--on",
5109
- "primitives-toggle--settings-group"
5110
- ],
4610
+ "docsPage": "/docs/components/toggle",
5111
4611
  "usage": {
5112
4612
  "when": "Switch one setting on or off, with the effect applying immediately.",
5113
4613
  "whenNot": "A choice that only takes effect after submitting a form, or picking from several options.",
@@ -5145,9 +4645,7 @@
5145
4645
  "src/app/components/avatar-group.tsx",
5146
4646
  "src/app/components/avatar.test.tsx",
5147
4647
  "src/app/components/icon.tsx",
5148
- "src/app/design-system/generated-token-descriptions.ts",
5149
- "src/stories/avatar-group.stories.tsx",
5150
- "src/stories/avatar.stories.tsx"
4648
+ "src/app/design-system/generated-token-descriptions.ts"
5151
4649
  ],
5152
4650
  "tokenMapping": {},
5153
4651
  "variantAxes": [
@@ -5182,17 +4680,7 @@
5182
4680
  "propConstraints": {},
5183
4681
  "requiredProps": [],
5184
4682
  "a11yRules": [],
5185
- "storyFiles": [
5186
- "src/stories/avatar.stories.tsx"
5187
- ],
5188
- "storyIds": [
5189
- "primitives-avatar--all-sizes",
5190
- "primitives-avatar--default",
5191
- "primitives-avatar--explicit-initials",
5192
- "primitives-avatar--large",
5193
- "primitives-avatar--small",
5194
- "primitives-avatar--with-image"
5195
- ],
4683
+ "docsPage": "/docs/components/avatar",
5196
4684
  "usage": {
5197
4685
  "when": "Show a person or entity as an image with an initials fallback.",
5198
4686
  "whenNot": "A generic pictogram, or a status marker.",
@@ -5232,10 +4720,7 @@
5232
4720
  "src/app/components/progress.test.tsx",
5233
4721
  "src/app/components/skeleton.tsx",
5234
4722
  "src/app/components/spinner.tsx",
5235
- "src/index.ts",
5236
- "src/stories/card.stories.tsx",
5237
- "src/stories/progress.stories.tsx",
5238
- "src/stories/table.stories.tsx"
4723
+ "src/index.ts"
5239
4724
  ],
5240
4725
  "tokenMapping": {},
5241
4726
  "variantAxes": [],
@@ -5288,16 +4773,7 @@
5288
4773
  "propConstraints": {},
5289
4774
  "requiredProps": [],
5290
4775
  "a11yRules": [],
5291
- "storyFiles": [
5292
- "src/stories/progress.stories.tsx"
5293
- ],
5294
- "storyIds": [
5295
- "primitives-progress--all-sizes",
5296
- "primitives-progress--circular",
5297
- "primitives-progress--complete",
5298
- "primitives-progress--default",
5299
- "primitives-progress--indeterminate"
5300
- ],
4776
+ "docsPage": "/docs/components/progress",
5301
4777
  "usage": {
5302
4778
  "when": "Show how far a task has got, as a bar or ring that is determinate or indeterminate.",
5303
4779
  "whenNot": "A wait of unknown length with no bar, or content that is still loading.",
@@ -5334,10 +4810,7 @@
5334
4810
  "src/app/components/empty-state.tsx",
5335
4811
  "src/app/components/progress.tsx",
5336
4812
  "src/app/components/skeleton.test.tsx",
5337
- "src/app/components/spinner.tsx",
5338
- "src/stories/patterns-layout.stories.tsx",
5339
- "src/stories/patterns-scroll.stories.tsx",
5340
- "src/stories/skeleton.stories.tsx"
4813
+ "src/app/components/spinner.tsx"
5341
4814
  ],
5342
4815
  "tokenMapping": {},
5343
4816
  "variantAxes": [],
@@ -5367,16 +4840,7 @@
5367
4840
  "propConstraints": {},
5368
4841
  "requiredProps": [],
5369
4842
  "a11yRules": [],
5370
- "storyFiles": [
5371
- "src/stories/skeleton.stories.tsx"
5372
- ],
5373
- "storyIds": [
5374
- "primitives-skeleton--all-variants",
5375
- "primitives-skeleton--card-placeholder",
5376
- "primitives-skeleton--circular",
5377
- "primitives-skeleton--default",
5378
- "primitives-skeleton--text"
5379
- ],
4843
+ "docsPage": "/docs/components/skeleton",
5380
4844
  "usage": {
5381
4845
  "when": "Reserve the shape of content that is still loading, so the layout does not jump.",
5382
4846
  "whenNot": "A task with measurable progress, or a wait with no layout to reserve.",
@@ -5412,8 +4876,7 @@
5412
4876
  "consumers": [
5413
4877
  "src/app/components/progress.tsx",
5414
4878
  "src/app/components/skeleton.tsx",
5415
- "src/app/components/spinner.test.tsx",
5416
- "src/stories/spinner.stories.tsx"
4879
+ "src/app/components/spinner.test.tsx"
5417
4880
  ],
5418
4881
  "tokenMapping": {},
5419
4882
  "variantAxes": [],
@@ -5439,17 +4902,7 @@
5439
4902
  "propConstraints": {},
5440
4903
  "requiredProps": [],
5441
4904
  "a11yRules": [],
5442
- "storyFiles": [
5443
- "src/stories/spinner.stories.tsx"
5444
- ],
5445
- "storyIds": [
5446
- "primitives-spinner--all-sizes",
5447
- "primitives-spinner--color-inheritance",
5448
- "primitives-spinner--custom-label",
5449
- "primitives-spinner--default",
5450
- "primitives-spinner--large",
5451
- "primitives-spinner--small"
5452
- ],
4905
+ "docsPage": "/docs/components/spinner",
5453
4906
  "usage": {
5454
4907
  "when": "Show that something is loading when the wait is short or has no measurable end.",
5455
4908
  "whenNot": "A task with measurable progress, or a region whose layout is known.",
@@ -5486,10 +4939,7 @@
5486
4939
  "src/app/components/breadcrumb.test.tsx",
5487
4940
  "src/app/components/page-header.tsx",
5488
4941
  "src/app/components/pagination.tsx",
5489
- "src/app/components/table.tsx",
5490
- "src/stories/breadcrumb.stories.tsx",
5491
- "src/stories/page-header.stories.tsx",
5492
- "src/stories/patterns-client-detail.stories.tsx"
4942
+ "src/app/components/table.tsx"
5493
4943
  ],
5494
4944
  "tokenMapping": {},
5495
4945
  "variantAxes": [],
@@ -5509,16 +4959,7 @@
5509
4959
  "propConstraints": {},
5510
4960
  "requiredProps": [],
5511
4961
  "a11yRules": [],
5512
- "storyFiles": [
5513
- "src/stories/breadcrumb.stories.tsx"
5514
- ],
5515
- "storyIds": [
5516
- "primitives-breadcrumb--custom-label",
5517
- "primitives-breadcrumb--deep-trail",
5518
- "primitives-breadcrumb--default",
5519
- "primitives-breadcrumb--shallow-trail",
5520
- "primitives-breadcrumb--single-crumb"
5521
- ],
4962
+ "docsPage": "/docs/components/breadcrumb",
5522
4963
  "usage": {
5523
4964
  "when": "Show where the current page sits in a hierarchy and link back up it.",
5524
4965
  "whenNot": "Switching between sibling views, or stepping through pages of results.",
@@ -5554,8 +4995,7 @@
5554
4995
  "consumers": [
5555
4996
  "src/app/components/breadcrumb.tsx",
5556
4997
  "src/app/components/pagination.markup.test.tsx",
5557
- "src/app/components/pagination.test.tsx",
5558
- "src/stories/pagination.stories.tsx"
4998
+ "src/app/components/pagination.test.tsx"
5559
4999
  ],
5560
5000
  "tokenMapping": {},
5561
5001
  "variantAxes": [],
@@ -5585,16 +5025,7 @@
5585
5025
  "propConstraints": {},
5586
5026
  "requiredProps": [],
5587
5027
  "a11yRules": [],
5588
- "storyFiles": [
5589
- "src/stories/pagination.stories.tsx"
5590
- ],
5591
- "storyIds": [
5592
- "primitives-pagination--default",
5593
- "primitives-pagination--few-pages",
5594
- "primitives-pagination--last-page",
5595
- "primitives-pagination--middle-page",
5596
- "primitives-pagination--wide-siblings"
5597
- ],
5028
+ "docsPage": "/docs/components/pagination",
5598
5029
  "usage": {
5599
5030
  "when": "Move between pages of a long result set, with truncated page numbers.",
5600
5031
  "whenNot": "A hierarchy trail, or a short list that fits on one page.",
@@ -5627,8 +5058,7 @@
5627
5058
  "src/app/components/alert-dialog.tsx",
5628
5059
  "src/app/components/alert.tsx",
5629
5060
  "src/app/components/dialog.tsx",
5630
- "src/app/components/toast.test.tsx",
5631
- "src/stories/toast.stories.tsx"
5061
+ "src/app/components/toast.test.tsx"
5632
5062
  ],
5633
5063
  "tokenMapping": {},
5634
5064
  "variantAxes": [],
@@ -5653,16 +5083,7 @@
5653
5083
  "propConstraints": {},
5654
5084
  "requiredProps": [],
5655
5085
  "a11yRules": [],
5656
- "storyFiles": [
5657
- "src/stories/toast.stories.tsx"
5658
- ],
5659
- "storyIds": [
5660
- "primitives-toast--danger",
5661
- "primitives-toast--default",
5662
- "primitives-toast--info",
5663
- "primitives-toast--success",
5664
- "primitives-toast--warning"
5665
- ],
5086
+ "docsPage": "/docs/guides/providers",
5666
5087
  "usage": {
5667
5088
  "when": "Confirm an action with a brief message that appears and dismisses itself, through useToast.",
5668
5089
  "whenNot": "A message people must act on or that must stay next to its content.",
@@ -5701,11 +5122,7 @@
5701
5122
  "src/app/components/form.tsx",
5702
5123
  "src/app/components/input.tsx",
5703
5124
  "src/app/components/select.tsx",
5704
- "src/index.ts",
5705
- "src/stories/combobox.stories.tsx",
5706
- "src/stories/lib/open-listbox.test.tsx",
5707
- "src/stories/lib/open-listbox.ts",
5708
- "src/stories/popover.stories.tsx"
5125
+ "src/index.ts"
5709
5126
  ],
5710
5127
  "tokenMapping": {},
5711
5128
  "variantAxes": [],
@@ -5767,19 +5184,7 @@
5767
5184
  "propConstraints": {},
5768
5185
  "requiredProps": [],
5769
5186
  "a11yRules": [],
5770
- "storyFiles": [
5771
- "src/stories/combobox.stories.tsx"
5772
- ],
5773
- "storyIds": [
5774
- "primitives-combobox--default",
5775
- "primitives-combobox--disabled-trigger",
5776
- "primitives-combobox--few-options",
5777
- "primitives-combobox--multiple",
5778
- "primitives-combobox--open",
5779
- "primitives-combobox--open-multiple",
5780
- "primitives-combobox--pre-selected",
5781
- "primitives-combobox--with-disabled-option"
5782
- ],
5187
+ "docsPage": "/docs/components/combobox",
5783
5188
  "usage": {
5784
5189
  "when": "Pick one value, or several with `multiple`, from a long list of options, with a search field that filters as you type.",
5785
5190
  "whenNot": "A short list that needs no search, or an action list.",
@@ -5843,10 +5248,7 @@
5843
5248
  "src/app/components/form.test.tsx",
5844
5249
  "src/form/hds-form.tsx",
5845
5250
  "src/form/index.ts",
5846
- "src/form/use-hds-form.ts",
5847
- "src/stories/form-actions.stories.tsx",
5848
- "src/stories/form.stories.tsx",
5849
- "src/stories/patterns-layout.stories.tsx"
5251
+ "src/form/use-hds-form.ts"
5850
5252
  ],
5851
5253
  "tokenMapping": {},
5852
5254
  "variantAxes": [],
@@ -5858,15 +5260,7 @@
5858
5260
  "propConstraints": {},
5859
5261
  "requiredProps": [],
5860
5262
  "a11yRules": [],
5861
- "storyFiles": [
5862
- "src/stories/form.stories.tsx"
5863
- ],
5864
- "storyIds": [
5865
- "patterns-form--controlled",
5866
- "patterns-form--default",
5867
- "patterns-form--with-description",
5868
- "patterns-form--with-error"
5869
- ],
5263
+ "docsPage": "/docs/patterns/form",
5870
5264
  "usage": {
5871
5265
  "when": "Wrap form fields so they stack with even spacing."
5872
5266
  }
@@ -5892,9 +5286,7 @@
5892
5286
  "src/app/components/form.test.tsx",
5893
5287
  "src/app/components/select.tsx",
5894
5288
  "src/form/form-adapter.test.tsx",
5895
- "src/form/hds-form.tsx",
5896
- "src/stories/form.stories.tsx",
5897
- "src/stories/patterns-layout.stories.tsx"
5289
+ "src/form/hds-form.tsx"
5898
5290
  ],
5899
5291
  "tokenMapping": {},
5900
5292
  "variantAxes": [],
@@ -5933,15 +5325,7 @@
5933
5325
  "propConstraints": {},
5934
5326
  "requiredProps": [],
5935
5327
  "a11yRules": [],
5936
- "storyFiles": [
5937
- "src/stories/form.stories.tsx"
5938
- ],
5939
- "storyIds": [
5940
- "patterns-form--controlled",
5941
- "patterns-form--default",
5942
- "patterns-form--with-description",
5943
- "patterns-form--with-error"
5944
- ]
5328
+ "docsPage": null
5945
5329
  },
5946
5330
  "FormFieldShell": {
5947
5331
  "category": "Inputs",
@@ -5998,15 +5382,7 @@
5998
5382
  "propConstraints": {},
5999
5383
  "requiredProps": [],
6000
5384
  "a11yRules": [],
6001
- "storyFiles": [
6002
- "src/stories/form.stories.tsx"
6003
- ],
6004
- "storyIds": [
6005
- "patterns-form--controlled",
6006
- "patterns-form--default",
6007
- "patterns-form--with-description",
6008
- "patterns-form--with-error"
6009
- ]
5385
+ "docsPage": null
6010
5386
  },
6011
5387
  "HdsThemeProvider": {
6012
5388
  "category": "Theming",
@@ -6086,8 +5462,7 @@
6086
5462
  "propConstraints": {},
6087
5463
  "requiredProps": [],
6088
5464
  "a11yRules": [],
6089
- "storyFiles": [],
6090
- "storyIds": [],
5465
+ "docsPage": "/docs/guides/providers",
6091
5466
  "usage": {
6092
5467
  "when": "Wrap an app or region once to set theme, density and other root attributes for everything inside it.",
6093
5468
  "whenNot": "Styling a single component, or per-component overrides.",
@@ -6117,8 +5492,7 @@
6117
5492
  "sizing": "panel"
6118
5493
  },
6119
5494
  "consumers": [
6120
- "src/app/components/avatar-group.test.tsx",
6121
- "src/stories/avatar-group.stories.tsx"
5495
+ "src/app/components/avatar-group.test.tsx"
6122
5496
  ],
6123
5497
  "tokenMapping": {},
6124
5498
  "variantAxes": [],
@@ -6147,14 +5521,7 @@
6147
5521
  "propConstraints": {},
6148
5522
  "requiredProps": [],
6149
5523
  "a11yRules": [],
6150
- "storyFiles": [
6151
- "src/stories/avatar-group.stories.tsx"
6152
- ],
6153
- "storyIds": [
6154
- "primitives-avatar-group--default",
6155
- "primitives-avatar-group--sizes",
6156
- "primitives-avatar-group--with-overflow"
6157
- ]
5524
+ "docsPage": null
6158
5525
  },
6159
5526
  "Blockquote": {
6160
5527
  "category": "Typography",
@@ -6173,8 +5540,7 @@
6173
5540
  "sizing": "panel"
6174
5541
  },
6175
5542
  "consumers": [
6176
- "src/app/components/blockquote.test.tsx",
6177
- "src/stories/blockquote.stories.tsx"
5543
+ "src/app/components/blockquote.test.tsx"
6178
5544
  ],
6179
5545
  "tokenMapping": {},
6180
5546
  "variantAxes": [],
@@ -6200,14 +5566,7 @@
6200
5566
  "propConstraints": {},
6201
5567
  "requiredProps": [],
6202
5568
  "a11yRules": [],
6203
- "storyFiles": [
6204
- "src/stories/blockquote.stories.tsx"
6205
- ],
6206
- "storyIds": [
6207
- "primitives-blockquote--default",
6208
- "primitives-blockquote--sizes",
6209
- "primitives-blockquote--with-attribution"
6210
- ]
5569
+ "docsPage": null
6211
5570
  },
6212
5571
  "Kbd": {
6213
5572
  "category": "Display",
@@ -6227,8 +5586,7 @@
6227
5586
  },
6228
5587
  "consumers": [
6229
5588
  "src/app/components/kbd.test.tsx",
6230
- "src/app/components/text.tsx",
6231
- "src/stories/kbd.stories.tsx"
5589
+ "src/app/components/text.tsx"
6232
5590
  ],
6233
5591
  "tokenMapping": {},
6234
5592
  "variantAxes": [],
@@ -6250,14 +5608,7 @@
6250
5608
  "propConstraints": {},
6251
5609
  "requiredProps": [],
6252
5610
  "a11yRules": [],
6253
- "storyFiles": [
6254
- "src/stories/kbd.stories.tsx"
6255
- ],
6256
- "storyIds": [
6257
- "primitives-kbd--combination",
6258
- "primitives-kbd--default",
6259
- "primitives-kbd--sizes"
6260
- ],
5611
+ "docsPage": "/docs/components/kbd",
6261
5612
  "usage": {
6262
5613
  "when": "Show a keyboard key or shortcut hint inline, as a native kbd element.",
6263
5614
  "whenNot": "Code samples, or a control that runs the shortcut.",
@@ -6287,8 +5638,7 @@
6287
5638
  "sizing": "panel"
6288
5639
  },
6289
5640
  "consumers": [
6290
- "src/app/components/timestamp.test.tsx",
6291
- "src/stories/timestamp.stories.tsx"
5641
+ "src/app/components/timestamp.test.tsx"
6292
5642
  ],
6293
5643
  "tokenMapping": {},
6294
5644
  "variantAxes": [],
@@ -6322,13 +5672,7 @@
6322
5672
  "propConstraints": {},
6323
5673
  "requiredProps": [],
6324
5674
  "a11yRules": [],
6325
- "storyFiles": [
6326
- "src/stories/timestamp.stories.tsx"
6327
- ],
6328
- "storyIds": [
6329
- "primitives-timestamp--default",
6330
- "primitives-timestamp--formats"
6331
- ]
5675
+ "docsPage": null
6332
5676
  },
6333
5677
  "VisuallyHidden": {
6334
5678
  "category": "Utility",
@@ -6347,8 +5691,7 @@
6347
5691
  "sizing": "panel"
6348
5692
  },
6349
5693
  "consumers": [
6350
- "src/app/components/visually-hidden.test.tsx",
6351
- "src/stories/visually-hidden.stories.tsx"
5694
+ "src/app/components/visually-hidden.test.tsx"
6352
5695
  ],
6353
5696
  "tokenMapping": {},
6354
5697
  "variantAxes": [],
@@ -6365,12 +5708,7 @@
6365
5708
  "propConstraints": {},
6366
5709
  "requiredProps": [],
6367
5710
  "a11yRules": [],
6368
- "storyFiles": [
6369
- "src/stories/visually-hidden.stories.tsx"
6370
- ],
6371
- "storyIds": [
6372
- "primitives-visually-hidden--default"
6373
- ],
5711
+ "docsPage": "/docs/components/utilities",
6374
5712
  "usage": {
6375
5713
  "when": "Give assistive technology a label or description that sighted people do not need to see.",
6376
5714
  "whenNot": "Text everyone should read, or hiding an element from assistive technology too.",
@@ -6400,8 +5738,7 @@
6400
5738
  "sizing": "panel"
6401
5739
  },
6402
5740
  "consumers": [
6403
- "src/app/components/metadata-list.test.tsx",
6404
- "src/stories/metadata-list.stories.tsx"
5741
+ "src/app/components/metadata-list.test.tsx"
6405
5742
  ],
6406
5743
  "tokenMapping": {},
6407
5744
  "variantAxes": [],
@@ -6437,14 +5774,7 @@
6437
5774
  "propConstraints": {},
6438
5775
  "requiredProps": [],
6439
5776
  "a11yRules": [],
6440
- "storyFiles": [
6441
- "src/stories/metadata-list.stories.tsx"
6442
- ],
6443
- "storyIds": [
6444
- "patterns-metadata-list--default",
6445
- "patterns-metadata-list--divided",
6446
- "patterns-metadata-list--horizontal"
6447
- ]
5777
+ "docsPage": null
6448
5778
  },
6449
5779
  "AlertDialog": {
6450
5780
  "category": "Overlays",
@@ -6468,8 +5798,6 @@
6468
5798
  "src/app/components/dialog.tsx",
6469
5799
  "src/app/context/__tests__/portal-hydration.test.tsx",
6470
5800
  "src/app/context/__tests__/portal-scope.test.tsx",
6471
- "src/stories/alert-dialog.stories.tsx",
6472
- "src/stories/destructive-section.stories.tsx",
6473
5801
  "src/styles/__tests__/scrim-and-color-scheme.test.ts"
6474
5802
  ],
6475
5803
  "tokenMapping": {},
@@ -6499,13 +5827,7 @@
6499
5827
  "propConstraints": {},
6500
5828
  "requiredProps": [],
6501
5829
  "a11yRules": [],
6502
- "storyFiles": [
6503
- "src/stories/alert-dialog.stories.tsx"
6504
- ],
6505
- "storyIds": [
6506
- "primitives-alert-dialog--dark-scope",
6507
- "primitives-alert-dialog--default"
6508
- ],
5830
+ "docsPage": null,
6509
5831
  "usage": {
6510
5832
  "when": "Confirm a destructive or irreversible action (delete, archive, remove) before it runs, with Cancel and Action buttons.",
6511
5833
  "whenNot": "A modal that collects input or shows content, or a confirmation after the action is done.",
@@ -6548,10 +5870,7 @@
6548
5870
  "src/app/components/stack.tsx",
6549
5871
  "src/app/components/switcher.tsx",
6550
5872
  "src/app/components/toggle.tsx",
6551
- "src/index.ts",
6552
- "src/stories/box.stories.tsx",
6553
- "src/stories/patterns-layout.stories.tsx",
6554
- "src/stories/story-ssr.spec.tsx"
5873
+ "src/index.ts"
6555
5874
  ],
6556
5875
  "tokenMapping": {},
6557
5876
  "variantAxes": [],
@@ -6576,17 +5895,7 @@
6576
5895
  "propConstraints": {},
6577
5896
  "requiredProps": [],
6578
5897
  "a11yRules": [],
6579
- "storyFiles": [
6580
- "src/stories/box.stories.tsx"
6581
- ],
6582
- "storyIds": [
6583
- "primitives-box--ampersand-selectors",
6584
- "primitives-box--ampersand-with-responsive",
6585
- "primitives-box--polymorphic-as",
6586
- "primitives-box--responsive-values",
6587
- "primitives-box--spacing-shorthands",
6588
- "primitives-box--token-colors"
6589
- ],
5898
+ "docsPage": "/docs/components/utilities",
6590
5899
  "usage": {
6591
5900
  "when": "Build one-off layout that no named layout primitive covers, using token keys through `sx`.",
6592
5901
  "whenNot": "Ordinary vertical or horizontal spacing, columns, or page-width constraint.",
@@ -6627,11 +5936,7 @@
6627
5936
  "consumers": [
6628
5937
  "src/app/components/box-sx.test.ts",
6629
5938
  "src/app/components/box-sx.ts",
6630
- "src/app/components/sidebar.test.tsx",
6631
- "src/stories/grid.stories.tsx",
6632
- "src/stories/patterns-layout.stories.tsx",
6633
- "src/stories/pin.stories.tsx",
6634
- "src/stories/sidebar.stories.tsx"
5939
+ "src/app/components/sidebar.test.tsx"
6635
5940
  ],
6636
5941
  "tokenMapping": {},
6637
5942
  "variantAxes": [],
@@ -6685,14 +5990,7 @@
6685
5990
  "propConstraints": {},
6686
5991
  "requiredProps": [],
6687
5992
  "a11yRules": [],
6688
- "storyFiles": [
6689
- "src/stories/sidebar.stories.tsx"
6690
- ],
6691
- "storyIds": [
6692
- "primitives-sidebar--narrow-container-stacks",
6693
- "primitives-sidebar--rail-end",
6694
- "primitives-sidebar--rail-start"
6695
- ],
5993
+ "docsPage": null,
6696
5994
  "aiRules": "Reach for this named layout intent before Box/sx. Sidebar expects EXACTLY two children — the rail and the content — passed in that order. `side` controls which one visually renders as the rail; DOM order is unchanged. gap MUST use a semantic space step, never raw px. sideWidth and contentMin are CSS length dimensions (not spacing) — a length string like '16rem' or '50%' is expected, matching the check-hardcoded-spacing gate's own dimension-prop exemption. Do NOT use Sidebar for more than two regions — use Grid."
6697
5995
  },
6698
5996
  "Switcher": {
@@ -6714,8 +6012,7 @@
6714
6012
  "consumers": [
6715
6013
  "src/app/components/box-sx.test.ts",
6716
6014
  "src/app/components/box-sx.ts",
6717
- "src/app/components/switcher.test.tsx",
6718
- "src/stories/switcher.stories.tsx"
6015
+ "src/app/components/switcher.test.tsx"
6719
6016
  ],
6720
6017
  "tokenMapping": {},
6721
6018
  "variantAxes": [],
@@ -6761,14 +6058,7 @@
6761
6058
  "propConstraints": {},
6762
6059
  "requiredProps": [],
6763
6060
  "a11yRules": [],
6764
- "storyFiles": [
6765
- "src/stories/switcher.stories.tsx"
6766
- ],
6767
- "storyIds": [
6768
- "primitives-switcher--default",
6769
- "primitives-switcher--limit-forces-stacked",
6770
- "primitives-switcher--narrow-container-stacks"
6771
- ],
6061
+ "docsPage": null,
6772
6062
  "aiRules": "Reach for this named layout intent before Box/sx. gap MUST use a semantic space step, never raw px. threshold is a CSS length dimension (not spacing), e.g. '30rem'. `limit` unconditionally forces the stacked (column) layout once there are more than `limit` children, regardless of container width — use it to stop a row from thinning out into an unreadable N-up strip. Do NOT use Switcher for content that should always wrap in place — use Stack with `direction=\"row\"` and `wrap=\"wrap\"`."
6773
6063
  },
6774
6064
  "Pin": {
@@ -6789,10 +6079,7 @@
6789
6079
  },
6790
6080
  "consumers": [
6791
6081
  "src/app/components/form-actions.tsx",
6792
- "src/app/components/pin.test.tsx",
6793
- "src/stories/patterns-scroll.stories.tsx",
6794
- "src/stories/pin.stories.tsx",
6795
- "src/stories/reveal.stories.tsx"
6082
+ "src/app/components/pin.test.tsx"
6796
6083
  ],
6797
6084
  "tokenMapping": {},
6798
6085
  "variantAxes": [],
@@ -6824,12 +6111,7 @@
6824
6111
  "propConstraints": {},
6825
6112
  "requiredProps": [],
6826
6113
  "a11yRules": [],
6827
- "storyFiles": [
6828
- "src/stories/pin.stories.tsx"
6829
- ],
6830
- "storyIds": [
6831
- "primitives-pin--sidebar"
6832
- ],
6114
+ "docsPage": null,
6833
6115
  "aiRules": "`top` is a CSS length offset (a dimension, not a spacing step). Give the pinned element a TALLER scrolling parent so it has room to travel. For the scroll-scrubbed animation inside a pinned scene, use CSS `animation-timeline` (see Reveal) or `useScrollProgress` from `@hirobius/design-system/scroll`. See ADR-021."
6834
6116
  },
6835
6117
  "Reveal": {
@@ -6850,9 +6132,7 @@
6850
6132
  },
6851
6133
  "consumers": [
6852
6134
  "src/app/components/pin.tsx",
6853
- "src/app/components/reveal.test.tsx",
6854
- "src/stories/patterns-scroll.stories.tsx",
6855
- "src/stories/reveal.stories.tsx"
6135
+ "src/app/components/reveal.test.tsx"
6856
6136
  ],
6857
6137
  "tokenMapping": {},
6858
6138
  "variantAxes": [],
@@ -6890,17 +6170,7 @@
6890
6170
  "propConstraints": {},
6891
6171
  "requiredProps": [],
6892
6172
  "a11yRules": [],
6893
- "storyFiles": [
6894
- "src/stories/patterns-scroll.stories.tsx",
6895
- "src/stories/reveal.stories.tsx"
6896
- ],
6897
- "storyIds": [
6898
- "patterns-scroll--pinned-scale-reveal",
6899
- "patterns-scroll--reveal-sequence",
6900
- "patterns-scroll--simple-parallax",
6901
- "primitives-reveal--animations",
6902
- "primitives-reveal--scale-reveal-scene"
6903
- ],
6173
+ "docsPage": "/docs/patterns/reveal",
6904
6174
  "usage": {
6905
6175
  "when": "Fade content in as it scrolls into view."
6906
6176
  },
@@ -6926,9 +6196,7 @@
6926
6196
  "src/app/components/form-control.ts",
6927
6197
  "src/app/components/input.tsx",
6928
6198
  "src/app/components/select.tsx",
6929
- "src/app/components/textarea.test.tsx",
6930
- "src/stories/patterns-client-detail.stories.tsx",
6931
- "src/stories/textarea.stories.tsx"
6199
+ "src/app/components/textarea.test.tsx"
6932
6200
  ],
6933
6201
  "tokenMapping": {},
6934
6202
  "variantAxes": [],
@@ -6973,16 +6241,7 @@
6973
6241
  "propConstraints": {},
6974
6242
  "requiredProps": [],
6975
6243
  "a11yRules": [],
6976
- "storyFiles": [
6977
- "src/stories/textarea.stories.tsx"
6978
- ],
6979
- "storyIds": [
6980
- "primitives-textarea--all-states",
6981
- "primitives-textarea--default",
6982
- "primitives-textarea--disabled",
6983
- "primitives-textarea--error",
6984
- "primitives-textarea--with-helper"
6985
- ],
6244
+ "docsPage": "/docs/components/textarea",
6986
6245
  "usage": {
6987
6246
  "when": "Collect multi-line free text such as a message, note or description.",
6988
6247
  "whenNot": "A single line of text, or choosing from a list.",
@@ -7024,23 +6283,7 @@
7024
6283
  "propConstraints": {},
7025
6284
  "requiredProps": [],
7026
6285
  "a11yRules": [],
7027
- "storyFiles": [
7028
- "src/stories/card.stories.tsx"
7029
- ],
7030
- "storyIds": [
7031
- "primitives-card--bordered",
7032
- "primitives-card--default",
7033
- "primitives-card--elevated",
7034
- "primitives-card--feedback-tones",
7035
- "primitives-card--full-anatomy",
7036
- "primitives-card--header-only",
7037
- "primitives-card--metric-slot",
7038
- "primitives-card--padding-variants",
7039
- "primitives-card--progress-slot",
7040
- "primitives-card--selectable",
7041
- "primitives-card--tone-matrix",
7042
- "primitives-card--variant-accent"
7043
- ]
6286
+ "docsPage": null
7044
6287
  },
7045
6288
  "CardDescription": {
7046
6289
  "category": "Display",
@@ -7071,23 +6314,7 @@
7071
6314
  "propConstraints": {},
7072
6315
  "requiredProps": [],
7073
6316
  "a11yRules": [],
7074
- "storyFiles": [
7075
- "src/stories/card.stories.tsx"
7076
- ],
7077
- "storyIds": [
7078
- "primitives-card--bordered",
7079
- "primitives-card--default",
7080
- "primitives-card--elevated",
7081
- "primitives-card--feedback-tones",
7082
- "primitives-card--full-anatomy",
7083
- "primitives-card--header-only",
7084
- "primitives-card--metric-slot",
7085
- "primitives-card--padding-variants",
7086
- "primitives-card--progress-slot",
7087
- "primitives-card--selectable",
7088
- "primitives-card--tone-matrix",
7089
- "primitives-card--variant-accent"
7090
- ]
6317
+ "docsPage": null
7091
6318
  },
7092
6319
  "CardFooter": {
7093
6320
  "category": "Display",
@@ -7118,23 +6345,7 @@
7118
6345
  "propConstraints": {},
7119
6346
  "requiredProps": [],
7120
6347
  "a11yRules": [],
7121
- "storyFiles": [
7122
- "src/stories/card.stories.tsx"
7123
- ],
7124
- "storyIds": [
7125
- "primitives-card--bordered",
7126
- "primitives-card--default",
7127
- "primitives-card--elevated",
7128
- "primitives-card--feedback-tones",
7129
- "primitives-card--full-anatomy",
7130
- "primitives-card--header-only",
7131
- "primitives-card--metric-slot",
7132
- "primitives-card--padding-variants",
7133
- "primitives-card--progress-slot",
7134
- "primitives-card--selectable",
7135
- "primitives-card--tone-matrix",
7136
- "primitives-card--variant-accent"
7137
- ]
6348
+ "docsPage": null
7138
6349
  },
7139
6350
  "CardHeader": {
7140
6351
  "category": "Display",
@@ -7170,23 +6381,7 @@
7170
6381
  "propConstraints": {},
7171
6382
  "requiredProps": [],
7172
6383
  "a11yRules": [],
7173
- "storyFiles": [
7174
- "src/stories/card.stories.tsx"
7175
- ],
7176
- "storyIds": [
7177
- "primitives-card--bordered",
7178
- "primitives-card--default",
7179
- "primitives-card--elevated",
7180
- "primitives-card--feedback-tones",
7181
- "primitives-card--full-anatomy",
7182
- "primitives-card--header-only",
7183
- "primitives-card--metric-slot",
7184
- "primitives-card--padding-variants",
7185
- "primitives-card--progress-slot",
7186
- "primitives-card--selectable",
7187
- "primitives-card--tone-matrix",
7188
- "primitives-card--variant-accent"
7189
- ]
6384
+ "docsPage": null
7190
6385
  },
7191
6386
  "CardMetric": {
7192
6387
  "category": "Display",
@@ -7239,23 +6434,7 @@
7239
6434
  "propConstraints": {},
7240
6435
  "requiredProps": [],
7241
6436
  "a11yRules": [],
7242
- "storyFiles": [
7243
- "src/stories/card.stories.tsx"
7244
- ],
7245
- "storyIds": [
7246
- "primitives-card--bordered",
7247
- "primitives-card--default",
7248
- "primitives-card--elevated",
7249
- "primitives-card--feedback-tones",
7250
- "primitives-card--full-anatomy",
7251
- "primitives-card--header-only",
7252
- "primitives-card--metric-slot",
7253
- "primitives-card--padding-variants",
7254
- "primitives-card--progress-slot",
7255
- "primitives-card--selectable",
7256
- "primitives-card--tone-matrix",
7257
- "primitives-card--variant-accent"
7258
- ],
6437
+ "docsPage": null,
7259
6438
  "usage": {
7260
6439
  "when": "Show one headline figure (a KPI, a count, a total) with its label inside a Card.",
7261
6440
  "whenNot": "A metric outside a Card, or several figures that share one label.",
@@ -7319,23 +6498,7 @@
7319
6498
  "propConstraints": {},
7320
6499
  "requiredProps": [],
7321
6500
  "a11yRules": [],
7322
- "storyFiles": [
7323
- "src/stories/card.stories.tsx"
7324
- ],
7325
- "storyIds": [
7326
- "primitives-card--bordered",
7327
- "primitives-card--default",
7328
- "primitives-card--elevated",
7329
- "primitives-card--feedback-tones",
7330
- "primitives-card--full-anatomy",
7331
- "primitives-card--header-only",
7332
- "primitives-card--metric-slot",
7333
- "primitives-card--padding-variants",
7334
- "primitives-card--progress-slot",
7335
- "primitives-card--selectable",
7336
- "primitives-card--tone-matrix",
7337
- "primitives-card--variant-accent"
7338
- ]
6501
+ "docsPage": null
7339
6502
  },
7340
6503
  "CardTitle": {
7341
6504
  "category": "Display",
@@ -7366,23 +6529,7 @@
7366
6529
  "propConstraints": {},
7367
6530
  "requiredProps": [],
7368
6531
  "a11yRules": [],
7369
- "storyFiles": [
7370
- "src/stories/card.stories.tsx"
7371
- ],
7372
- "storyIds": [
7373
- "primitives-card--bordered",
7374
- "primitives-card--default",
7375
- "primitives-card--elevated",
7376
- "primitives-card--feedback-tones",
7377
- "primitives-card--full-anatomy",
7378
- "primitives-card--header-only",
7379
- "primitives-card--metric-slot",
7380
- "primitives-card--padding-variants",
7381
- "primitives-card--progress-slot",
7382
- "primitives-card--selectable",
7383
- "primitives-card--tone-matrix",
7384
- "primitives-card--variant-accent"
7385
- ]
6532
+ "docsPage": null
7386
6533
  },
7387
6534
  "DialogClose": {
7388
6535
  "category": "Overlays",
@@ -7418,16 +6565,7 @@
7418
6565
  "propConstraints": {},
7419
6566
  "requiredProps": [],
7420
6567
  "a11yRules": [],
7421
- "storyFiles": [
7422
- "src/stories/dialog.stories.tsx"
7423
- ],
7424
- "storyIds": [
7425
- "primitives-dialog--dark-scope",
7426
- "primitives-dialog--default",
7427
- "primitives-dialog--destructive",
7428
- "primitives-dialog--information",
7429
- "primitives-dialog--no-close-affordance"
7430
- ]
6568
+ "docsPage": null
7431
6569
  },
7432
6570
  "DialogContent": {
7433
6571
  "category": "Overlays",
@@ -7499,16 +6637,7 @@
7499
6637
  "propConstraints": {},
7500
6638
  "requiredProps": [],
7501
6639
  "a11yRules": [],
7502
- "storyFiles": [
7503
- "src/stories/dialog.stories.tsx"
7504
- ],
7505
- "storyIds": [
7506
- "primitives-dialog--dark-scope",
7507
- "primitives-dialog--default",
7508
- "primitives-dialog--destructive",
7509
- "primitives-dialog--information",
7510
- "primitives-dialog--no-close-affordance"
7511
- ]
6640
+ "docsPage": null
7512
6641
  },
7513
6642
  "DialogDescription": {
7514
6643
  "category": "Overlays",
@@ -7544,16 +6673,7 @@
7544
6673
  "propConstraints": {},
7545
6674
  "requiredProps": [],
7546
6675
  "a11yRules": [],
7547
- "storyFiles": [
7548
- "src/stories/dialog.stories.tsx"
7549
- ],
7550
- "storyIds": [
7551
- "primitives-dialog--dark-scope",
7552
- "primitives-dialog--default",
7553
- "primitives-dialog--destructive",
7554
- "primitives-dialog--information",
7555
- "primitives-dialog--no-close-affordance"
7556
- ]
6676
+ "docsPage": null
7557
6677
  },
7558
6678
  "DialogFooter": {
7559
6679
  "category": "Overlays",
@@ -7584,16 +6704,7 @@
7584
6704
  "propConstraints": {},
7585
6705
  "requiredProps": [],
7586
6706
  "a11yRules": [],
7587
- "storyFiles": [
7588
- "src/stories/dialog.stories.tsx"
7589
- ],
7590
- "storyIds": [
7591
- "primitives-dialog--dark-scope",
7592
- "primitives-dialog--default",
7593
- "primitives-dialog--destructive",
7594
- "primitives-dialog--information",
7595
- "primitives-dialog--no-close-affordance"
7596
- ]
6707
+ "docsPage": null
7597
6708
  },
7598
6709
  "DialogHeader": {
7599
6710
  "category": "Overlays",
@@ -7624,16 +6735,7 @@
7624
6735
  "propConstraints": {},
7625
6736
  "requiredProps": [],
7626
6737
  "a11yRules": [],
7627
- "storyFiles": [
7628
- "src/stories/dialog.stories.tsx"
7629
- ],
7630
- "storyIds": [
7631
- "primitives-dialog--dark-scope",
7632
- "primitives-dialog--default",
7633
- "primitives-dialog--destructive",
7634
- "primitives-dialog--information",
7635
- "primitives-dialog--no-close-affordance"
7636
- ]
6738
+ "docsPage": null
7637
6739
  },
7638
6740
  "DialogOverlay": {
7639
6741
  "category": "Overlays",
@@ -7673,16 +6775,7 @@
7673
6775
  "propConstraints": {},
7674
6776
  "requiredProps": [],
7675
6777
  "a11yRules": [],
7676
- "storyFiles": [
7677
- "src/stories/dialog.stories.tsx"
7678
- ],
7679
- "storyIds": [
7680
- "primitives-dialog--dark-scope",
7681
- "primitives-dialog--default",
7682
- "primitives-dialog--destructive",
7683
- "primitives-dialog--information",
7684
- "primitives-dialog--no-close-affordance"
7685
- ]
6778
+ "docsPage": null
7686
6779
  },
7687
6780
  "DialogPortal": {
7688
6781
  "category": "Overlays",
@@ -7726,16 +6819,7 @@
7726
6819
  "propConstraints": {},
7727
6820
  "requiredProps": [],
7728
6821
  "a11yRules": [],
7729
- "storyFiles": [
7730
- "src/stories/dialog.stories.tsx"
7731
- ],
7732
- "storyIds": [
7733
- "primitives-dialog--dark-scope",
7734
- "primitives-dialog--default",
7735
- "primitives-dialog--destructive",
7736
- "primitives-dialog--information",
7737
- "primitives-dialog--no-close-affordance"
7738
- ]
6822
+ "docsPage": null
7739
6823
  },
7740
6824
  "DialogTitle": {
7741
6825
  "category": "Overlays",
@@ -7771,16 +6855,7 @@
7771
6855
  "propConstraints": {},
7772
6856
  "requiredProps": [],
7773
6857
  "a11yRules": [],
7774
- "storyFiles": [
7775
- "src/stories/dialog.stories.tsx"
7776
- ],
7777
- "storyIds": [
7778
- "primitives-dialog--dark-scope",
7779
- "primitives-dialog--default",
7780
- "primitives-dialog--destructive",
7781
- "primitives-dialog--information",
7782
- "primitives-dialog--no-close-affordance"
7783
- ]
6858
+ "docsPage": null
7784
6859
  },
7785
6860
  "DialogTrigger": {
7786
6861
  "category": "Overlays",
@@ -7816,16 +6891,7 @@
7816
6891
  "propConstraints": {},
7817
6892
  "requiredProps": [],
7818
6893
  "a11yRules": [],
7819
- "storyFiles": [
7820
- "src/stories/dialog.stories.tsx"
7821
- ],
7822
- "storyIds": [
7823
- "primitives-dialog--dark-scope",
7824
- "primitives-dialog--default",
7825
- "primitives-dialog--destructive",
7826
- "primitives-dialog--information",
7827
- "primitives-dialog--no-close-affordance"
7828
- ]
6894
+ "docsPage": null
7829
6895
  },
7830
6896
  "Tooltip": {
7831
6897
  "category": "Overlays",
@@ -7848,8 +6914,7 @@
7848
6914
  "src/app/components/hds-tooltip.test.tsx",
7849
6915
  "src/app/components/popover.tsx",
7850
6916
  "src/app/context/__tests__/portal-hydration.test.tsx",
7851
- "src/app/context/__tests__/portal-scope.test.tsx",
7852
- "src/stories/hds-tooltip.stories.tsx"
6917
+ "src/app/context/__tests__/portal-scope.test.tsx"
7853
6918
  ],
7854
6919
  "tokenMapping": {},
7855
6920
  "variantAxes": [],
@@ -7887,13 +6952,7 @@
7887
6952
  "propConstraints": {},
7888
6953
  "requiredProps": [],
7889
6954
  "a11yRules": [],
7890
- "storyFiles": [
7891
- "src/stories/hds-tooltip.stories.tsx"
7892
- ],
7893
- "storyIds": [
7894
- "primitives-hds-tooltip--default",
7895
- "primitives-hds-tooltip--placement"
7896
- ],
6955
+ "docsPage": "/docs/components/tooltip",
7897
6956
  "usage": {
7898
6957
  "when": "Name an icon-only control, or add a short hint that appears on hover and keyboard focus.",
7899
6958
  "whenNot": "Anything interactive, text people need to finish a task, or a hint touch users must see (touch has no hover).",
@@ -7947,8 +7006,7 @@
7947
7006
  "src/app/components/popover.tsx",
7948
7007
  "src/app/components/select.tsx",
7949
7008
  "src/app/context/__tests__/portal-hydration.test.tsx",
7950
- "src/app/context/__tests__/portal-scope.test.tsx",
7951
- "src/stories/menu.stories.tsx"
7009
+ "src/app/context/__tests__/portal-scope.test.tsx"
7952
7010
  ],
7953
7011
  "tokenMapping": {},
7954
7012
  "variantAxes": [],
@@ -7985,15 +7043,6 @@
7985
7043
  "propConstraints": {},
7986
7044
  "requiredProps": [],
7987
7045
  "a11yRules": [],
7988
- "storyFiles": [
7989
- "src/stories/menu.stories.tsx"
7990
- ],
7991
- "storyIds": [
7992
- "primitives-menu--default",
7993
- "primitives-menu--with-checkbox-items",
7994
- "primitives-menu--with-radio-group",
7995
- "primitives-menu--with-submenu"
7996
- ],
7997
7046
  "slots": [
7998
7047
  {
7999
7048
  "name": "trigger",
@@ -8006,6 +7055,7 @@
8006
7055
  "source": "jsdoc"
8007
7056
  }
8008
7057
  ],
7058
+ "docsPage": "/docs/components/menu",
8009
7059
  "usage": {
8010
7060
  "when": "Offer a list of actions from a trigger, closed until opened.",
8011
7061
  "whenNot": "Choosing one value for a form field, or a set of options that must stay visible.",
@@ -8072,9 +7122,7 @@
8072
7122
  "src/app/components/popover.test.tsx",
8073
7123
  "src/app/context/__tests__/portal-hydration.test.tsx",
8074
7124
  "src/app/context/__tests__/portal-scope.test.tsx",
8075
- "src/app/design-system/generated-token-descriptions.ts",
8076
- "src/stories/combobox.stories.tsx",
8077
- "src/stories/popover.stories.tsx"
7125
+ "src/app/design-system/generated-token-descriptions.ts"
8078
7126
  ],
8079
7127
  "tokenMapping": {},
8080
7128
  "variantAxes": [],
@@ -8107,15 +7155,7 @@
8107
7155
  "propConstraints": {},
8108
7156
  "requiredProps": [],
8109
7157
  "a11yRules": [],
8110
- "storyFiles": [
8111
- "src/stories/popover.stories.tsx"
8112
- ],
8113
- "storyIds": [
8114
- "primitives-popover--aligned-start",
8115
- "primitives-popover--default",
8116
- "primitives-popover--info-tip",
8117
- "primitives-popover--with-dismiss"
8118
- ],
7158
+ "docsPage": "/docs/components/popover",
8119
7159
  "usage": {
8120
7160
  "when": "Anchor interactive content, such as a short form, a filter set or a picker, to a trigger people click to open.",
8121
7161
  "whenNot": "A short label on hover or focus, a list of actions, or a decision that must block the page.",
@@ -8170,8 +7210,7 @@
8170
7210
  "src/app/components/checkbox.test.tsx",
8171
7211
  "src/app/components/focus-visible.test.tsx",
8172
7212
  "src/app/components/radio.tsx",
8173
- "src/app/components/toggle.tsx",
8174
- "src/stories/checkbox.stories.tsx"
7213
+ "src/app/components/toggle.tsx"
8175
7214
  ],
8176
7215
  "tokenMapping": {},
8177
7216
  "variantAxes": [],
@@ -8197,17 +7236,7 @@
8197
7236
  "propConstraints": {},
8198
7237
  "requiredProps": [],
8199
7238
  "a11yRules": [],
8200
- "storyFiles": [
8201
- "src/stories/checkbox.stories.tsx"
8202
- ],
8203
- "storyIds": [
8204
- "primitives-checkbox--checked",
8205
- "primitives-checkbox--default",
8206
- "primitives-checkbox--disabled",
8207
- "primitives-checkbox--disabled-checked",
8208
- "primitives-checkbox--group",
8209
- "primitives-checkbox--indeterminate"
8210
- ],
7239
+ "docsPage": "/docs/components/checkbox",
8211
7240
  "usage": {
8212
7241
  "when": "Let people tick one or more independent options, or a parent choice that is partly selected.",
8213
7242
  "whenNot": "An immediate on/off setting, or a choice of exactly one option from a set.",
@@ -8241,9 +7270,7 @@
8241
7270
  "sizing": "panel"
8242
7271
  },
8243
7272
  "consumers": [
8244
- "src/app/components/form-actions.test.tsx",
8245
- "src/stories/form-actions.stories.tsx",
8246
- "src/stories/patterns-client-detail.stories.tsx"
7273
+ "src/app/components/form-actions.test.tsx"
8247
7274
  ],
8248
7275
  "tokenMapping": {},
8249
7276
  "variantAxes": [],
@@ -8271,15 +7298,7 @@
8271
7298
  "propConstraints": {},
8272
7299
  "requiredProps": [],
8273
7300
  "a11yRules": [],
8274
- "storyFiles": [
8275
- "src/stories/form-actions.stories.tsx"
8276
- ],
8277
- "storyIds": [
8278
- "patterns-formactions--primary-only",
8279
- "patterns-formactions--sticky",
8280
- "patterns-formactions--with-destructive",
8281
- "patterns-formactions--with-secondary"
8282
- ],
7301
+ "docsPage": "/docs/patterns/form-actions",
8283
7302
  "usage": {
8284
7303
  "when": "Lay out a form's buttons in a fixed order: danger on the left, then secondary, then primary on the right."
8285
7304
  }
@@ -8302,10 +7321,7 @@
8302
7321
  },
8303
7322
  "consumers": [
8304
7323
  "src/app/components/metric-tiles.test.tsx",
8305
- "src/app/components/stat.tsx",
8306
- "src/stories/metric-tile.stories.tsx",
8307
- "src/stories/metric-tiles.stories.tsx",
8308
- "src/stories/patterns-client-detail.stories.tsx"
7324
+ "src/app/components/stat.tsx"
8309
7325
  ],
8310
7326
  "tokenMapping": {},
8311
7327
  "variantAxes": [],
@@ -8339,18 +7355,7 @@
8339
7355
  "propConstraints": {},
8340
7356
  "requiredProps": [],
8341
7357
  "a11yRules": [],
8342
- "storyFiles": [
8343
- "src/stories/metric-tile.stories.tsx",
8344
- "src/stories/metric-tiles.stories.tsx"
8345
- ],
8346
- "storyIds": [
8347
- "patterns-metrictile--danger",
8348
- "patterns-metrictile--default",
8349
- "patterns-metrictiles--four-tiles",
8350
- "patterns-metrictiles--sub-line-optional",
8351
- "patterns-metrictiles--three-tiles",
8352
- "patterns-metrictiles--tones"
8353
- ],
7358
+ "docsPage": null,
8354
7359
  "usage": {
8355
7360
  "when": "Show one key number with its label, inside a MetricTiles row."
8356
7361
  }
@@ -8375,10 +7380,7 @@
8375
7380
  "src/app/components/card.tsx",
8376
7381
  "src/app/components/metric-tiles.test.tsx",
8377
7382
  "src/app/components/stat.tsx",
8378
- "src/app/components/status-tile.tsx",
8379
- "src/stories/metric-tile.stories.tsx",
8380
- "src/stories/metric-tiles.stories.tsx",
8381
- "src/stories/patterns-client-detail.stories.tsx"
7383
+ "src/app/components/status-tile.tsx"
8382
7384
  ],
8383
7385
  "tokenMapping": {},
8384
7386
  "variantAxes": [],
@@ -8394,18 +7396,7 @@
8394
7396
  "propConstraints": {},
8395
7397
  "requiredProps": [],
8396
7398
  "a11yRules": [],
8397
- "storyFiles": [
8398
- "src/stories/metric-tile.stories.tsx",
8399
- "src/stories/metric-tiles.stories.tsx"
8400
- ],
8401
- "storyIds": [
8402
- "patterns-metrictile--danger",
8403
- "patterns-metrictile--default",
8404
- "patterns-metrictiles--four-tiles",
8405
- "patterns-metrictiles--sub-line-optional",
8406
- "patterns-metrictiles--three-tiles",
8407
- "patterns-metrictiles--tones"
8408
- ],
7399
+ "docsPage": "/docs/patterns/metric-tiles",
8409
7400
  "usage": {
8410
7401
  "when": "Show a row of key numbers, one tile each."
8411
7402
  }
@@ -8427,9 +7418,7 @@
8427
7418
  "sizing": "panel"
8428
7419
  },
8429
7420
  "consumers": [
8430
- "src/app/components/page-header.test.tsx",
8431
- "src/stories/page-header.stories.tsx",
8432
- "src/stories/patterns-client-detail.stories.tsx"
7421
+ "src/app/components/page-header.test.tsx"
8433
7422
  ],
8434
7423
  "tokenMapping": {},
8435
7424
  "variantAxes": [],
@@ -8461,21 +7450,7 @@
8461
7450
  "propConstraints": {},
8462
7451
  "requiredProps": [],
8463
7452
  "a11yRules": [],
8464
- "storyFiles": [
8465
- "src/stories/page-header.stories.tsx",
8466
- "src/stories/patterns-client-detail.stories.tsx"
8467
- ],
8468
- "storyIds": [
8469
- "patterns-client-detail-screen--compact",
8470
- "patterns-client-detail-screen--dark",
8471
- "patterns-client-detail-screen--light",
8472
- "patterns-client-detail-screen--phone-390",
8473
- "patterns-pageheader--default",
8474
- "patterns-pageheader--long-title-wraps",
8475
- "patterns-pageheader--nested-level",
8476
- "patterns-pageheader--title-only",
8477
- "patterns-pageheader--with-actions"
8478
- ],
7453
+ "docsPage": "/docs/patterns/page-header",
8479
7454
  "usage": {
8480
7455
  "when": "Open a screen with its title, plus optional breadcrumb, status and actions."
8481
7456
  }
@@ -8497,9 +7472,7 @@
8497
7472
  "sizing": "panel"
8498
7473
  },
8499
7474
  "consumers": [
8500
- "src/app/components/data-table-section.test.tsx",
8501
- "src/stories/data-table-section.stories.tsx",
8502
- "src/stories/patterns-client-detail.stories.tsx"
7475
+ "src/app/components/data-table-section.test.tsx"
8503
7476
  ],
8504
7477
  "tokenMapping": {},
8505
7478
  "variantAxes": [],
@@ -8541,16 +7514,7 @@
8541
7514
  "propConstraints": {},
8542
7515
  "requiredProps": [],
8543
7516
  "a11yRules": [],
8544
- "storyFiles": [
8545
- "src/stories/data-table-section.stories.tsx"
8546
- ],
8547
- "storyIds": [
8548
- "patterns-datatablesection--dark",
8549
- "patterns-datatablesection--default",
8550
- "patterns-datatablesection--empty",
8551
- "patterns-datatablesection--phone-390",
8552
- "patterns-datatablesection--without-row-actions"
8553
- ],
7517
+ "docsPage": "/docs/patterns/data-table-section",
8554
7518
  "usage": {
8555
7519
  "when": "Put a heading and toolbar above a Table."
8556
7520
  }
@@ -8572,9 +7536,7 @@
8572
7536
  "sizing": "panel"
8573
7537
  },
8574
7538
  "consumers": [
8575
- "src/app/components/destructive-section.test.tsx",
8576
- "src/stories/destructive-section.stories.tsx",
8577
- "src/stories/patterns-client-detail.stories.tsx"
7539
+ "src/app/components/destructive-section.test.tsx"
8578
7540
  ],
8579
7541
  "tokenMapping": {},
8580
7542
  "variantAxes": [],
@@ -8614,15 +7576,7 @@
8614
7576
  "propConstraints": {},
8615
7577
  "requiredProps": [],
8616
7578
  "a11yRules": [],
8617
- "storyFiles": [
8618
- "src/stories/destructive-section.stories.tsx"
8619
- ],
8620
- "storyIds": [
8621
- "patterns-destructivesection--dark",
8622
- "patterns-destructivesection--default",
8623
- "patterns-destructivesection--phone",
8624
- "patterns-destructivesection--separate-button-label"
8625
- ],
7579
+ "docsPage": "/docs/patterns/destructive-section",
8626
7580
  "usage": {
8627
7581
  "when": "Put a dangerous action, such as delete, in its own section with a warning and a confirm step."
8628
7582
  }
@@ -8664,8 +7618,7 @@
8664
7618
  "propConstraints": {},
8665
7619
  "requiredProps": [],
8666
7620
  "a11yRules": [],
8667
- "storyFiles": [],
8668
- "storyIds": [],
7621
+ "docsPage": "/docs/guides/providers",
8669
7622
  "usage": {
8670
7623
  "when": "Wrap the app root once so HDS links and navigation use your client router; with no provider they stay plain anchors."
8671
7624
  },
@@ -8684,8 +7637,7 @@
8684
7637
  "propConstraints": {},
8685
7638
  "requiredProps": [],
8686
7639
  "a11yRules": [],
8687
- "storyFiles": [],
8688
- "storyIds": []
7640
+ "docsPage": null
8689
7641
  },
8690
7642
  "HdsFrame": {
8691
7643
  "category": "Compiler",
@@ -8700,8 +7652,7 @@
8700
7652
  "propConstraints": {},
8701
7653
  "requiredProps": [],
8702
7654
  "a11yRules": [],
8703
- "storyFiles": [],
8704
- "storyIds": []
7655
+ "docsPage": null
8705
7656
  },
8706
7657
  "HdsHeading": {
8707
7658
  "category": "Compiler",
@@ -8716,8 +7667,7 @@
8716
7667
  "propConstraints": {},
8717
7668
  "requiredProps": [],
8718
7669
  "a11yRules": [],
8719
- "storyFiles": [],
8720
- "storyIds": []
7670
+ "docsPage": null
8721
7671
  },
8722
7672
  "HdsLabel": {
8723
7673
  "category": "Compiler",
@@ -8732,8 +7682,7 @@
8732
7682
  "propConstraints": {},
8733
7683
  "requiredProps": [],
8734
7684
  "a11yRules": [],
8735
- "storyFiles": [],
8736
- "storyIds": []
7685
+ "docsPage": null
8737
7686
  },
8738
7687
  "HdsCaption": {
8739
7688
  "category": "Compiler",
@@ -8748,8 +7697,7 @@
8748
7697
  "propConstraints": {},
8749
7698
  "requiredProps": [],
8750
7699
  "a11yRules": [],
8751
- "storyFiles": [],
8752
- "storyIds": []
7700
+ "docsPage": null
8753
7701
  },
8754
7702
  "HdsCheckbox": {
8755
7703
  "category": "Compiler",
@@ -8764,8 +7712,7 @@
8764
7712
  "propConstraints": {},
8765
7713
  "requiredProps": [],
8766
7714
  "a11yRules": [],
8767
- "storyFiles": [],
8768
- "storyIds": []
7715
+ "docsPage": null
8769
7716
  },
8770
7717
  "HdsChip": {
8771
7718
  "category": "Compiler",
@@ -8780,8 +7727,7 @@
8780
7727
  "propConstraints": {},
8781
7728
  "requiredProps": [],
8782
7729
  "a11yRules": [],
8783
- "storyFiles": [],
8784
- "storyIds": []
7730
+ "docsPage": null
8785
7731
  },
8786
7732
  "HdsAvatar": {
8787
7733
  "category": "Compiler",
@@ -8796,8 +7742,7 @@
8796
7742
  "propConstraints": {},
8797
7743
  "requiredProps": [],
8798
7744
  "a11yRules": [],
8799
- "storyFiles": [],
8800
- "storyIds": []
7745
+ "docsPage": null
8801
7746
  }
8802
7747
  },
8803
7748
  "utilities": {
@@ -9382,81 +8327,158 @@
9382
8327
  "value": "#022c22"
9383
8328
  },
9384
8329
  {
9385
- "path": "primitive.color.apple.50",
9386
- "cssVar": "--primitive-color-apple-50",
8330
+ "path": "primitive.color.graphite.50",
8331
+ "cssVar": "--primitive-color-graphite-50",
8332
+ "type": "color",
8333
+ "description": "Graphite accent tint — faintest step.",
8334
+ "value": "#f5f4f4"
8335
+ },
8336
+ {
8337
+ "path": "primitive.color.graphite.100",
8338
+ "cssVar": "--primitive-color-graphite-100",
8339
+ "type": "color",
8340
+ "description": "Graphite accent — very light warm tint.",
8341
+ "value": "#e9e7e8"
8342
+ },
8343
+ {
8344
+ "path": "primitive.color.graphite.200",
8345
+ "cssVar": "--primitive-color-graphite-200",
8346
+ "type": "color",
8347
+ "description": "Graphite accent — light warm-grey; dark-mode rest accent fill.",
8348
+ "value": "#d4d0d2"
8349
+ },
8350
+ {
8351
+ "path": "primitive.color.graphite.300",
8352
+ "cssVar": "--primitive-color-graphite-300",
8353
+ "type": "color",
8354
+ "description": "Graphite accent — soft mid-light step; dark-mode hover/link.",
8355
+ "value": "#b2abae"
8356
+ },
8357
+ {
8358
+ "path": "primitive.color.graphite.400",
8359
+ "cssVar": "--primitive-color-graphite-400",
8360
+ "type": "color",
8361
+ "description": "Graphite accent — mid warm-grey step.",
8362
+ "value": "#8b8488"
8363
+ },
8364
+ {
8365
+ "path": "primitive.color.graphite.500",
8366
+ "cssVar": "--primitive-color-graphite-500",
8367
+ "type": "color",
8368
+ "description": "Graphite accent — mid step.",
8369
+ "value": "#655e62"
8370
+ },
8371
+ {
8372
+ "path": "primitive.color.graphite.600",
8373
+ "cssVar": "--primitive-color-graphite-600",
9387
8374
  "type": "color",
9388
- "description": "Apple-green accent tint — faintest step.",
9389
- "value": "#f2faeb"
8375
+ "description": "Graphite accent — mid-dark step.",
8376
+ "value": "#544d51"
9390
8377
  },
9391
8378
  {
9392
- "path": "primitive.color.apple.100",
9393
- "cssVar": "--primitive-color-apple-100",
8379
+ "path": "primitive.color.graphite.700",
8380
+ "cssVar": "--primitive-color-graphite-700",
9394
8381
  "type": "color",
9395
- "description": "Apple-green accent — very light tint.",
9396
- "value": "#e2f3cf"
8382
+ "description": "Graphite accent rest — the warm charcoal brand accent; white text as a fill (AA).",
8383
+ "value": "#433a3f"
9397
8384
  },
9398
8385
  {
9399
- "path": "primitive.color.apple.200",
9400
- "cssVar": "--primitive-color-apple-200",
8386
+ "path": "primitive.color.graphite.800",
8387
+ "cssVar": "--primitive-color-graphite-800",
9401
8388
  "type": "color",
9402
- "description": "Apple-green accent — light tint.",
9403
- "value": "#c7e7a4"
8389
+ "description": "Graphite accent — deep step; light-mode hover.",
8390
+ "value": "#352e32"
9404
8391
  },
9405
8392
  {
9406
- "path": "primitive.color.apple.300",
9407
- "cssVar": "--primitive-color-apple-300",
8393
+ "path": "primitive.color.graphite.900",
8394
+ "cssVar": "--primitive-color-graphite-900",
9408
8395
  "type": "color",
9409
- "description": "Apple-green accent — soft mid-light step.",
9410
- "value": "#a6d873"
8396
+ "description": "Graphite accent — darkest usable step; light-mode pressed, dark-mode on-accent text.",
8397
+ "value": "#2a2428"
9411
8398
  },
9412
8399
  {
9413
- "path": "primitive.color.apple.400",
9414
- "cssVar": "--primitive-color-apple-400",
8400
+ "path": "primitive.color.graphite.950",
8401
+ "cssVar": "--primitive-color-graphite-950",
9415
8402
  "type": "color",
9416
- "description": "Apple-green accent — bright step; dark-mode rest accent.",
9417
- "value": "#85c84c"
8403
+ "description": "Graphite accent — near-black warm substrate.",
8404
+ "value": "#19161a"
9418
8405
  },
9419
8406
  {
9420
- "path": "primitive.color.apple.500",
9421
- "cssVar": "--primitive-color-apple-500",
8407
+ "path": "primitive.color.mauve.50",
8408
+ "cssVar": "--primitive-color-mauve-50",
9422
8409
  "type": "color",
9423
- "description": "Apple-green accent rest — bright, rich apple green; AA for dark (neutral.900) text as a fill.",
9424
- "value": "#66b239"
8410
+ "description": "Mauve tint, faintest step.",
8411
+ "value": "#fff0f6"
9425
8412
  },
9426
8413
  {
9427
- "path": "primitive.color.apple.600",
9428
- "cssVar": "--primitive-color-apple-600",
8414
+ "path": "primitive.color.mauve.100",
8415
+ "cssVar": "--primitive-color-mauve-100",
9429
8416
  "type": "color",
9430
- "description": "Apple-green accent — hover / border step.",
9431
- "value": "#54922d"
8417
+ "description": "Mauve step 100, lightness-matched to graphite 100.",
8418
+ "value": "#f4e2ea"
9432
8419
  },
9433
8420
  {
9434
- "path": "primitive.color.apple.700",
9435
- "cssVar": "--primitive-color-apple-700",
8421
+ "path": "primitive.color.mauve.200",
8422
+ "cssVar": "--primitive-color-mauve-200",
9436
8423
  "type": "color",
9437
- "description": "Apple-green accent — pressed and accent-intent text (AA for text on page and card surfaces).",
9438
- "value": "#416f20"
8424
+ "description": "Mauve step 200, lightness-matched to graphite 200.",
8425
+ "value": "#e1cad4"
9439
8426
  },
9440
8427
  {
9441
- "path": "primitive.color.apple.800",
9442
- "cssVar": "--primitive-color-apple-800",
8428
+ "path": "primitive.color.mauve.300",
8429
+ "cssVar": "--primitive-color-mauve-300",
9443
8430
  "type": "color",
9444
- "description": "Apple-green accent — deep step.",
9445
- "value": "#34571b"
8431
+ "description": "Mauve step 300, lightness-matched to graphite 300.",
8432
+ "value": "#c0a4b1"
9446
8433
  },
9447
8434
  {
9448
- "path": "primitive.color.apple.900",
9449
- "cssVar": "--primitive-color-apple-900",
8435
+ "path": "primitive.color.mauve.400",
8436
+ "cssVar": "--primitive-color-mauve-400",
9450
8437
  "type": "color",
9451
- "description": "Apple-green accent — darkest usable step.",
9452
- "value": "#2b4518"
8438
+ "description": "Mauve step 400, lightness-matched to graphite 400.",
8439
+ "value": "#9d7b8a"
9453
8440
  },
9454
8441
  {
9455
- "path": "primitive.color.apple.950",
9456
- "cssVar": "--primitive-color-apple-950",
8442
+ "path": "primitive.color.mauve.500",
8443
+ "cssVar": "--primitive-color-mauve-500",
9457
8444
  "type": "color",
9458
- "description": "Apple-green accent — near-black green substrate.",
9459
- "value": "#16250c"
8445
+ "description": "Mauve anchor (#734B5E). Reserved; not mapped to any semantic token yet.",
8446
+ "value": "#734b5e"
8447
+ },
8448
+ {
8449
+ "path": "primitive.color.mauve.600",
8450
+ "cssVar": "--primitive-color-mauve-600",
8451
+ "type": "color",
8452
+ "description": "Mauve step 600, lightness-matched to graphite 600.",
8453
+ "value": "#674254"
8454
+ },
8455
+ {
8456
+ "path": "primitive.color.mauve.700",
8457
+ "cssVar": "--primitive-color-mauve-700",
8458
+ "type": "color",
8459
+ "description": "Mauve step 700, lightness-matched to graphite 700.",
8460
+ "value": "#523141"
8461
+ },
8462
+ {
8463
+ "path": "primitive.color.mauve.800",
8464
+ "cssVar": "--primitive-color-mauve-800",
8465
+ "type": "color",
8466
+ "description": "Mauve step 800, lightness-matched to graphite 800.",
8467
+ "value": "#432634"
8468
+ },
8469
+ {
8470
+ "path": "primitive.color.mauve.900",
8471
+ "cssVar": "--primitive-color-mauve-900",
8472
+ "type": "color",
8473
+ "description": "Mauve step 900, lightness-matched to graphite 900.",
8474
+ "value": "#361d29"
8475
+ },
8476
+ {
8477
+ "path": "primitive.color.mauve.950",
8478
+ "cssVar": "--primitive-color-mauve-950",
8479
+ "type": "color",
8480
+ "description": "Mauve, near-black substrate.",
8481
+ "value": "#240f1a"
9460
8482
  },
9461
8483
  {
9462
8484
  "path": "primitive.color.violet.50",
@@ -10427,24 +9449,24 @@
10427
9449
  "path": "semantic.color.surface.accent",
10428
9450
  "cssVar": "--semantic-color-surface-accent",
10429
9451
  "type": "color",
10430
- "description": "Accent-colored background — bright apple green (stays green on dark surfaces; pair with content.onAccent dark text).",
10431
- "alias": "{primitive.color.apple.500}",
10432
- "resolvedValue": "#66b239",
9452
+ "description": "Accent fill, warm graphite. Dark in light mode, light warm-grey in dark mode; pair with content.onAccent.",
9453
+ "alias": "{primitive.color.graphite.700}",
9454
+ "resolvedValue": "#433a3f",
10433
9455
  "dark": {
10434
- "alias": "{primitive.color.apple.400}",
10435
- "resolvedValue": "#85c84c"
9456
+ "alias": "{primitive.color.graphite.200}",
9457
+ "resolvedValue": "#d4d0d2"
10436
9458
  }
10437
9459
  },
10438
9460
  {
10439
9461
  "path": "semantic.color.surface.accentSubtle",
10440
9462
  "cssVar": "--semantic-color-surface-accentSubtle",
10441
9463
  "type": "color",
10442
- "description": "Faint accent tint for hover states or highlights",
10443
- "alias": "{primitive.color.apple.50}",
10444
- "resolvedValue": "#f2faeb",
9464
+ "description": "Faint accent tint for hover states or highlights.",
9465
+ "alias": "{primitive.color.graphite.50}",
9466
+ "resolvedValue": "#f5f4f4",
10445
9467
  "dark": {
10446
- "alias": "{primitive.color.apple.900}",
10447
- "resolvedValue": "#2b4518"
9468
+ "alias": "{primitive.color.graphite.800}",
9469
+ "resolvedValue": "#352e32"
10448
9470
  }
10449
9471
  },
10450
9472
  {
@@ -10555,24 +9577,24 @@
10555
9577
  "path": "semantic.color.content.accent",
10556
9578
  "cssVar": "--semantic-color-content-accent",
10557
9579
  "type": "color",
10558
- "description": "Accent-intent text/icon color — a dark apple green legible on page and card surfaces. Pair with underline/weight for link affordance.",
10559
- "alias": "{primitive.color.apple.700}",
10560
- "resolvedValue": "#416f20",
9580
+ "description": "Accent-intent text/icon color — graphite, legible on page and card surfaces. Pair with underline/weight for link affordance.",
9581
+ "alias": "{primitive.color.graphite.700}",
9582
+ "resolvedValue": "#433a3f",
10561
9583
  "dark": {
10562
- "alias": "{primitive.color.apple.400}",
10563
- "resolvedValue": "#85c84c"
9584
+ "alias": "{primitive.color.graphite.300}",
9585
+ "resolvedValue": "#b2abae"
10564
9586
  }
10565
9587
  },
10566
9588
  {
10567
9589
  "path": "semantic.color.content.onAccent",
10568
9590
  "cssVar": "--semantic-color-content-onAccent",
10569
9591
  "type": "color",
10570
- "description": "Text/icon color on accent fills — a dark neutral, since the brand accent fill is a bright apple green in both light and dark mode.",
10571
- "alias": "{primitive.color.neutral.900}",
10572
- "resolvedValue": "#111111",
9592
+ "description": "Text and icons on accent fills: near-white in light mode, dark graphite in dark mode.",
9593
+ "alias": "{primitive.color.neutral.50}",
9594
+ "resolvedValue": "#fafafa",
10573
9595
  "dark": {
10574
- "alias": "{primitive.color.neutral.900}",
10575
- "resolvedValue": "#111111"
9596
+ "alias": "{primitive.color.graphite.900}",
9597
+ "resolvedValue": "#2a2428"
10576
9598
  }
10577
9599
  },
10578
9600
  {
@@ -10672,12 +9694,12 @@
10672
9694
  "path": "semantic.color.border.accent",
10673
9695
  "cssVar": "--semantic-color-border-accent",
10674
9696
  "type": "color",
10675
- "description": "Accent border — apple green, dark enough to read as a boundary on page and card surfaces.",
10676
- "alias": "{primitive.color.apple.600}",
10677
- "resolvedValue": "#54922d",
9697
+ "description": "Accent border — graphite, dark enough to read as a boundary on page and card surfaces.",
9698
+ "alias": "{primitive.color.graphite.700}",
9699
+ "resolvedValue": "#433a3f",
10678
9700
  "dark": {
10679
- "alias": "{primitive.color.apple.400}",
10680
- "resolvedValue": "#85c84c"
9701
+ "alias": "{primitive.color.graphite.300}",
9702
+ "resolvedValue": "#b2abae"
10681
9703
  }
10682
9704
  },
10683
9705
  {
@@ -11275,12 +10297,12 @@
11275
10297
  "path": "semantic.accent.rest",
11276
10298
  "cssVar": "--semantic-accent-rest",
11277
10299
  "type": "color",
11278
- "description": "Default accent fill for interactive elements at rest — bright apple green. Pair with content.onAccent (a dark neutral).",
11279
- "alias": "{primitive.color.apple.500}",
11280
- "resolvedValue": "#66b239",
10300
+ "description": "Default accent fill for interactive elements at rest — warm graphite. Inverts per theme; pair with content.onAccent.",
10301
+ "alias": "{primitive.color.graphite.700}",
10302
+ "resolvedValue": "#433a3f",
11281
10303
  "dark": {
11282
- "alias": "{primitive.color.apple.400}",
11283
- "resolvedValue": "#85c84c"
10304
+ "alias": "{primitive.color.graphite.200}",
10305
+ "resolvedValue": "#d4d0d2"
11284
10306
  }
11285
10307
  },
11286
10308
  {
@@ -11288,11 +10310,11 @@
11288
10310
  "cssVar": "--semantic-accent-hover",
11289
10311
  "type": "color",
11290
10312
  "description": "Accent fill on pointer hover.",
11291
- "alias": "{primitive.color.apple.600}",
11292
- "resolvedValue": "#54922d",
10313
+ "alias": "{primitive.color.graphite.800}",
10314
+ "resolvedValue": "#352e32",
11293
10315
  "dark": {
11294
- "alias": "{primitive.color.apple.500}",
11295
- "resolvedValue": "#66b239"
10316
+ "alias": "{primitive.color.graphite.300}",
10317
+ "resolvedValue": "#b2abae"
11296
10318
  }
11297
10319
  },
11298
10320
  {
@@ -11300,11 +10322,11 @@
11300
10322
  "cssVar": "--semantic-accent-pressed",
11301
10323
  "type": "color",
11302
10324
  "description": "Accent fill during active press.",
11303
- "alias": "{primitive.color.apple.700}",
11304
- "resolvedValue": "#416f20",
10325
+ "alias": "{primitive.color.graphite.900}",
10326
+ "resolvedValue": "#2a2428",
11305
10327
  "dark": {
11306
- "alias": "{primitive.color.apple.600}",
11307
- "resolvedValue": "#54922d"
10328
+ "alias": "{primitive.color.graphite.400}",
10329
+ "resolvedValue": "#8b8488"
11308
10330
  }
11309
10331
  },
11310
10332
  {
@@ -11335,12 +10357,12 @@
11335
10357
  "path": "semantic.accent.content",
11336
10358
  "cssVar": "--semantic-accent-content",
11337
10359
  "type": "color",
11338
- "description": "Accent-intent text/icon color on neutral surfaces (a dark apple green) — pair with underline/weight for link affordance.",
11339
- "alias": "{primitive.color.apple.700}",
11340
- "resolvedValue": "#416f20",
10360
+ "description": "Accent-intent text/icon color on neutral surfaces (graphite) — pair with underline/weight for link affordance.",
10361
+ "alias": "{primitive.color.graphite.700}",
10362
+ "resolvedValue": "#433a3f",
11341
10363
  "dark": {
11342
- "alias": "{primitive.color.apple.400}",
11343
- "resolvedValue": "#85c84c"
10364
+ "alias": "{primitive.color.graphite.300}",
10365
+ "resolvedValue": "#b2abae"
11344
10366
  }
11345
10367
  },
11346
10368
  {
@@ -11348,11 +10370,11 @@
11348
10370
  "cssVar": "--semantic-accent-contentHover",
11349
10371
  "type": "color",
11350
10372
  "description": "Accent content color on pointer hover.",
11351
- "alias": "{primitive.color.apple.800}",
11352
- "resolvedValue": "#34571b",
10373
+ "alias": "{primitive.color.graphite.800}",
10374
+ "resolvedValue": "#352e32",
11353
10375
  "dark": {
11354
- "alias": "{primitive.color.apple.300}",
11355
- "resolvedValue": "#a6d873"
10376
+ "alias": "{primitive.color.graphite.200}",
10377
+ "resolvedValue": "#d4d0d2"
11356
10378
  }
11357
10379
  },
11358
10380
  {
@@ -11360,11 +10382,11 @@
11360
10382
  "cssVar": "--semantic-accent-subtle",
11361
10383
  "type": "color",
11362
10384
  "description": "Low-emphasis accent tint for hover backgrounds and selection highlights.",
11363
- "alias": "{primitive.color.apple.50}",
11364
- "resolvedValue": "#f2faeb",
10385
+ "alias": "{primitive.color.graphite.50}",
10386
+ "resolvedValue": "#f5f4f4",
11365
10387
  "dark": {
11366
- "alias": "{primitive.color.apple.900}",
11367
- "resolvedValue": "#2b4518"
10388
+ "alias": "{primitive.color.graphite.800}",
10389
+ "resolvedValue": "#352e32"
11368
10390
  }
11369
10391
  },
11370
10392
  {
@@ -11600,7 +10622,7 @@
11600
10622
  "type": "color",
11601
10623
  "description": "Nav item background fill when active or selected.",
11602
10624
  "alias": "{semantic.accent.subtle}",
11603
- "resolvedValue": "#f2faeb"
10625
+ "resolvedValue": "#f5f4f4"
11604
10626
  },
11605
10627
  {
11606
10628
  "path": "component.nav.borderActive",
@@ -11608,7 +10630,7 @@
11608
10630
  "type": "color",
11609
10631
  "description": "Nav item border color when active or selected.",
11610
10632
  "alias": "{semantic.color.surface.accent}",
11611
- "resolvedValue": "#66b239"
10633
+ "resolvedValue": "#433a3f"
11612
10634
  },
11613
10635
  {
11614
10636
  "path": "component.nav.text",
@@ -11656,7 +10678,7 @@
11656
10678
  "type": "color",
11657
10679
  "description": "Base tag surface color.",
11658
10680
  "alias": "{semantic.accent.subtle}",
11659
- "resolvedValue": "#f2faeb"
10681
+ "resolvedValue": "#f5f4f4"
11660
10682
  },
11661
10683
  {
11662
10684
  "path": "component.tag.text",
@@ -11744,7 +10766,7 @@
11744
10766
  "type": "color",
11745
10767
  "description": "Text color when the tag is active.",
11746
10768
  "alias": "{semantic.color.content.onAccent}",
11747
- "resolvedValue": "#111111"
10769
+ "resolvedValue": "#fafafa"
11748
10770
  },
11749
10771
  {
11750
10772
  "path": "component.tag.activeBackground",
@@ -11752,7 +10774,7 @@
11752
10774
  "type": "color",
11753
10775
  "description": "Active tag fill color.",
11754
10776
  "alias": "{semantic.accent.rest}",
11755
- "resolvedValue": "#66b239"
10777
+ "resolvedValue": "#433a3f"
11756
10778
  },
11757
10779
  {
11758
10780
  "path": "component.tag.activeBorder",
@@ -11760,7 +10782,7 @@
11760
10782
  "type": "color",
11761
10783
  "description": "Active tag border color.",
11762
10784
  "alias": "{semantic.accent.rest}",
11763
- "resolvedValue": "#66b239"
10785
+ "resolvedValue": "#433a3f"
11764
10786
  },
11765
10787
  {
11766
10788
  "path": "component.tag.activeHover",
@@ -11768,7 +10790,7 @@
11768
10790
  "type": "color",
11769
10791
  "description": "Active tag hover fill color.",
11770
10792
  "alias": "{semantic.accent.hover}",
11771
- "resolvedValue": "#54922d"
10793
+ "resolvedValue": "#352e32"
11772
10794
  },
11773
10795
  {
11774
10796
  "path": "component.badge.fontSize",
@@ -11852,7 +10874,7 @@
11852
10874
  "type": "color",
11853
10875
  "description": "Primary button fill.",
11854
10876
  "alias": "{semantic.color.surface.accent}",
11855
- "resolvedValue": "#66b239"
10877
+ "resolvedValue": "#433a3f"
11856
10878
  },
11857
10879
  {
11858
10880
  "path": "component.button.bgHover",
@@ -11860,7 +10882,7 @@
11860
10882
  "type": "color",
11861
10883
  "description": "Primary button hover fill.",
11862
10884
  "alias": "{semantic.accent.hover}",
11863
- "resolvedValue": "#54922d"
10885
+ "resolvedValue": "#352e32"
11864
10886
  },
11865
10887
  {
11866
10888
  "path": "component.button.text",
@@ -11868,7 +10890,7 @@
11868
10890
  "type": "color",
11869
10891
  "description": "Primary button text color.",
11870
10892
  "alias": "{semantic.color.content.onAccent}",
11871
- "resolvedValue": "#111111"
10893
+ "resolvedValue": "#fafafa"
11872
10894
  },
11873
10895
  {
11874
10896
  "path": "component.button.radius",
@@ -12043,20 +11065,16 @@
12043
11065
  "cssVar": "--component-button-primary-textDisabled",
12044
11066
  "type": "color",
12045
11067
  "description": "Disabled primary button text color.",
12046
- "alias": "{semantic.color.content.onAccent}",
12047
- "resolvedValue": "#111111",
12048
- "dark": {
12049
- "alias": "{semantic.color.content.disabled}",
12050
- "resolvedValue": "#d4d4d4"
12051
- }
11068
+ "alias": "{semantic.color.content.disabled}",
11069
+ "resolvedValue": "#d4d4d4"
12052
11070
  },
12053
11071
  {
12054
11072
  "path": "component.button.primary.bgDisabled",
12055
11073
  "cssVar": "--component-button-primary-bgDisabled",
12056
11074
  "type": "color",
12057
11075
  "description": "Disabled primary button fill.",
12058
- "alias": "{semantic.color.surface.accentSubtle}",
12059
- "resolvedValue": "#f2faeb"
11076
+ "alias": "{semantic.color.surface.muted}",
11077
+ "resolvedValue": "#f5f5f5"
12060
11078
  },
12061
11079
  {
12062
11080
  "path": "component.button.secondary.bg.rest",
@@ -12286,7 +11304,7 @@
12286
11304
  "type": "color",
12287
11305
  "description": "Primary action surface. shadcn role: primary.",
12288
11306
  "alias": "{semantic.color.surface.accent}",
12289
- "resolvedValue": "#66b239"
11307
+ "resolvedValue": "#433a3f"
12290
11308
  },
12291
11309
  {
12292
11310
  "path": "role.primary-foreground",
@@ -12294,7 +11312,7 @@
12294
11312
  "type": "color",
12295
11313
  "description": "Text/icons on primary surface. shadcn role: primary-foreground.",
12296
11314
  "alias": "{semantic.color.content.onAccent}",
12297
- "resolvedValue": "#111111"
11315
+ "resolvedValue": "#fafafa"
12298
11316
  },
12299
11317
  {
12300
11318
  "path": "role.secondary",
@@ -12334,7 +11352,7 @@
12334
11352
  "type": "color",
12335
11353
  "description": "Hover/active tinted bg. shadcn role: accent.",
12336
11354
  "alias": "{semantic.color.surface.accentSubtle}",
12337
- "resolvedValue": "#f2faeb"
11355
+ "resolvedValue": "#f5f4f4"
12338
11356
  },
12339
11357
  {
12340
11358
  "path": "role.accent-foreground",
@@ -12342,7 +11360,7 @@
12342
11360
  "type": "color",
12343
11361
  "description": "Text on accent surface. shadcn role: accent-foreground.",
12344
11362
  "alias": "{semantic.color.content.accent}",
12345
- "resolvedValue": "#416f20"
11363
+ "resolvedValue": "#433a3f"
12346
11364
  },
12347
11365
  {
12348
11366
  "path": "role.destructive",
@@ -12382,7 +11400,7 @@
12382
11400
  "type": "color",
12383
11401
  "description": "Focus ring color. shadcn role: ring.",
12384
11402
  "alias": "{semantic.color.border.accent}",
12385
- "resolvedValue": "#54922d"
11403
+ "resolvedValue": "#433a3f"
12386
11404
  },
12387
11405
  {
12388
11406
  "path": "role.radius",