@mortenbrudvik/waveui 0.16.0 → 0.17.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 (40) hide show
  1. package/README.md +66 -17
  2. package/dist/components/input/Label.cjs +1 -1
  3. package/dist/components/input/Label.cjs.map +1 -1
  4. package/dist/components/input/Label.mjs +1 -0
  5. package/dist/components/input/Label.mjs.map +1 -1
  6. package/dist/components/portal/Portal.cjs +1 -1
  7. package/dist/components/portal/Portal.cjs.map +1 -1
  8. package/dist/components/portal/Portal.mjs +12 -11
  9. package/dist/components/portal/Portal.mjs.map +1 -1
  10. package/dist/components/provider/WaveProvider.cjs +1 -1
  11. package/dist/components/provider/WaveProvider.cjs.map +1 -1
  12. package/dist/components/provider/WaveProvider.mjs +59 -35
  13. package/dist/components/provider/WaveProvider.mjs.map +1 -1
  14. package/dist/components/typography/Text.cjs +1 -1
  15. package/dist/components/typography/Text.cjs.map +1 -1
  16. package/dist/components/typography/Text.mjs +11 -7
  17. package/dist/components/typography/Text.mjs.map +1 -1
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.d.cts +257 -10
  20. package/dist/index.d.ts +257 -10
  21. package/dist/index.mjs +143 -140
  22. package/dist/lib/brand.cjs +2 -0
  23. package/dist/lib/brand.cjs.map +1 -0
  24. package/dist/lib/brand.mjs +358 -0
  25. package/dist/lib/brand.mjs.map +1 -0
  26. package/dist/lib/cn.cjs +1 -1
  27. package/dist/lib/cn.cjs.map +1 -1
  28. package/dist/lib/cn.mjs +5 -1
  29. package/dist/lib/cn.mjs.map +1 -1
  30. package/dist/lib/tokens.cjs +2 -0
  31. package/dist/lib/tokens.cjs.map +1 -0
  32. package/dist/lib/tokens.mjs +43 -0
  33. package/dist/lib/tokens.mjs.map +1 -0
  34. package/dist/lib/waveTokens.cjs +2 -0
  35. package/dist/lib/waveTokens.cjs.map +1 -0
  36. package/dist/lib/waveTokens.mjs +24 -0
  37. package/dist/lib/waveTokens.mjs.map +1 -0
  38. package/dist/styles.css +1 -1
  39. package/package.json +3 -1
  40. package/src/styles/tokens.css +210 -10
@@ -7,6 +7,27 @@
7
7
  * `.dark` and `.high-contrast` are deprecated aliases; they set only `--wave-*` variables.
8
8
  * - Every theme group declares every token, including the derived ones, so a nested theme
9
9
  * re-resolves all of them.
