beacon-ui 3.1.4

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 (59) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +175 -0
  3. package/dist/components/Avatar.d.ts +20 -0
  4. package/dist/components/Avatar.d.ts.map +1 -0
  5. package/dist/components/Avatar.js +174 -0
  6. package/dist/components/Button.d.ts +21 -0
  7. package/dist/components/Button.d.ts.map +1 -0
  8. package/dist/components/Button.js +227 -0
  9. package/dist/components/Card.d.ts +40 -0
  10. package/dist/components/Card.d.ts.map +1 -0
  11. package/dist/components/Card.js +517 -0
  12. package/dist/components/Checkbox.d.ts +12 -0
  13. package/dist/components/Checkbox.d.ts.map +1 -0
  14. package/dist/components/Checkbox.js +64 -0
  15. package/dist/components/CheckboxPreview.d.ts +13 -0
  16. package/dist/components/CheckboxPreview.d.ts.map +1 -0
  17. package/dist/components/CheckboxPreview.js +155 -0
  18. package/dist/components/Chip.d.ts +15 -0
  19. package/dist/components/Chip.d.ts.map +1 -0
  20. package/dist/components/Chip.js +99 -0
  21. package/dist/components/Input.d.ts +24 -0
  22. package/dist/components/Input.d.ts.map +1 -0
  23. package/dist/components/Input.js +138 -0
  24. package/dist/components/Menu.d.ts +20 -0
  25. package/dist/components/Menu.d.ts.map +1 -0
  26. package/dist/components/Menu.js +252 -0
  27. package/dist/components/RadioButton.d.ts +13 -0
  28. package/dist/components/RadioButton.d.ts.map +1 -0
  29. package/dist/components/RadioButton.js +140 -0
  30. package/dist/components/Switch.d.ts +11 -0
  31. package/dist/components/Switch.d.ts.map +1 -0
  32. package/dist/components/Switch.js +64 -0
  33. package/dist/components/SwitchPreview.d.ts +14 -0
  34. package/dist/components/SwitchPreview.d.ts.map +1 -0
  35. package/dist/components/SwitchPreview.js +281 -0
  36. package/dist/icons/index.d.ts +97 -0
  37. package/dist/icons/index.d.ts.map +1 -0
  38. package/dist/icons/index.js +383 -0
  39. package/dist/index.d.ts +13 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +12 -0
  42. package/dist/providers/ThemeProvider.d.ts +23 -0
  43. package/dist/providers/ThemeProvider.d.ts.map +1 -0
  44. package/dist/providers/ThemeProvider.js +79 -0
  45. package/dist/tokens/types.d.ts +14 -0
  46. package/dist/tokens/types.d.ts.map +1 -0
  47. package/dist/tokens/types.js +5 -0
  48. package/dist/utils/patternPaths.d.ts +28 -0
  49. package/dist/utils/patternPaths.d.ts.map +1 -0
  50. package/dist/utils/patternPaths.js +92 -0
  51. package/package.json +51 -0
  52. package/tokens/generated/brand-dark.css +86 -0
  53. package/tokens/generated/brand-light.css +86 -0
  54. package/tokens/generated/effects.css +10 -0
  55. package/tokens/generated/index.css +804 -0
  56. package/tokens/generated/primitives.css +116 -0
  57. package/tokens/generated/responsive.css +235 -0
  58. package/tokens/generated/semantic.css +138 -0
  59. package/tokens/generated/typography.css +124 -0
