@common-origin/design-system 2.14.0 → 2.16.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 (55) hide show
  1. package/README.md +50 -184
  2. package/dist/client.esm.js +975 -610
  3. package/dist/client.esm.js.map +1 -1
  4. package/dist/client.js +978 -609
  5. package/dist/client.js.map +1 -1
  6. package/dist/components/atoms/Badge/Badge.d.ts +2 -0
  7. package/dist/components/atoms/Button/Button.d.ts +13 -1
  8. package/dist/components/atoms/CategoryBadge/CategoryBadge.d.ts +12 -52
  9. package/dist/components/atoms/CategoryBadge/index.d.ts +1 -1
  10. package/dist/components/atoms/CategoryLabel/CategoryLabel.d.ts +69 -0
  11. package/dist/components/atoms/CategoryLabel/index.d.ts +2 -0
  12. package/dist/components/atoms/Chip/BooleanChip.d.ts +6 -1
  13. package/dist/components/atoms/Chip/Chip.d.ts +17 -12
  14. package/dist/components/atoms/Chip/FilterChip.d.ts +10 -24
  15. package/dist/components/atoms/Chip/InputChip.d.ts +27 -0
  16. package/dist/components/atoms/Chip/index.d.ts +1 -0
  17. package/dist/components/atoms/Chip/shared/types.d.ts +15 -1
  18. package/dist/components/atoms/Chip/shared/utils.d.ts +1 -82
  19. package/dist/components/atoms/ProgressBar/ProgressBar.d.ts +4 -0
  20. package/dist/components/atoms/StatusBadge/StatusBadge.d.ts +9 -55
  21. package/dist/components/atoms/StatusBadge/index.d.ts +1 -1
  22. package/dist/components/atoms/StatusLabel/StatusLabel.d.ts +17 -0
  23. package/dist/components/atoms/StatusLabel/StatusLabelBase.d.ts +49 -0
  24. package/dist/components/atoms/StatusLabel/index.d.ts +2 -0
  25. package/dist/components/atoms/Tag/Tag.d.ts +5 -0
  26. package/dist/components/atoms/index.d.ts +2 -0
  27. package/dist/components/layout/GridSystem/GridSystem.d.ts +6 -0
  28. package/dist/components/molecules/Alert/Alert.d.ts +15 -2
  29. package/dist/components/molecules/CardLarge/CardLarge.d.ts +3 -1
  30. package/dist/components/molecules/CardSmall/CardSmall.d.ts +2 -0
  31. package/dist/components/molecules/Dropdown/Dropdown.d.ts +2 -0
  32. package/dist/components/molecules/FeatureBlock/FeatureBlock.d.ts +2 -0
  33. package/dist/components/molecules/InlineAlert/InlineAlert.d.ts +54 -0
  34. package/dist/components/molecules/InlineAlert/index.d.ts +2 -0
  35. package/dist/components/molecules/Modal/Modal.d.ts +6 -2
  36. package/dist/components/molecules/PageTitle/PageTitle.d.ts +13 -0
  37. package/dist/components/molecules/TabBar/TabBar.d.ts +8 -5
  38. package/dist/components/molecules/index.d.ts +1 -0
  39. package/dist/data.esm.js +94 -12
  40. package/dist/data.esm.js.map +1 -1
  41. package/dist/data.js +94 -12
  42. package/dist/data.js.map +1 -1
  43. package/dist/index.esm.js +1 -1
  44. package/dist/index.js +4 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/styles/tokens.json +94 -12
  47. package/dist/tokens/index.esm.js +94 -12
  48. package/dist/tokens/index.esm.js.map +1 -1
  49. package/dist/tokens/index.js +94 -12
  50. package/dist/tokens/index.js.map +1 -1
  51. package/dist/tokens/types/tokens.d.ts +85 -3
  52. package/dist/tokens.css +769 -0
  53. package/dist/tokens.css.d.ts +4 -0
  54. package/dist/types/tokens.d.ts +85 -3
  55. package/package.json +20 -10