10
+ * - Shadows are per-theme tokens too: `--wave-shadow-{2,4,8,16,28,64}` in each theme group, and the
11
+ * `shadow-N` utilities alias them (`--shadow-4: var(--wave-shadow-4)`). Light keeps Fluent's ambient
12
+ * 0.12 / key 0.14; dark and high contrast use 0.24 / 0.28 with the same offsets and blurs.
13
+ * - Persona palette: 12 hues (`red`, `pumpkin`, `gold`, `forest`, `teal`, `blue`, `navy`,
14
+ * `lavender`, `purple`, `magenta`, `brown`, `steel`; Avatar `color`, chart series), each with
15
+ * five tokens in every theme group, Fluent's persona roles (Background2, Foreground2,
16
+ * BorderActive) in the grammar of the status tints:
17
+ *
18
+ * token role contrast
19
+ * --wave-palette-<hue> strong fill 3:1 on background
20
+ * --wave-palette-<hue>-foreground text on the fill 4.5:1 on the fill
21
+ * --wave-palette-<hue>-tint surface (light; dark in dark) -
22
+ * --wave-palette-<hue>-tint-foreground text and icons on the tint, 4.5:1 on the tint,
23
+ * the page and cards background and card
24
+ * --wave-palette-<hue>-border the hue's stroke (the fill) 3:1 on background
25
+ * and on the tint
26
+ *
27
+ * Light tints are the light fill mixed 70% toward white and dark tints the light fill mixed 40%
28
+ * toward black (Fluent's tint40 and shade30 of a hue); each tint foreground is its theme's fill
29
+ * mixed toward black (light) or white (dark) until it is 4.6:1 on its three surfaces. High
30
+ * contrast collapses every hue: fill, tint foreground and border white, foreground and tint black.
10
31
  * - To override a semantic token, target the theme selector: `:root, .wave-light { --wave-primary: … }`.
11
32
  * To re-brand, override the ramp on `:root` (`--wave-brand-80`, or the 0.4 name `--brand-80`).
12
33
  * - Contrast ratios of every pair, and of every text token on every surface it can sit on (4.5:1,
@@ -21,6 +42,10 @@
21
42
  --wave-font-family:
22
43
  'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto,
23
44
  'Helvetica Neue', sans-serif;
45
+ --wave-font-family-monospace: Consolas, 'Courier New', Courier, monospace;
46
+ --wave-font-family-numeric:
47
+ Bahnschrift, 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont,
48
+ Roboto, 'Helvetica Neue', sans-serif;
24
49
 
25
50
  --wave-z-overlay: 1000;
26
51
  --wave-z-toast: 1100;
@@ -184,33 +209,78 @@
184
209
  --wave-presence-oof: #b4009e;
185
210
  --wave-presence-glyph: #ffffff;
186
211
 
187
- /* Persona palette: avatar colors (Avatar `color`), each with its text color */
212
+ /* Persona palette (the table in the file header): avatar colors (Avatar `color`), each with its
213
+ text color, its tint with the tint's text color, and its border */
188
214
  --wave-palette-red: #c50f1f;
189
215
  --wave-palette-red-foreground: #ffffff;
216
+ --wave-palette-red-tint: #eeb7bc;
217
+ --wave-palette-red-tint-foreground: #a30c1a;
218
+ --wave-palette-red-border: var(--wave-palette-red);
190
219
  --wave-palette-pumpkin: #b5470a;
191
220
  --wave-palette-pumpkin-foreground: #ffffff;
221
+ --wave-palette-pumpkin-tint: #e9c8b6;
222
+ --wave-palette-pumpkin-tint-foreground: #953b08;
223
+ --wave-palette-pumpkin-border: var(--wave-palette-pumpkin);
192
224
  --wave-palette-gold: #8a6200;
193
225
  --wave-palette-gold-foreground: #ffffff;
226
+ --wave-palette-gold-tint: #dcd0b3;
227
+ --wave-palette-gold-tint-foreground: #745300;
228
+ --wave-palette-gold-border: var(--wave-palette-gold);
194
229
  --wave-palette-forest: #107c10;
195
230
  --wave-palette-forest-foreground: #ffffff;
231
+ --wave-palette-forest-tint: #b7d8b7;
232
+ --wave-palette-forest-tint-foreground: #0d660d;
233
+ --wave-palette-forest-border: var(--wave-palette-forest);
196
234
  --wave-palette-teal: #0a6b6b;
197
235
  --wave-palette-teal-foreground: #ffffff;
236
+ --wave-palette-teal-tint: #b6d3d3;
237
+ --wave-palette-teal-tint-foreground: #096060;
238
+ --wave-palette-teal-border: var(--wave-palette-teal);
198
239
  --wave-palette-blue: #0f6cbd;
199
240
  --wave-palette-blue-foreground: #ffffff;
241
+ --wave-palette-blue-tint: #b7d3eb;
242
+ --wave-palette-blue-tint-foreground: #0c599c;
243
+ --wave-palette-blue-border: var(--wave-palette-blue);
200
244
  --wave-palette-navy: #103a73;
201
245
  --wave-palette-navy-foreground: #ffffff;
246
+ --wave-palette-navy-tint: #b7c4d5;
247
+ --wave-palette-navy-tint-foreground: #103a73;
248
+ --wave-palette-navy-border: var(--wave-palette-navy);
202
249
  --wave-palette-lavender: #6a5cb8;
203
250
  --wave-palette-lavender-foreground: #ffffff;
251
+ --wave-palette-lavender-tint: #d2ceea;
252
+ --wave-palette-lavender-tint-foreground: #594e9b;
253
+ --wave-palette-lavender-border: var(--wave-palette-lavender);
204
254
  --wave-palette-purple: #5c2e91;
205
255
  --wave-palette-purple-foreground: #ffffff;
256
+ --wave-palette-purple-tint: #cec0de;
257
+ --wave-palette-purple-tint-foreground: #5c2e91;
258
+ --wave-palette-purple-border: var(--wave-palette-purple);
206
259
  --wave-palette-magenta: #b4009e;
207
260
  --wave-palette-magenta-foreground: #ffffff;
261
+ --wave-palette-magenta-tint: #e9b3e2;
262
+ --wave-palette-magenta-tint-foreground: #950083;
263
+ --wave-palette-magenta-border: var(--wave-palette-magenta);
208
264
  --wave-palette-brown: #8e562e;
209
265
  --wave-palette-brown-foreground: #ffffff;
266
+ --wave-palette-brown-tint: #ddccc0;
267
+ --wave-palette-brown-tint-foreground: #7d4b28;
268
+ --wave-palette-brown-border: var(--wave-palette-brown);
210
269
  --wave-palette-steel: #4f7391;
211
270
  --wave-palette-steel-foreground: #ffffff;
271
+ --wave-palette-steel-tint: #cad5de;
272
+ --wave-palette-steel-tint-foreground: #405d76;
273
+ --wave-palette-steel-border: var(--wave-palette-steel);
212
274
  --wave-backdrop: rgb(0 0 0 / 0.4);
213
275
 
276
+ /* Elevation: Fluent's ambient 0.12 / key 0.14 shadows, the 0.16 literals */
277
+ --wave-shadow-2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
278
+ --wave-shadow-4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
279
+ --wave-shadow-8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
280
+ --wave-shadow-16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
281
+ --wave-shadow-28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.14);
282
+ --wave-shadow-64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14);
283
+
214
284
  /* Derived (re-declared per theme so nested themes re-resolve them) */
