@autoguru/overdrive 4.61.0 → 4.63.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 (56) hide show
  1. package/dist/components/Alert/Alert.js +1 -1
  2. package/dist/components/Box/useBox/useBox.d.ts +1 -1
  3. package/dist/components/Button/Button.css.d.ts +13 -1
  4. package/dist/components/Button/Button.css.d.ts.map +1 -1
  5. package/dist/components/Button/Button.css.js +35 -0
  6. package/dist/components/Button/Button.d.ts.map +1 -1
  7. package/dist/components/Button/Button.js +5 -1
  8. package/dist/components/CheckBox/CheckBox.css.d.ts.map +1 -1
  9. package/dist/components/CheckBox/CheckBox.css.js +5 -2
  10. package/dist/components/DateInput/DateInput.js +1 -1
  11. package/dist/components/EditableText/EditableText.css.js +1 -1
  12. package/dist/components/OverdriveProvider/OverdriveProvider.d.ts +13 -1
  13. package/dist/components/OverdriveProvider/OverdriveProvider.d.ts.map +1 -1
  14. package/dist/components/OverdriveProvider/OverdriveProvider.js +6 -1
  15. package/dist/components/OverdriveProvider/useColorOverrides.d.ts +3 -2
  16. package/dist/components/OverdriveProvider/useColorOverrides.d.ts.map +1 -1
  17. package/dist/components/OverdriveProvider/useColorOverrides.js +158 -22
  18. package/dist/components/OverdriveProvider/useColorOverrides.spec.d.ts +2 -0
  19. package/dist/components/OverdriveProvider/useColorOverrides.spec.d.ts.map +1 -0
  20. package/dist/components/OverdriveProvider/useColorOverrides.spec.js +226 -0
  21. package/dist/components/Radio/Radio.css.d.ts.map +1 -1
  22. package/dist/components/Radio/Radio.css.js +3 -2
  23. package/dist/components/StandardModal/StandardModal.js +1 -1
  24. package/dist/components/Switch/Switch.css.d.ts.map +1 -1
  25. package/dist/components/Switch/Switch.css.js +3 -1
  26. package/dist/components/private/InputBase/InputState.css.js +1 -1
  27. package/dist/components/private/InputBase/NotchedBase.css.js +1 -1
  28. package/dist/components/private/InputBase/withEnhancedInput.css.js +1 -1
  29. package/dist/styles/intentColorset.css.d.ts +3 -3
  30. package/dist/styles/sprinkles.css.d.ts +24 -24
  31. package/dist/styles/sprinkles.css.d.ts.map +1 -1
  32. package/dist/styles/sprinkles.css.js +10 -8
  33. package/dist/styles/typography.css.d.ts +1 -1
  34. package/dist/themes/base/contrastGuide.spec.js +11 -2
  35. package/dist/themes/base/index.d.ts +126 -18
  36. package/dist/themes/base/index.d.ts.map +1 -1
  37. package/dist/themes/base/space.spec.js +3 -3
  38. package/dist/themes/base/tokens.d.ts +76 -9
  39. package/dist/themes/base/tokens.d.ts.map +1 -1
  40. package/dist/themes/base/tokens.js +114 -13
  41. package/dist/themes/flat_red/index.d.ts +126 -18
  42. package/dist/themes/flat_red/index.d.ts.map +1 -1
  43. package/dist/themes/flat_red/tokens.d.ts +63 -9
  44. package/dist/themes/flat_red/tokens.d.ts.map +1 -1
  45. package/dist/themes/index.d.ts +126 -18
  46. package/dist/themes/index.d.ts.map +1 -1
  47. package/dist/themes/makeTheme.d.ts +63 -9
  48. package/dist/themes/makeTheme.d.ts.map +1 -1
  49. package/dist/themes/neutral/index.d.ts +126 -18
  50. package/dist/themes/neutral/index.d.ts.map +1 -1
  51. package/dist/themes/neutral/tokens.d.ts +63 -9
  52. package/dist/themes/neutral/tokens.d.ts.map +1 -1
  53. package/dist/themes/theme.css.d.ts +63 -9
  54. package/dist/themes/theme.css.d.ts.map +1 -1
  55. package/dist/themes/theme.css.js +79 -18
  56. package/package.json +1 -1
@@ -87,6 +87,10 @@ declare const _default: {
87
87
  '100': `var(--${string})`;
88
88
  };
89
89
  };