@@ -0,0 +1,769 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --co-base-border-radius-1: 0.125rem;
7
+ --co-base-border-radius-2: 0.25rem;
8
+ --co-base-border-radius-3: 0.5rem;
9
+ --co-base-border-radius-4: 0.75rem;
10
+ --co-base-border-radius-5: 1rem;
11
+ --co-base-border-radius-6: 1.5rem;
12
+ --co-base-border-radius-7: 2rem;
13
+ --co-base-border-radius-circle: 10rem;
14
+ --co-base-border-style-solid: solid;
15
+ --co-base-border-style-dashed: dashed;
16
+ --co-base-border-style-dotted: dotted;
17
+ --co-base-border-width-0: 0;
18
+ --co-base-border-width-1: 0.0625rem;
19
+ --co-base-border-width-2: 0.125rem;
20
+ --co-base-border-width-3: 0.1875rem;
21
+ --co-base-border-width-4: 0.25rem;
22
+ --co-base-border-width-5: 0.3125rem;
23
+ --co-base-border-width-6: 0.375rem;
24
+ --co-base-border-width-8: 0.5rem;
25
+ --co-base-shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
26
+ --co-base-shadow-2: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
27
+ --co-base-shadow-3: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
28
+ --co-base-shadow-4: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
29
+ --co-base-shadow-5: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
30
+ --co-base-shadow-6: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
31
+ --co-base-shadow-none: none;
32
+ --co-base-z-index-0: 0;
33
+ --co-base-z-index-1: 10;
34
+ --co-base-z-index-2: 20;
35
+ --co-base-z-index-3: 30;
36
+ --co-base-z-index-4: 40;
37
+ --co-base-z-index-5: 50;
38
+ --co-base-z-index-6: 1000;
39
+ --co-base-z-index-7: 1010;
40
+ --co-base-z-index-8: 1020;
41
+ --co-base-opacity-0: 0;
42
+ --co-base-opacity-5: 0.05;
43
+ --co-base-opacity-10: 0.1;
44
+ --co-base-opacity-20: 0.2;
45
+ --co-base-opacity-25: 0.25;
46
+ --co-base-opacity-30: 0.3;
47
+ --co-base-opacity-40: 0.4;
48
+ --co-base-opacity-50: 0.5;
49
+ --co-base-opacity-60: 0.6;
50
+ --co-base-opacity-70: 0.7;
51
+ --co-base-opacity-75: 0.75;
52
+ --co-base-opacity-80: 0.8;
53
+ --co-base-opacity-90: 0.9;
54
+ --co-base-opacity-95: 0.95;
55
+ --co-base-opacity-100: 1;
56
+ --co-base-size-0: 0;
57
+ --co-base-size-1: 0.25rem;
58
+ --co-base-size-2: 0.5rem;
59
+ --co-base-size-3: 0.75rem;
60
+ --co-base-size-4: 1rem;
61
+ --co-base-size-5: 1.25rem;
62
+ --co-base-size-6: 1.5rem;
63
+ --co-base-size-7: 1.75rem;
64
+ --co-base-size-8: 2rem;
65
+ --co-base-size-9: 2.25rem;
66
+ --co-base-size-10: 2.5rem;
67
+ --co-base-size-11: 2.75rem;
68
+ --co-base-size-12: 3rem;
69
+ --co-base-size-14: 3.5rem;
70
+ --co-base-size-15: 3.75rem;
71
+ --co-base-size-16: 4rem;
72
+ --co-base-size-18: 4.5rem;
73
+ --co-base-size-20: 5rem;
74
+ --co-base-size-24: 6rem;
75
+ --co-base-size-28: 7rem;
76
+ --co-base-size-30: 7.5rem;
77
+ --co-base-size-32: 8rem;
78
+ --co-base-size-40: 10rem;
79
+ --co-base-size-45: 11.25rem;
80
+ --co-base-size-48: 12rem;
81
+ --co-base-size-50: 12.5rem;
82
+ --co-base-size-56: 14rem;
83
+ --co-base-size-64: 16rem;
84
+ --co-base-size-75: 18.75rem;
85
+ --co-base-size-90: 22.5rem;
86
+ --co-base-size-100: 25rem;
87
+ --co-base-size-140: 35rem;
88
+ --co-base-size-180: 45rem;
89
+ --co-base-size-192: 48rem;
90
+ --co-base-size-auto: auto;
91
+ --co-base-size-full: 100%;
92
+ --co-base-size-screen: 100vh;
93
+ --co-base-size-min: min-content;
94
+ --co-base-size-max: max-content;
95
+ --co-base-size-fit: fit-content;
96
+ --co-base-color-transparent: transparent; /** Fully transparent. For colour values that must not show, such as a border that keeps its width (semantic.color.border.none). */
97
+ --co-base-color-neutral-100: #f8f9fa;
98
+ --co-base-color-neutral-200: #e9ecef;
99
+ --co-base-color-neutral-300: #dee2e6;
100
+ --co-base-color-neutral-400: #ced4da;
101
+ --co-base-color-neutral-500: #adb5bd;
102
+ --co-base-color-neutral-600: #6c757d;
103
+ --co-base-color-neutral-700: #495057;
104
+ --co-base-color-neutral-800: #343a40;
105
+ --co-base-color-neutral-900: #212529;
106
+ --co-base-color-neutral-1000: #16191C;
107
+ --co-base-color-neutral-000: #ffffff;
108
+ --co-base-color-green-100: #CEF8E0;
109
+ --co-base-color-green-200: #ADF4CE;
110
+ --co-base-color-green-300: #89ECBC;
111
+ --co-base-color-green-400: #67DEA8;
112
+ --co-base-color-green-500: #49CC93;
113
+ --co-base-color-green-600: #2FB880;
114
+ --co-base-color-green-700: #15A46E;
115
+ --co-base-color-green-800: #008F5D;
116
+ --co-base-color-green-900: #007A4D;
117
+ --co-base-color-green-1000: #00653E;
118
+ --co-base-color-green-1100: #005132;
119
+ --co-base-color-green-1200: #053F27;
120
+ --co-base-color-green-1300: #0A2E1D;
121
+ --co-base-color-orange-100: #FFECCC;
122
+ --co-base-color-orange-200: #FFDFAD;
123
+ --co-base-color-orange-300: #FDD291;
124
+ --co-base-color-orange-400: #FFBB63;
125
+ --co-base-color-orange-500: #FFA037;
126
+ --co-base-color-orange-600: #F68511;
127
+ --co-base-color-orange-700: #E46F00;
128
+ --co-base-color-orange-800: #CB5D00;
129
+ --co-base-color-orange-900: #B14C00;
130
+ --co-base-color-orange-1000: #953D00;
131
+ --co-base-color-orange-1100: #7A2F00;
132
+ --co-base-color-orange-1200: #612300;
133
+ --co-base-color-orange-1300: #491901;
134
+ --co-base-color-red-100: #FFEBE7;
135
+ --co-base-color-red-200: #FFDDD6;
136
+ --co-base-color-red-300: #FFCDC3;
137
+ --co-base-color-red-400: #FFB7A9;
138
+ --co-base-color-red-500: #FF9B88;
139
+ --co-base-color-red-600: #FF7C65;
140
+ --co-base-color-red-700: #F75C46;
141
+ --co-base-color-red-800: #EA3829;
142
+ --co-base-color-red-900: #D31510;
143
+ --co-base-color-red-1000: #B40000;
144
+ --co-base-color-red-1100: #930000;
145
+ --co-base-color-red-1200: #740000;
146
+ --co-base-color-red-1300: #590000;
147
+ --co-base-color-blue-100: #E0F2FF;
148
+ --co-base-color-blue-200: #CAE8FF;
149
+ --co-base-color-blue-300: #B5DEFF;
150
+ --co-base-color-blue-400: #96CEFD;
151
+ --co-base-color-blue-500: #78BBFA;
152
+ --co-base-color-blue-600: #59A7F6;
153
+ --co-base-color-blue-700: #3892F3;
154
+ --co-base-color-blue-800: #147AF3;
155
+ --co-base-color-blue-900: #0265DC;
156
+ --co-base-color-blue-1000: #0054B6;
157
+ --co-base-color-blue-1100: #004491;
158
+ --co-base-color-blue-1200: #003571;
159
+ --co-base-color-blue-1300: #002754;
160
+ --co-base-color-purple-100: #F9F0FF;
161
+ --co-base-color-purple-200: #F4E1FF;
162
+ --co-base-color-purple-300: #EDD0FF;
163
+ --co-base-color-purple-400: #E3B8FF;
164
+ --co-base-color-purple-500: #D59DFF;
165
+ --co-base-color-purple-600: #C27EF7;
166
+ --co-base-color-purple-700: #AD5FE8;
167
+ --co-base-color-purple-800: #9644D4;
168
+ --co-base-color-purple-900: #7E2EBD;
169
+ --co-base-color-purple-1000: #67229F;
170
+ --co-base-color-purple-1100: #511882;
171
+ --co-base-color-purple-1200: #3D1066;
172
+ --co-base-color-purple-1300: #2B0A4D;
173
+ --co-base-color-pink-100: #FFEFF9;
174
+ --co-base-color-pink-200: #FFDFF4;
175
+ --co-base-color-pink-300: #FFCBED;
176
+ --co-base-color-pink-400: #FFB0E3;
177
+ --co-base-color-pink-500: #FF8ED4;
178
+ --co-base-color-pink-600: #FF69C1;
179
+ --co-base-color-pink-700: #FF42AB;
180
+ --co-base-color-pink-800: #F31A93;
181
+ --co-base-color-pink-900: #DC007B;
182
+ --co-base-color-pink-1000: #B90064;
183
+ --co-base-color-pink-1100: #97004E;
184
+ --co-base-color-pink-1200: #78003A;
185
+ --co-base-color-pink-1300: #5C0029;
186
+ --co-base-color-yellow-100: #FFF3D6;
187
+ --co-base-color-yellow-200: #FFE9B3;
188
+ --co-base-color-yellow-300: #FFDE8F;
189
+ --co-base-color-yellow-400: #FFD162;
190
+ --co-base-color-yellow-500: #FFC233;
191
+ --co-base-color-yellow-600: #EDAD0A;
192
+ --co-base-color-yellow-700: #D39700;
193
+ --co-base-color-yellow-800: #B88100;
194
+ --co-base-color-yellow-900: #9D6C00;
195
+ --co-base-color-yellow-1000: #825800;
196
+ --co-base-color-yellow-1100: #694600;
197
+ --co-base-color-yellow-1200: #523600;
198
+ --co-base-color-yellow-1300: #3D2800;
199
+ --co-base-spacing-0: 0;
200
+ --co-base-spacing-1: 0.25rem;
201
+ --co-base-spacing-2: 0.5rem;
202
+ --co-base-spacing-3: 0.75rem;
203
+ --co-base-spacing-4: 1rem;
204
+ --co-base-spacing-5: 1.25rem;
205
+ --co-base-spacing-6: 1.5rem;
206
+ --co-base-spacing-7: 1.75rem;
207
+ --co-base-spacing-8: 2rem;
208
+ --co-base-spacing-9: 2.25rem;
209
+ --co-base-spacing-10: 2.5rem;
210
+ --co-base-spacing-12: 3rem;
211
+ --co-base-spacing-14: 3.5rem;
212
+ --co-base-spacing-16: 4rem;
213
+ --co-base-spacing-20: 5rem;
214
+ --co-base-spacing-24: 6rem;
215
+ --co-base-spacing-28: 7rem;
216
+ --co-base-spacing-32: 8rem;
217
+ --co-base-spacing-40: 10rem;
218
+ --co-base-spacing-48: 12rem;
219
+ --co-base-spacing-56: 14rem;
220
+ --co-base-spacing-64: 16rem;
221
+ --co-base-spacing-auto: auto;
222
+ --co-base-font-family-heading: 'Inter', sans-serif;
223
+ --co-base-font-family-body: 'Inter', sans-serif;
224
+ --co-base-font-family-monospace: Menlo, Monaco, Consolas, Courier New, monospace;
225
+ --co-base-font-size-1: 0.75rem;
226
+ --co-base-font-size-2: 0.875rem;
227
+ --co-base-font-size-3: 1rem;
228
+ --co-base-font-size-4: 1.125rem;
229
+ --co-base-font-size-5: 1.25rem;
230
+ --co-base-font-size-6: 1.5rem;
231
+ --co-base-font-size-7: 1.75rem;
232
+ --co-base-font-size-8: 2rem;
233
+ --co-base-font-size-9: 3rem;
234
+ --co-base-font-size-10: 5rem;
235
+ --co-base-font-weight-1: 300;
236
+ --co-base-font-weight-2: 400;
237
+ --co-base-font-weight-3: 500;
238
+ --co-base-font-weight-4: 600;
239
+ --co-base-font-weight-5: 700;
240
+ --co-base-font-weight-6: 800; /** Extra Bold — for page titles and primary display headings per VDL (800–900 weight range) */
241
+ --co-base-font-weight-7: 900; /** Black/Ultra Bold — maximum heading weight for the most dominant display headings per VDL */
242
+ --co-base-line-height-1: 1rem;
243
+ --co-base-line-height-2: 1.125rem;
244
+ --co-base-line-height-3: 1.25rem;
245
+ --co-base-line-height-4: 1.5rem;
246
+ --co-base-line-height-5: 1.75rem;
247
+ --co-base-line-height-6: 2rem;
248
+ --co-base-line-height-7: 2.25rem;
249
+ --co-base-line-height-8: 2.5rem;
250
+ --co-base-line-height-9: 3rem;
251
+ --co-base-line-height-10: 4.5rem;
252
+ --co-base-line-height-11: 5rem;
253
+ --co-base-line-height-none: 1;
254
+ --co-base-letter-spacing-0: -0.125rem;
255
+ --co-base-letter-spacing-1: -0.0625rem;
256
+ --co-base-letter-spacing-2: 0rem;
257
+ --co-base-letter-spacing-3: 0.0625rem;
258
+ --co-base-letter-spacing-4: 0.125rem;
259
+ --co-base-breakpoint-xs: 0px;
260
+ --co-base-breakpoint-sm: 640px;
261
+ --co-base-breakpoint-md: 768px;
262
+ --co-base-breakpoint-lg: 1024px;
263
+ --co-base-breakpoint-xl: 1280px;
264
+ --co-base-breakpoint-2xl: 1536px;
265
+ --co-base-duration-instant: 0ms;
266
+ --co-base-duration-fast: 150ms;
267
+ --co-base-duration-normal: 200ms;
268
+ --co-base-duration-moderate: 300ms;
269
+ --co-base-duration-slow: 500ms;
270
+ --co-base-duration-slower: 750ms;
271
+ --co-base-duration-slowest: 1000ms;
272
+ --co-base-easing-linear: linear;
273
+ --co-base-easing-ease: ease;
274
+ --co-base-easing-ease-in: ease-in;
275
+ --co-base-easing-ease-out: ease-out;
276
+ --co-base-easing-ease-in-out: ease-in-out;
277
+ --co-base-easing-ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
278
+ --co-base-easing-ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
279
+ --co-base-easing-ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
280
+ --co-base-easing-ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
281
+ --co-base-easing-ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
282
+ --co-base-easing-ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
283
+ --co-component-button-focus-outline-offset: 2px; /** Deprecated (decision 0022): use semantic.border.focusOffset. Removed in 3.0. */
284
+ --co-component-chip-focus-outline-offset: 2px; /** Deprecated (decision 0022): use semantic.border.focusOffset. Removed in 3.0. */
285
+ --co-component-icon-button-primary-min-width: 40px; /** Same as sizes.medium.minWidth, and not read by IconButton. Raw px until control sizes are decided in #129. */
286
+ --co-component-icon-button-primary-min-height: 40px; /** Same as sizes.medium.minHeight, and not read by IconButton. Raw px until control sizes are decided in #129. */
287
+ --co-component-icon-button-primary-display: flex; /** Deprecated: layout mechanics stay in component code (decision 0014, rule 5); IconButton sets display: flex itself. Removed in 3.0. */
288
+ --co-component-icon-button-primary-align-items: center; /** Deprecated: layout mechanics stay in component code (decision 0014, rule 5); IconButton sets align-items: center itself. Removed in 3.0. */
289
+ --co-component-icon-button-primary-justify-content: center; /** Deprecated: layout mechanics stay in component code (decision 0014, rule 5); IconButton sets justify-content: center itself. Removed in 3.0. */
290
+ --co-component-icon-button-focus-outline-offset: 2px; /** Deprecated (decision 0022): use semantic.border.focusOffset. Removed in 3.0. */
291
+ --co-component-icon-button-sizes-small-min-width: 32px; /** Minimum width of the small IconButton. Raw px until control sizes are decided in #129. */
292
+ --co-component-icon-button-sizes-small-min-height: 32px; /** Minimum height of the small IconButton. Raw px until control sizes are decided in #129. */
293
+ --co-component-icon-button-sizes-medium-min-width: 40px; /** Minimum width of the medium IconButton. Raw px until control sizes are decided in #129. */
294
+ --co-component-icon-button-sizes-medium-min-height: 40px; /** Minimum height of the medium IconButton. Raw px until control sizes are decided in #129. */
295
+ --co-component-icon-button-sizes-large-min-width: 48px; /** Minimum width of the large IconButton. Raw px until control sizes are decided in #129. */
296
+ --co-component-icon-button-sizes-large-min-height: 48px; /** Minimum height of the large IconButton. Raw px until control sizes are decided in #129. */
297
+ --co-component-input-default-padding-y: 11px; /** Deprecated (decision 0022): no component spacing tokens. The 11px is off-grid and has no semantic step, so inputs keep reading this until #129 decides how controls get their heights. Removed in 3.0. */
298
+ --co-component-input-focus-outline-offset: 2px; /** Deprecated (decision 0022): use semantic.border.focusOffset. Removed in 3.0. */
299
+ --co-component-input-error-focus-outline-offset: 2px; /** Deprecated (decision 0022): use semantic.border.focusOffset. Removed in 3.0. */
300
+ --co-component-input-disabled-cursor: not-allowed; /** Deprecated: behaviour, not a design decision, stays in component code (decision 0014, rule 5); inputs set cursor: not-allowed themselves. Removed in 3.0. */
301
+ --co-semantic-elevation-inset: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); /** Sunken/pressed states, input fields, wells */
302
+ --co-semantic-border-radius-none: 0; /** No rounding - tables, dividers, inline code blocks, sharp-edged containers */
303
+ --co-semantic-color-background-overlay: rgba(33, 37, 41, 0.5); /** Semi-transparent scrim for modal, sheet, drawer, and action-sheet backdrops. Uses brand near-black (#212529) at 50% opacity. Sits below the overlay surface and above page content. */
304
+ --co-semantic-color-background-hover-overlay: rgba(33, 37, 41, 0.1); /** Subtle transparent dark overlay for hover states on components that sit over variable-colour backgrounds (e.g. chip close-button hover). Uses brand near-black (#212529) — never pure #000000 per VDL. */
305
+ --co-semantic-color-background-active-overlay: rgba(33, 37, 41, 0.15); /** Slightly stronger transparent dark overlay for active/pressed states on components over variable-colour backgrounds (e.g. chip close-button active). Uses brand near-black (#212529). Pair with hover-overlay for consistent press depth. */
306
+ --co-semantic-color-background-inverse-overlay: rgba(255, 255, 255, 0.2); /** Subtle transparent light overlay for elements that sit on a strong or dark background (e.g. the count badge on an active pills tab in TabBar). The light counterpart of hover-overlay; pair with text.inverse. */
307
+ --co-semantic-elevation-none: var(--co-base-shadow-none); /** No elevation - flat surfaces, default state */
308
+ --co-semantic-elevation-raised: var(--co-base-shadow-2); /** Subtle lift - cards, buttons with depth */
309
+ --co-semantic-elevation-floating: var(--co-base-shadow-4); /** Moderate lift - tooltips, popovers, dropdowns */
310
+ --co-semantic-elevation-overlay: var(--co-base-shadow-5); /** High lift - modals, dialogs, action sheets */
311
+ --co-semantic-elevation-sticky: var(--co-base-shadow-3); /** Fixed headers, sticky navigation, bottom bars */
312
+ --co-semantic-breakpoint-xs: var(--co-base-breakpoint-xs); /** 0px: smallest viewport. */
313
+ --co-semantic-breakpoint-sm: var(--co-base-breakpoint-sm); /** 640px: large phones. */
314
+ --co-semantic-breakpoint-md: var(--co-base-breakpoint-md); /** 768px: tablets; below this, mobile layouts (e.g. fullscreen Modal). */
315
+ --co-semantic-breakpoint-lg: var(--co-base-breakpoint-lg); /** 1024px: small desktops. */
316
+ --co-semantic-breakpoint-xl: var(--co-base-breakpoint-xl); /** 1280px: desktops. */
317
+ --co-semantic-breakpoint-2xl: var(--co-base-breakpoint-2xl); /** 1536px: wide desktops. */
318
+ --co-semantic-opacity-disabled: var(--co-base-opacity-50); /** 0.5: disabled controls and items. */
319
+ --co-semantic-opacity-full: var(--co-base-opacity-100); /** 1: fully opaque (the enabled counterpart of disabled). */
320
+ --co-semantic-font-family-body: var(--co-base-font-family-body); /** UI text (Inter). Use a typography style where one fits; this is for components that set the family on its own. */
321
+ --co-semantic-font-family-monospace: var(--co-base-font-family-monospace); /** Code and other fixed-width text (CodeBlock). */
322
+ --co-semantic-font-size-xs: var(--co-base-font-size-1); /** 0.75rem. */
323
+ --co-semantic-font-size-sm: var(--co-base-font-size-2); /** 0.875rem. */
324
+ --co-semantic-font-size-md: var(--co-base-font-size-3); /** 1rem. */
325
+ --co-semantic-font-size-lg: var(--co-base-font-size-4); /** 1.125rem. */
326
+ --co-semantic-font-size-xl: var(--co-base-font-size-5); /** 1.25rem. */
327
+ --co-semantic-line-height-none: var(--co-base-line-height-none); /** 1 (unitless): line box equals the font size. For single-line glyphs such as avatar initials and count indicators. */
328
+ --co-semantic-line-height-tight: var(--co-base-line-height-3); /** 1.25rem: compact multi-line text (Alert, CodeBlock). */
329
+ --co-semantic-line-height-normal: var(--co-base-line-height-4); /** 1.5rem: body-text line height (TextArea). */
330
+ --co-semantic-letter-spacing-tighter: var(--co-base-letter-spacing-0); /** -0.125rem: tracking for the largest headings (display, h1). */
331
+ --co-semantic-letter-spacing-tight: var(--co-base-letter-spacing-1); /** -0.0625rem: tracking for h2 to h4. */
332
+ --co-semantic-letter-spacing-normal: var(--co-base-letter-spacing-2); /** 0: default tracking (h5, h6 and text). */
333
+ --co-semantic-letter-spacing-wide: var(--co-base-letter-spacing-4); /** 0.125rem: tracking for small uppercase labels (SearchField section headers). */
334
+ --co-semantic-font-weight-regular: var(--co-base-font-weight-2); /** 400. Body text, captions, most UI text. */
335
+ --co-semantic-font-weight-medium: var(--co-base-font-weight-3); /** 500. Subheadings (h5, h6, subtitle), buttons, emphasis within UI text. */
336
+ --co-semantic-font-weight-semibold: var(--co-base-font-weight-4); /** 600. Labels and short titles that need more weight than medium (label, Alert title). */
337
+ --co-semantic-font-weight-bold: var(--co-base-font-weight-5); /** 700. Headings (display to h4), overline, strong indicators such as the required-field asterisk. */
338
+ --co-semantic-z-index-sticky: var(--co-base-z-index-1); /** Sticky and fixed chrome that stays visible while scrolling: sticky headers, section headers, navigation bars. Pair with elevation.sticky. Sits below dropdowns, overlays and modals. */
339
+ --co-semantic-z-index-dropdown: var(--co-base-z-index-6); /** Floating menus anchored to a control: dropdown menus, select and autocomplete lists (Dropdown, SearchField). Pair with elevation.floating. Sits above sticky, below overlays. */
340
+ --co-semantic-z-index-overlay: var(--co-base-z-index-7); /** Panels that slide over the page and their backdrop: sheets, drawers (Sheet). The backdrop uses the same value and comes before the panel in the DOM. Pair with elevation.overlay. Sits below modals. */
341
+ --co-semantic-z-index-modal: var(--co-base-z-index-8); /** Blocking dialogs and their backdrop: modals, action sheets (Modal, ActionSheet). The backdrop uses the same value and comes before the dialog in the DOM. Pair with elevation.overlay. Topmost layer in the system. */
342
+ --co-semantic-border-default: var(--co-base-border-width-1) var(--co-base-border-style-solid) var(--co-semantic-color-border-default); /** Hairline in the default border colour: dividers that separate content, such as Breadcrumbs. 1.19:1 on white, so never a control's edge (decision 0025). */
343
+ --co-semantic-border-subtle: var(--co-base-border-width-1) var(--co-base-border-style-solid) var(--co-semantic-color-border-subtle); /** Hairline in the subtle border colour: dividers and decorative outlines, such as CodeBlock and Separator. 1.30:1 on white, so never a control's edge (decision 0025). */
344
+ --co-semantic-border-strong: var(--co-base-border-width-1) var(--co-base-border-style-solid) var(--co-semantic-color-border-strong); /** Hairline in near-black: a firm outline that must read as a boundary, such as a hovered or focused text input. 11.51:1 on white. */
345
+ --co-semantic-border-focus: var(--co-base-border-width-2) var(--co-base-border-style-solid) var(--co-semantic-color-border-strong); /** The standard focus ring: 2px solid near-black, used with border.focusOffset for visible keyboard focus (P2). Some components draw a blue ring instead, from border.width.thick and color.border.interactive (Box, ListItem, Slider, TransactionListItem). */
346
+ --co-semantic-border-tooltip: var(--co-base-border-width-2) var(--co-base-border-style-dotted) var(--co-semantic-color-border-subtle); /** 2px dotted underline marking text that has a tooltip. */
347
+ --co-semantic-border-width-thin: var(--co-base-border-width-1); /** 0.0625rem: default hairline borders and rings. */
348
+ --co-semantic-border-width-thick: var(--co-base-border-width-2); /** 0.125rem: emphasised borders, focus outlines and selected states. */
349
+ --co-semantic-border-focus-offset: var(--co-base-border-width-2); /** 0.125rem: magnitude of the gap between an element and its focus outline. Use it as outline-offset directly to draw the outline outside the element, or negated (calc(-1 * …)) to inset it, as TransactionListItem does. */
350
+ --co-semantic-border-radius-xs: var(--co-base-border-radius-1); /** Minimal rounding - small badges, compact tags, inline buttons, checkboxes */
351
+ --co-semantic-border-radius-sm: var(--co-base-border-radius-2); /** Subtle rounding - buttons, inputs, chips, form controls, list items */
352
+ --co-semantic-border-radius-md: var(--co-base-border-radius-3); /** Standard rounding - cards, containers, dropdowns, popovers, menus */
353
+ --co-semantic-border-radius-lg: var(--co-base-border-radius-4); /** Generous rounding - modals, action sheets, dialogs, feature cards, panels */
354
+ --co-semantic-border-radius-xl: var(--co-base-border-radius-5); /** Large rounding - pills, pill buttons, prominent CTAs, search bars */
355
+ --co-semantic-border-radius-2xl: var(--co-base-border-radius-6); /** Extra large rounding - hero elements, decorative containers, large pills */
356
+ --co-semantic-border-radius-3xl: var(--co-base-border-radius-7); /** Maximum rounding - decorative elements, marketing components, large decorative cards */
357
+ --co-semantic-border-radius-circle: var(--co-base-border-radius-circle); /** Fully circular - avatars, round icon buttons, status indicators, FABs */
358
+ --co-semantic-size-touch-target: var(--co-base-size-11); /** 2.75rem (44px): minimum height of a tappable row or control. */
359
+ --co-semantic-size-overlay-sm: var(--co-base-size-100); /** 25rem (400px): small overlay panel dimension: Modal small width, and the default Sheet width (left and right sheets) and height (top and bottom sheets). */
360
+ --co-semantic-size-overlay-md: var(--co-base-size-140); /** 35rem (560px): medium overlay panel width (Modal medium). */
361
+ --co-semantic-size-overlay-lg: var(--co-base-size-180); /** 45rem (720px): large overlay panel width (Modal large). */
362
+ --co-semantic-size-label-small: var(--co-base-size-5); /** 20px label height: StatusLabel small and Tag small. Decision 0018 size scale. */
363
+ --co-semantic-size-label-medium: var(--co-base-size-6); /** 24px label height: StatusLabel, Tag and CategoryLabel medium. Decision 0018 size scale. */
364
+ --co-semantic-size-label-large: var(--co-base-size-8); /** 32px label height: CategoryLabel large. Decision 0018 size scale. */
365
+ --co-semantic-size-menu-max-height: var(--co-base-size-75); /** 18.75rem (300px): maximum height of a floating menu before it scrolls (Dropdown, SearchField). */
366
+ --co-semantic-size-dimension-1: var(--co-base-size-1); /** 0.25rem (4px): TabBar scrollbar height; small ProgressBar height (via component tokens). */
367
+ --co-semantic-size-dimension-2: var(--co-base-size-2); /** 0.5rem (8px): medium ProgressBar height; Badge dot (via component tokens). Approved under decision 0022. */
368
+ --co-semantic-size-dimension-4: var(--co-base-size-4); /** 1rem (16px): large ProgressBar height; Badge count minimum width and height (via component tokens). Approved under decision 0022. */
369
+ --co-semantic-size-dimension-5: var(--co-base-size-5); /** 1.25rem (20px): checkbox box; TabBar count badge; extra-large ProgressBar height (via component tokens); small label height (via size.label.small). */
370
+ --co-semantic-size-dimension-6: var(--co-base-size-6); /** 1.5rem (24px): medium label height (via size.label.medium). */
371
+ --co-semantic-size-dimension-8: var(--co-base-size-8); /** 2rem (32px): checkbox row minimum height (via component tokens); large label height (via size.label.large). */
372
+ --co-semantic-size-dimension-12: var(--co-base-size-12); /** 3rem (48px): AccountCard header minimum height; compact ListItem expanded indent (via component tokens). */
373
+ --co-semantic-size-dimension-15: var(--co-base-size-15); /** 3.75rem (60px): comfortable ListItem expanded indent (via component tokens). */
374
+ --co-semantic-size-dimension-18: var(--co-base-size-18); /** 4.5rem (72px): TransactionListItem minimum height (via component tokens). */
375
+ --co-semantic-size-dimension-20: var(--co-base-size-20); /** 5rem (80px): small EmptyState illustration (via component tokens). */
376
+ --co-semantic-size-dimension-30: var(--co-base-size-30); /** 7.5rem (120px): medium EmptyState illustration; TextArea minimum height (via component tokens). */
377
+ --co-semantic-size-dimension-45: var(--co-base-size-45); /** 11.25rem (180px): Breadcrumbs label truncation width (via component tokens). */
378
+ --co-semantic-size-dimension-50: var(--co-base-size-50); /** 12.5rem (200px): large EmptyState illustration (via component tokens). */
379
+ --co-semantic-size-dimension-75: var(--co-base-size-75); /** 18.75rem (300px): AccountCard minimum width; EmptyState actions maximum width (via component tokens). */
380
+ --co-semantic-size-dimension-90: var(--co-base-size-90); /** 22.5rem (360px): EmptyState text maximum width (via component tokens). */
381
+ --co-semantic-size-dimension-100: var(--co-base-size-100); /** 25rem (400px): EmptyState maximum width (via component tokens). */
382
+ --co-semantic-size-dimension-192: var(--co-base-size-192); /** 48rem (768px): CardLarge maximum width (via component tokens). */
383
+ --co-semantic-size-icon-xs: var(--co-base-size-3); /** 0.75rem (12px): the smallest icon, for dense inline indicators. */
384
+ --co-semantic-size-icon-sm: var(--co-base-size-4); /** 1rem (16px): small icons in compact controls, such as the dismiss icon in Alert and small icon buttons. */
385
+ --co-semantic-size-icon-md: var(--co-base-size-5); /** 1.25rem (20px): icons beside body text, such as Alert's severity icon. */
386
+ --co-semantic-size-icon-lg: var(--co-base-size-6); /** 1.5rem (24px): the Icon component's default size; also list item icons. */
387
+ --co-semantic-size-icon-xl: var(--co-base-size-8); /** 2rem (32px): extra-large standalone icons. */
388
+ --co-semantic-size-icon-2xl: var(--co-base-size-10); /** 2.5rem (40px): the largest icon size, for prominent standalone icons. */
389
+ --co-semantic-size-avatar-xs: var(--co-base-size-6); /** 1.5rem (24px): extra-small avatar, inline with text. */
390
+ --co-semantic-size-avatar-sm: var(--co-base-size-8); /** 2rem (32px): small avatar, in dense lists. */
391
+ --co-semantic-size-avatar-md: var(--co-base-size-10); /** 2.5rem (40px): the default avatar size. */
392
+ --co-semantic-size-avatar-lg: var(--co-base-size-12); /** 3rem (48px): large avatar, in headers and cards. */
393
+ --co-semantic-size-avatar-xl: var(--co-base-size-16); /** 4rem (64px): extra-large avatar, on profile pages. */
394
+ --co-semantic-spacing-separator-sm: var(--co-base-spacing-4); /** 1rem: space around a small Divider, above and below when horizontal, either side when vertical. */
395
+ --co-semantic-spacing-separator-md: var(--co-base-spacing-6); /** 1.5rem: space around a medium or minimal Divider, above and below when horizontal, either side when vertical. */
396
+ --co-semantic-spacing-separator-lg: var(--co-base-spacing-8); /** 2rem: space around a large (the default) Divider, above and below when horizontal, either side when vertical. */
397
+ --co-semantic-spacing-separator-xl: var(--co-base-spacing-12); /** 3rem: space around an extra-large Divider, above and below when horizontal, either side when vertical. */
398
+ --co-semantic-spacing-component-xs: var(--co-base-spacing-1); /** Extra-small component internal spacing (0.25rem / 4px). Use for tight gaps within compound elements, icon-to-label spacing in small chips. */
399
+ --co-semantic-spacing-component-sm: var(--co-base-spacing-2); /** Small component internal spacing (0.5rem / 8px). Use for standard icon-to-label gaps, chip padding, compact button inner spacing. */
400
+ --co-semantic-spacing-component-md: var(--co-base-spacing-3); /** Medium component internal spacing (0.75rem / 12px). Use for standard button vertical padding, form field inner padding. */
401
+ --co-semantic-spacing-component-lg: var(--co-base-spacing-4); /** Large component internal spacing (1rem / 16px). Use for button horizontal padding, input horizontal padding, card inner spacing. */
402
+ --co-semantic-spacing-component-xl: var(--co-base-spacing-5); /** Extra-large component internal spacing (1.25rem / 20px). Use for generous button padding, prominent CTAs. */
403
+ --co-semantic-spacing-component-2xl: var(--co-base-spacing-6); /** 2x extra-large component internal spacing (1.5rem / 24px). Use for large card inner padding, spacious form sections. */
404
+ --co-semantic-spacing-layout-none: var(--co-base-spacing-0); /** 0: no space, for explicit resets. */
405
+ --co-semantic-spacing-layout-xs: var(--co-base-spacing-1); /** 0.25rem: the tightest gap, such as between a label and its required indicator. */
406
+ --co-semantic-spacing-layout-sm: var(--co-base-spacing-2); /** 0.5rem: a small gap, such as between a field's label, control and helper text. */
407
+ --co-semantic-spacing-layout-md: var(--co-base-spacing-3); /** 0.75rem: the default gap between related elements. */
408
+ --co-semantic-spacing-layout-lg: var(--co-base-spacing-4); /** 1rem: space between groups of elements, and padding inside containers. */
409
+ --co-semantic-spacing-layout-xl: var(--co-base-spacing-5); /** 1.25rem: generous padding inside larger containers. */
410
+ --co-semantic-spacing-layout-2xl: var(--co-base-spacing-6); /** 1.5rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
411
+ --co-semantic-spacing-layout-3xl: var(--co-base-spacing-7); /** 1.75rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
412
+ --co-semantic-spacing-layout-4xl: var(--co-base-spacing-8); /** 2rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
413
+ --co-semantic-spacing-layout-5xl: var(--co-base-spacing-9); /** 2.25rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
414
+ --co-semantic-spacing-layout-6xl: var(--co-base-spacing-10); /** 2.5rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
415
+ --co-semantic-spacing-layout-7xl: var(--co-base-spacing-12); /** 3rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
416
+ --co-semantic-spacing-layout-8xl: var(--co-base-spacing-14); /** 3.5rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
417
+ --co-semantic-spacing-layout-9xl: var(--co-base-spacing-16); /** 4rem: a larger step on the layout spacing scale, for space between blocks and sections. Pick the step the layout needs. */
418
+ --co-semantic-spacing-layout-10xl: var(--co-base-spacing-20); /** 5rem: a larger step on the layout spacing scale, for space between blocks and sections. Second-largest, after 11xl. */
419
+ --co-semantic-spacing-layout-11xl: var(--co-base-spacing-24); /** 6rem: the largest layout gap (FeatureBlock at wide breakpoints). */
420
+ --co-semantic-spacing-layout-auto: var(--co-base-spacing-auto); /** auto: lets the browser compute the space, such as margin: auto to centre or push an element. */
421
+ --co-semantic-color-text-default: var(--co-base-color-neutral-900); /** Primary text: body copy, labels and headings. 15.43:1 on white, 14.63:1 on the page. */
422
+ --co-semantic-color-text-emphasis: var(--co-base-color-neutral-800); /** Slightly softer near-black text for emphasis without full weight. 11.51:1 on white. */
423
+ --co-semantic-color-text-subdued: var(--co-base-color-neutral-700); /** Secondary text: helper text, metadata and supporting copy. 8.18:1 on white, 7.76:1 on the page. */
424
+ --co-semantic-color-text-inverse: var(--co-base-color-neutral-000); /** Text on dark or coloured fills, such as the primary, accent and danger Buttons. 15.43:1 on background.emphasis, 5.39:1 on background.interactive. */
425
+ --co-semantic-color-text-disabled: var(--co-base-color-neutral-500); /** Text of disabled controls. 2.07:1 on white: disabled text is exempt from the contrast minimum (WCAG 1.4.3), so never use it for text people need to read, including placeholders. */
426
+ --co-semantic-color-text-interactive: var(--co-base-color-blue-900); /** Blue text for links and selected items (decision 0003). 5.39:1 on white, 5.11:1 on the page. */
427
+ --co-semantic-color-text-interactive-hover: var(--co-base-color-blue-1000); /** Blue text on a hovered selected item (interactive-subtle-hover fill, 5.60:1). Decision 0016. */
428
+ --co-semantic-color-text-interactive-active: var(--co-base-color-blue-1100); /** Blue text on a pressed selected item (interactive-subtle-active fill, 6.65:1). Decision 0016. */
429
+ --co-semantic-color-text-error: var(--co-base-color-red-900); /** Error text, such as field error messages and InlineAlert errors. 5.41:1 on white, 5.13:1 on the page. */
430
+ --co-semantic-color-text-success: var(--co-base-color-green-900); /** Success text, such as InlineAlert success messages. 5.40:1 on white, 5.12:1 on the page. */
431
+ --co-semantic-color-text-warning: var(--co-base-color-orange-900); /** Warning text, such as InlineAlert warnings. 5.38:1 on white, 5.10:1 on the page. */
432
+ --co-semantic-color-background-default: var(--co-base-color-neutral-100); /** Page background: a cool off-white (#f8f9fa), never pure white (decision 0006). */
433
+ --co-semantic-color-background-subtle: var(--co-base-color-neutral-000); /** White: inputs, sheets and other surfaces that sit on the page background. */
434
+ --co-semantic-color-background-emphasis: var(--co-base-color-neutral-900); /** Near-black fill for emphasis controls: the primary Button, IconButton and the emphasis Chip. */
435
+ --co-semantic-color-background-emphasis-hover: var(--co-base-color-neutral-800); /** Fill of a hovered emphasis control: the primary Button and IconButton, and the emphasis Chip. Approved under decision 0022. */
436
+ --co-semantic-color-background-emphasis-active: var(--co-base-color-neutral-1000); /** Fill of a pressed emphasis control. Approved under decision 0022. */
437
+ --co-semantic-color-background-surface: var(--co-base-color-neutral-200); /** Light grey fill for quiet surfaces and grouped content, such as the default Chip. */
438
+ --co-semantic-color-background-inverse: var(--co-base-color-neutral-800); /** Dark grey fill for inverse surfaces, such as a checked Checkbox box. */
439
+ --co-semantic-color-background-interactive: var(--co-base-color-blue-900); /** Blue fill for the accent Button and other deliberate highlights (decision 0003). Pair with text.inverse (5.39:1). */
440
+ --co-semantic-color-background-interactive-subtle: var(--co-base-color-blue-100); /** Light blue fill for selected items, such as a selected filter chip or tab (decision 0016). Pair with text.interactive. */
441
+ --co-semantic-color-background-interactive-subtle-hover: var(--co-base-color-blue-200); /** Fill of a hovered selected item, such as a selected filter chip. Pair with text.interactive-hover. Decision 0016. */
442
+ --co-semantic-color-background-interactive-subtle-active: var(--co-base-color-blue-300); /** Fill of a pressed selected item. Pair with text.interactive-active. Decision 0016. */
443
+ --co-semantic-color-background-interactive-hover: var(--co-base-color-blue-1000); /** Blue fill on hover, for controls that use background.interactive. */
444
+ --co-semantic-color-background-interactive-active: var(--co-base-color-blue-1100); /** Blue fill while pressed, for controls that use background.interactive. */
445
+ --co-semantic-color-background-error: var(--co-base-color-red-900); /** Strong red fill for destructive actions, such as the danger Button. Pair with text.inverse (5.41:1). */
446
+ --co-semantic-color-background-error-hover: var(--co-base-color-red-1000); /** Fill of a hovered error control, such as the danger Button. Approved under decision 0022. */
447
+ --co-semantic-color-background-error-active: var(--co-base-color-red-1100); /** Fill of a pressed error control. Approved under decision 0022. */
448
+ --co-semantic-color-background-error-subtle: var(--co-base-color-red-100); /** Light red tint behind error messages, such as an error Alert. */
449
+ --co-semantic-color-background-success: var(--co-base-color-green-900); /** Strong green fill for success states. */
450
+ --co-semantic-color-background-success-subtle: var(--co-base-color-green-100); /** Light green tint behind success messages, such as a success Alert. */
451
+ --co-semantic-color-background-warning: var(--co-base-color-orange-900); /** Strong orange fill for warning states. */
452
+ --co-semantic-color-background-warning-subtle: var(--co-base-color-orange-100); /** Light orange tint behind warning messages, such as a warning Alert. */
453
+ --co-semantic-color-background-disabled: var(--co-base-color-neutral-300); /** Fill of disabled controls. */
454
+ --co-semantic-color-background-neutral: var(--co-base-color-neutral-300); /** Fill of a neutral control at rest, such as the secondary Button. Not the disabled fill, though the value matches today. Approved under decision 0022. */
455
+ --co-semantic-color-background-neutral-hover: var(--co-base-color-neutral-400); /** Fill of a hovered neutral control. Approved under decision 0022. */
456
+ --co-semantic-color-background-neutral-active: var(--co-base-color-neutral-500); /** Fill of a pressed neutral control. Approved under decision 0022. */
457
+ --co-semantic-color-background-transparent: var(--co-base-color-transparent); /** No fill, for controls without a background at rest, such as the naked Button and IconButton. Approved under decision 0022. */
458
+ --co-semantic-color-background-progress-track: var(--co-base-color-neutral-300); /** Unfilled track of ProgressBar and Slider. 1.30:1 on white: the filled part and the thumb show the value, so the track doesn't need 3:1 (decision 0026). */
459
+ --co-semantic-color-background-page: var(--co-base-color-neutral-100); /** The same cool off-white as background.default (#f8f9fa). Decision 0006 makes background.default the page background token, so use that. */
460
+ --co-semantic-color-border-default: var(--co-base-color-neutral-200); /** Default border colour for dividers and decorative outlines only. 1.19:1 on white, below the 3:1 a control's edge needs (WCAG 1.4.11); use color.border.control for that (decision 0025). */
461
+ --co-semantic-color-border-subtle: var(--co-base-color-neutral-300); /** Subtle border colour for dividers and decorative outlines, and for the borders of disabled controls, which WCAG 1.4.11 exempts. 1.30:1 on white, below the 3:1 a control's edge needs; use color.border.control for that (decision 0025). */
462
+ --co-semantic-color-border-control: var(--co-base-color-neutral-600); /** Resting border of a control whose edge shows where it is, such as a text input, Dropdown or the Checkbox box. 4.69:1 on white, 4.45:1 on the page, above the 3:1 WCAG 1.4.11 asks for (decision 0025). */
463
+ --co-semantic-color-border-strong: var(--co-base-color-neutral-800); /** Near-black border colour for firm boundaries, such as a hovered or focused input. 11.51:1 on white. */
464
+ --co-semantic-color-border-interactive: var(--co-base-color-blue-900); /** Blue border for selected and interactive states (decision 0003). 5.39:1 on white. */
465
+ --co-semantic-color-border-error: var(--co-base-color-red-900); /** Red border for invalid fields and error outlines. 5.41:1 on white. */
466
+ --co-semantic-color-border-success: var(--co-base-color-green-900); /** Green border for success outlines, such as an outlined success Alert. */
467
+ --co-semantic-color-border-warning: var(--co-base-color-orange-900); /** Orange border for warning outlines, such as an outlined warning Alert. */
468
+ --co-semantic-color-border-none: var(--co-base-color-transparent); /** An invisible border that keeps its width, so a borderless state takes the same space as a bordered one (for example Alert's borderless appearance, decision 0019). */
469
+ --co-semantic-color-icon-default: var(--co-base-color-neutral-900); /** Default icon colour, matching text.default. 15.43:1 on white. */
470
+ --co-semantic-color-icon-emphasis: var(--co-base-color-neutral-800); /** Slightly softer near-black icon colour, matching text.emphasis. */
471
+ --co-semantic-color-icon-subdued: var(--co-base-color-neutral-600); /** Secondary icons, such as list item and empty-state icons. 4.69:1 on white, 4.45:1 on the page (icons need 3:1). */
472
+ --co-semantic-color-icon-disabled: var(--co-base-color-neutral-500); /** Icons and other foreground marks in disabled controls, such as a disabled Slider's fill and thumb ring. Exempt from the contrast minimum, like text.disabled. */
473
+ --co-semantic-color-icon-inverse: var(--co-base-color-neutral-000); /** Icons on dark or coloured fills, matching text.inverse. */
474
+ --co-semantic-color-icon-interactive: var(--co-base-color-blue-900); /** Blue icons in links and selected items, matching text.interactive. 5.39:1 on white. */
475
+ --co-semantic-color-icon-interactive-hover: var(--co-base-color-blue-1000); /** Blue icon on hover, matching text.interactive-hover. */
476
+ --co-semantic-color-icon-interactive-active: var(--co-base-color-blue-1100); /** Blue icon while pressed, matching text.interactive-active. */
477
+ --co-semantic-color-icon-error: var(--co-base-color-red-900); /** Error icons, such as in Alert and EmptyState. 5.41:1 on white. (InlineAlert's icon takes the text colour instead.) */
478
+ --co-semantic-color-icon-success: var(--co-base-color-green-900); /** Success icons, such as in Alert and EmptyState. 5.40:1 on white. (InlineAlert's icon takes the text colour instead.) */
479
+ --co-semantic-color-icon-warning: var(--co-base-color-orange-900); /** Warning icons, such as in Alert. 5.38:1 on white. (InlineAlert's icon takes the text colour instead.) */
480
+ --co-semantic-color-financial-credit: var(--co-base-color-green-700); /** Color for positive monetary values, credits, income */
481
+ --co-semantic-color-financial-credit-hover: var(--co-base-color-green-800); /** Hover state for credit-colored interactive elements */
482
+ --co-semantic-color-financial-debit: var(--co-base-color-red-900); /** Color for negative monetary values, debits, expenses */
483
+ --co-semantic-color-financial-debit-hover: var(--co-base-color-red-1000); /** Hover state for debit-colored interactive elements */
484
+ --co-semantic-color-financial-pending: var(--co-base-color-orange-600); /** Color for pending or processing financial transactions */
485
+ --co-semantic-color-financial-neutral: var(--co-base-color-neutral-600); /** Neutral color for informational monetary amounts */
486
+ --co-semantic-color-category-blue: var(--co-base-color-blue-700); /** Blue category color for general/miscellaneous */
487
+ --co-semantic-color-category-blue-emphasis: var(--co-base-color-blue-900); /** Emphasized blue for filled variants */
488
+ --co-semantic-color-category-blue-subtle: var(--co-base-color-blue-100); /** Subtle blue background */
489
+ --co-semantic-color-category-purple: var(--co-base-color-purple-700); /** Purple category color for entertainment */
490
+ --co-semantic-color-category-purple-emphasis: var(--co-base-color-purple-900); /** Emphasized purple for filled variants */
491
+ --co-semantic-color-category-purple-subtle: var(--co-base-color-purple-100); /** Subtle purple background */
492
+ --co-semantic-color-category-pink: var(--co-base-color-pink-700); /** Pink category color for health/wellness */
493
+ --co-semantic-color-category-pink-emphasis: var(--co-base-color-pink-900); /** Emphasized pink for filled variants */
494
+ --co-semantic-color-category-pink-subtle: var(--co-base-color-pink-100); /** Subtle pink background */
495
+ --co-semantic-color-category-yellow: var(--co-base-color-yellow-700); /** Yellow category color for utilities */
496
+ --co-semantic-color-category-yellow-emphasis: var(--co-base-color-yellow-900); /** Emphasized yellow for filled variants */
497
+ --co-semantic-color-category-yellow-subtle: var(--co-base-color-yellow-100); /** Subtle yellow background */
498
+ --co-semantic-color-category-green: var(--co-base-color-green-700); /** Green category color for income */
499
+ --co-semantic-color-category-green-emphasis: var(--co-base-color-green-900); /** Emphasized green for filled variants */
500
+ --co-semantic-color-category-green-subtle: var(--co-base-color-green-100); /** Subtle green background */
501
+ --co-semantic-color-category-red: var(--co-base-color-red-700); /** Red category color for expenses */
502
+ --co-semantic-color-category-red-emphasis: var(--co-base-color-red-900); /** Emphasized red for filled variants */
503
+ --co-semantic-color-category-red-subtle: var(--co-base-color-red-100); /** Subtle red background */
504
+ --co-semantic-color-category-orange: var(--co-base-color-orange-700); /** Orange category color for food & dining */
505
+ --co-semantic-color-category-orange-emphasis: var(--co-base-color-orange-900); /** Emphasized orange for filled variants */
506
+ --co-semantic-color-category-orange-subtle: var(--co-base-color-orange-100); /** Subtle orange background */
507
+ --co-semantic-color-category-gray: var(--co-base-color-neutral-700); /** Gray category color for uncategorized */
508
+ --co-semantic-color-category-gray-emphasis: var(--co-base-color-neutral-900); /** Emphasized gray for filled variants */
509
+ --co-semantic-color-category-gray-subtle: var(--co-base-color-neutral-200); /** Subtle gray background */
510
+ --co-semantic-color-category-blue-text: var(--co-base-color-blue-900); /** Blue category text and icon on white or blue-subtle (outlined and minimal labels), at least 4.5:1. Decision on #115. */
511
+ --co-semantic-color-category-purple-text: var(--co-base-color-purple-900); /** Purple category text and icon on white or purple-subtle (outlined and minimal labels), at least 4.5:1. Decision on #115. */
512
+ --co-semantic-color-category-pink-text: var(--co-base-color-pink-1000); /** Pink category text and icon on white or pink-subtle (outlined and minimal labels), at least 4.5:1. One step darker than pink-emphasis, which is 4.38:1 on pink-subtle. Decision on #115. */
513
+ --co-semantic-color-category-yellow-text: var(--co-base-color-yellow-1000); /** Yellow category text and icon on white or yellow-subtle (outlined and minimal labels), at least 4.5:1. One step darker than yellow-emphasis, which is 4.16:1 on yellow-subtle. Decision on #115. */
514
+ --co-semantic-color-category-green-text: var(--co-base-color-green-900); /** Green category text and icon on white or green-subtle (outlined and minimal labels), at least 4.5:1. Decision on #115. */
515
+ --co-semantic-color-category-red-text: var(--co-base-color-red-900); /** Red category text and icon on white or red-subtle (outlined and minimal labels), at least 4.5:1. Decision on #115. */
516
+ --co-semantic-color-category-orange-text: var(--co-base-color-orange-900); /** Orange category text and icon on white or orange-subtle (outlined and minimal labels), at least 4.5:1. Decision on #115. */
517
+ --co-semantic-color-category-gray-text: var(--co-base-color-neutral-900); /** Gray category text and icon on white or gray-subtle (outlined and minimal labels), at least 4.5:1. Decision on #115. */
518
+ --co-semantic-color-status-pending: var(--co-base-color-yellow-1000); /** Pending status text and icon on pending-bg (5.69:1, WCAG AA). Decision on #115. */
519
+ --co-semantic-color-status-pending-bg: var(--co-base-color-yellow-100); /** Background for pending status */
520
+ --co-semantic-color-status-completed: var(--co-base-color-green-900); /** Green color for completed status */
521
+ --co-semantic-color-status-completed-bg: var(--co-base-color-green-100); /** Background for completed status */
522
+ --co-semantic-color-status-failed: var(--co-base-color-red-900); /** Red color for failed/error status */
523
+ --co-semantic-color-status-failed-bg: var(--co-base-color-red-100); /** Background for failed status */
524
+ --co-semantic-color-status-cancelled: var(--co-base-color-neutral-700); /** Gray color for cancelled status */
525
+ --co-semantic-color-status-cancelled-bg: var(--co-base-color-neutral-200); /** Background for cancelled status */
526
+ --co-semantic-color-status-processing: var(--co-base-color-blue-900); /** Blue color for processing status */
527
+ --co-semantic-color-status-processing-bg: var(--co-base-color-blue-100); /** Background for processing status */
528
+ --co-semantic-color-status-scheduled: var(--co-base-color-purple-900); /** Purple color for scheduled status */
529
+ --co-semantic-color-status-scheduled-bg: var(--co-base-color-purple-100); /** Background for scheduled status */
530
+ --co-semantic-motion-duration-normal: var(--co-base-duration-normal); /** 200ms: standard duration for property-specific transitions. */
531
+ --co-semantic-motion-duration-fast: var(--co-base-duration-fast); /** 150ms: quick responses to input such as hover, press and small indicators. */
532
+ --co-semantic-motion-duration-slow: var(--co-base-duration-moderate); /** 300ms: the maximum; larger movements such as sheets sliding in and long expand/collapse. */
533
+ --co-semantic-motion-easing-ease-in-out: var(--co-base-easing-ease-in-out); /** ease-in-out: standard easing for property-specific transitions. */
534
+ --co-semantic-motion-easing-ease-out: var(--co-base-easing-ease-out); /** ease-out: for elements responding to input or entering the page. */
535
+ --co-semantic-motion-transition-fast: all var(--co-base-duration-fast) var(--co-base-easing-ease-out); /** All properties over duration.fast (150ms), easing out: quick feedback, such as the Slider thumb. */
536
+ --co-semantic-motion-transition-normal: all var(--co-base-duration-normal) var(--co-base-easing-ease-in-out); /** All properties over duration.normal (200ms), easing in and out: the default state transition. */
537
+ --co-semantic-motion-transition-slow: all var(--co-base-duration-moderate) var(--co-base-easing-ease-in-out); /** All properties over duration.slow (300ms), the motion maximum (P6), easing in and out: larger changes. */
538
+ --co-semantic-motion-hover: background-color var(--co-base-duration-fast) var(--co-base-easing-ease-out), color var(--co-base-duration-fast) var(--co-base-easing-ease-out); /** Background and text colour over 150ms: the hover and press response of buttons, chips and tabs. */
539
+ --co-semantic-motion-focus: outline var(--co-base-duration-fast) var(--co-base-easing-ease-out), outline-offset var(--co-base-duration-fast) var(--co-base-easing-ease-out); /** Outline and outline offset over 150ms: how the focus ring appears. */
540
+ --co-semantic-motion-interactive: transform var(--co-base-duration-fast) var(--co-base-easing-ease-out), opacity var(--co-base-duration-fast) var(--co-base-easing-ease-out); /** Transform and opacity over 150ms: small movement or fade in response to input. */
541
+ --co-component-button-primary-background-color: var(--co-semantic-color-background-emphasis); /** Primary Button fill at rest. */
542
+ --co-component-button-primary-text-color: var(--co-semantic-color-text-inverse); /** Text and icon colour on the primary Button. */
543
+ --co-component-button-primary-border-radius: var(--co-semantic-border-radius-sm); /** Corner radius of every Button (visual language: Button uses sm). */
544
+ --co-component-button-primary-padding: var(--co-semantic-spacing-component-md) var(--co-semantic-spacing-component-lg); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.md and .lg. Removed in 3.0. */
545
+ --co-component-button-hover-background-color: var(--co-semantic-color-background-emphasis-hover); /** Primary Button fill on hover. */
546
+ --co-component-button-active-background-color: var(--co-semantic-color-background-emphasis-active); /** Primary Button fill while pressed. */
547
+ --co-component-button-focus-outline: var(--co-semantic-border-focus); /** Focus ring on every Button. */
548
+ --co-component-button-disabled-background-color: var(--co-semantic-color-background-disabled); /** Disabled primary Button fill. */
549
+ --co-component-button-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled primary Button text and icon colour. */
550
+ --co-component-button-variants-secondary-background-color: var(--co-semantic-color-background-neutral); /** Secondary Button fill at rest. */
551
+ --co-component-button-variants-secondary-text-color: var(--co-semantic-color-text-default); /** Text and icon colour on the secondary Button. */
552
+ --co-component-button-variants-secondary-hover-background-color: var(--co-semantic-color-background-neutral-hover); /** Secondary Button fill on hover. */
553
+ --co-component-button-variants-secondary-active-background-color: var(--co-semantic-color-background-neutral-active); /** Secondary Button fill while pressed. */
554
+ --co-component-button-variants-secondary-disabled-background-color: var(--co-semantic-color-background-disabled); /** Disabled secondary Button fill. */
555
+ --co-component-button-variants-secondary-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled secondary Button text and icon colour. */
556
+ --co-component-button-variants-naked-background-color: var(--co-semantic-color-background-transparent); /** Naked Button has no fill at rest. */
557
+ --co-component-button-variants-naked-text-color: var(--co-semantic-color-text-default); /** Text and icon colour on the naked Button. */
558
+ --co-component-button-variants-naked-hover-background-color: var(--co-semantic-color-background-surface); /** Naked Button fill on hover. */
559
+ --co-component-button-variants-naked-active-background-color: var(--co-semantic-color-background-neutral); /** Naked Button fill while pressed. */
560
+ --co-component-button-variants-naked-disabled-background-color: var(--co-semantic-color-background-transparent); /** Disabled naked Button has no fill. */
561
+ --co-component-button-variants-naked-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled naked Button text and icon colour. */
562
+ --co-component-button-variants-accent-background-color: var(--co-semantic-color-background-interactive); /** Fill of the accent Button: the blue call to action above primary, at most one per view (decision 0016). */
563
+ --co-component-button-variants-accent-text-color: var(--co-semantic-color-text-inverse); /** Text and icon colour on the accent Button. */
564
+ --co-component-button-variants-accent-hover-background-color: var(--co-semantic-color-background-interactive-hover); /** Accent Button fill on hover. */
565
+ --co-component-button-variants-accent-active-background-color: var(--co-semantic-color-background-interactive-active); /** Accent Button fill while pressed. */
566
+ --co-component-button-variants-accent-disabled-background-color: var(--co-semantic-color-background-disabled); /** Disabled accent Button fill. */
567
+ --co-component-button-variants-accent-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled accent Button text and icon colour. */
568
+ --co-component-button-variants-danger-background-color: var(--co-semantic-color-background-error); /** Danger Button fill at rest, for destructive actions. */
569
+ --co-component-button-variants-danger-text-color: var(--co-semantic-color-text-inverse); /** Text and icon colour on the danger Button. */
570
+ --co-component-button-variants-danger-hover-background-color: var(--co-semantic-color-background-error-hover); /** Danger Button fill on hover. */
571
+ --co-component-button-variants-danger-active-background-color: var(--co-semantic-color-background-error-active); /** Danger Button fill while pressed. */
572
+ --co-component-button-variants-danger-disabled-background-color: var(--co-semantic-color-background-disabled); /** Disabled danger Button fill. */
573
+ --co-component-button-variants-danger-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled danger Button text and icon colour. */
574
+ --co-component-button-sizes-small-padding: var(--co-semantic-spacing-component-sm) var(--co-semantic-spacing-component-md); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.sm and .md. Removed in 3.0. */
575
+ --co-component-button-sizes-medium-padding: var(--co-semantic-spacing-component-sm) var(--co-semantic-spacing-component-lg); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.sm and .lg. Removed in 3.0. */
576
+ --co-component-button-sizes-large-padding: var(--co-semantic-spacing-component-md) var(--co-semantic-spacing-component-lg); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.md and .lg. Removed in 3.0. */
577
+ --co-component-chip-close-button-size: var(--co-semantic-size-dimension-5); /** FilterChip close button width and height (20px): the 16px close icon plus 2px on each side, so the button fits inside a 24px chip. */
578
+ --co-component-chip-default-background-color: var(--co-semantic-color-background-surface); /** Default chip fill at rest. */
579
+ --co-component-chip-default-text-color: var(--co-semantic-color-text-default); /** Default chip text and icon colour. */
580
+ --co-component-chip-default-border-radius: var(--co-semantic-border-radius-lg); /** Corner radius of every chip: rounder than Button, to signal a different job (decision 0016). */
581
+ --co-component-chip-default-padding: 2px var(--co-semantic-spacing-component-sm); /** Deprecated (decision 0022): no component spacing tokens. No chip reads it; chips take padding per size. Removed in 3.0. */
582
+ --co-component-chip-hover-background-color: var(--co-semantic-color-background-neutral); /** Default chip fill on hover, when it's clickable. */
583
+ --co-component-chip-active-background-color: var(--co-semantic-color-background-neutral-hover); /** Default chip fill while pressed, when it's clickable. */
584
+ --co-component-chip-focus-outline: var(--co-semantic-border-focus); /** Focus ring on every chip and its close button. */
585
+ --co-component-chip-disabled-background-color: var(--co-semantic-color-background-surface); /** Disabled default chip fill. */
586
+ --co-component-chip-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled default chip text and icon colour. */
587
+ --co-component-chip-variants-emphasis-background-color: var(--co-semantic-color-background-emphasis); /** Emphasis chip fill at rest. */
588
+ --co-component-chip-variants-emphasis-text-color: var(--co-semantic-color-text-inverse); /** Emphasis chip text and icon colour. */
589
+ --co-component-chip-variants-emphasis-hover-background-color: var(--co-semantic-color-background-emphasis-hover); /** Emphasis chip fill on hover, when it's clickable. */
590
+ --co-component-chip-variants-emphasis-active-background-color: var(--co-semantic-color-background-emphasis-active); /** Emphasis chip fill while pressed, when it's clickable. */
591
+ --co-component-chip-variants-emphasis-disabled-background-color: var(--co-semantic-color-background-disabled); /** Disabled emphasis chip fill. */
592
+ --co-component-chip-variants-emphasis-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled emphasis chip text and icon colour. */
593
+ --co-component-chip-variants-subtle-background-color: var(--co-semantic-color-background-subtle); /** Subtle chip fill at rest. */
594
+ --co-component-chip-variants-subtle-text-color: var(--co-semantic-color-text-default); /** Subtle chip text and icon colour. */
595
+ --co-component-chip-variants-subtle-hover-background-color: var(--co-semantic-color-background-page); /** Subtle chip fill on hover, when it's clickable. */
596
+ --co-component-chip-variants-subtle-active-background-color: var(--co-semantic-color-background-surface); /** Subtle chip fill while pressed, when it's clickable. */
597
+ --co-component-chip-variants-subtle-disabled-background-color: var(--co-semantic-color-background-subtle); /** Disabled subtle chip fill. */
598
+ --co-component-chip-variants-subtle-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled subtle chip text and icon colour. */
599
+ --co-component-chip-variants-interactive-background-color: var(--co-semantic-color-background-interactive); /** Interactive chip fill at rest. */
600
+ --co-component-chip-variants-interactive-text-color: var(--co-semantic-color-text-inverse); /** Interactive chip text and icon colour. */
601
+ --co-component-chip-variants-interactive-hover-background-color: var(--co-semantic-color-background-interactive-hover); /** Interactive chip fill on hover, when it's clickable. */
602
+ --co-component-chip-variants-interactive-active-background-color: var(--co-semantic-color-background-interactive-active); /** Interactive chip fill while pressed, when it's clickable. */
603
+ --co-component-chip-variants-interactive-disabled-background-color: var(--co-semantic-color-background-disabled); /** Disabled interactive chip fill. */
604
+ --co-component-chip-variants-interactive-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled interactive chip text and icon colour. */
605
+ --co-component-chip-sizes-small-padding: 2px var(--co-semantic-spacing-component-sm); /** Deprecated (decision 0022): no component spacing tokens. The 2px is off-grid and has no semantic step, so Chip keeps reading this until #129 decides how controls get their heights. Removed in 3.0. */
606
+ --co-component-chip-sizes-medium-padding: 2px var(--co-semantic-spacing-component-sm); /** Deprecated (decision 0022): no component spacing tokens. The 2px is off-grid and has no semantic step, so Chip keeps reading this until #129 decides how controls get their heights. Removed in 3.0. */
607
+ --co-component-chip-sizes-large-padding: var(--co-semantic-spacing-component-sm) var(--co-semantic-spacing-component-md); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.sm and .md. Removed in 3.0. */
608
+ --co-component-icon-button-primary-background-color: var(--co-semantic-color-background-emphasis); /** Deprecated (decision 0027): IconButton reads component.button.primary.backgroundColor, so its colours match Button's. Removed in 3.0. */
609
+ --co-component-icon-button-primary-border-radius: var(--co-semantic-border-radius-sm); /** Corner radius of every IconButton, matching Button. */
610
+ --co-component-icon-button-hover-background-color: var(--co-semantic-color-background-emphasis-hover); /** Deprecated (decision 0027): IconButton reads component.button.hover.backgroundColor, so its colours match Button's. Removed in 3.0. */
611
+ --co-component-icon-button-active-background-color: var(--co-semantic-color-background-emphasis-active); /** Deprecated (decision 0027): IconButton reads component.button.active.backgroundColor, so its colours match Button's. Removed in 3.0. */
612
+ --co-component-icon-button-focus-outline: var(--co-semantic-border-focus); /** Focus ring on every IconButton. */
613
+ --co-component-icon-button-disabled-background-color: var(--co-semantic-color-background-disabled); /** Deprecated (decision 0027): IconButton reads component.button.disabled.backgroundColor, so its colours match Button's. Removed in 3.0. */
614
+ --co-component-icon-button-variants-secondary-background-color: var(--co-semantic-color-background-surface); /** Deprecated (decision 0027): IconButton reads component.button.variants.secondary.backgroundColor, so its colours match Button's. Removed in 3.0. */
615
+ --co-component-icon-button-variants-secondary-hover-background-color: var(--co-semantic-color-background-neutral); /** Deprecated (decision 0027): IconButton reads component.button.variants.secondary.hover.backgroundColor, so its colours match Button's. Removed in 3.0. */
616
+ --co-component-icon-button-variants-secondary-active-background-color: var(--co-semantic-color-background-page); /** Deprecated (decision 0027): IconButton reads component.button.variants.secondary.active.backgroundColor, so its colours match Button's. Removed in 3.0. */
617
+ --co-component-icon-button-variants-secondary-disabled-background-color: var(--co-semantic-color-background-disabled); /** Deprecated (decision 0027): IconButton reads component.button.variants.secondary.disabled.backgroundColor, so its colours match Button's. Removed in 3.0. */
618
+ --co-component-icon-button-variants-naked-background-color: var(--co-semantic-color-background-transparent); /** Deprecated (decision 0027): IconButton reads component.button.variants.naked.backgroundColor, so its colours match Button's. Removed in 3.0. */
619
+ --co-component-icon-button-variants-naked-hover-background-color: var(--co-semantic-color-background-surface); /** Deprecated (decision 0027): IconButton reads component.button.variants.naked.hover.backgroundColor, so its colours match Button's. Removed in 3.0. */
620
+ --co-component-icon-button-variants-naked-active-background-color: var(--co-semantic-color-background-neutral); /** Deprecated (decision 0027): IconButton reads component.button.variants.naked.active.backgroundColor, so its colours match Button's. Removed in 3.0. */
621
+ --co-component-icon-button-variants-naked-disabled-background-color: var(--co-semantic-color-background-transparent); /** Deprecated (decision 0027): IconButton reads component.button.variants.naked.disabled.backgroundColor, so its colours match Button's. Removed in 3.0. */
622
+ --co-component-icon-button-sizes-small-padding: var(--co-semantic-spacing-component-xs); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.xs. Removed in 3.0. */
623
+ --co-component-icon-button-sizes-medium-padding: var(--co-semantic-spacing-component-sm); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.sm. Removed in 3.0. */
624
+ --co-component-icon-button-sizes-large-padding: var(--co-semantic-spacing-component-md); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.md. Removed in 3.0. */
625
+ --co-component-separator-border: var(--co-semantic-border-subtle); /** Divider line, the same as variants.default.border. */
626
+ --co-component-separator-margin: var(--co-semantic-spacing-separator-lg) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.lg (vertical margin). Removed in 3.0. */
627
+ --co-component-separator-variants-default-border: var(--co-semantic-border-subtle); /** Default Divider line. */
628
+ --co-component-separator-variants-default-margin: var(--co-semantic-spacing-separator-lg) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.lg (vertical margin). Removed in 3.0. */
629
+ --co-component-separator-variants-strong-border: var(--co-semantic-border-strong); /** Strong Divider line, for a firmer break. */
630
+ --co-component-separator-variants-strong-margin: var(--co-semantic-spacing-separator-lg) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.lg (vertical margin). Removed in 3.0. */
631
+ --co-component-separator-variants-minimal-border: var(--co-semantic-border-subtle); /** Minimal Divider line. */
632
+ --co-component-separator-variants-minimal-margin: var(--co-semantic-spacing-separator-md) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.md (vertical margin). Removed in 3.0. */
633
+ --co-component-separator-sizes-small-margin: var(--co-semantic-spacing-separator-sm) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.sm (vertical margin). Removed in 3.0. */
634
+ --co-component-separator-sizes-medium-margin: var(--co-semantic-spacing-separator-md) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.md (vertical margin). Removed in 3.0. */
635
+ --co-component-separator-sizes-large-margin: var(--co-semantic-spacing-separator-lg) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.lg (vertical margin). Removed in 3.0. */
636
+ --co-component-separator-sizes-xlarge-margin: var(--co-semantic-spacing-separator-xl) 0; /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.separator.xl (vertical margin). Removed in 3.0. */
637
+ --co-component-progress-bar-background-color: var(--co-semantic-color-background-progress-track); /** ProgressBar track, behind the filled part. */
638
+ --co-component-progress-bar-border-radius: var(--co-semantic-border-radius-sm); /** Not read: ProgressBar renders its track and fill with semantic.border.radius.xs (2px). Kept so published values don't change. */
639
+ --co-component-progress-bar-sizes-sm-height: var(--co-semantic-size-dimension-1); /** Thickness of the small ProgressBar (4px). */
640
+ --co-component-progress-bar-sizes-md-height: var(--co-semantic-size-dimension-2); /** Thickness of the medium ProgressBar (8px), the default. */
641
+ --co-component-progress-bar-sizes-lg-height: var(--co-semantic-size-dimension-4); /** Thickness of the large ProgressBar (16px). */
642
+ --co-component-progress-bar-sizes-xl-height: var(--co-semantic-size-dimension-5); /** Thickness of the extra-large ProgressBar (20px). */
643
+ --co-component-input-default-background-color: var(--co-semantic-color-background-subtle); /** Text input fill: TextField, PasswordField, NumberInput, Dropdown, SearchField, and the Checkbox box. */
644
+ --co-component-input-default-text-color: var(--co-semantic-color-text-default); /** Text input value colour. */
645
+ --co-component-input-default-border-color: var(--co-semantic-color-border-control); /** Text input, Dropdown and Checkbox border at rest. At least 3:1 on white (decision 0025). */
646
+ --co-component-input-default-border-radius: var(--co-semantic-border-radius-sm); /** Corner radius of text inputs and the Checkbox box. */
647
+ --co-component-input-default-border-width: var(--co-semantic-border-width-thin); /** Border width of text inputs and the Checkbox box. */
648
+ --co-component-input-default-padding-x: var(--co-semantic-spacing-component-lg); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.lg. Removed in 3.0. */
649
+ --co-component-input-placeholder-text-color: var(--co-semantic-color-text-subdued); /** Placeholder text in every text input (TextField, PasswordField, NumberInput, SearchField, AgentInput). 8.18:1 on the white input fill: placeholders aren't exempt from the contrast minimum (WCAG 1.4.3), unlike disabled text. */
650
+ --co-component-input-hover-border-color: var(--co-semantic-color-border-strong); /** Text input border on hover. */
651
+ --co-component-input-focus-border-color: var(--co-semantic-color-border-strong); /** Text input border while focused. */
652
+ --co-component-input-focus-outline: var(--co-semantic-border-focus); /** Focus ring on text inputs and the Checkbox box. */
653
+ --co-component-input-error-border-color: var(--co-semantic-color-border-error); /** Text input border when invalid. */
654
+ --co-component-input-error-focus-border-color: var(--co-semantic-color-border-error); /** Invalid text input border while focused. */
655
+ --co-component-input-error-focus-outline: var(--co-semantic-border-focus); /** Focus ring on an invalid text input. */
656
+ --co-component-input-error-hover-border-color: var(--co-semantic-color-border-error); /** Invalid text input border on hover. */
657
+ --co-component-input-disabled-background-color: var(--co-semantic-color-background-disabled); /** Disabled text input fill. */
658
+ --co-component-input-disabled-text-color: var(--co-semantic-color-text-disabled); /** Disabled text input value colour. */
659
+ --co-component-input-disabled-border-color: var(--co-semantic-color-border-subtle); /** Disabled text input, Dropdown and Checkbox border. Stays light: WCAG 1.4.11 exempts inactive controls (decision 0025). */
660
+ --co-component-input-textarea-min-height: var(--co-semantic-size-dimension-30); /** Minimum height of a multi-line text input (120px). */
661
+ --co-component-badge-dot-size: var(--co-semantic-size-dimension-2); /** Width and height of the dot badge indicator (8px). */
662
+ --co-component-badge-count-min-width: var(--co-semantic-size-dimension-4); /** Minimum width of the count badge indicator (16px). */
663
+ --co-component-badge-count-height: var(--co-semantic-size-dimension-4); /** Height of the count badge indicator (16px). */
664
+ --co-component-badge-count-padding-x: var(--co-semantic-spacing-component-xs); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.component.xs. Removed in 3.0. */
665
+ --co-component-badge-count-line-height: var(--co-semantic-line-height-none); /** Line height of the count text, so the digits centre in the indicator. */
666
+ --co-component-badge-ring-width: var(--co-semantic-border-width-thick); /** Width of the ring that separates the badge indicator from its host element (2px). */
667
+ --co-component-badge-border-radius: var(--co-semantic-border-radius-circle); /** Badge indicators are always fully circular. */
668
+ --co-component-badge-label-font-weight: var(--co-semantic-font-weight-medium); /** Text weight for the badge-like label family: StatusBadge, CategoryBadge and Tag (decision 0014). Declare it after the typography shorthand, which would otherwise reset it. */
669
+ --co-component-field-gap: var(--co-semantic-spacing-layout-sm); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.layout.sm. Removed in 3.0. Was the vertical gap between a field's label, control and helper text. */
670
+ --co-component-field-label-color: var(--co-semantic-color-text-default); /** Field label colour. */
671
+ --co-component-field-label-color-disabled: var(--co-semantic-color-text-disabled); /** Field label colour when the field is disabled. */
672
+ --co-component-field-label-gap: var(--co-semantic-spacing-layout-xs); /** Deprecated (decision 0022): no component spacing tokens. Use semantic.spacing.layout.xs. Removed in 3.0. Was the gap between the label text and the required indicator. */
673
+ --co-component-field-required-indicator-color: var(--co-semantic-color-text-error); /** Colour of the required-field asterisk. */
674
+ --co-component-field-required-indicator-font-weight: var(--co-semantic-font-weight-bold); /** Weight of the required-field asterisk. */
675
+ --co-component-field-helper-text-color: var(--co-semantic-color-text-subdued); /** Helper text colour. */
676
+ --co-component-field-helper-text-color-error: var(--co-semantic-color-text-error); /** Helper text colour when it describes an error. */
677
+ --co-component-alert-severity-error-background: var(--co-semantic-color-background-error-subtle); /** Error alert background, in both appearances. */
678
+ --co-component-alert-severity-error-text: var(--co-semantic-color-text-error); /** Error alert text colour. */
679
+ --co-component-alert-severity-warning-background: var(--co-semantic-color-background-warning-subtle); /** Warning alert background, in both appearances. */
680
+ --co-component-alert-severity-warning-text: var(--co-semantic-color-text-warning); /** Warning alert text colour. */
681
+ --co-component-alert-severity-info-background: var(--co-semantic-color-background-interactive-subtle); /** Info alert background, in both appearances. */
682
+ --co-component-alert-severity-info-text: var(--co-semantic-color-text-interactive); /** Info alert text colour. */
683
+ --co-component-alert-severity-success-background: var(--co-semantic-color-background-success-subtle); /** Success alert background, in both appearances. */
684
+ --co-component-alert-severity-success-text: var(--co-semantic-color-text-success); /** Success alert text colour. */
685
+ --co-component-alert-appearance-outlined-border-color-error: var(--co-semantic-color-border-error); /** Outlined error alert border: alerts at the top of a page or content area, and error summaries (decision 0019). */
686
+ --co-component-alert-appearance-outlined-border-color-warning: var(--co-semantic-color-border-warning); /** Outlined warning alert border: alerts at the top of a page or content area, and error summaries (decision 0019). */
687
+ --co-component-alert-appearance-outlined-border-color-info: var(--co-semantic-color-border-interactive); /** Outlined info alert border: alerts at the top of a page or content area, and error summaries (decision 0019). */
688
+ --co-component-alert-appearance-outlined-border-color-success: var(--co-semantic-color-border-success); /** Outlined success alert border: alerts at the top of a page or content area, and error summaries (decision 0019). */
689
+ --co-component-alert-appearance-borderless-border-color-error: var(--co-semantic-color-border-none); /** Borderless error alert: no visible border, keeping its width so both appearances take the same space (decision 0019). */
690
+ --co-component-alert-appearance-borderless-border-color-warning: var(--co-semantic-color-border-none); /** Borderless warning alert: no visible border, keeping its width so both appearances take the same space (decision 0019). */
691
+ --co-component-alert-appearance-borderless-border-color-info: var(--co-semantic-color-border-none); /** Borderless info alert: no visible border, keeping its width so both appearances take the same space (decision 0019). */
692
+ --co-component-alert-appearance-borderless-border-color-success: var(--co-semantic-color-border-none); /** Borderless success alert: no visible border, keeping its width so both appearances take the same space (decision 0019). */
693
+ --co-component-alert-title-font-weight: var(--co-semantic-font-weight-semibold); /** Alert titles are semibold, heavier than h6's medium. */
694
+ --co-component-alert-title-line-height: var(--co-semantic-line-height-tight); /** Alert titles use a tighter line height than h6. */
695
+ --co-component-alert-message-line-height: var(--co-semantic-line-height-tight); /** Alert messages use a tighter line height than body. */
696
+ --co-component-tab-bar-badge-font-weight: var(--co-semantic-font-weight-bold); /** Tab count badges are bold, heavier than caption. */
697
+ --co-component-tab-bar-badge-size: var(--co-semantic-size-dimension-5); /** Tab count badge height and minimum width (20px). */
698
+ --co-component-tab-bar-scrollbar-height: var(--co-semantic-size-dimension-1); /** Height of the horizontal scrollbar when tabs overflow (4px). */
699
+ --co-component-search-field-section-header-letter-spacing: var(--co-semantic-letter-spacing-wide); /** Tracking for the uppercase section header. */
700
+ --co-component-avatar-initials-font-family: var(--co-semantic-font-family-body); /** Initials font. */
701
+ --co-component-avatar-initials-font-weight: var(--co-semantic-font-weight-medium); /** Initials weight. */
702
+ --co-component-avatar-initials-line-height: var(--co-semantic-line-height-none); /** Initials sit on a single line equal to their size. */
703
+ --co-component-avatar-initials-font-size-xs: var(--co-semantic-font-size-xs); /** Initials in an xs avatar. */
704
+ --co-component-avatar-initials-font-size-sm: var(--co-semantic-font-size-sm); /** Initials in an sm avatar. */
705
+ --co-component-avatar-initials-font-size-md: var(--co-semantic-font-size-md); /** Initials in an md avatar. */
706
+ --co-component-avatar-initials-font-size-lg: var(--co-semantic-font-size-lg); /** Initials in an lg avatar. */
707
+ --co-component-avatar-initials-font-size-xl: var(--co-semantic-font-size-xl); /** Initials in an xl avatar. */
708
+ --co-component-code-block-font-family: var(--co-semantic-font-family-monospace); /** Code font. */
709
+ --co-component-code-block-font-size: var(--co-semantic-font-size-xs); /** Code text size. */
710
+ --co-component-code-block-line-height: var(--co-semantic-line-height-tight); /** Code line height. */
711
+ --co-component-slider-thumb-shadow-default: var(--co-semantic-elevation-raised); /** Slider thumb at rest. */
712
+ --co-component-slider-thumb-shadow-hover: var(--co-semantic-elevation-sticky); /** Slider thumb on hover: one step deeper. */
713
+ --co-component-slider-thumb-shadow-active: var(--co-semantic-elevation-floating); /** Slider thumb while dragging: deepest. */
714
+ --co-component-account-card-header-min-height: var(--co-semantic-size-dimension-12); /** Minimum height of the card header row (48px). */
715
+ --co-component-account-card-min-width: var(--co-semantic-size-dimension-75); /** Minimum card width (300px). */
716
+ --co-component-breadcrumbs-item-max-width: var(--co-semantic-size-dimension-45); /** Width at which a breadcrumb label truncates (180px). */
717
+ --co-component-card-large-max-width: var(--co-semantic-size-dimension-192); /** Maximum card width (768px). */
718
+ --co-component-checkbox-box-size: var(--co-semantic-size-dimension-5); /** Width and height of the checkbox square (20px). */
719
+ --co-component-checkbox-row-min-height: var(--co-semantic-size-dimension-8); /** Minimum height of a checkbox or radio row (32px). */
720
+ --co-component-empty-state-illustration-small: var(--co-semantic-size-dimension-20); /** Small illustration size (80px). */
721
+ --co-component-empty-state-illustration-medium: var(--co-semantic-size-dimension-30); /** Medium illustration size (120px). */
722
+ --co-component-empty-state-illustration-large: var(--co-semantic-size-dimension-50); /** Large illustration size (200px). */
723
+ --co-component-empty-state-max-width: var(--co-semantic-size-dimension-100); /** Maximum width of the empty state (400px). */
724
+ --co-component-empty-state-text-max-width: var(--co-semantic-size-dimension-90); /** Maximum width of the title and description (360px). */
725
+ --co-component-empty-state-actions-max-width: var(--co-semantic-size-dimension-75); /** Maximum width of the actions area (300px). */
726
+ --co-component-list-item-expanded-indent-compact: var(--co-semantic-size-dimension-12); /** Left indent of expanded content in compact rows, aligning it with the label (48px). */
727
+ --co-component-list-item-expanded-indent-comfortable: var(--co-semantic-size-dimension-15); /** Left indent of expanded content in comfortable rows (60px). */
728
+ --co-component-transaction-list-item-min-height: var(--co-semantic-size-dimension-18); /** Minimum row height (72px). */
729
+ --co-semantic-typography-display: var(--co-semantic-font-weight-bold) var(--co-base-font-size-10)/var(--co-base-line-height-10) var(--co-base-font-family-heading); /** Display text: 5rem, weight 700. The largest heading, for hero titles. */
730
+ --co-semantic-typography-h1: var(--co-semantic-font-weight-bold) var(--co-base-font-size-9)/var(--co-base-line-height-9) var(--co-base-font-family-heading); /** Heading 1: 3rem, weight 700. The page title. */
731
+ --co-semantic-typography-h2: var(--co-semantic-font-weight-bold) var(--co-base-font-size-8)/var(--co-base-line-height-8) var(--co-base-font-family-heading); /** Heading 2: 2rem, weight 700. Major sections. */
732
+ --co-semantic-typography-h3: var(--co-semantic-font-weight-bold) var(--co-base-font-size-7)/var(--co-base-line-height-7) var(--co-base-font-family-heading); /** Heading 3: 1.75rem, weight 700. */
733
+ --co-semantic-typography-h4: var(--co-semantic-font-weight-bold) var(--co-base-font-size-6)/var(--co-base-line-height-6) var(--co-base-font-family-heading); /** Heading 4: 1.5rem, weight 700. */
734
+ --co-semantic-typography-h5: var(--co-semantic-font-weight-medium) var(--co-base-font-size-5)/var(--co-base-line-height-5) var(--co-base-font-family-heading); /** Heading 5: 1.25rem, weight 500. */
735
+ --co-semantic-typography-h6: var(--co-semantic-font-weight-medium) var(--co-base-font-size-4)/var(--co-base-line-height-4) var(--co-base-font-family-heading); /** Heading 6: 1.125rem, weight 500. The smallest heading; Alert's title builds on it. */
736
+ --co-semantic-typography-subtitle: var(--co-semantic-font-weight-medium) var(--co-base-font-size-3)/var(--co-base-line-height-4) var(--co-base-font-family-body); /** Subtitle: 1rem, weight 500. A short line under a heading. */
737
+ --co-semantic-typography-body: var(--co-semantic-font-weight-regular) var(--co-base-font-size-3)/var(--co-base-line-height-4) var(--co-base-font-family-body); /** Body text: 1rem, weight 400, 1.5rem line height. The default for paragraphs and input values. */
738
+ --co-semantic-typography-small: var(--co-semantic-font-weight-regular) var(--co-base-font-size-2)/var(--co-base-line-height-3) var(--co-base-font-family-body); /** Small text: 0.875rem, weight 400. Secondary copy and compact controls. */
739
+ --co-semantic-typography-overline: var(--co-semantic-font-weight-bold) var(--co-base-font-size-1)/var(--co-base-line-height-1) var(--co-base-font-family-body); /** Overline: 0.75rem, weight 700. A short label above a heading. */
740
+ --co-semantic-typography-caption: var(--co-semantic-font-weight-regular) var(--co-base-font-size-1)/var(--co-base-line-height-1) var(--co-base-font-family-body); /** Caption: 0.75rem, weight 400. Helper text, metadata and image captions. */
741
+ --co-semantic-typography-button1: var(--co-semantic-font-weight-medium) var(--co-base-font-size-3)/var(--co-base-line-height-4) var(--co-base-font-family-body); /** Large Button label: 1rem, weight 500. */
742
+ --co-semantic-typography-button2: var(--co-semantic-font-weight-medium) var(--co-base-font-size-2)/var(--co-base-line-height-4) var(--co-base-font-family-body); /** Medium Button label: 0.875rem, weight 500. Also tab labels. */
743
+ --co-semantic-typography-button3: var(--co-semantic-font-weight-medium) var(--co-base-font-size-1)/var(--co-base-line-height-1) var(--co-base-font-family-body); /** Small Button label: 0.75rem, weight 500. */
744
+ --co-semantic-typography-label: var(--co-semantic-font-weight-semibold) var(--co-base-font-size-2)/var(--co-base-line-height-3) var(--co-base-font-family-body); /** Form label: 0.875rem, weight 600. Field labels, such as TextField and Slider. */
745
+ --co-semantic-typography-breadcrumb: var(--co-semantic-font-weight-regular) var(--co-base-font-size-1)/var(--co-base-line-height-2) var(--co-base-font-family-body); /** Breadcrumb-sized text: 0.75rem, weight 400. Not used today: Breadcrumbs renders its links with typography.caption. */
746
+ --co-component-button-primary-font: var(--co-semantic-typography-button1); /** Button label typography, the same as sizes.large.font. */
747
+ --co-component-button-variants-emphasis-background-color: var(--co-component-button-variants-accent-background-color); /** Deprecated: use component.button.variants.accent.backgroundColor. Alias kept until 3.0 (decision 0016). */
748
+ --co-component-button-variants-emphasis-text-color: var(--co-component-button-variants-accent-text-color); /** Deprecated: use component.button.variants.accent.textColor. Alias kept until 3.0 (decision 0016). */
749
+ --co-component-button-variants-emphasis-hover-background-color: var(--co-component-button-variants-accent-hover-background-color); /** Deprecated: use component.button.variants.accent.hover.backgroundColor. Alias kept until 3.0 (decision 0016). */
750
+ --co-component-button-variants-emphasis-active-background-color: var(--co-component-button-variants-accent-active-background-color); /** Deprecated: use component.button.variants.accent.active.backgroundColor. Alias kept until 3.0 (decision 0016). */
751
+ --co-component-button-variants-emphasis-disabled-background-color: var(--co-component-button-variants-accent-disabled-background-color); /** Deprecated: use component.button.variants.accent.disabled.backgroundColor. Alias kept until 3.0 (decision 0016). */
752
+ --co-component-button-variants-emphasis-disabled-text-color: var(--co-component-button-variants-accent-disabled-text-color); /** Deprecated: use component.button.variants.accent.disabled.textColor. Alias kept until 3.0 (decision 0016). */
753
+ --co-component-button-sizes-small-font: var(--co-semantic-typography-button3); /** Small Button label typography. */
754
+ --co-component-button-sizes-medium-font: var(--co-semantic-typography-button2); /** Medium Button label typography. */
755
+ --co-component-button-sizes-large-font: var(--co-semantic-typography-button1); /** Large Button label typography. */
756
+ --co-component-chip-default-font: var(--co-semantic-typography-body); /** Chip label typography, the same as sizes.large.font. */
757
+ --co-component-chip-sizes-small-font: var(--co-semantic-typography-caption); /** Small chip label typography. */
758
+ --co-component-chip-sizes-medium-font: var(--co-semantic-typography-small); /** Medium chip label typography. */
759
+ --co-component-chip-sizes-large-font: var(--co-semantic-typography-body); /** Large chip label typography. No chip uses the large size today. */
760
+ --co-component-input-default-font: var(--co-semantic-typography-body); /** Text input value typography. */
761
+ --co-component-badge-label-typography-small: var(--co-semantic-typography-caption); /** Typography for small labels in the badge-like family (StatusBadge, CategoryBadge small; Tag). Combine with label.fontWeight. */
762
+ --co-component-badge-label-typography-medium: var(--co-semantic-typography-small); /** Typography for medium labels in the badge-like family (StatusBadge, CategoryBadge medium). Combine with label.fontWeight. */
763
+ --co-component-field-label-typography: var(--co-semantic-typography-label); /** Field label text. */
764
+ --co-component-field-helper-text-typography: var(--co-semantic-typography-caption); /** Helper and error text under a field (TextField, PasswordField, NumberInput, Dropdown, Checkbox). One step below the label. */
765
+ --co-component-alert-title-typography: var(--co-semantic-typography-h6); /** Alert title style (h6), adjusted by title.fontWeight and title.lineHeight. */
766
+ --co-component-alert-message-typography: var(--co-semantic-typography-body); /** Alert message style (body), adjusted by message.lineHeight. */
767
+ --co-component-tab-bar-badge-typography: var(--co-semantic-typography-caption); /** Tab count badge text. */
768
+ --co-component-search-field-section-header-typography: var(--co-semantic-typography-caption); /** Suggestion-list section header text (shown uppercase). */
769
+ }