@robr0/design-system 0.10.0 → 0.11.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.
Files changed (93) hide show
  1. package/README.md +7 -6
  2. package/components/AgentPlan/AgentPlan.css +14 -3
  3. package/components/AiButton/AiButton.css +1 -1
  4. package/components/Alert/Alert.css +9 -0
  5. package/components/AlertDialog/AlertDialog.css +3 -1
  6. package/components/AlertDialog/AlertDialog.js +2 -3
  7. package/components/AppSidebar/AppSidebar.css +9 -0
  8. package/components/Card/Card.css +7 -2
  9. package/components/CardStack/CardStack.css +106 -0
  10. package/components/CardStack/CardStack.d.ts +44 -0
  11. package/components/CardStack/CardStack.js +140 -0
  12. package/components/Carousel/Carousel.css +9 -0
  13. package/components/Carousel/Carousel.js +37 -4
  14. package/components/Chart/AreaChart.js +6 -5
  15. package/components/Chart/LineChart.js +4 -3
  16. package/components/Chart/PieChart.js +2 -15
  17. package/components/Chart/RadarChart.js +5 -4
  18. package/components/Chart/RadialChart.js +2 -15
  19. package/components/Chart/ScatterChart.js +3 -13
  20. package/components/Chart/StackedBarChart.js +2 -15
  21. package/components/Chart/Treemap.js +3 -17
  22. package/components/Chart/palette.d.ts +1 -0
  23. package/components/Chart/palette.js +19 -0
  24. package/components/ChatMarker/ChatMarker.css +9 -0
  25. package/components/ChatMessage/ChatMessage.css +16 -0
  26. package/components/ChatThread/ChatThread.js +2 -2
  27. package/components/Chip/Chip.css +9 -0
  28. package/components/CodeBlock/CodeBlock.css +10 -1
  29. package/components/CodeBlock/CodeBlock.js +2 -1
  30. package/components/ColorPicker/ColorPicker.js +10 -0
  31. package/components/Combobox/Combobox.css +9 -0
  32. package/components/CommandPalette/CommandPalette.css +9 -0
  33. package/components/CommandPalette/CommandPalette.js +31 -5
  34. package/components/Composer/Composer.css +118 -0
  35. package/components/Composer/Composer.d.ts +7 -0
  36. package/components/Composer/Composer.js +7 -1
  37. package/components/ContactCard/ContactCard.css +9 -0
  38. package/components/ContextMenu/ContextMenu.js +39 -3
  39. package/components/DatePicker/DatePicker.js +16 -0
  40. package/components/Dialog/Dialog.css +3 -1
  41. package/components/Dialog/Dialog.js +5 -4
  42. package/components/DocumentChip/DocumentChip.css +9 -0
  43. package/components/Dropdown/Dropdown.js +22 -3
  44. package/components/DropdownMenu/DropdownMenu.js +43 -6
  45. package/components/EmptyState/EmptyState.css +9 -0
  46. package/components/FileInput/FileInput.css +9 -0
  47. package/components/Globe/Globe.css +155 -0
  48. package/components/Globe/Globe.d.ts +96 -0
  49. package/components/Globe/Globe.js +415 -0
  50. package/components/InterruptCard/InterruptCard.css +27 -17
  51. package/components/InterruptCard/InterruptCard.d.ts +1 -1
  52. package/components/InterruptCard/InterruptCard.js +1 -1
  53. package/components/MapCallout/MapCallout.css +46 -0
  54. package/components/MapCallout/MapCallout.d.ts +29 -0
  55. package/components/MapCallout/MapCallout.js +17 -0
  56. package/components/MapLegend/MapLegend.css +88 -0
  57. package/components/MapLegend/MapLegend.d.ts +39 -0
  58. package/components/MapLegend/MapLegend.js +68 -0
  59. package/components/MessageActions/MessageActions.css +9 -0
  60. package/components/MessageCard/MessageCard.css +68 -16
  61. package/components/MessageCard/MessageCard.d.ts +1 -1
  62. package/components/MessageCard/MessageCard.js +6 -4
  63. package/components/ModelPicker/ModelPicker.css +4 -1
  64. package/components/ModelPicker/ModelPicker.js +43 -1
  65. package/components/NotificationCenter/NotificationCenter.css +9 -0
  66. package/components/NotificationCenter/NotificationCenter.js +26 -10
  67. package/components/NumberInput/NumberInput.css +9 -0
  68. package/components/Popover/Popover.css +3 -1
  69. package/components/Popover/Popover.js +2 -1
  70. package/components/SourceChip/SourceChip.css +9 -0
  71. package/components/Stat/Stat.css +9 -0
  72. package/components/Stepper/Stepper.css +9 -0
  73. package/components/TagInput/TagInput.css +9 -0
  74. package/components/TimePicker/TimePicker.js +4 -1
  75. package/components/Toast/Toast.css +32 -11
  76. package/components/Toast/Toast.js +5 -4
  77. package/components/ToggleGroup/ToggleGroup.css +9 -0
  78. package/components/ToolCall/ToolCall.css +18 -6
  79. package/components/Tooltip/Tooltip.js +20 -16
  80. package/components/registry.json +37 -0
  81. package/components/registry.json.d.ts +37 -0
  82. package/components/registry.json.js +2 -2
  83. package/index.d.ts +4 -0
  84. package/index.js +8 -0
  85. package/package.json +5 -1
  86. package/tokens/motion.d.ts +23 -0
  87. package/tokens/motion.js +14 -0
  88. package/tokens/registry.json +17 -0
  89. package/tokens/registry.json.d.ts +17 -0
  90. package/tokens/registry.json.js +1 -1
  91. package/tokens/tokens-dark.css +11 -0
  92. package/tokens/tokens-light.css +11 -0
  93. package/tokens/tokens-typography.css +20 -0