90
+ brand: {
91
+ solid: `var(--${string})`;
92
+ onSolid: `var(--${string})`;
93
+ };
90
94
  surface: {
91
95
  page: `var(--${string})`;
92
96
  hard: `var(--${string})`;
@@ -123,14 +127,16 @@ declare const _default: {
123
127
  primary: `var(--${string})`;
124
128
  secondary: `var(--${string})`;
125
129
  reverse: `var(--${string})`;
126
- tertiaryInactive: `var(--${string})`;
127
- tertiaryInactiveLight: `var(--${string})`;
130
+ tertiary: `var(--${string})`;
131
+ placeholder: `var(--${string})`;
128
132
  };
129
133
  background: {
130
134
  default: `var(--${string})`;
131
135
  reverse: `var(--${string})`;
132
136
  inactive: `var(--${string})`;
133
137
  emphasisInactive: `var(--${string})`;
138
+ emphasisLight: `var(--${string})`;
139
+ modal: `var(--${string})`;
134
140
  };
135
141
  border: {
136
142
  default: `var(--${string})`;
@@ -138,46 +144,94 @@ declare const _default: {
138
144
  selected: `var(--${string})`;
139
145
  strong: `var(--${string})`;
140
146
  };
147
+ focus: {
148
+ ring: `var(--${string})`;
149
+ };
141
150
  info: {
142
151
  text: `var(--${string})`;
143
152
  foreground: `var(--${string})`;
144
- background: `var(--${string})`;
153
+ backgroundStrong: `var(--${string})`;
154
+ backgroundSubtle: `var(--${string})`;
145
155
  };
146
156
  success: {
147
157
  text: `var(--${string})`;
148
158
  foreground: `var(--${string})`;
149
- backgroundDark: `var(--${string})`;
150
- backgroundLight: `var(--${string})`;
159
+ backgroundStrong: `var(--${string})`;
160
+ backgroundSubtle: `var(--${string})`;
151
161
  };
152
162
  warning: {
153
163
  text: `var(--${string})`;
154
164
  foreground: `var(--${string})`;
155
- backgroundDark: `var(--${string})`;
156
- backgroundLight: `var(--${string})`;
165
+ backgroundStrong: `var(--${string})`;
166
+ backgroundSubtle: `var(--${string})`;
157
167
  };
158
168
  alert: {
159
169
  text: `var(--${string})`;
160
170
  foreground: `var(--${string})`;
161
- background: `var(--${string})`;
171
+ backgroundStrong: `var(--${string})`;
172
+ backgroundSubtle: `var(--${string})`;
162
173
  };
163
174
  button: {
164
175
  primary: {
165
176
  solid: {
166
177
  default: `var(--${string})`;
167
178
  hover: `var(--${string})`;
168
- pressed: `var(--${string})`;
169
179
  border: `var(--${string})`;
180
+ pressed: `var(--${string})`;
181
+ text: `var(--${string})`;
170
182
  };
171
183
  outlined: {
172
184
  border: `var(--${string})`;
173
185
  text: `var(--${string})`;
186
+ hover: `var(--${string})`;
187
+ pressed: `var(--${string})`;
174
188
  };
175
189
  };
176
190
  critical: {
177
191
  solid: {
178
192
  default: `var(--${string})`;
193
+ hover: `var(--${string})`;
194
+ border: `var(--${string})`;
195
+ pressed: `var(--${string})`;
196
+ text: `var(--${string})`;
179
197
  };
198
+ outlined: {
199
+ border: `var(--${string})`;
200
+ text: `var(--${string})`;
201
+ hover: `var(--${string})`;
202
+ pressed: `var(--${string})`;
203
+ };
204
+ };
205
+ secondary: {
206
+ border: `var(--${string})`;
207
+ hover: `var(--${string})`;
208
+ pressed: `var(--${string})`;
209
+ text: `var(--${string})`;
180
210
  };
211
+ disabled: {
212
+ fill: `var(--${string})`;
213
+ text: `var(--${string})`;
214
+ };
215
+ };
216
+ link: {
217
+ primary: `var(--${string})`;
218
+ secondary: `var(--${string})`;
219
+ hover: `var(--${string})`;
220
+ pressed: `var(--${string})`;
221
+ critical: `var(--${string})`;
222
+ criticalHover: `var(--${string})`;
223
+ criticalPressed: `var(--${string})`;
224
+ };
225
+ illustration: {
226
+ brightSide: `var(--${string})`;
227
+ darkSide: `var(--${string})`;
228
+ lightFill: `var(--${string})`;
229
+ mainFill: `var(--${string})`;
230
+ outline: `var(--${string})`;
231
+ shadow: `var(--${string})`;
232
+ white: `var(--${string})`;
233
+ yellowDarkSide: `var(--${string})`;
234
+ yellowMainFill: `var(--${string})`;
181
235
  };
182
236
  };
183
237
  colours: {
@@ -565,6 +619,10 @@ declare const _default: {
565
619
  };
566
620
  white: `var(--${string})`;
567
621
  };
622
+ brand: {
623
+ solid: string;
624
+ onSolid: string;
625
+ };
568
626
  surface: {
569
627
  page: string;
570
628
  hard: string;
@@ -601,14 +659,16 @@ declare const _default: {
601
659
  primary: string;
602
660
  secondary: string;
603
661
  reverse: string;
604
- tertiaryInactive: string;
605
- tertiaryInactiveLight: string;
662
+ tertiary: string;
663
+ placeholder: string;
606
664
  };
607
665
  background: {
608
666
  default: string;
609
667
  reverse: string;
610
668
  inactive: string;
611
669
  emphasisInactive: string;
670
+ emphasisLight: string;
671
+ modal: string;
612
672
  };
613
673
  border: {
614
674
  default: string;
@@ -616,46 +676,94 @@ declare const _default: {
616
676
  selected: string;
617
677
  strong: string;
618
678
  };
679
+ focus: {
680
+ ring: string;
681
+ };
619
682
  info: {
620
683
  text: string;
621
684
  foreground: string;
622
- background: string;
685
+ backgroundStrong: string;
686
+ backgroundSubtle: string;
623
687
  };
624
688
  success: {
625
689
  text: string;
626
690
  foreground: string;
627
- backgroundDark: string;
628
- backgroundLight: string;
691
+ backgroundStrong: string;
692
+ backgroundSubtle: string;
629
693
  };
630
694
  warning: {
631
695
  text: string;
632
696
  foreground: string;
633
- backgroundDark: string;
634
- backgroundLight: string;
697
+ backgroundStrong: string;
698
+ backgroundSubtle: string;
635
699
  };
636
700
  alert: {
637
701
  text: string;
638
702
  foreground: string;
639
- background: string;
703
+ backgroundStrong: string;
704
+ backgroundSubtle: string;
640
705
  };
641
706
  button: {
642
707
  primary: {
643
708
  solid: {
644
709
  default: string;
645
710
  hover: string;
646
- pressed: string;
647
711
  border: string;
712
+ pressed: string;
713
+ text: string;
648
714
  };
649
715
  outlined: {
650
716
  border: string;
651
717
  text: string;
718
+ hover: string;
719
+ pressed: string;
652
720
  };
653
721
  };
654
722
  critical: {
655
723
  solid: {
656
724
  default: string;
725
+ hover: string;
726
+ border: string;
727
+ pressed: string;
728
+ text: string;
657
729
  };
730
+ outlined: {
731
+ border: string;
732
+ text: string;
733
+ hover: string;
734
+ pressed: string;
735
+ };
736
+ };
737
+ secondary: {
738
+ border: string;
739
+ hover: string;
740
+ pressed: string;
741
+ text: string;
658
742
  };
743
+ disabled: {
744
+ fill: string;
745
+ text: string;
746
+ };
747
+ };
748
+ link: {
749
+ primary: string;
750
+ secondary: string;
751
+ hover: string;
752
+ pressed: string;
753
+ critical: string;
754
+ criticalHover: string;
755
+ criticalPressed: string;
756
+ };
757
+ illustration: {
758
+ brightSide: string;
759
+ darkSide: string;
760
+ lightFill: string;
761
+ mainFill: string;
762
+ outline: string;
763
+ shadow: string;
764
+ white: string;
765
+ yellowDarkSide: string;
766
+ yellowMainFill: string;
659
767
  };
660
768
  };
661
769
  colours: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/themes/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAKE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/themes/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAKE"}
@@ -10,7 +10,7 @@ import { tokens as baseTokens } from "./tokens.js";
10
10
  */
11
11
  const EXPECTED_SPACE = {
12
12
  none: '0px',
13
- '0': '0px',
13
+ '0': '2px',
14
14
  '1': '4px',
15
15
  '2': '8px',
16
16
  '3': '12px',
@@ -28,8 +28,8 @@ describe('space token ladder', () => {
28
28
  it('base theme maps every key to its exact DS-2026 pixel value', () => {
29
29
  expect(baseTokens.space).toStrictEqual(EXPECTED_SPACE);
30
30
  });
31
- it('`0` and `none` both resolve to 0px (no 2px footgun)', () => {
32
- expect(baseTokens.space['0']).toBe('0px');
31
+ it('`0` is the 2px smallest step; `none` is true zero (DS-2026)', () => {
32
+ expect(baseTokens.space['0']).toBe('2px');
33
33
  expect(baseTokens.space.none).toBe('0px');
34
34
  });
35
35
  it('neutral theme inherits the base ladder unchanged via deepmerge', () => {
@@ -98,6 +98,23 @@ export declare const tokens: {
98
98
  };
99
99
  white: `var(--${string})`;
100
100
  };
101
+ /**
102
+ * Seeded to the values the surfaces reading it render today, so adding
103
+ * this pair is byte-identical on every theme: `solid` matches
104
+ * `color.foreground.primary` and `onSolid` matches
105
+ * `color.background.default`.
106
+ *
107
+ * Raw hex, not a `colours.gamut.*` var alias — `color.gamut.*` is a
108
+ * transition bridge onto the legacy gamut, which `flat_red` overrides.
109
+ * Raw hex keeps the resolved value the same in all three themes, and is
110
+ * how `foreground.primary` / `background.default` are already seeded.
111
+ *
112
+ * A tenant re-brands this pair at runtime via `colorOverrides`.
113
+ */
114
+ brand: {
115
+ solid: string;
116
+ onSolid: string;
117
+ };
101
118
  surface: {
102
119
  page: string;
103
120
  hard: string;
@@ -134,14 +151,16 @@ export declare const tokens: {
134
151
  primary: string;
135
152
  secondary: string;
136
153
  reverse: string;
137
- tertiaryInactive: string;
138
- tertiaryInactiveLight: string;
154
+ tertiary: string;
155
+ placeholder: string;
139
156
  };
140
157
  background: {
141
158
  default: string;
142
159
  reverse: string;
143
160
  inactive: string;
144
161
  emphasisInactive: string;
162
+ emphasisLight: string;
163
+ modal: string;
145
164
  };
146
165
  border: {
147
166
  default: string;
@@ -149,47 +168,95 @@ export declare const tokens: {
149
168
  selected: string;
150
169
  strong: string;
151
170
  };
171
+ focus: {
172
+ ring: string;
173
+ };
152
174
  info: {
153
175
  text: string;
154
176
  foreground: string;
155
- background: string;
177
+ backgroundStrong: string;
178
+ backgroundSubtle: string;
156
179
  };
157
180
  success: {
158
181
  text: string;
159
182
  foreground: string;
160
- backgroundDark: string;
161
- backgroundLight: string;
183
+ backgroundStrong: string;
184
+ backgroundSubtle: string;
162
185
  };
163
186
  warning: {
164
187
  text: string;
165
188
  foreground: string;
166
- backgroundDark: string;
167
- backgroundLight: string;
189
+ backgroundStrong: string;
190
+ backgroundSubtle: string;
168
191
  };
169
192
  alert: {
170
193
  text: string;
171
194
  foreground: string;
172
- background: string;
195
+ backgroundStrong: string;
196
+ backgroundSubtle: string;
173
197
  };
174
198
  button: {
175
199
  primary: {
176
200
  solid: {
177
201
  default: string;
178
202
  hover: string;
179
- pressed: string;
180
203
  border: string;
204
+ pressed: string;
205
+ text: string;
181
206
  };
182
207
  outlined: {
183
208
  border: string;
184
209
  text: string;
210
+ hover: string;
211
+ pressed: string;
185
212
  };
186
213
  };
187
214
  critical: {
188
215
  solid: {
189
216
  default: string;
217
+ hover: string;
218
+ border: string;
219
+ pressed: string;
220
+ text: string;
190
221
  };
222
+ outlined: {
223
+ border: string;
224
+ text: string;
225
+ hover: string;
226
+ pressed: string;
227
+ };
228
+ };
229
+ secondary: {
230
+ border: string;
231
+ hover: string;
232
+ pressed: string;
233
+ text: string;
234
+ };
235
+ disabled: {
236
+ fill: string;
237
+ text: string;
191
238
  };
192
239
  };
240
+ link: {
241
+ primary: string;
242
+ secondary: string;
243
+ hover: string;
244
+ pressed: string;
245
+ critical: string;
246
+ criticalHover: string;
247
+ criticalPressed: string;
248
+ };
249
+ illustration: {
250
+ brightSide: string;
251
+ darkSide: string;
252
+ lightFill: string;
253
+ mainFill: string;
254
+ outline: string;
255
+ shadow: string;
256
+ white: string;
257
+ yellowDarkSide: string;
258
+ yellowMainFill: string;
259
+ };
193
260
  };
194
261
  colours: {
195
262
  gamut: {
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../lib/themes/base/tokens.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4BjB;;;;;;;;;;WAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwZkB,CAAC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../lib/themes/base/tokens.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4BjB;;;;;;;;;;WAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2DH;;;;;;;;;;;;WAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoZkB,CAAC"}
@@ -19,7 +19,8 @@ export const tokens = {
19
19
  medium: '940px'
20
20
  },
21
21
  space: {
22
- '0': '0px',
22
+ '0': '2px',
23
+ // DS-2026: smallest step is 2px (use `none` for true zero)
23
24
  '1': '4px',
24
25
  '2': '8px',
25
26
  '3': '12px',
@@ -104,6 +105,24 @@ export const tokens = {
104
105
  },
105
106
  white: overdriveTokens.colours.gamut.white
106
107
  },
108
+ /**
109
+ * Seeded to the values the surfaces reading it render today, so adding
110
+ * this pair is byte-identical on every theme: `solid` matches
111
+ * `color.foreground.primary` and `onSolid` matches
112
+ * `color.background.default`.
113
+ *
114
+ * Raw hex, not a `colours.gamut.*` var alias — `color.gamut.*` is a
115
+ * transition bridge onto the legacy gamut, which `flat_red` overrides.
116
+ * Raw hex keeps the resolved value the same in all three themes, and is
117
+ * how `foreground.primary` / `background.default` are already seeded.
118
+ *
119
+ * A tenant re-brands this pair at runtime via `colorOverrides`.
120
+ */
121
+ brand: {
122
+ solid: colourMap.gray['900'],
123
+ // #212338
124
+ onSolid: colourMap.white // #ffffff
125
+ },
107
126
  surface: {
108
127
  page: colourMap.white,
109
128
  hard: colourMap.gray['900'],
@@ -143,9 +162,9 @@ export const tokens = {
143
162
  // #484c5f
144
163
  reverse: colourMap.white,
145
164
  // #ffffff
146
- tertiaryInactive: colourMap.gray['400'],
165
+ tertiary: colourMap.gray['400'],
147
166
  // #8f95a1
148
- tertiaryInactiveLight: colourMap.gray['300'] // #d4d9dd
167
+ placeholder: colourMap.gray['300'] // #d4d9dd
149
168
  },
150
169
  background: {
151
170
  default: colourMap.white,
@@ -154,7 +173,11 @@ export const tokens = {
154
173
  // #212338
155
174
  inactive: colourMap.gray['300'],
156
175
  // #d4d9dd
157
- emphasisInactive: colourMap.gray['200'] // #eef0f2
176
+ emphasisInactive: colourMap.gray['200'],
177
+ // #eef0f2
178
+ emphasisLight: colourMap.gray['100'],
179
+ // #fafbfc
180
+ modal: '#21233840' // gray-900 @ 25% (Figma background/modal)
158
181
  },
159
182
  border: {
160
183
  default: colourMap.gray['300'],
@@ -165,37 +188,44 @@ export const tokens = {
165
188
  // #5c6172
166
189
  strong: colourMap.gray['900'] // #212338
167
190
  },
191
+ focus: {
192
+ ring: colourMap.green['600'] // #01c68c
193
+ },
168
194
  info: {
169
195
  text: colourMap.blue['900'],
170
196
  // #0d47a1
171
197
  foreground: colourMap.blue['600'],
172
198
  // #0d54e5
173
- background: '#e1edfe' // Figma info surface — NOT blue-200 (#bad4ff)
199
+ backgroundStrong: colourMap.blue['600'],
200
+ // #0d54e5
201
+ backgroundSubtle: '#e1edfe' // Figma info surface — NOT blue-200 (#bad4ff)
174
202
  },
175
203
  success: {
176
204
  text: colourMap.green['900'],
177
205
  // #00574c
178
206
  foreground: colourMap.green['600'],
179
207
  // #01c68c
180
- backgroundDark: colourMap.green['800'],
208
+ backgroundStrong: colourMap.green['800'],
181
209
  // #18856f
182
- backgroundLight: colourMap.green['200'] // #e3f8f0
210
+ backgroundSubtle: colourMap.green['200'] // #e3f8f0
183
211
  },
184
212
  warning: {
185
213
  text: colourMap.red['800'],
186
214
  // #96110e (Figma warning/text is RED, not yellow)
187
215
  foreground: colourMap.yellow['800'],
188
216
  // #f69a1f
189
- backgroundDark: colourMap.yellow['500'],
217
+ backgroundStrong: colourMap.yellow['500'],
190
218
  // #ffc001
191
- backgroundLight: colourMap.yellow['200'] // #ffedb5
219
+ backgroundSubtle: colourMap.yellow['200'] // #ffedb5
192
220
  },
193
221
  alert: {
194
222
  text: colourMap.red['800'],
195
223
  // #96110e
196
224
  foreground: colourMap.red['600'],
197
225
  // #d42b26
198
- background: colourMap.red['200'] // #ffd4d4
226
+ backgroundStrong: colourMap.red['600'],
227
+ // #d42b26
228
+ backgroundSubtle: colourMap.red['200'] // #ffd4d4
199
229
  },
200
230
  button: {
201
231
  primary: {
@@ -204,21 +234,92 @@ export const tokens = {
204
234
  // #71edc2
205
235
  hover: colourMap.green['400'],
206
236
  // #36e5aa
237
+ border: colourMap.green['600'],
238
+ // #01c68c
207
239
  pressed: colourMap.green['600'],
208
240
  // #01c68c
209
- border: colourMap.green['600'] // #01c68c
241
+ text: colourMap.gray['900'] // #212338
210
242
  },
211
243
  outlined: {
212
244
  border: colourMap.green['800'],
213
245
  // #18856f
214
- text: colourMap.green['800'] // #18856f
246
+ text: colourMap.green['800'],
247
+ // #18856f
248
+ hover: colourMap.green['100'],
249
+ // #f2fdf9
250
+ pressed: colourMap.green['200'] // #e3f8f0
215
251
  }
216
252
  },
217
253
  critical: {
218
254
  solid: {
219
- default: colourMap.red['500'] // #e12e28
255
+ default: colourMap.red['500'],
256
+ // #e12e28
257
+ hover: colourMap.red['600'],
258
+ // #d42b26
259
+ border: colourMap.red['800'],
260
+ // #96110e
261
+ pressed: colourMap.red['800'],
262
+ // #96110e
263
+ text: colourMap.white // #ffffff
264
+ },
265
+ outlined: {
266
+ border: colourMap.red['800'],
267
+ // #96110e
268
+ text: colourMap.red['800'],
269
+ // #96110e
270
+ hover: colourMap.red['100'],
271
+ // #fdf4f4
272
+ pressed: colourMap.red['200'] // #ffd4d4
220
273
  }
274
+ },
275
+ secondary: {
276
+ border: colourMap.gray['300'],
277
+ // #d4d9dd
278
+ hover: colourMap.gray['100'],
279
+ // #fafbfc
280
+ pressed: colourMap.gray['200'],
281
+ // #eef0f2
282
+ text: colourMap.gray['900'] // #212338
283
+ },
284
+ disabled: {
285
+ fill: colourMap.gray['200'],
286
+ // #eef0f2
287
+ text: colourMap.gray['400'] // #8f95a1
221
288
  }
289
+ },
290
+ link: {
291
+ primary: colourMap.green['800'],
292
+ // #18856f
293
+ secondary: colourMap.gray['900'],
294
+ // #212338
295
+ hover: colourMap.green['700'],
296
+ // #03af83
297
+ pressed: colourMap.green['400'],
298
+ // #36e5aa
299
+ critical: colourMap.red['700'],
300
+ // #b51e1a
301
+ criticalHover: colourMap.red['500'],
302
+ // #e12e28
303
+ criticalPressed: colourMap.red['300'] // #ef918e
304
+ },
305
+ illustration: {
306
+ brightSide: colourMap.gray['400'],
307
+ // #8f95a1
308
+ darkSide: colourMap.gray['700'],
309
+ // #484c5f
310
+ lightFill: colourMap.gray['300'],
311
+ // #d4d9dd
312
+ mainFill: colourMap.gray['600'],
313
+ // #5c6172
314
+ outline: colourMap.gray['900'],
315
+ // #212338
316
+ shadow: '#8f95a140',
317
+ // gray-400 @ 25% (Figma illustration/shadow)
318
+ white: colourMap.white,
319
+ // #ffffff
320
+ yellowDarkSide: colourMap.yellow['700'],
321
+ // #f9a715
322
+ yellowMainFill: colourMap.yellow['500'] // #ffc001
222
323
  }
223
324
  },
224
325
  colours: {