@@ -0,0 +1,804 @@
1
+ /* Design System Tokens - Auto-generated */
2
+ /* Do not edit directly - regenerate with npm run build:tokens */
3
+
4
+ /* Primitive tokens - raw values */
5
+ :root {
6
+ --color-purple-100: #e9d8fd;
7
+ --color-purple-200: #d6bcfa;
8
+ --color-purple-300: #b794f4;
9
+ --color-purple-400: #9f7aea;
10
+ --color-purple-500: #805ad5;
11
+ --color-purple-600: #6b46c1;
12
+ --color-purple-700: #4f3792;
13
+ --color-purple-800: #301f5f;
14
+ --color-purple-900: #1a1332;
15
+ --color-blue-100: #e6f1ff;
16
+ --color-blue-200: #cee2fd;
17
+ --color-blue-300: #9ec4fa;
18
+ --color-blue-400: #6da7f8;
19
+ --color-blue-500: #0b6cf4;
20
+ --color-blue-600: #0957c3;
21
+ --color-blue-700: #004296;
22
+ --color-blue-800: #012d6a;
23
+ --color-blue-900: #021939;
24
+ --color-chromatic-100: #f1f4fe;
25
+ --color-chromatic-200: #c4c8d7;
26
+ --color-chromatic-300: #a0a5bb;
27
+ --color-chromatic-400: #858b9d;
28
+ --color-chromatic-500: #585e71;
29
+ --color-chromatic-600: #494d5e;
30
+ --color-chromatic-700: #383c4b;
31
+ --color-chromatic-800: #2a2c34;
32
+ --color-chromatic-900: #1d1e25;
33
+ --color-gray-50: #f7fafc;
34
+ --color-gray-100: #edf2f7;
35
+ --color-gray-200: #d2d2d6;
36
+ --color-gray-300: #959ba0;
37
+ --color-gray-400: #686e70;
38
+ --color-gray-500: #524e4f;
39
+ --color-gray-600: #3f3c3d;
40
+ --color-gray-700: #2a2728;
41
+ --color-gray-800: #1f1d1d;
42
+ --color-gray-900: #0b0a0a;
43
+ --color-green-100: #e0ffff;
44
+ --color-green-200: #9bfdfa;
45
+ --color-green-300: #69fcf7;
46
+ --color-green-400: #05faf2;
47
+ --color-green-500: #03a09b;
48
+ --color-green-600: #018f8a;
49
+ --color-green-700: #02615e;
50
+ --color-green-800: #014a47;
51
+ --color-red-100: #fedddd;
52
+ --color-red-200: #ff9898;
53
+ --color-red-300: #f76d6d;
54
+ --color-red-400: #f44141;
55
+ --color-red-500: #f22625;
56
+ --color-red-600: #ac1616;
57
+ --color-red-700: #8f0f0f;
58
+ --color-red-800: #7b0b0b;
59
+ --color-orange-100: #fffbf5;
60
+ --color-orange-200: #fae3b7;
61
+ --color-orange-300: #f7c97f;
62
+ --color-orange-400: #efaf57;
63
+ --color-orange-500: #d87a16;
64
+ --color-orange-600: #aa6215;
65
+ --color-orange-700: #7c4a15;
66
+ --color-orange-800: #593815;
67
+ --color-black-0: #00000000;
68
+ --color-black-100: #0000001a;
69
+ --color-black-200: #00000033;
70
+ --color-black-300: #0000004d;
71
+ --color-black-400: #00000066;
72
+ --color-black-500: #00000080;
73
+ --color-black-600: #00000099;
74
+ --color-black-700: #000000b2;
75
+ --color-black-800: #000000cc;
76
+ --color-black-1000: #000000;
77
+ --color-white-0: #ffffff00;
78
+ --color-white-100: #ffffff1a;
79
+ --color-white-200: #ffffff33;
80
+ --color-white-300: #ffffff4d;
81
+ --color-white-400: #ffffff66;
82
+ --color-white-500: #ffffff80;
83
+ --color-white-600: #ffffff99;
84
+ --color-white-700: #ffffffb2;
85
+ --color-white-800: #ffffffcc;
86
+ --color-white-1000: #ffffff;
87
+ --scale-0: 0px;
88
+ --scale-25: 1px;
89
+ --scale-50: 2px;
90
+ --scale-100: 4px;
91
+ --scale-150: 6px;
92
+ --scale-200: 8px;
93
+ --scale-300: 12px;
94
+ --scale-400: 16px;
95
+ --scale-450: 20px;
96
+ --scale-500: 24px;
97
+ --scale-550: 28px;
98
+ --scale-600: 32px;
99
+ --scale-650: 40px;
100
+ --scale-700: 48px;
101
+ --scale-800: 64px;
102
+ --scale-900: 96px;
103
+ --scale-1000: 128px;
104
+ --scale-2000: 512px;
105
+ --fonts-inter-style-inter: Inter;
106
+ --fonts-inter-weight-regular: 400;
107
+ --fonts-inter-weight-medium: 500;
108
+ --fonts-inter-weight-semibold: 600;
109
+ --fonts-inter-weight-bold: 700;
110
+ --fonts-dm-sans-style-dm-sans: DM Sans;
111
+ --fonts-dm-sans-weight-regular: 400;
112
+ --fonts-dm-sans-weight-medium: 500;
113
+ --fonts-dm-sans-weight-semibold: 600;
114
+ --fonts-dm-sans-weight-bold: 700;
115
+ --fonts-ibm-plex-serif-style-ibm-plex-serif: IBM Plex Serif;
116
+ --fonts-ibm-plex-serif-weight-regular: 400;
117
+ --fonts-ibm-plex-serif-weight-medium: 500;
118
+ --fonts-ibm-plex-serif-weight-semibold: 600;
119
+ }
120
+
121
+ /* Semantic tokens - all hue variants */
122
+
123
+ /* chromatic-prime */
124
+ :root, [data-hue="chromatic-prime"] {
125
+ --color-primary-100: var(--color-chromatic-100);
126
+ --color-primary-200: var(--color-chromatic-200);
127
+ --color-primary-300: var(--color-chromatic-300);
128
+ --color-primary-400: var(--color-chromatic-400);
129
+ --color-primary-500: var(--color-chromatic-500);
130
+ --color-primary-600: var(--color-chromatic-600);
131
+ --color-primary-700: var(--color-chromatic-700);
132
+ --color-primary-800: var(--color-chromatic-800);
133
+ --color-primary-900: var(--color-chromatic-900);
134
+ --icon-size-rm: var(--scale-500);
135
+ }
136
+
137
+ /* hue-sky */
138
+ [data-hue="hue-sky"] {
139
+ --color-primary-100: var(--color-blue-100);
140
+ --color-primary-200: var(--color-blue-200);
141
+ --color-primary-300: var(--color-blue-300);
142
+ --color-primary-400: var(--color-blue-400);
143
+ --color-primary-500: var(--color-blue-500);
144
+ --color-primary-600: var(--color-blue-600);
145
+ --color-primary-700: var(--color-blue-700);
146
+ --color-primary-800: var(--color-blue-800);
147
+ --color-primary-900: var(--color-blue-900);
148
+ --icon-size-rm: var(--scale-550);
149
+ }
150
+
151
+ /* hue-indigo */
152
+ [data-hue="hue-indigo"] {
153
+ --color-primary-100: var(--color-purple-100);
154
+ --color-primary-200: var(--color-purple-200);
155
+ --color-primary-300: var(--color-purple-300);
156
+ --color-primary-400: var(--color-purple-400);
157
+ --color-primary-500: var(--color-purple-500);
158
+ --color-primary-600: var(--color-purple-600);
159
+ --color-primary-700: var(--color-purple-700);
160
+ --color-primary-800: var(--color-purple-800);
161
+ --color-primary-900: var(--color-purple-900);
162
+ --icon-size-rm: var(--scale-550);
163
+ }
164
+
165
+ /* Shared semantic tokens (same across all hues) */
166
+ :root {
167
+ --color-neutral-50: var(--color-gray-50);
168
+ --color-neutral-100: var(--color-gray-100);
169
+ --color-neutral-200: var(--color-gray-200);
170
+ --color-neutral-300: var(--color-gray-300);
171
+ --color-neutral-400: var(--color-gray-400);
172
+ --color-neutral-500: var(--color-gray-500);
173
+ --color-neutral-600: var(--color-gray-600);
174
+ --color-neutral-700: var(--color-gray-700);
175
+ --color-neutral-800: var(--color-gray-800);
176
+ --color-neutral-white: var(--color-white-1000);
177
+ --color-neutral-black: var(--color-black-1000);
178
+ --color-success-100: var(--color-green-100);
179
+ --color-success-200: var(--color-green-200);
180
+ --color-success-300: var(--color-green-300);
181
+ --color-success-400: var(--color-green-400);
182
+ --color-success-500: var(--color-green-500);
183
+ --color-success-600: var(--color-green-600);
184
+ --color-success-700: var(--color-green-700);
185
+ --color-success-800: var(--color-green-800);
186
+ --color-warning-100: var(--color-orange-100);
187
+ --color-warning-200: var(--color-orange-200);
188
+ --color-warning-300: var(--color-orange-300);
189
+ --color-warning-400: var(--color-orange-400);
190
+ --color-warning-500: var(--color-orange-500);
191
+ --color-warning-600: var(--color-orange-600);
192
+ --color-warning-700: var(--color-orange-700);
193
+ --color-warning-800: var(--color-orange-800);
194
+ --color-critical-100: var(--color-red-100);
195
+ --color-critical-200: var(--color-red-200);
196
+ --color-critical-300: var(--color-red-300);
197
+ --color-critical-400: var(--color-red-400);
198
+ --color-critical-500: var(--color-red-500);
199
+ --color-critical-600: var(--color-red-600);
200
+ --color-critical-700: var(--color-red-700);
201
+ --color-critical-800: var(--color-red-800);
202
+ --color-alpha-neutral-white-0: var(--color-white-0);
203
+ --color-alpha-neutral-white-100: var(--color-white-100);
204
+ --color-alpha-neutral-white-200: var(--color-white-200);
205
+ --color-alpha-neutral-white-300: var(--color-white-300);
206
+ --color-alpha-neutral-white-400: var(--color-white-400);
207
+ --color-alpha-neutral-white-500: var(--color-white-500);
208
+ --color-alpha-neutral-white-600: var(--color-white-600);
209
+ --color-alpha-neutral-white-700: var(--color-white-700);
210
+ --color-alpha-neutral-white-800: var(--color-white-800);
211
+ --color-alpha-neutral-white-1000: var(--color-white-1000);
212
+ --color-alpha-neutral-black-0: var(--color-black-0);
213
+ --color-alpha-neutral-black-100: var(--color-black-100);
214
+ --color-alpha-neutral-black-200: var(--color-black-200);
215
+ --color-alpha-neutral-black-300: var(--color-black-300);
216
+ --color-alpha-neutral-black-400: var(--color-black-400);
217
+ --color-alpha-neutral-black-500: var(--color-black-500);
218
+ --color-alpha-neutral-black-600: var(--color-black-600);
219
+ --color-alpha-neutral-black-700: var(--color-black-700);
220
+ --color-alpha-neutral-black-800: var(--color-black-800);
221
+ --color-alpha-neutral-black-1000: var(--color-black-1000);
222
+ --border-width-25: var(--scale-25);
223
+ --border-width-50: var(--scale-50);
224
+ --border-width-100: var(--scale-100);
225
+ --border-width-150: var(--scale-150);
226
+ --border-width-200: var(--scale-200);
227
+ --border-width-none: var(--scale-0);
228
+ --corner-radius-25: var(--scale-25);
229
+ --corner-radius-50: var(--scale-50);
230
+ --corner-radius-100: var(--scale-100);
231
+ --corner-radius-200: var(--scale-200);
232
+ --corner-radius-300: var(--scale-300);
233
+ --corner-radius-400: var(--scale-400);
234
+ --corner-radius-none: var(--scale-0);
235
+ --corner-radius-full: var(--scale-2000);
236
+ --icon-size-xs: var(--scale-400);
237
+ --icon-size-sm: var(--scale-450);
238
+ --icon-size-rg: var(--scale-500);
239
+ --icon-size-md: var(--scale-600);
240
+ --icon-size-lg: var(--scale-650);
241
+ --icon-size-xl: var(--scale-700);
242
+ --icon-size-2xl: var(--scale-800);
243
+ --spacing-50: var(--scale-50);
244
+ --spacing-100: var(--scale-100);
245
+ --spacing-200: var(--scale-200);
246
+ --spacing-300: var(--scale-300);
247
+ --spacing-400: var(--scale-400);
248
+ --spacing-450: var(--scale-450);
249
+ --spacing-500: var(--scale-500);
250
+ --spacing-600: var(--scale-600);
251
+ --spacing-650: var(--scale-650);
252
+ --spacing-700: var(--scale-700);
253
+ --spacing-800: var(--scale-800);
254
+ --spacing-900: var(--scale-900);
255
+ --spacing-1000: var(--scale-1000);
256
+ --spacing-2000: var(--scale-2000);
257
+ --spacing-none: var(--scale-0);
258
+ }
259
+
260
+ /* Brand tokens - light theme */
261
+ :root, [data-theme="light"] {
262
+ --bg-white: var(--color-alpha-neutral-white-1000);
263
+ --bg-page-primary: var(--color-neutral-50);
264
+ --bg-page-secondary: var(--color-neutral-100);
265
+ --bg-page-tertiary: var(--color-neutral-200);
266
+ --bg-disabled: var(--color-neutral-100);
267
+ --bg-primary: var(--color-primary-500);
268
+ --bg-primary-tonal: var(--color-primary-100);
269
+ --bg-primary-pressed: var(--color-primary-700);
270
+ --bg-primary-disabled: var(--color-primary-200);
271
+ --bg-primary-dark: var(--color-primary-800);
272
+ --bg-primary-on-hover: var(--color-primary-700);
273
+ --bg-primary-tonal-on-hover: var(--color-primary-200);
274
+ --bg-primary-on-focused: var(--color-primary-600);
275
+ --bg-success: var(--color-green-500);
276
+ --bg-success-tonal: var(--color-success-100);
277
+ --bg-success-dark: var(--color-green-800);
278
+ --bg-success-disabled: var(--color-green-300);
279
+ --bg-success-on-hover: var(--color-green-600);
280
+ --bg-warning: var(--color-warning-500);
281
+ --bg-warning-tonal: var(--color-warning-100);
282
+ --bg-warning-dark: var(--color-warning-800);
283
+ --bg-warning-disabled: var(--color-warning-300);
284
+ --bg-warning-on-hover: var(--color-warning-600);
285
+ --bg-critical: var(--color-critical-500);
286
+ --bg-critical-tonal: var(--color-critical-100);
287
+ --bg-critical-dark: var(--color-critical-800);
288
+ --bg-critical-disabled: var(--color-critical-300);
289
+ --bg-critical-on-hover: var(--color-critical-600);
290
+ --bg-transparent: var(--color-alpha-neutral-white-0);
291
+ --fg-neutral: var(--color-neutral-800);
292
+ --fg-neutral-secondary: var(--color-neutral-700);
293
+ --fg-neutral-tertiary: var(--color-neutral-600);
294
+ --fg-primary: var(--color-primary-500);
295
+ --fg-primary-disabled: var(--color-primary-400);
296
+ --fg-primary-pressed: var(--color-primary-700);
297
+ --fg-primary-on-tonal: var(--color-primary-500);
298
+ --fg-primary-on-focus: var(--color-primary-500);
299
+ --fg-primary-on-hover: var(--color-primary-600);
300
+ --fg-critical: var(--color-critical-500);
301
+ --fg-critical-tonal: var(--color-critical-100);
302
+ --fg-critical-on-tonal: var(--color-critical-500);
303
+ --fg-warning: var(--color-orange-500);
304
+ --fg-warning-on-tonal: var(--color-orange-500);
305
+ --fg-success: var(--color-green-500);
306
+ --fg-success-on-tonal: var(--color-green-500);
307
+ --fg-on-action: var(--color-alpha-neutral-white-1000);
308
+ --fg-white: var(--color-alpha-neutral-white-1000);
309
+ --fg-disabled: var(--color-neutral-300);
310
+ --fg-on-disabled: var(--color-neutral-400);
311
+ --border-strong: var(--color-neutral-800);
312
+ --border-strong-100: var(--color-alpha-neutral-black-100);
313
+ --border-strong-200: var(--color-alpha-neutral-black-200);
314
+ --border-neutral-primary: var(--color-neutral-400);
315
+ --border-neutral-secondary: var(--color-neutral-300);
316
+ --border-neutral-tertiary: var(--color-neutral-200);
317
+ --border-primary: var(--color-primary-500);
318
+ --border-primary-tonal: var(--color-primary-100);
319
+ --border-primary-disabled: var(--color-primary-300);
320
+ --border-primary-on-hover: var(--color-primary-600);
321
+ --border-primary-pressed: var(--color-primary-700);
322
+ --border-critical: var(--color-critical-500);
323
+ --border-critical-tonal: var(--color-critical-100);
324
+ --border-warning: var(--color-orange-500);
325
+ --border-warning-tonal: var(--color-orange-100);
326
+ --border-success: var(--color-green-500);
327
+ --border-success-tonal: var(--color-green-100);
328
+ --border-on-action: var(--color-alpha-neutral-white-1000);
329
+ --border-white: var(--color-alpha-neutral-white-1000);
330
+ --border-disabled: var(--color-neutral-300);
331
+ --static-light-on-dark: var(--color-alpha-neutral-black-1000);
332
+ --static-primary: var(--color-primary-500);
333
+ --static-primary-black: var(--color-primary-900);
334
+ --static-white: var(--color-alpha-neutral-white-1000);
335
+ --static-black: var(--color-alpha-neutral-black-1000);
336
+ --util-overlay-dull: var(--color-alpha-neutral-black-200);
337
+ --util-overlay-light: var(--color-alpha-neutral-black-300);
338
+ --util-overlay-medium: var(--color-alpha-neutral-black-500);
339
+ --util-overlay-strong: var(--color-alpha-neutral-black-700);
340
+ --shadow-none: var(--color-alpha-neutral-black-0);
341
+ --shadow-subtle: var(--color-alpha-neutral-black-100);
342
+ --shadow-normal: var(--color-alpha-neutral-black-200);
343
+ --shadow-medium: var(--color-alpha-neutral-black-300);
344
+ --shadow-strong: var(--color-alpha-neutral-black-400);
345
+ }
346
+
347
+ /* Brand tokens - dark theme */
348
+ [data-theme="dark"] {
349
+ --bg-white: var(--color-neutral-800);
350
+ --bg-page-primary: var(--color-neutral-800);
351
+ --bg-page-secondary: var(--color-neutral-700);
352
+ --bg-page-tertiary: var(--color-neutral-600);
353
+ --bg-disabled: var(--color-neutral-700);
354
+ --bg-primary: var(--color-primary-500);
355
+ --bg-primary-tonal: var(--color-primary-800);
356
+ --bg-primary-pressed: var(--color-primary-700);
357
+ --bg-primary-disabled: var(--color-primary-700);
358
+ --bg-primary-dark: var(--color-primary-100);
359
+ --bg-primary-on-hover: var(--color-primary-400);
360
+ --bg-primary-tonal-on-hover: var(--color-primary-700);
361
+ --bg-primary-on-focused: var(--color-primary-400);
362
+ --bg-success: var(--color-success-500);
363
+ --bg-success-tonal: var(--color-success-800);
364
+ --bg-success-dark: var(--color-success-100);
365
+ --bg-success-disabled: var(--color-success-700);
366
+ --bg-success-on-hover: var(--color-success-400);
367
+ --bg-warning: var(--color-warning-500);
368
+ --bg-warning-tonal: var(--color-warning-800);
369
+ --bg-warning-dark: var(--color-warning-100);
370
+ --bg-warning-disabled: var(--color-warning-700);
371
+ --bg-warning-on-hover: var(--color-warning-400);
372
+ --bg-critical: var(--color-critical-500);
373
+ --bg-critical-tonal: var(--color-critical-800);
374
+ --bg-critical-dark: var(--color-critical-100);
375
+ --bg-critical-disabled: var(--color-critical-700);
376
+ --bg-critical-on-hover: var(--color-critical-400);
377
+ --bg-transparent: var(--color-alpha-neutral-black-0);
378
+ --fg-neutral: var(--color-neutral-100);
379
+ --fg-neutral-secondary: var(--color-neutral-200);
380
+ --fg-neutral-tertiary: var(--color-neutral-300);
381
+ --fg-primary: var(--color-primary-500);
382
+ --fg-primary-disabled: var(--color-primary-700);
383
+ --fg-primary-pressed: var(--color-primary-400);
384
+ --fg-primary-on-tonal: var(--color-primary-300);
385
+ --fg-primary-on-focus: var(--color-primary-500);
386
+ --fg-primary-on-hover: var(--color-primary-400);
387
+ --fg-critical: var(--color-critical-500);
388
+ --fg-critical-tonal: var(--color-critical-800);
389
+ --fg-critical-on-tonal: var(--color-critical-100);
390
+ --fg-warning: var(--color-orange-500);
391
+ --fg-warning-on-tonal: var(--color-orange-100);
392
+ --fg-success: var(--color-green-500);
393
+ --fg-success-on-tonal: var(--color-green-100);
394
+ --fg-on-action: var(--color-alpha-neutral-white-1000);
395
+ --fg-white: var(--color-alpha-neutral-white-1000);
396
+ --fg-disabled: var(--color-neutral-400);
397
+ --fg-on-disabled: var(--color-neutral-300);
398
+ --border-strong: var(--color-alpha-neutral-white-1000);
399
+ --border-strong-100: var(--color-alpha-neutral-white-100);
400
+ --border-strong-200: var(--color-alpha-neutral-white-200);
401
+ --border-neutral-primary: var(--color-neutral-600);
402
+ --border-neutral-secondary: var(--color-neutral-700);
403
+ --border-neutral-tertiary: var(--color-neutral-800);
404
+ --border-primary: var(--color-primary-500);
405
+ --border-primary-tonal: var(--color-primary-800);
406
+ --border-primary-disabled: var(--color-primary-700);
407
+ --border-primary-on-hover: var(--color-primary-400);
408
+ --border-primary-pressed: var(--color-primary-400);
409
+ --border-critical: var(--color-critical-500);
410
+ --border-critical-tonal: var(--color-critical-800);
411
+ --border-warning: var(--color-orange-500);
412
+ --border-warning-tonal: var(--color-orange-800);
413
+ --border-success: var(--color-green-500);
414
+ --border-success-tonal: var(--color-green-800);
415
+ --border-on-action: var(--color-alpha-neutral-white-1000);
416
+ --border-white: var(--color-alpha-neutral-white-1000);
417
+ --border-disabled: var(--color-neutral-700);
418
+ --static-light-on-dark: var(--color-alpha-neutral-black-1000);
419
+ --static-primary: var(--color-primary-500);
420
+ --static-primary-black: var(--color-primary-900);
421
+ --static-white: var(--color-alpha-neutral-white-1000);
422
+ --static-black: var(--color-alpha-neutral-black-1000);
423
+ --util-overlay-dull: var(--color-alpha-neutral-black-200);
424
+ --util-overlay-light: var(--color-alpha-neutral-black-300);
425
+ --util-overlay-medium: var(--color-alpha-neutral-black-500);
426
+ --util-overlay-strong: var(--color-alpha-neutral-black-700);
427
+ --shadow-none: var(--color-alpha-neutral-black-0);
428
+ --shadow-subtle: var(--color-alpha-neutral-black-100);
429
+ --shadow-normal: var(--color-alpha-neutral-black-200);
430
+ --shadow-medium: var(--color-alpha-neutral-black-300);
431
+ --shadow-strong: var(--color-alpha-neutral-black-400);
432
+ }
433
+
434
+ /* Responsive tokens */
435
+ :root {
436
+ --device-width: 1440px;
437
+ --adaptive-set-d96-t80-m32: 96px;
438
+ --adaptive-set-d96-t48-m32: 96px;
439
+ --adaptive-set-d48-t32-m24: 48px;
440
+ --adaptive-set-d64-t80-m32: 64px;
441
+ --adaptive-set-d80-t64-m48: 80px;
442
+ --adaptive-set-d32-t80-m32: 32px;
443
+ --heading-h1-text-size: 64px;
444
+ --fonts-heading-h1-text-size: 64px;
445
+ --heading-h1-paragraph-spacing: 72px;
446
+ --fonts-heading-h1-paragraph-spacing: 72px;
447
+ --heading-h1-line-height: 72px;
448
+ --fonts-heading-h1-line-height: 72px;
449
+ --heading-h2-text-size: 52px;
450
+ --fonts-heading-h2-text-size: 52px;
451
+ --heading-h2-paragraph-spacing: 60px;
452
+ --fonts-heading-h2-paragraph-spacing: 60px;
453
+ --heading-h2-line-height: 60px;
454
+ --fonts-heading-h2-line-height: 60px;
455
+ --heading-h3-text-size: 40px;
456
+ --fonts-heading-h3-text-size: 40px;
457
+ --heading-h3-paragraph-spacing: 48px;
458
+ --fonts-heading-h3-paragraph-spacing: 48px;
459
+ --heading-h3-line-height: 48px;
460
+ --fonts-heading-h3-line-height: 48px;
461
+ --heading-h4-text-size: 32px;
462
+ --fonts-heading-h4-text-size: 32px;
463
+ --heading-h4-paragraph-spacing: 36px;
464
+ --fonts-heading-h4-paragraph-spacing: 36px;
465
+ --heading-h4-line-height: 36px;
466
+ --fonts-heading-h4-line-height: 36px;
467
+ --heading-h5-text-size: 24px;
468
+ --fonts-heading-h5-text-size: 24px;
469
+ --heading-h5-paragraph-spacing: 28px;
470
+ --fonts-heading-h5-paragraph-spacing: 28px;
471
+ --heading-h5-line-height: 28px;
472
+ --fonts-heading-h5-line-height: 28px;
473
+ --heading-h6-text-size: 20px;
474
+ --fonts-heading-h6-text-size: 20px;
475
+ --heading-h6-paragraph-spacing: 24px;
476
+ --fonts-heading-h6-paragraph-spacing: 24px;
477
+ --heading-h6-line-height: 24px;
478
+ --fonts-heading-h6-line-height: 24px;
479
+ --fonts-title-small-text-size: 16px;
480
+ --fonts-title-small-paragraph-spacing: 24px;
481
+ --fonts-title-small-line-height: 24px;
482
+ --fonts-title-regular-text-size: 20px;
483
+ --fonts-title-regular-paragraph-spacing: 26px;
484
+ --fonts-title-regular-line-height: 26px;
485
+ --body-extra-small-text-size: 12px;
486
+ --fonts-body-extra-small-text-size: 12px;
487
+ --body-extra-small-paragraph-spacing: 18px;
488
+ --fonts-body-extra-small-paragraph-spacing: 18px;
489
+ --body-extra-small-line-height: 18px;
490
+ --fonts-body-extra-small-line-height: 18px;
491
+ --body-small-text-size: 14px;
492
+ --fonts-body-small-text-size: 14px;
493
+ --body-small-paragraph-spacing: 20px;
494
+ --fonts-body-small-paragraph-spacing: 20px;
495
+ --body-small-line-height: 20px;
496
+ --fonts-body-small-line-height: 20px;
497
+ --body-regular-text-size: 16px;
498
+ --fonts-body-regular-text-size: 16px;
499
+ --body-regular-paragraph-spacing: 24px;
500
+ --fonts-body-regular-paragraph-spacing: 24px;
501
+ --body-regular-line-height: 24px;
502
+ --fonts-body-regular-line-height: 24px;
503
+ --body-medium-text-size: 20px;
504
+ --fonts-body-medium-text-size: 20px;
505
+ --body-medium-paragraph-spacing: 28px;
506
+ --fonts-body-medium-paragraph-spacing: 28px;
507
+ --body-medium-line-height: 28px;
508
+ --fonts-body-medium-line-height: 28px;
509
+ --menu-width: 224px;
510
+ }
511
+
512
+ @media (max-width: 1024px) {
513
+ :root {
514
+ --device-width: 834px;
515
+ --adaptive-set-d96-t80-m32: 80px;
516
+ --adaptive-set-d96-t48-m32: 48px;
517
+ --adaptive-set-d48-t32-m24: 32px;
518
+ --adaptive-set-d64-t80-m32: 80px;
519
+ --adaptive-set-d80-t64-m48: 64px;
520
+ --adaptive-set-d32-t80-m32: 80px;
521
+ --heading-h1-text-size: 60px;
522
+ --fonts-heading-h1-text-size: 60px;
523
+ --heading-h1-paragraph-spacing: 64px;
524
+ --fonts-heading-h1-paragraph-spacing: 64px;
525
+ --heading-h1-line-height: 64px;
526
+ --fonts-heading-h1-line-height: 64px;
527
+ --heading-h2-text-size: 48px;
528
+ --fonts-heading-h2-text-size: 48px;
529
+ --heading-h2-paragraph-spacing: 56px;
530
+ --fonts-heading-h2-paragraph-spacing: 56px;
531
+ --heading-h2-line-height: 56px;
532
+ --fonts-heading-h2-line-height: 56px;
533
+ --heading-h3-text-size: 36px;
534
+ --fonts-heading-h3-text-size: 36px;
535
+ --heading-h3-paragraph-spacing: 40px;
536
+ --fonts-heading-h3-paragraph-spacing: 40px;
537
+ --heading-h3-line-height: 40px;
538
+ --fonts-heading-h3-line-height: 40px;
539
+ --heading-h4-text-size: 32px;
540
+ --fonts-heading-h4-text-size: 32px;
541
+ --heading-h4-paragraph-spacing: 36px;
542
+ --fonts-heading-h4-paragraph-spacing: 36px;
543
+ --heading-h4-line-height: 36px;
544
+ --fonts-heading-h4-line-height: 36px;
545
+ --heading-h5-text-size: 24px;
546
+ --fonts-heading-h5-text-size: 24px;
547
+ --heading-h5-paragraph-spacing: 28px;
548
+ --fonts-heading-h5-paragraph-spacing: 28px;
549
+ --heading-h5-line-height: 28px;
550
+ --fonts-heading-h5-line-height: 28px;
551
+ --heading-h6-text-size: 20px;
552
+ --fonts-heading-h6-text-size: 20px;
553
+ --heading-h6-paragraph-spacing: 24px;
554
+ --fonts-heading-h6-paragraph-spacing: 24px;
555
+ --heading-h6-line-height: 24px;
556
+ --fonts-heading-h6-line-height: 24px;
557
+ --fonts-title-small-text-size: 16px;
558
+ --fonts-title-small-paragraph-spacing: 24px;
559
+ --fonts-title-small-line-height: 24px;
560
+ --fonts-title-regular-text-size: 20px;
561
+ --fonts-title-regular-paragraph-spacing: 26px;
562
+ --fonts-title-regular-line-height: 26px;
563
+ --body-extra-small-text-size: 12px;
564
+ --fonts-body-extra-small-text-size: 12px;
565
+ --body-extra-small-paragraph-spacing: 18px;
566
+ --fonts-body-extra-small-paragraph-spacing: 18px;
567
+ --body-extra-small-line-height: 18px;
568
+ --fonts-body-extra-small-line-height: 18px;
569
+ --body-small-text-size: 14px;
570
+ --fonts-body-small-text-size: 14px;
571
+ --body-small-paragraph-spacing: 20px;
572
+ --fonts-body-small-paragraph-spacing: 20px;
573
+ --body-small-line-height: 20px;
574
+ --fonts-body-small-line-height: 20px;
575
+ --body-regular-text-size: 16px;
576
+ --fonts-body-regular-text-size: 16px;
577
+ --body-regular-paragraph-spacing: 24px;
578
+ --fonts-body-regular-paragraph-spacing: 24px;
579
+ --body-regular-line-height: 24px;
580
+ --fonts-body-regular-line-height: 24px;
581
+ --body-medium-text-size: 20px;
582
+ --fonts-body-medium-text-size: 20px;
583
+ --body-medium-paragraph-spacing: 28px;
584
+ --fonts-body-medium-paragraph-spacing: 28px;
585
+ --body-medium-line-height: 28px;
586
+ --fonts-body-medium-line-height: 28px;
587
+ --menu-width: var(--device-width);
588
+ }
589
+ }
590
+
591
+ @media (max-width: 768px) {
592
+ :root {
593
+ --device-width: 430px;
594
+ --adaptive-set-d96-t80-m32: 32px;
595
+ --adaptive-set-d96-t48-m32: 32px;
596
+ --adaptive-set-d48-t32-m24: 24px;
597
+ --adaptive-set-d64-t80-m32: 32px;
598
+ --adaptive-set-d80-t64-m48: 48px;
599
+ --adaptive-set-d32-t80-m32: 32px;
600
+ --heading-h1-text-size: 48px;
601
+ --fonts-heading-h1-text-size: 48px;
602
+ --heading-h1-paragraph-spacing: 56px;
603
+ --fonts-heading-h1-paragraph-spacing: 56px;
604
+ --heading-h1-line-height: 56px;
605
+ --fonts-heading-h1-line-height: 56px;
606
+ --heading-h2-text-size: 40px;
607
+ --fonts-heading-h2-text-size: 40px;
608
+ --heading-h2-paragraph-spacing: 48px;
609
+ --fonts-heading-h2-paragraph-spacing: 48px;
610
+ --heading-h2-line-height: 48px;
611
+ --fonts-heading-h2-line-height: 48px;
612
+ --heading-h3-text-size: 32px;
613
+ --fonts-heading-h3-text-size: 32px;
614
+ --heading-h3-paragraph-spacing: 36px;
615
+ --fonts-heading-h3-paragraph-spacing: 36px;
616
+ --heading-h3-line-height: 36px;
617
+ --fonts-heading-h3-line-height: 36px;
618
+ --heading-h4-text-size: 28px;
619
+ --fonts-heading-h4-text-size: 28px;
620
+ --heading-h4-paragraph-spacing: 32px;
621
+ --fonts-heading-h4-paragraph-spacing: 32px;
622
+ --heading-h4-line-height: 32px;
623
+ --fonts-heading-h4-line-height: 32px;
624
+ --heading-h5-text-size: 24px;
625
+ --fonts-heading-h5-text-size: 24px;
626
+ --heading-h5-paragraph-spacing: 28px;
627
+ --fonts-heading-h5-paragraph-spacing: 28px;
628
+ --heading-h5-line-height: 28px;
629
+ --fonts-heading-h5-line-height: 28px;
630
+ --heading-h6-text-size: 20px;
631
+ --fonts-heading-h6-text-size: 20px;
632
+ --heading-h6-paragraph-spacing: 24px;
633
+ --fonts-heading-h6-paragraph-spacing: 24px;
634
+ --heading-h6-line-height: 24px;
635
+ --fonts-heading-h6-line-height: 24px;
636
+ --fonts-title-small-text-size: 16px;
637
+ --fonts-title-small-paragraph-spacing: 24px;
638
+ --fonts-title-small-line-height: 24px;
639
+ --fonts-title-regular-text-size: 20px;
640
+ --fonts-title-regular-paragraph-spacing: 26px;
641
+ --fonts-title-regular-line-height: 26px;
642
+ --body-extra-small-text-size: 12px;
643
+ --fonts-body-extra-small-text-size: 12px;
644
+ --body-extra-small-paragraph-spacing: 18px;
645
+ --fonts-body-extra-small-paragraph-spacing: 18px;
646
+ --body-extra-small-line-height: 18px;
647
+ --fonts-body-extra-small-line-height: 18px;
648
+ --body-small-text-size: 14px;
649
+ --fonts-body-small-text-size: 14px;
650
+ --body-small-paragraph-spacing: 20px;
651
+ --fonts-body-small-paragraph-spacing: 20px;
652
+ --body-small-line-height: 20px;
653
+ --fonts-body-small-line-height: 20px;
654
+ --body-regular-text-size: 16px;
655
+ --fonts-body-regular-text-size: 16px;
656
+ --body-regular-paragraph-spacing: 24px;
657
+ --fonts-body-regular-paragraph-spacing: 24px;
658
+ --body-regular-line-height: 24px;
659
+ --fonts-body-regular-line-height: 24px;
660
+ --body-medium-text-size: 20px;
661
+ --fonts-body-medium-text-size: 20px;
662
+ --body-medium-paragraph-spacing: 28px;
663
+ --fonts-body-medium-paragraph-spacing: 28px;
664
+ --body-medium-line-height: 28px;
665
+ --fonts-body-medium-line-height: 28px;
666
+ --menu-width: var(--device-width);
667
+ }
668
+ }
669
+
670
+ /* Effect tokens - shadows */
671
+ :root {
672
+ --drop-shadow-0: 0px 2px 12px 0px var(--shadow-none);
673
+ --drop-shadow-50: 0px 1px 8px -2px var(--shadow-subtle), 0px 1px 8px -8px var(--shadow-subtle);
674
+ --drop-shadow-100: 0px 1px 4px 0px var(--shadow-subtle), 0px 1px 4px -2px var(--shadow-subtle);
675
+ --drop-shadow-200: 0px -4px 9px -6px var(--shadow-subtle), 0px 4px 6px -2px var(--shadow-subtle);
676
+ --drop-shadow-300: 0px -6px 16px -8px var(--shadow-subtle), 0px 4px 6px 0px var(--shadow-subtle);
677
+ --drop-shadow-400: 0px 12px 42px -4px var(--shadow-subtle), 0px 8px 18px -6px var(--shadow-subtle);
678
+ --drop-shadow-500: 0px 18px 88px -4px var(--shadow-subtle), 0px 8px 28px -6px var(--shadow-subtle);
679
+ }
680
+
681
+ /* Typography tokens */
682
+ :root {
683
+ /* Font families mapped from primitives */
684
+ --font-primary: var(--fonts-ibm-plex-serif-style-ibm-plex-serif), serif;
685
+ --font-secondary: var(--fonts-dm-sans-style-dm-sans), sans-serif;
686
+
687
+ /* Font weight tokens mapped from primitives */
688
+ --font-weight-regular: var(--fonts-dm-sans-weight-regular);
689
+ --font-weight-medium: var(--fonts-dm-sans-weight-medium);
690
+ --font-weight-semibold: var(--fonts-dm-sans-weight-semibold);
691
+ --font-weight-bold: var(--fonts-dm-sans-weight-bold);
692
+ --font-weight-primary-regular: var(--fonts-ibm-plex-serif-weight-regular);
693
+ --font-weight-primary-medium: var(--fonts-ibm-plex-serif-weight-medium);
694
+ --font-weight-primary-semibold: var(--fonts-ibm-plex-serif-weight-semibold);
695
+ --font-weight-primary-bold: var(--font-weight-bold);
696
+ --font-weight-secondary-regular: var(--fonts-dm-sans-weight-regular);
697
+ --font-weight-secondary-medium: var(--fonts-dm-sans-weight-medium);
698
+ --font-weight-secondary-semibold: var(--fonts-dm-sans-weight-semibold);
699
+ --font-weight-secondary-bold: var(--fonts-dm-sans-weight-bold);
700
+ }
701
+
702
+ /* Typography utility classes */
703
+ .text-title-small {
704
+ font-family: var(--font-secondary);
705
+ font-weight: var(--font-weight-secondary-bold);
706
+ font-size: var(--fonts-title-small-text-size);
707
+ line-height: var(--fonts-title-small-line-height);
708
+ }
709
+ .text-title-regular {
710
+ font-family: var(--font-secondary);
711
+ font-weight: var(--font-weight-secondary-bold);
712
+ font-size: var(--fonts-title-regular-text-size);
713
+ line-height: var(--fonts-title-regular-line-height);
714
+ }
715
+ .text-heading-h1 {
716
+ font-family: var(--font-primary);
717
+ font-weight: var(--font-weight-primary-semibold);
718
+ text-transform: capitalize;
719
+ font-size: var(--fonts-heading-h1-text-size);
720
+ line-height: var(--fonts-heading-h1-line-height);
721
+ }
722
+ .text-heading-h2 {
723
+ font-family: var(--font-primary);
724
+ font-weight: var(--font-weight-primary-semibold);
725
+ text-transform: capitalize;
726
+ font-size: var(--fonts-heading-h2-text-size);
727
+ line-height: var(--fonts-heading-h2-line-height);
728
+ }
729
+ .text-heading-h3 {
730
+ font-family: var(--font-primary);
731
+ font-weight: var(--font-weight-primary-semibold);
732
+ text-transform: capitalize;
733
+ font-size: var(--fonts-heading-h3-text-size);
734
+ line-height: var(--fonts-heading-h3-line-height);
735
+ }
736
+ .text-heading-h4 {
737
+ font-family: var(--font-secondary);
738
+ font-weight: var(--font-weight-secondary-semibold);
739
+ text-transform: capitalize;
740
+ font-size: var(--fonts-heading-h4-text-size);
741
+ line-height: var(--fonts-heading-h4-line-height);
742
+ }
743
+ .text-heading-h5 {
744
+ font-family: var(--font-secondary);
745
+ font-weight: var(--font-weight-secondary-semibold);
746
+ text-transform: capitalize;
747
+ font-size: var(--fonts-heading-h5-text-size);
748
+ line-height: var(--fonts-heading-h5-line-height);
749
+ }
750
+ .text-heading-h6 {
751
+ font-family: var(--font-secondary);
752
+ font-weight: var(--font-weight-secondary-semibold);
753
+ text-transform: capitalize;
754
+ font-size: var(--fonts-heading-h6-text-size);
755
+ line-height: var(--fonts-heading-h6-line-height);
756
+ }
757
+ .text-body1-regular {
758
+ font-family: var(--font-secondary);
759
+ font-weight: var(--font-weight-secondary-regular);
760
+ font-size: var(--fonts-body-extra-small-text-size);
761
+ line-height: var(--fonts-body-extra-small-line-height);
762
+ }
763
+ .text-body1-medium {
764
+ font-family: var(--font-secondary);
765
+ font-weight: var(--font-weight-secondary-medium);
766
+ font-size: var(--fonts-body-extra-small-text-size);
767
+ line-height: var(--fonts-body-extra-small-line-height);
768
+ }
769
+ .text-body2-regular {
770
+ font-family: var(--font-secondary);
771
+ font-weight: var(--font-weight-secondary-regular);
772
+ font-size: var(--fonts-body-small-text-size);
773
+ line-height: var(--fonts-body-small-line-height);
774
+ }
775
+ .text-body2-medium {
776
+ font-family: var(--font-secondary);
777
+ font-weight: var(--font-weight-secondary-medium);
778
+ font-size: var(--fonts-body-small-text-size);
779
+ line-height: var(--fonts-body-small-line-height);
780
+ }
781
+ .text-body3-regular {
782
+ font-family: var(--font-secondary);
783
+ font-weight: var(--font-weight-secondary-regular);
784
+ font-size: var(--fonts-body-regular-text-size);
785
+ line-height: var(--fonts-body-regular-line-height);
786
+ }
787
+ .text-body3-medium {
788
+ font-family: var(--font-secondary);
789
+ font-weight: var(--font-weight-secondary-medium);
790
+ font-size: var(--fonts-body-regular-text-size);
791
+ line-height: var(--fonts-body-regular-line-height);
792
+ }
793
+ .text-body4-regular {
794
+ font-family: var(--font-secondary);
795
+ font-weight: var(--font-weight-secondary-regular);
796
+ font-size: var(--fonts-body-medium-text-size);
797
+ line-height: var(--fonts-body-medium-line-height);
798
+ }
799
+ .text-body4-medium {
800
+ font-family: var(--font-secondary);
801
+ font-weight: var(--font-weight-secondary-medium);
802
+ font-size: var(--fonts-body-medium-text-size);
803
+ line-height: var(--fonts-body-medium-line-height);
804
+ }