215
285
  --wave-card-foreground: var(--wave-foreground);
216
286
  --wave-secondary-foreground: var(--wave-foreground);
@@ -307,33 +377,80 @@
307
377
  --wave-presence-oof: #d696c8;
308
378
  --wave-presence-glyph: #000000;
309
379
 
310
- /* Persona palette: avatar colors (Avatar `color`), each with its text color */
380
+ /* Persona palette (the table in the file header): avatar colors (Avatar `color`), each with its
381
+ text color, its tint with the tint's text color, and its border. The tints are the light
382
+ fills shaded (deep and saturated, as Fluent's dark persona backgrounds); a tint foreground
383
+ equal to its fill already reaches 4.6:1 on its three surfaces. */
311
384
  --wave-palette-red: #f48a94;
312
385
  --wave-palette-red-foreground: #000000;
386
+ --wave-palette-red-tint: #760913;
387
+ --wave-palette-red-tint-foreground: #f48a94;
388
+ --wave-palette-red-border: var(--wave-palette-red);
313
389
  --wave-palette-pumpkin: #f2a46b;
314
390
  --wave-palette-pumpkin-foreground: #000000;
391
+ --wave-palette-pumpkin-tint: #6d2b06;
392
+ --wave-palette-pumpkin-tint-foreground: #f2a46b;
393
+ --wave-palette-pumpkin-border: var(--wave-palette-pumpkin);
315
394
  --wave-palette-gold: #f7b538;
316
395
  --wave-palette-gold-foreground: #000000;
396
+ --wave-palette-gold-tint: #533b00;
397
+ --wave-palette-gold-tint-foreground: #f7b538;
398
+ --wave-palette-gold-border: var(--wave-palette-gold);
317
399
  --wave-palette-forest: #6fcf6f;
318
400
  --wave-palette-forest-foreground: #000000;
401
+ --wave-palette-forest-tint: #0a4a0a;
402
+ --wave-palette-forest-tint-foreground: #6fcf6f;
403
+ --wave-palette-forest-border: var(--wave-palette-forest);
319
404
  --wave-palette-teal: #4cc2c2;