package/index.d.ts CHANGED
@@ -19,6 +19,7 @@ export * from './components/Breadcrumb/Breadcrumb';
19
19
  export * from './components/Button/Button';
20
20
  export * from './components/ButtonGroup/ButtonGroup';
21
21
  export * from './components/Card/Card';
22
+ export * from './components/CardStack/CardStack';
22
23
  export * from './components/Carousel/Carousel';
23
24
  export * from './components/ChatHeader/ChatHeader';
24
25
  export * from './components/ChatMarker/ChatMarker';
@@ -52,11 +53,14 @@ export * from './components/Field/Field';
52
53
  export * from './components/Field/FieldContext';
53
54
  export * from './components/Figure/Figure';
54
55
  export * from './components/FileInput/FileInput';
56
+ export * from './components/Globe/Globe';
55
57
  export * from './components/Input/Input';
56
58
  export * from './components/Instructions/Instructions';
57
59
  export * from './components/InterruptCard/InterruptCard';
58
60
  export * from './components/Kbd/Kbd';
59
61
  export * from './components/LinkList/LinkList';
62
+ export * from './components/MapCallout/MapCallout';
63
+ export * from './components/MapLegend/MapLegend';
60
64
  export * from './components/MessageActions/MessageActions';
61
65
  export * from './components/MessageCard/MessageCard';
62
66
  export * from './components/ModelPicker/ModelPicker';
package/index.js CHANGED
@@ -14,6 +14,7 @@ import { Breadcrumb } from "./components/Breadcrumb/Breadcrumb.js";
14
14
  import { Button } from "./components/Button/Button.js";
15
15
  import { ButtonGroup } from "./components/ButtonGroup/ButtonGroup.js";
16
16
  import { Card } from "./components/Card/Card.js";
17
+ import { CardStack } from "./components/CardStack/CardStack.js";
17
18
  import { Carousel } from "./components/Carousel/Carousel.js";
18
19
  import { ChatHeader } from "./components/ChatHeader/ChatHeader.js";
19
20
  import { ChatMarker } from "./components/ChatMarker/ChatMarker.js";
@@ -47,11 +48,14 @@ import { Field } from "./components/Field/Field.js";
47
48
  import { FieldContext, useField } from "./components/Field/FieldContext.js";