320
405
  --wave-palette-teal-foreground: #000000;
406
+ --wave-palette-teal-tint: #064040;
407
+ --wave-palette-teal-tint-foreground: #4cc2c2;
408
+ --wave-palette-teal-border: var(--wave-palette-teal);
321
409
  --wave-palette-blue: #479ef5;
322
410
  --wave-palette-blue-foreground: #000000;
411
+ --wave-palette-blue-tint: #094171;
412
+ --wave-palette-blue-tint-foreground: #6ab1f7;
413
+ --wave-palette-blue-border: var(--wave-palette-blue);
323
414
  --wave-palette-navy: #7fa7e0;
324
415
  --wave-palette-navy-foreground: #000000;
416
+ --wave-palette-navy-tint: #0a2345;
417
+ --wave-palette-navy-tint-foreground: #7fa7e0;
418
+ --wave-palette-navy-border: var(--wave-palette-navy);
325
419
  --wave-palette-lavender: #b4a7f0;
326
420
  --wave-palette-lavender-foreground: #000000;
421
+ --wave-palette-lavender-tint: #40376e;
422
+ --wave-palette-lavender-tint-foreground: #b4a7f0;
423
+ --wave-palette-lavender-border: var(--wave-palette-lavender);
327
424
  --wave-palette-purple: #c8a6f0;
328
425
  --wave-palette-purple-foreground: #000000;
426
+ --wave-palette-purple-tint: #371c57;
427
+ --wave-palette-purple-tint-foreground: #c8a6f0;
428
+ --wave-palette-purple-border: var(--wave-palette-purple);
329
429
  --wave-palette-magenta: #ec8fdc;
330
430
  --wave-palette-magenta-foreground: #000000;
431
+ --wave-palette-magenta-tint: #6c005f;
432
+ --wave-palette-magenta-tint-foreground: #ec8fdc;
433
+ --wave-palette-magenta-border: var(--wave-palette-magenta);
331
434
  --wave-palette-brown: #d4a373;
332
435
  --wave-palette-brown-foreground: #000000;
436
+ --wave-palette-brown-tint: #55341c;
437
+ --wave-palette-brown-tint-foreground: #d4a373;
438
+ --wave-palette-brown-border: var(--wave-palette-brown);
333
439
  --wave-palette-steel: #9fb8cc;
334
440
  --wave-palette-steel-foreground: #000000;
441
+ --wave-palette-steel-tint: #2f4557;
442
+ --wave-palette-steel-tint-foreground: #9fb8cc;
443
+ --wave-palette-steel-border: var(--wave-palette-steel);
335
444
  --wave-backdrop: rgb(0 0 0 / 0.5);
336
445
 
446
+ /* Elevation: Fluent's dark shadows, ambient 0.24 / key 0.28 (the same offsets and blurs) */
447
+ --wave-shadow-2: 0 0 2px rgba(0, 0, 0, 0.24), 0 1px 2px rgba(0, 0, 0, 0.28);
448
+ --wave-shadow-4: 0 0 2px rgba(0, 0, 0, 0.24), 0 2px 4px rgba(0, 0, 0, 0.28);
449
+ --wave-shadow-8: 0 0 2px rgba(0, 0, 0, 0.24), 0 4px 8px rgba(0, 0, 0, 0.28);
450
+ --wave-shadow-16: 0 0 2px rgba(0, 0, 0, 0.24), 0 8px 16px rgba(0, 0, 0, 0.28);
451
+ --wave-shadow-28: 0 0 8px rgba(0, 0, 0, 0.24), 0 14px 28px rgba(0, 0, 0, 0.28);
452
+ --wave-shadow-64: 0 0 8px rgba(0, 0, 0, 0.24), 0 32px 64px rgba(0, 0, 0, 0.28);
453
+
337
454
  /* Derived (re-declared per theme so nested themes re-resolve them) */
338
455
  --wave-card-foreground: var(--wave-foreground);
339
456
  --wave-secondary-foreground: var(--wave-foreground);
@@ -430,33 +547,78 @@
430
547
  --wave-presence-oof: #ff80ff;
431
548
  --wave-presence-glyph: #000000;
432
549
 
433
- /* Persona palette: avatar colors (Avatar `color`), each with its text color */
550
+ /* Persona palette (the table in the file header): every hue collapses to black and white, like
551
+ Fluent's high-contrast palette, so colour never tells two hues apart here */
434
552
  --wave-palette-red: #ffffff;
435
553
  --wave-palette-red-foreground: #000000;
554
+ --wave-palette-red-tint: #000000;
555
+ --wave-palette-red-tint-foreground: #ffffff;
556
+ --wave-palette-red-border: var(--wave-palette-red);
436
557
  --wave-palette-pumpkin: #ffffff;
437
558
  --wave-palette-pumpkin-foreground: #000000;
559
+ --wave-palette-pumpkin-tint: #000000;
560
+ --wave-palette-pumpkin-tint-foreground: #ffffff;
561
+ --wave-palette-pumpkin-border: var(--wave-palette-pumpkin);
438
562
  --wave-palette-gold: #ffffff;
439
563
  --wave-palette-gold-foreground: #000000;
564
+ --wave-palette-gold-tint: #000000;
565
+ --wave-palette-gold-tint-foreground: #ffffff;
566
+ --wave-palette-gold-border: var(--wave-palette-gold);
440
567
  --wave-palette-forest: #ffffff;
441
568
  --wave-palette-forest-foreground: #000000;
569
+ --wave-palette-forest-tint: #000000;
570
+ --wave-palette-forest-tint-foreground: #ffffff;
571
+ --wave-palette-forest-border: var(--wave-palette-forest);
442
572
  --wave-palette-teal: #ffffff;
443
573
  --wave-palette-teal-foreground: #000000;
574
+ --wave-palette-teal-tint: #000000;
575
+ --wave-palette-teal-tint-foreground: #ffffff;
576
+ --wave-palette-teal-border: var(--wave-palette-teal);
444
577
  --wave-palette-blue: #ffffff;
445
578
  --wave-palette-blue-foreground: #000000;
579
+ --wave-palette-blue-tint: #000000;
580
+ --wave-palette-blue-tint-foreground: #ffffff;
581
+ --wave-palette-blue-border: var(--wave-palette-blue);
446
582
  --wave-palette-navy: #ffffff;
447
583
  --wave-palette-navy-foreground: #000000;
584
+ --wave-palette-navy-tint: #000000;
585
+ --wave-palette-navy-tint-foreground: #ffffff;
586
+ --wave-palette-navy-border: var(--wave-palette-navy);
448
587
  --wave-palette-lavender: #ffffff;
449
588
  --wave-palette-lavender-foreground: #000000;
589
+ --wave-palette-lavender-tint: #000000;
590
+ --wave-palette-lavender-tint-foreground: #ffffff;
591
+ --wave-palette-lavender-border: var(--wave-palette-lavender);
450
592
  --wave-palette-purple: #ffffff;
451
593
  --wave-palette-purple-foreground: #000000;
594
+ --wave-palette-purple-tint: #000000;
595
+ --wave-palette-purple-tint-foreground: #ffffff;
596
+ --wave-palette-purple-border: var(--wave-palette-purple);
452
597
  --wave-palette-magenta: #ffffff;
453
598
  --wave-palette-magenta-foreground: #000000;
599
+ --wave-palette-magenta-tint: #000000;
600
+ --wave-palette-magenta-tint-foreground: #ffffff;
601
+ --wave-palette-magenta-border: var(--wave-palette-magenta);
454
602
  --wave-palette-brown: #ffffff;
455
603
  --wave-palette-brown-foreground: #000000;
604
+ --wave-palette-brown-tint: #000000;
605
+ --wave-palette-brown-tint-foreground: #ffffff;
606
+ --wave-palette-brown-border: var(--wave-palette-brown);
456
607
  --wave-palette-steel: #ffffff;
457
608
  --wave-palette-steel-foreground: #000000;
609
+ --wave-palette-steel-tint: #000000;
610
+ --wave-palette-steel-tint-foreground: #ffffff;
611
+ --wave-palette-steel-border: var(--wave-palette-steel);
458
612
  --wave-backdrop: rgb(0 0 0 / 0.8);