48
49
  import { Figure } from "./components/Figure/Figure.js";
49
50
  import { FileInput } from "./components/FileInput/FileInput.js";
51
+ import { Globe } from "./components/Globe/Globe.js";
50
52
  import { Input } from "./components/Input/Input.js";
51
53
  import { Instructions } from "./components/Instructions/Instructions.js";
52
54
  import { InterruptCard } from "./components/InterruptCard/InterruptCard.js";
53
55
  import { Kbd } from "./components/Kbd/Kbd.js";
54
56
  import { LinkList } from "./components/LinkList/LinkList.js";
57
+ import { MapCallout } from "./components/MapCallout/MapCallout.js";
58
+ import { MapLegend } from "./components/MapLegend/MapLegend.js";
55
59
  import { MessageActions } from "./components/MessageActions/MessageActions.js";
56
60
  import { MessageCard } from "./components/MessageCard/MessageCard.js";
57
61
  import { ModelPicker } from "./components/ModelPicker/ModelPicker.js";
@@ -114,6 +118,7 @@ export {
114
118
  ButtonGroup,
115
119
  COMPONENT_COUNT,
116
120
  Card,
121
+ CardStack,
117
122
  Carousel,
118
123
  ChatHeader,
119
124
  ChatMarker,
@@ -150,11 +155,14 @@ export {
150
155
  FieldContext,
151
156
  Figure,
152
157
  FileInput,
158
+ Globe,
153
159
  Input,
154
160
  Instructions,
155
161
  InterruptCard,
156
162
  Kbd,
157
163
  LinkList,
164
+ MapCallout,
165
+ MapLegend,
158
166
  MessageActions,
159
167
  MessageCard,
160
168
  ModelPicker,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robr0/design-system",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "An AI-ready React design system: accessible components on composable tokens, light/dark theming, and CSS-variable overrides.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -50,6 +50,10 @@
50
50
  "types": "./tokens/registry.d.ts",
51
51
  "import": "./tokens/registry.js"
52
52
  },
53
+ "./tokens/motion": {
54
+ "types": "./tokens/motion.d.ts",
55
+ "import": "./tokens/motion.js"
56
+ },
53
57
  "./components/*": {
54
58
  "types": "./components/*.d.ts",
55
59
  "import": "./components/*.js"
@@ -0,0 +1,23 @@
1
+ /**
2
+ * JS-driven motion timings — the TypeScript side of the motion tokens.
3
+ * CSS transitions read the `--motion-*` custom properties; these constants
4
+ * are the single home for timings that live in JavaScript timers, where a
5
+ * CSS variable cannot reach. Components use them as defaults, so a single
6
+ * instance can still be tuned through its component's own props.
7
+ *
8
+ * These are schedule timings (when something starts, stops, or is taken
9
+ * away), not animation durations, so the reduced-motion guard in
10
+ * tokens-motion.css deliberately does not apply to them.
11
+ */
12
+ /** Delay before a hover-triggered overlay appears, filtering pass-through hovers. */
13
+ export declare const MOTION_HOVER_SHOW_DELAY_MS = 300;
14
+ /** Grace period before a hover-triggered overlay or submenu closes, forgiving a wobbly pointer path. */
15
+ export declare const MOTION_HOVER_HIDE_DELAY_MS = 150;
16
+ /** How long a transient notification stays before dismissing itself. */
17
+ export declare const MOTION_AUTO_DISMISS_MS = 5000;
18
+ /** Interval between automatic slide advances. */
19
+ export declare const MOTION_AUTOPLAY_INTERVAL_MS = 5000;
20
+ /** How long momentary confirmation feedback (a copied state) holds before resetting. */
21
+ export declare const MOTION_FEEDBACK_RESET_MS = 2000;
22
+ /** How long after the last scroll event a scroll surface is considered settled. */
23
+ export declare const MOTION_SCROLL_SETTLE_MS = 600;
@@ -0,0 +1,14 @@
1
+ const MOTION_HOVER_SHOW_DELAY_MS = 300;
2
+ const MOTION_HOVER_HIDE_DELAY_MS = 150;
3
+ const MOTION_AUTO_DISMISS_MS = 5e3;
4
+ const MOTION_AUTOPLAY_INTERVAL_MS = 5e3;
5
+ const MOTION_FEEDBACK_RESET_MS = 2e3;
6
+ const MOTION_SCROLL_SETTLE_MS = 600;
7
+ export {
8
+ MOTION_AUTOPLAY_INTERVAL_MS,
9
+ MOTION_AUTO_DISMISS_MS,
10
+ MOTION_FEEDBACK_RESET_MS,
11
+ MOTION_HOVER_HIDE_DELAY_MS,
12
+ MOTION_HOVER_SHOW_DELAY_MS,
13
+ MOTION_SCROLL_SETTLE_MS
14
+ };
@@ -35,6 +35,13 @@
35
35
  "--color-chart-contribution-2",
36
36
  "--color-chart-contribution-3",
37
37
  "--color-chart-contribution-4",
38
+ "--color-chart-series-1",
39
+ "--color-chart-series-2",
40
+ "--color-chart-series-3",
41
+ "--color-chart-series-4",
42
+ "--color-chart-series-5",
43
+ "--color-chart-series-6",
44
+ "--color-chart-series-7",
38
45
  "--color-chat-bubble-received-bg",
39
46
  "--color-chat-bubble-received-text",
40
47
  "--color-chat-bubble-sent-bg",
@@ -84,6 +91,11 @@
84
91
  "--color-text-tertiary"
85
92
  ],
86
93
  "typography": [
94
+ "--font-caption-family",
95
+ "--font-caption-letter-spacing",
96
+ "--font-caption-line-height",
97
+ "--font-caption-size",
98
+ "--font-caption-weight",
87
99
  "--font-display-1-family",
88
100
  "--font-display-1-letter-spacing",
89
101
  "--font-display-1-line-height",
@@ -121,6 +133,11 @@
121
133
  "--font-mega-2-line-height",
122
134
  "--font-mega-2-size",
123
135
  "--font-mega-2-weight",
136
+ "--font-overline-family",
137
+ "--font-overline-letter-spacing",
138
+ "--font-overline-line-height",
139
+ "--font-overline-size",
140
+ "--font-overline-weight",
124
141
  "--font-paragraph-em-family",
125
142
  "--font-paragraph-em-letter-spacing",
126
143
  "--font-paragraph-em-line-height",
@@ -35,6 +35,13 @@ declare const _default: {
35
35
  "--color-chart-contribution-2",
36
36
  "--color-chart-contribution-3",
37
37
  "--color-chart-contribution-4",
38
+ "--color-chart-series-1",
39
+ "--color-chart-series-2",
40
+ "--color-chart-series-3",
41
+ "--color-chart-series-4",
42
+ "--color-chart-series-5",
43
+ "--color-chart-series-6",
44
+ "--color-chart-series-7",
38
45
  "--color-chat-bubble-received-bg",
39
46
  "--color-chat-bubble-received-text",
40
47
  "--color-chat-bubble-sent-bg",
@@ -84,6 +91,11 @@ declare const _default: {
84
91
  "--color-text-tertiary"
85
92
  ],
86
93
  "typography": [
94
+ "--font-caption-family",
95
+ "--font-caption-letter-spacing",
96
+ "--font-caption-line-height",
97
+ "--font-caption-size",
98
+ "--font-caption-weight",
87
99
  "--font-display-1-family",
88
100
  "--font-display-1-letter-spacing",
89
101
  "--font-display-1-line-height",
@@ -121,6 +133,11 @@ declare const _default: {
121
133
  "--font-mega-2-line-height",
122
134
  "--font-mega-2-size",
123
135
  "--font-mega-2-weight",
136
+ "--font-overline-family",
137
+ "--font-overline-letter-spacing",
138
+ "--font-overline-line-height",
139
+ "--font-overline-size",
140
+ "--font-overline-weight",
124
141
  "--font-paragraph-em-family",
125
142
  "--font-paragraph-em-letter-spacing",
126
143
  "--font-paragraph-em-line-height",
@@ -1,4 +1,4 @@
1
- const categories = { "colour": ["--color-action-icon-active", "--color-action-icon-default", "--color-action-passive-bg", "--color-action-passive-bg-active", "--color-action-passive-bg-hover", "--color-action-passive-text", "--color-action-primary-bg", "--color-action-primary-bg-active", "--color-action-primary-bg-hover", "--color-action-primary-border", "--color-action-primary-border-secondary", "--color-action-primary-border-tertiary", "--color-action-primary-text", "--color-action-primary-text-active", "--color-action-primary-text-secondary", "--color-action-primary-text-tertiary", "--color-ai-gradient-end", "--color-ai-gradient-mid", "--color-ai-gradient-start", "--color-bg-container-border", "--color-bg-container-inverse", "--color-bg-container-primary", "--color-bg-container-primary-semi", "--color-bg-container-primary-transparent", "--color-bg-container-secondary", "--color-bg-container-tertiary", "--color-bg-page-inverse", "--color-bg-page-primary", "--color-chart-contribution-0", "--color-chart-contribution-1", "--color-chart-contribution-2", "--color-chart-contribution-3", "--color-chart-contribution-4", "--color-chat-bubble-received-bg", "--color-chat-bubble-received-text", "--color-chat-bubble-sent-bg", "--color-chat-bubble-sent-text", "--color-control-thumb", "--color-core-accent-amber", "--color-core-accent-cobalt", "--color-core-accent-coral", "--color-core-accent-gold", "--color-core-accent-mint", "--color-core-accent-violet", "--color-core-ui-primary", "--color-core-ui-secondary", "--color-divider", "--color-icon-primary", "--color-icon-secondary", "--color-input-bg-disabled", "--color-input-bg-primary", "--color-input-border-disabled", "--color-input-border-hover", "--color-input-border-primary", "--color-input-border-selected", "--color-input-text-disabled", "--color-input-text-inverse", "--color-input-text-placeholder", "--color-input-text-primary", "--color-scrim", "--color-status-error-bg", "--color-status-error-border", "--color-status-error-text", "--color-status-info-bg", "--color-status-info-border", "--color-status-info-text", "--color-status-neutral-bg", "--color-status-neutral-border", "--color-status-neutral-text", "--color-status-positive-bg", "--color-status-positive-border", "--color-status-positive-text", "--color-status-warning-bg", "--color-status-warning-border", "--color-status-warning-text", "--color-text-inverse", "--color-text-on-inverse", "--color-text-primary", "--color-text-secondary", "--color-text-tertiary"], "typography": ["--font-display-1-family", "--font-display-1-letter-spacing", "--font-display-1-line-height", "--font-display-1-size", "--font-display-1-weight", "--font-display-2-family", "--font-display-2-letter-spacing", "--font-display-2-line-height", "--font-display-2-size", "--font-display-2-weight", "--font-family-code", "--font-family-primary", "--font-heading-1-family", "--font-heading-1-letter-spacing", "--font-heading-1-line-height", "--font-heading-1-size", "--font-heading-1-weight", "--font-heading-2-family", "--font-heading-2-letter-spacing", "--font-heading-2-line-height", "--font-heading-2-size", "--font-heading-2-weight", "--font-heading-3-family", "--font-heading-3-letter-spacing", "--font-heading-3-line-height", "--font-heading-3-size", "--font-heading-3-weight", "--font-mega-1-family", "--font-mega-1-letter-spacing", "--font-mega-1-line-height", "--font-mega-1-size", "--font-mega-1-weight", "--font-mega-2-family", "--font-mega-2-letter-spacing", "--font-mega-2-line-height", "--font-mega-2-size", "--font-mega-2-weight", "--font-paragraph-em-family", "--font-paragraph-em-letter-spacing", "--font-paragraph-em-line-height", "--font-paragraph-em-size", "--font-paragraph-em-weight", "--font-paragraph-family", "--font-paragraph-letter-spacing", "--font-paragraph-line-height", "--font-paragraph-size", "--font-paragraph-sm-em-family", "--font-paragraph-sm-em-letter-spacing", "--font-paragraph-sm-em-line-height", "--font-paragraph-sm-em-size", "--font-paragraph-sm-em-weight", "--font-paragraph-sm-family", "--font-paragraph-sm-letter-spacing", "--font-paragraph-sm-line-height", "--font-paragraph-sm-size", "--font-paragraph-sm-weight", "--font-paragraph-weight", "--font-sub-display-family", "--font-sub-display-letter-spacing", "--font-sub-display-line-height", "--font-sub-display-size", "--font-sub-display-weight", "--font-title-body-family", "--font-title-body-letter-spacing", "--font-title-body-line-height", "--font-title-body-size", "--font-title-body-weight"], "spacing": ["--gap-lg", "--gap-md", "--gap-sm", "--gap-sm-md", "--gap-xl", "--gap-xs", "--gap-xxl", "--gap-xxs", "--gap-xxxl", "--gap-xxxxl", "--padding-lg", "--padding-md", "--padding-sm", "--padding-sm-md", "--padding-xl", "--padding-xs", "--padding-xxl", "--padding-xxs", "--padding-xxxs"], "radius": ["--radius-composer", "--radius-full", "--radius-lg", "--radius-md", "--radius-sm", "--radius-xl", "--radius-xs", "--radius-xxl", "--radius-xxs"], "border": ["--border-md", "--border-xs"], "shadow": ["--shadow-floating", "--shadow-modal"], "icons": ["--icon-size-lg", "--icon-size-md", "--icon-size-sm", "--icon-size-xl"], "motion": ["--motion-duration-base", "--motion-duration-deliberate", "--motion-duration-fast", "--motion-duration-instant", "--motion-duration-loop-matrix", "--motion-duration-loop-shimmer", "--motion-duration-loop-spin", "--motion-duration-slow", "--motion-duration-slower", "--motion-ease-emphasized", "--motion-ease-entrance", "--motion-ease-linear", "--motion-ease-spring", "--motion-ease-standard"] };
1
+ const categories = { "colour": ["--color-action-icon-active", "--color-action-icon-default", "--color-action-passive-bg", "--color-action-passive-bg-active", "--color-action-passive-bg-hover", "--color-action-passive-text", "--color-action-primary-bg", "--color-action-primary-bg-active", "--color-action-primary-bg-hover", "--color-action-primary-border", "--color-action-primary-border-secondary", "--color-action-primary-border-tertiary", "--color-action-primary-text", "--color-action-primary-text-active", "--color-action-primary-text-secondary", "--color-action-primary-text-tertiary", "--color-ai-gradient-end", "--color-ai-gradient-mid", "--color-ai-gradient-start", "--color-bg-container-border", "--color-bg-container-inverse", "--color-bg-container-primary", "--color-bg-container-primary-semi", "--color-bg-container-primary-transparent", "--color-bg-container-secondary", "--color-bg-container-tertiary", "--color-bg-page-inverse", "--color-bg-page-primary", "--color-chart-contribution-0", "--color-chart-contribution-1", "--color-chart-contribution-2", "--color-chart-contribution-3", "--color-chart-contribution-4", "--color-chart-series-1", "--color-chart-series-2", "--color-chart-series-3", "--color-chart-series-4", "--color-chart-series-5", "--color-chart-series-6", "--color-chart-series-7", "--color-chat-bubble-received-bg", "--color-chat-bubble-received-text", "--color-chat-bubble-sent-bg", "--color-chat-bubble-sent-text", "--color-control-thumb", "--color-core-accent-amber", "--color-core-accent-cobalt", "--color-core-accent-coral", "--color-core-accent-gold", "--color-core-accent-mint", "--color-core-accent-violet", "--color-core-ui-primary", "--color-core-ui-secondary", "--color-divider", "--color-icon-primary", "--color-icon-secondary", "--color-input-bg-disabled", "--color-input-bg-primary", "--color-input-border-disabled", "--color-input-border-hover", "--color-input-border-primary", "--color-input-border-selected", "--color-input-text-disabled", "--color-input-text-inverse", "--color-input-text-placeholder", "--color-input-text-primary", "--color-scrim", "--color-status-error-bg", "--color-status-error-border", "--color-status-error-text", "--color-status-info-bg", "--color-status-info-border", "--color-status-info-text", "--color-status-neutral-bg", "--color-status-neutral-border", "--color-status-neutral-text", "--color-status-positive-bg", "--color-status-positive-border", "--color-status-positive-text", "--color-status-warning-bg", "--color-status-warning-border", "--color-status-warning-text", "--color-text-inverse", "--color-text-on-inverse", "--color-text-primary", "--color-text-secondary", "--color-text-tertiary"], "typography": ["--font-caption-family", "--font-caption-letter-spacing", "--font-caption-line-height", "--font-caption-size", "--font-caption-weight", "--font-display-1-family", "--font-display-1-letter-spacing", "--font-display-1-line-height", "--font-display-1-size", "--font-display-1-weight", "--font-display-2-family", "--font-display-2-letter-spacing", "--font-display-2-line-height", "--font-display-2-size", "--font-display-2-weight", "--font-family-code", "--font-family-primary", "--font-heading-1-family", "--font-heading-1-letter-spacing", "--font-heading-1-line-height", "--font-heading-1-size", "--font-heading-1-weight", "--font-heading-2-family", "--font-heading-2-letter-spacing", "--font-heading-2-line-height", "--font-heading-2-size", "--font-heading-2-weight", "--font-heading-3-family", "--font-heading-3-letter-spacing", "--font-heading-3-line-height", "--font-heading-3-size", "--font-heading-3-weight", "--font-mega-1-family", "--font-mega-1-letter-spacing", "--font-mega-1-line-height", "--font-mega-1-size", "--font-mega-1-weight", "--font-mega-2-family", "--font-mega-2-letter-spacing", "--font-mega-2-line-height", "--font-mega-2-size", "--font-mega-2-weight", "--font-overline-family", "--font-overline-letter-spacing", "--font-overline-line-height", "--font-overline-size", "--font-overline-weight", "--font-paragraph-em-family", "--font-paragraph-em-letter-spacing", "--font-paragraph-em-line-height", "--font-paragraph-em-size", "--font-paragraph-em-weight", "--font-paragraph-family", "--font-paragraph-letter-spacing", "--font-paragraph-line-height", "--font-paragraph-size", "--font-paragraph-sm-em-family", "--font-paragraph-sm-em-letter-spacing", "--font-paragraph-sm-em-line-height", "--font-paragraph-sm-em-size", "--font-paragraph-sm-em-weight", "--font-paragraph-sm-family", "--font-paragraph-sm-letter-spacing", "--font-paragraph-sm-line-height", "--font-paragraph-sm-size", "--font-paragraph-sm-weight", "--font-paragraph-weight", "--font-sub-display-family", "--font-sub-display-letter-spacing", "--font-sub-display-line-height", "--font-sub-display-size", "--font-sub-display-weight", "--font-title-body-family", "--font-title-body-letter-spacing", "--font-title-body-line-height", "--font-title-body-size", "--font-title-body-weight"], "spacing": ["--gap-lg", "--gap-md", "--gap-sm", "--gap-sm-md", "--gap-xl", "--gap-xs", "--gap-xxl", "--gap-xxs", "--gap-xxxl", "--gap-xxxxl", "--padding-lg", "--padding-md", "--padding-sm", "--padding-sm-md", "--padding-xl", "--padding-xs", "--padding-xxl", "--padding-xxs", "--padding-xxxs"], "radius": ["--radius-composer", "--radius-full", "--radius-lg", "--radius-md", "--radius-sm", "--radius-xl", "--radius-xs", "--radius-xxl", "--radius-xxs"], "border": ["--border-md", "--border-xs"], "shadow": ["--shadow-floating", "--shadow-modal"], "icons": ["--icon-size-lg", "--icon-size-md", "--icon-size-sm", "--icon-size-xl"], "motion": ["--motion-duration-base", "--motion-duration-deliberate", "--motion-duration-fast", "--motion-duration-instant", "--motion-duration-loop-matrix", "--motion-duration-loop-shimmer", "--motion-duration-loop-spin", "--motion-duration-slow", "--motion-duration-slower", "--motion-ease-emphasized", "--motion-ease-entrance", "--motion-ease-linear", "--motion-ease-spring", "--motion-ease-standard"] };
2
2
  const registry = {
3
3
  categories
4
4
  };
@@ -112,6 +112,17 @@
112
112
  --color-chart-contribution-3: var(--primitive-green-08);
113
113
  --color-chart-contribution-4: var(--primitive-green-07);
114
114
 
115
+ /* Chart - Ordered series ramp for multi-series charts. Series 1 follows
116
+ the action teal (theme-split with it); 2-7 alias the core accents, so
117
+ re-theming an accent re-themes every chart that uses its slot. */
118
+ --color-chart-series-1: var(--color-action-primary-bg);
119
+ --color-chart-series-2: var(--color-core-accent-mint);
120
+ --color-chart-series-3: var(--color-core-accent-gold);
121
+ --color-chart-series-4: var(--color-core-accent-coral);
122
+ --color-chart-series-5: var(--color-core-accent-violet);
123
+ --color-chart-series-6: var(--color-core-accent-amber);
124
+ --color-chart-series-7: var(--color-core-accent-cobalt);
125
+
115
126
  /* Input */
116
127
  --color-input-text-primary: var(--primitive-neutral-01);
117
128
  --color-input-text-placeholder: var(--primitive-neutral-04);
@@ -126,6 +126,17 @@
126
126
  --color-chart-contribution-3: var(--primitive-green-07);
127
127
  --color-chart-contribution-4: var(--primitive-green-09);
128
128
 
129
+ /* Chart - Ordered series ramp for multi-series charts. Series 1 follows
130
+ the action teal (theme-split with it); 2-7 alias the core accents, so
131
+ re-theming an accent re-themes every chart that uses its slot. */
132
+ --color-chart-series-1: var(--color-action-primary-bg);
133
+ --color-chart-series-2: var(--color-core-accent-mint);
134
+ --color-chart-series-3: var(--color-core-accent-gold);
135
+ --color-chart-series-4: var(--color-core-accent-coral);
136
+ --color-chart-series-5: var(--color-core-accent-violet);
137
+ --color-chart-series-6: var(--color-core-accent-amber);
138
+ --color-chart-series-7: var(--color-core-accent-cobalt);
139
+
129
140
  /* Input */
130
141
  --color-input-text-primary: var(--primitive-neutral-10);
131
142
  --color-input-text-placeholder: var(--primitive-neutral-06);
@@ -118,6 +118,26 @@
118
118
  --font-paragraph-sm-em-weight: 500;
119
119
  --font-paragraph-sm-em-line-height: 20px;
120
120
  --font-paragraph-sm-em-letter-spacing: 0;
121
+
122
+ /* Overline — the uppercase label face: an eyebrow over a title, a map
123
+ callout's place name, a code block's language chip. Small and bold with
124
+ open tracking, because capitals at this size need air to stay legible.
125
+ Pair with text-transform: uppercase at the use site — the tokens set the
126
+ metrics, never the casing. */
127
+ --font-overline-family: var(--font-family-primary);
128
+ --font-overline-size: 14px;
129
+ --font-overline-weight: 600;
130
+ --font-overline-line-height: 20px;
131
+ --font-overline-letter-spacing: 0.08em; /* +8% */
132
+
133
+ /* Caption — the floor of the scale. Footnotes and disclaimers: a line the
134
+ reader should be able to find but never has to read to use the screen.
135
+ Never on a control, never for running text. */
136
+ --font-caption-family: var(--font-family-primary);
137
+ --font-caption-size: 12px;
138
+ --font-caption-weight: 400;
139
+ --font-caption-line-height: 16px;
140
+ --font-caption-letter-spacing: 0;
121
141
  }
122
142
 
123
143
  /* ============================================