459
613
 
614
+ /* Elevation: as dark */
615
+ --wave-shadow-2: 0 0 2px rgba(0, 0, 0, 0.24), 0 1px 2px rgba(0, 0, 0, 0.28);
616
+ --wave-shadow-4: 0 0 2px rgba(0, 0, 0, 0.24), 0 2px 4px rgba(0, 0, 0, 0.28);
617
+ --wave-shadow-8: 0 0 2px rgba(0, 0, 0, 0.24), 0 4px 8px rgba(0, 0, 0, 0.28);
618
+ --wave-shadow-16: 0 0 2px rgba(0, 0, 0, 0.24), 0 8px 16px rgba(0, 0, 0, 0.28);
619
+ --wave-shadow-28: 0 0 8px rgba(0, 0, 0, 0.24), 0 14px 28px rgba(0, 0, 0, 0.28);
620
+ --wave-shadow-64: 0 0 8px rgba(0, 0, 0, 0.24), 0 32px 64px rgba(0, 0, 0, 0.28);
621
+
460
622
  /* Derived (re-declared per theme so nested themes re-resolve them) */
461
623
  --wave-card-foreground: var(--wave-foreground);
462
624
  --wave-secondary-foreground: var(--wave-foreground);
@@ -553,28 +715,64 @@
553
715
  --color-presence-glyph: var(--wave-presence-glyph);
554
716
  --color-palette-red: var(--wave-palette-red);
555
717
  --color-palette-red-foreground: var(--wave-palette-red-foreground);
718
+ --color-palette-red-tint: var(--wave-palette-red-tint);
719
+ --color-palette-red-tint-foreground: var(--wave-palette-red-tint-foreground);
720
+ --color-palette-red-border: var(--wave-palette-red-border);
556
721
  --color-palette-pumpkin: var(--wave-palette-pumpkin);
557
722
  --color-palette-pumpkin-foreground: var(--wave-palette-pumpkin-foreground);
723
+ --color-palette-pumpkin-tint: var(--wave-palette-pumpkin-tint);
724
+ --color-palette-pumpkin-tint-foreground: var(--wave-palette-pumpkin-tint-foreground);
725
+ --color-palette-pumpkin-border: var(--wave-palette-pumpkin-border);
558
726
  --color-palette-gold: var(--wave-palette-gold);
559
727
  --color-palette-gold-foreground: var(--wave-palette-gold-foreground);
728
+ --color-palette-gold-tint: var(--wave-palette-gold-tint);
729
+ --color-palette-gold-tint-foreground: var(--wave-palette-gold-tint-foreground);
730
+ --color-palette-gold-border: var(--wave-palette-gold-border);
560
731
  --color-palette-forest: var(--wave-palette-forest);
561
732
  --color-palette-forest-foreground: var(--wave-palette-forest-foreground);
733
+ --color-palette-forest-tint: var(--wave-palette-forest-tint);
734
+ --color-palette-forest-tint-foreground: var(--wave-palette-forest-tint-foreground);
735
+ --color-palette-forest-border: var(--wave-palette-forest-border);
562
736
  --color-palette-teal: var(--wave-palette-teal);
563
737
  --color-palette-teal-foreground: var(--wave-palette-teal-foreground);
738
+ --color-palette-teal-tint: var(--wave-palette-teal-tint);
739
+ --color-palette-teal-tint-foreground: var(--wave-palette-teal-tint-foreground);
740
+ --color-palette-teal-border: var(--wave-palette-teal-border);
564
741
  --color-palette-blue: var(--wave-palette-blue);
565
742
  --color-palette-blue-foreground: var(--wave-palette-blue-foreground);
743
+ --color-palette-blue-tint: var(--wave-palette-blue-tint);
744
+ --color-palette-blue-tint-foreground: var(--wave-palette-blue-tint-foreground);
745
+ --color-palette-blue-border: var(--wave-palette-blue-border);
566
746
  --color-palette-navy: var(--wave-palette-navy);
567
747
  --color-palette-navy-foreground: var(--wave-palette-navy-foreground);
748
+ --color-palette-navy-tint: var(--wave-palette-navy-tint);
749
+ --color-palette-navy-tint-foreground: var(--wave-palette-navy-tint-foreground);
750
+ --color-palette-navy-border: var(--wave-palette-navy-border);
568
751
  --color-palette-lavender: var(--wave-palette-lavender);
569
752
  --color-palette-lavender-foreground: var(--wave-palette-lavender-foreground);
753
+ --color-palette-lavender-tint: var(--wave-palette-lavender-tint);
754
+ --color-palette-lavender-tint-foreground: var(--wave-palette-lavender-tint-foreground);
755
+ --color-palette-lavender-border: var(--wave-palette-lavender-border);
570
756
  --color-palette-purple: var(--wave-palette-purple);
571
757
  --color-palette-purple-foreground: var(--wave-palette-purple-foreground);
758
+ --color-palette-purple-tint: var(--wave-palette-purple-tint);
759
+ --color-palette-purple-tint-foreground: var(--wave-palette-purple-tint-foreground);
760
+ --color-palette-purple-border: var(--wave-palette-purple-border);
572
761
  --color-palette-magenta: var(--wave-palette-magenta);
573
762
  --color-palette-magenta-foreground: var(--wave-palette-magenta-foreground);
763
+ --color-palette-magenta-tint: var(--wave-palette-magenta-tint);
764
+ --color-palette-magenta-tint-foreground: var(--wave-palette-magenta-tint-foreground);
765
+ --color-palette-magenta-border: var(--wave-palette-magenta-border);
574
766
  --color-palette-brown: var(--wave-palette-brown);
575
767
  --color-palette-brown-foreground: var(--wave-palette-brown-foreground);
768
+ --color-palette-brown-tint: var(--wave-palette-brown-tint);
769
+ --color-palette-brown-tint-foreground: var(--wave-palette-brown-tint-foreground);
770
+ --color-palette-brown-border: var(--wave-palette-brown-border);
576
771
  --color-palette-steel: var(--wave-palette-steel);
577
772
  --color-palette-steel-foreground: var(--wave-palette-steel-foreground);
773
+ --color-palette-steel-tint: var(--wave-palette-steel-tint);
774
+ --color-palette-steel-tint-foreground: var(--wave-palette-steel-tint-foreground);
775
+ --color-palette-steel-border: var(--wave-palette-steel-border);
578
776
  --color-backdrop: var(--wave-backdrop);
579
777
 
580
778
  /* Brand ramp (for designers; components use the semantic colors) */
@@ -595,8 +793,10 @@
595
793
  --color-brand-150: var(--wave-brand-150);
596
794
  --color-brand-160: var(--wave-brand-160);
597
795
 
598
- /* Font family (utility `font-wave`) */
796
+ /* Font families (utilities `font-wave`, `font-wave-mono`, `font-wave-numeric`) */
599
797
  --font-wave: var(--wave-font-family);
798
+ --font-wave-mono: var(--wave-font-family-monospace);
799
+ --font-wave-numeric: var(--wave-font-family-numeric);
600
800
 
601
801
  /* Type ramp */
602
802
  --text-caption-2: 10px;
@@ -630,12 +830,12 @@
630
830
  --text-display--font-weight: 600;
631
831
 
632
832
  /* Box shadows */
633
- --shadow-2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
634
- --shadow-4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
635
- --shadow-8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
636
- --shadow-16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
637
- --shadow-28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.14);
638
- --shadow-64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14);
833
+ --shadow-2: var(--wave-shadow-2);
834
+ --shadow-4: var(--wave-shadow-4);
835
+ --shadow-8: var(--wave-shadow-8);
836
+ --shadow-16: var(--wave-shadow-16);
837
+ --shadow-28: var(--wave-shadow-28);
838
+ --shadow-64: var(--wave-shadow-64);
639
839
 
640
840
  /* Motion durations and curves (utilities `duration-wave-*`, `ease-wave-*`). No keyframes. */
641
841
  --transition-duration-wave-ultra-fast: var(--wave-duration-ultra-fast);