@webority/theme 0.99.0 → 0.100.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 (75) hide show
  1. package/README.md +9 -9
  2. package/dist/published-theme.json +8 -31
  3. package/dist/purge-safelist.json +1 -0
  4. package/dist/webority-theme.css +1 -1
  5. package/index.scss +4 -3
  6. package/package.json +6 -3
  7. package/scss/_bootstrap.generated.scss +18 -0
  8. package/scss/_components.scss +38 -38
  9. package/scss/_marketing.scss +8 -8
  10. package/scss/_tokens.generated.scss +831 -0
  11. package/scss/_tokens.scss +4 -638
  12. package/scss/_variables.scss +7 -12
  13. package/scss/_wui-components.scss +1 -1
  14. package/scss/_wui-residual.scss +8 -0
  15. package/scss/wui/_avatar-picker.scss +2 -2
  16. package/scss/wui/_calendar.scss +6 -6
  17. package/scss/wui/_card.scss +1 -1
  18. package/scss/wui/_carousel.scss +2 -2
  19. package/scss/wui/_chart-card.scss +2 -2
  20. package/scss/wui/_chart.scss +8 -8
  21. package/scss/wui/_chat.scss +2 -2
  22. package/scss/wui/_choice.scss +78 -78
  23. package/scss/wui/_code-block.scss +2 -2
  24. package/scss/wui/_command-palette.scss +9 -9
  25. package/scss/wui/_comment-thread.scss +5 -5
  26. package/scss/wui/_consent-banner.scss +2 -2
  27. package/scss/wui/_controls.scss +52 -52
  28. package/scss/wui/_data.scss +38 -38
  29. package/scss/wui/_disclosure.scss +6 -6
  30. package/scss/wui/_display.scss +51 -51
  31. package/scss/wui/_dock.scss +4 -4
  32. package/scss/wui/_drawer.scss +3 -3
  33. package/scss/wui/_file-viewer.scss +2 -2
  34. package/scss/wui/_filter-popover.scss +1 -1
  35. package/scss/wui/_floating.scss +1 -1
  36. package/scss/wui/_flow.scss +60 -60
  37. package/scss/wui/_groups.scss +7 -7
  38. package/scss/wui/_hover-card.scss +1 -1
  39. package/scss/wui/_image-crop.scss +3 -3
  40. package/scss/wui/_interaction.scss +3 -3
  41. package/scss/wui/_kanban.scss +4 -4
  42. package/scss/wui/_lightbox.scss +2 -2
  43. package/scss/wui/_media.scss +28 -28
  44. package/scss/wui/_mention-input.scss +4 -4
  45. package/scss/wui/_menu-motion.scss +1 -1
  46. package/scss/wui/_modal-remote.scss +2 -2
  47. package/scss/wui/_navigation-menu.scss +4 -4
  48. package/scss/wui/_navigation.scss +25 -25
  49. package/scss/wui/_notification-center.scss +4 -4
  50. package/scss/wui/_onboarding-checklist.scss +2 -2
  51. package/scss/wui/_overlays.scss +21 -21
  52. package/scss/wui/_pending.scss +1 -1
  53. package/scss/wui/_rich-text.scss +7 -7
  54. package/scss/wui/_rolling-number.scss +1 -1
  55. package/scss/wui/_score-scale.scss +1 -1
  56. package/scss/wui/_sections.scss +8 -8
  57. package/scss/wui/_shell-parts.scss +15 -15
  58. package/scss/wui/_shell.scss +20 -20
  59. package/scss/wui/_shortcuts.scss +1 -1
  60. package/scss/wui/_sortable.scss +2 -2
  61. package/scss/wui/_split-view.scss +4 -4
  62. package/scss/wui/_theme-toggle.scss +1 -1
  63. package/scss/wui/_tone-pill.scss +2 -2
  64. package/scss/wui/_toolbar.scss +2 -2
  65. package/scss/wui/_tree.scss +3 -3
  66. package/scss/wui/_typography.scss +6 -6
  67. package/scss/wui/_utilities.scss +27 -19
  68. package/scss/wui/_whats-new.scss +4 -4
  69. package/scss/wui/_workspace.scss +16 -16
  70. package/scss/wui/tour/_advance.scss +1 -1
  71. package/scss/wui/tour/_base.scss +1 -1
  72. package/scss/wui/tour/_end.scss +1 -1
  73. package/scss/wui/tour/_motion.scss +1 -1
  74. package/token-meanings.json +56 -64
  75. package/scss/_wui-aliases.scss +0 -495
@@ -50,10 +50,10 @@
50
50
  // var fallbacks instead — which now also default to primary. :where() keeps this at ZERO
51
51
  // specificity, so a .wui-step-tone-* class or an inline --wui-step-* override still wins.
52
52
  :where(.stepper:not(.wizard-stepper)) {
53
- --wui-step-accent: var(--color-primary-ink);
54
- --wui-step-accent-fg: var(--color-on-primary-ink);
53
+ --wui-step-accent: var(--color-primary-text);
54
+ --wui-step-accent-fg: var(--color-on-primary);
55
55
  --wui-step-soft: var(--color-primary-soft);
56
- --wui-step-soft-fg: var(--color-primary-ink);
56
+ --wui-step-soft-fg: var(--color-primary-text);
57
57
  }
58
58
  .step {
59
59
  position: relative;
@@ -79,7 +79,7 @@
79
79
  z-index: 0;
80
80
  }
81
81
  .step.done + .step::before {
82
- background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
82
+ background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
83
83
  }
84
84
  // The active circle's 4px ring would swallow the 4px gap, so both connectors touching the
85
85
  // active step start 4px further out and keep the same gap from the ring's edge.
@@ -106,17 +106,17 @@
106
106
  color: var(--color-text-subtle);
107
107
  }
108
108
  // An untoned wizard sets no --wui-step-* vars, so the fallbacks fill with the primary ink (AA as
109
- // text whatever the brand) under --color-on-primary-ink, which clears AA on it in both themes.
109
+ // text whatever the brand) under --color-on-primary, which clears AA on it in both themes.
110
110
  .step.active .step-circle {
111
- border-color: var(--wui-step-accent, var(--color-primary-ink));
112
- background: var(--wui-step-accent, var(--color-primary-ink));
113
- color: var(--wui-step-accent-fg, var(--color-on-primary-ink));
111
+ border-color: var(--wui-step-accent, var(--color-primary-text));
112
+ background: var(--wui-step-accent, var(--color-primary-text));
113
+ color: var(--wui-step-accent-fg, var(--color-on-primary));
114
114
  box-shadow: 0 0 0 4px var(--wui-step-soft, var(--color-primary-soft));
115
115
  }
116
116
  .step.done .step-circle {
117
- border-color: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
118
- background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
119
- color: var(--wui-step-done-accent-fg, var(--wui-step-accent-fg, var(--color-on-primary-ink)));
117
+ border-color: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
118
+ background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
119
+ color: var(--wui-step-done-accent-fg, var(--wui-step-accent-fg, var(--color-on-primary)));
120
120
  }
121
121
  .step-label {
122
122
  max-width: 130px;
@@ -153,7 +153,7 @@ button.step:hover .step-circle {
153
153
  }
154
154
  a.step:hover .step-label,
155
155
  button.step:hover .step-label {
156
- color: var(--wui-step-accent, var(--color-primary-ink));
156
+ color: var(--wui-step-accent, var(--color-primary-text));
157
157
  }
158
158
  a.step:focus-visible,
159
159
  button.step:focus-visible {
@@ -164,7 +164,7 @@ a.step:focus-visible .step-circle,
164
164
  button.step:focus-visible .step-circle {
165
165
  box-shadow:
166
166
  0 0 0 4px var(--wui-step-soft, var(--color-primary-soft)),
167
- 0 0 0 6px var(--wui-step-accent, var(--color-primary-ink));
167
+ 0 0 0 6px var(--wui-step-accent, var(--color-primary-text));
168
168
  }
169
169
  // A completed step keeps its own colour while hovered or focused, so a done-tone step does
170
170
  // not flash the main accent. Unset, these resolve to the same accent as the rules above.
@@ -174,13 +174,13 @@ button.step.done:hover .step-circle {
174
174
  }
175
175
  a.step.done:hover .step-label,
176
176
  button.step.done:hover .step-label {
177
- color: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
177
+ color: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
178
178
  }
179
179
  a.step.done:focus-visible .step-circle,
180
180
  button.step.done:focus-visible .step-circle {
181
181
  box-shadow:
182
182
  0 0 0 4px var(--wui-step-done-soft, var(--wui-step-soft, var(--color-primary-soft))),
183
- 0 0 0 6px var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
183
+ 0 0 0 6px var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
184
184
  }
185
185
  // A step that failed its stage — a red circle with an alert, so an invalid step
186
186
  // reads as wrong at a glance rather than merely "not done".
@@ -213,7 +213,7 @@ button.step.done:focus-visible .step-circle {
213
213
  gap: 0;
214
214
  padding: 16px 24px;
215
215
  border: 1px solid var(--color-border);
216
- border-radius: var(--radius-xl);
216
+ border-radius: var(--wui-radius-xl);
217
217
  corner-shape: squircle;
218
218
  background: var(--color-surface);
219
219
  }
@@ -242,11 +242,11 @@ button.step.done:focus-visible .step-circle {
242
242
  }
243
243
  .stepper-journey .step.done .step-circle {
244
244
  background: var(--wui-step-done-soft, var(--wui-step-soft, var(--color-primary-soft)));
245
- color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-ink)));
245
+ color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-text)));
246
246
  }
247
247
  .stepper-journey .step.active .step-circle {
248
- background: var(--wui-step-accent, var(--color-primary-ink));
249
- color: var(--wui-step-accent-fg, var(--color-on-primary-ink));
248
+ background: var(--wui-step-accent, var(--color-primary-text));
249
+ color: var(--wui-step-accent-fg, var(--color-on-primary));
250
250
  box-shadow: none;
251
251
  transform: scale(1.06);
252
252
  }
@@ -267,10 +267,10 @@ button.step.done:focus-visible .step-circle {
267
267
  color: var(--color-text-subtle);
268
268
  }
269
269
  .stepper-journey .step.done .step-index {
270
- color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-ink)));
270
+ color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-text)));
271
271
  }
272
272
  .stepper-journey .step.active .step-index {
273
- color: var(--wui-step-accent, var(--color-primary-ink));
273
+ color: var(--wui-step-accent, var(--color-primary-text));
274
274
  }
275
275
  .stepper-journey .step.error .step-circle {
276
276
  background: var(--color-danger-soft);
@@ -315,7 +315,7 @@ button.step.done:focus-visible .step-circle {
315
315
  background: var(--color-border-strong);
316
316
  }
317
317
  .stepper-journey .step-line.done {
318
- background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
318
+ background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
319
319
  }
320
320
  // Below xl the four label+title pairs no longer fit side by side, so the bar
321
321
  // becomes a vertical list and the connectors go away.
@@ -399,7 +399,7 @@ button.step.done:focus-visible .step-circle {
399
399
  z-index: 0;
400
400
  }
401
401
  .stepper-vertical:where(:not(.stepper-journey)) .step.done:not(:last-child)::after {
402
- background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
402
+ background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
403
403
  }
404
404
  // The journey bar stacked vertically reuses its own narrow-width treatment: a plain
405
405
  // column with the horizontal connectors dropped (a real vertical rail here would
@@ -445,8 +445,8 @@ button.step.done:focus-visible .step-circle {
445
445
  // active badge, a soft-primary done badge, a primary rail. Every colour routes through the
446
446
  // shared --wui-step-* vars, so a `.wui-step-tone-*` class or an override recolours it.
447
447
  .stepper-icons .step.active .step-circle {
448
- background: var(--wui-step-accent, var(--color-primary-ink));
449
- color: var(--wui-step-accent-fg, var(--color-on-primary-ink));
448
+ background: var(--wui-step-accent, var(--color-primary-text));
449
+ color: var(--wui-step-accent-fg, var(--color-on-primary));
450
450
  // The compact variant rings the active circle; here the solid fill carries it, so
451
451
  // drop the ring to match the flat badge look.
452
452
  box-shadow: none;
@@ -454,7 +454,7 @@ button.step.done:focus-visible .step-circle {
454
454
  .stepper-icons .step.done .step-circle {
455
455
  border: none;
456
456
  background: var(--wui-step-done-soft, var(--wui-step-soft, var(--color-primary-soft)));
457
- color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-ink)));
457
+ color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-text)));
458
458
  }
459
459
  .stepper-icons .step.error .step-circle {
460
460
  background: var(--color-danger-soft);
@@ -476,10 +476,10 @@ button.step.done:focus-visible .step-circle {
476
476
  color: var(--color-text-subtle);
477
477
  }
478
478
  .stepper-icons .step.active .step-index {
479
- color: var(--wui-step-accent, var(--color-primary-ink));
479
+ color: var(--wui-step-accent, var(--color-primary-text));
480
480
  }
481
481
  .stepper-icons .step.done .step-index {
482
- color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-ink)));
482
+ color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-text)));
483
483
  }
484
484
  .stepper-icons .step.error .step-index {
485
485
  color: var(--color-danger-text);
@@ -505,7 +505,7 @@ button.step.done:focus-visible .step-circle {
505
505
  background: var(--wui-step-connector, var(--color-border));
506
506
  }
507
507
  .stepper-icons .step.done + .step::before {
508
- background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-ink)));
508
+ background: var(--wui-step-done-accent, var(--wui-step-accent, var(--color-primary-text)));
509
509
  }
510
510
  // The compact hover ring is calibrated to the 28px badge; the 56px icon badge just
511
511
  // lifts on hover instead.
@@ -584,7 +584,7 @@ button.step.done:focus-visible .step-circle {
584
584
  min-width: 0;
585
585
  padding: 4px 8px 4px 0;
586
586
  border: 0;
587
- border-radius: var(--radius);
587
+ border-radius: var(--wui-radius-md);
588
588
  background: none;
589
589
  font: inherit;
590
590
  text-align: start;
@@ -601,18 +601,18 @@ button.wui-step-tile-body:focus-visible {
601
601
  width: var(--wui-step-tile-size, 34px);
602
602
  height: var(--wui-step-tile-size, 34px);
603
603
  border: 0;
604
- border-radius: var(--radius);
604
+ border-radius: var(--wui-radius-md);
605
605
  background: var(--color-bg-muted);
606
606
  color: var(--color-text-subtle);
607
607
  font-size: var(--wui-step-number-font, 13px);
608
608
  }
609
609
  .wui-step-tile.active .step-circle {
610
- background: var(--wui-step-accent, var(--color-primary-ink));
611
- color: var(--wui-step-accent-fg, var(--color-on-primary-ink));
610
+ background: var(--wui-step-accent, var(--color-primary-text));
611
+ color: var(--wui-step-accent-fg, var(--color-on-primary));
612
612
  }
613
613
  .wui-step-tile.done .step-circle {
614
614
  background: var(--wui-step-done-soft, var(--wui-step-soft, var(--color-primary-soft)));
615
- color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-ink)));
615
+ color: var(--wui-step-done-soft-fg, var(--wui-step-soft-fg, var(--color-primary-text)));
616
616
  }
617
617
  .wui-step-tile.error .step-circle {
618
618
  background: var(--color-danger-soft);
@@ -637,13 +637,13 @@ button.wui-step-tile-body:focus-visible {
637
637
  white-space: nowrap;
638
638
  }
639
639
  .wui-step-tile.active .step-label {
640
- color: var(--wui-step-accent, var(--color-primary-ink));
640
+ color: var(--wui-step-accent, var(--color-primary-text));
641
641
  }
642
642
  .wui-step-tile.error .step-label {
643
643
  color: var(--color-danger-text);
644
644
  }
645
645
  button.wui-step-tile-body:hover .step-label {
646
- color: var(--wui-step-accent, var(--color-primary-ink));
646
+ color: var(--wui-step-accent, var(--color-primary-text));
647
647
  }
648
648
  .wui-step-tiles .wui-step-tile-state {
649
649
  font-size: 12px;
@@ -747,34 +747,34 @@ button.wui-step-tile-body:hover .step-label {
747
747
  // class recolours every variant consistently; error steps stay red regardless (semantic).
748
748
  // ----------------------------------------------------------------------------
749
749
  .wui-step-tone-primary {
750
- --wui-step-accent: var(--color-primary-ink);
751
- --wui-step-accent-fg: var(--color-on-primary-ink);
750
+ --wui-step-accent: var(--color-primary-text);
751
+ --wui-step-accent-fg: var(--color-on-primary);
752
752
  --wui-step-soft: var(--color-primary-soft);
753
- --wui-step-soft-fg: var(--color-primary-ink);
753
+ --wui-step-soft-fg: var(--color-primary-text);
754
754
  }
755
755
  // Like primary, each tone fills with its deep shade (the -text token) under white ink in light mode,
756
756
  // and with the bright fill under near-black ink in dark mode; both pairs clear AA.
757
757
  .wui-step-tone-success {
758
758
  --wui-step-accent: var(--color-success-text);
759
- --wui-step-accent-fg: var(--color-on-status-strong);
759
+ --wui-step-accent-fg: var(--color-on-success-strong);
760
760
  --wui-step-soft: var(--color-success-soft);
761
761
  --wui-step-soft-fg: var(--color-success-text);
762
762
  }
763
763
  .wui-step-tone-warning {
764
764
  --wui-step-accent: var(--color-warning-text);
765
- --wui-step-accent-fg: var(--color-on-status-strong);
765
+ --wui-step-accent-fg: var(--color-on-warning-strong);
766
766
  --wui-step-soft: var(--color-warning-soft);
767
767
  --wui-step-soft-fg: var(--color-warning-text);
768
768
  }
769
769
  .wui-step-tone-danger {
770
770
  --wui-step-accent: var(--color-danger-text);
771
- --wui-step-accent-fg: var(--color-on-status-strong);
771
+ --wui-step-accent-fg: var(--color-on-danger-strong);
772
772
  --wui-step-soft: var(--color-danger-soft);
773
773
  --wui-step-soft-fg: var(--color-danger-text);
774
774
  }
775
775
  .wui-step-tone-info {
776
776
  --wui-step-accent: var(--color-info-text);
777
- --wui-step-accent-fg: var(--color-on-status-strong);
777
+ --wui-step-accent-fg: var(--color-on-info-strong);
778
778
  --wui-step-soft: var(--color-info-soft);
779
779
  --wui-step-soft-fg: var(--color-info-text);
780
780
  }
@@ -785,32 +785,32 @@ button.wui-step-tile-body:hover .step-label {
785
785
  // Error and skipped steps keep their own look.
786
786
  // ----------------------------------------------------------------------------
787
787
  .wui-step-done-tone-primary {
788
- --wui-step-done-accent: var(--color-primary-ink);
789
- --wui-step-done-accent-fg: var(--color-on-primary-ink);
788
+ --wui-step-done-accent: var(--color-primary-text);
789
+ --wui-step-done-accent-fg: var(--color-on-primary);
790
790
  --wui-step-done-soft: var(--color-primary-soft);
791
- --wui-step-done-soft-fg: var(--color-primary-ink);
791
+ --wui-step-done-soft-fg: var(--color-primary-text);
792
792
  }
793
793
  .wui-step-done-tone-success {
794
794
  --wui-step-done-accent: var(--color-success-text);
795
- --wui-step-done-accent-fg: var(--color-on-status-strong);
795
+ --wui-step-done-accent-fg: var(--color-on-success-strong);
796
796
  --wui-step-done-soft: var(--color-success-soft);
797
797
  --wui-step-done-soft-fg: var(--color-success-text);
798
798
  }
799
799
  .wui-step-done-tone-warning {
800
800
  --wui-step-done-accent: var(--color-warning-text);
801
- --wui-step-done-accent-fg: var(--color-on-status-strong);
801
+ --wui-step-done-accent-fg: var(--color-on-warning-strong);
802
802
  --wui-step-done-soft: var(--color-warning-soft);
803
803
  --wui-step-done-soft-fg: var(--color-warning-text);
804
804
  }
805
805
  .wui-step-done-tone-danger {
806
806
  --wui-step-done-accent: var(--color-danger-text);
807
- --wui-step-done-accent-fg: var(--color-on-status-strong);
807
+ --wui-step-done-accent-fg: var(--color-on-danger-strong);
808
808
  --wui-step-done-soft: var(--color-danger-soft);
809
809
  --wui-step-done-soft-fg: var(--color-danger-text);
810
810
  }
811
811
  .wui-step-done-tone-info {
812
812
  --wui-step-done-accent: var(--color-info-text);
813
- --wui-step-done-accent-fg: var(--color-on-status-strong);
813
+ --wui-step-done-accent-fg: var(--color-on-info-strong);
814
814
  --wui-step-done-soft: var(--color-info-soft);
815
815
  --wui-step-done-soft-fg: var(--color-info-text);
816
816
  }
@@ -887,7 +887,7 @@ button.wui-step-tile-body:hover .step-label {
887
887
  flex-direction: column;
888
888
  padding: 32px 28px;
889
889
  border: 1px solid var(--color-border);
890
- border-radius: var(--radius-xl);
890
+ border-radius: var(--wui-radius-xl);
891
891
  corner-shape: squircle;
892
892
  background: var(--color-surface);
893
893
  transition:
@@ -919,7 +919,7 @@ button.wui-step-tile-body:hover .step-label {
919
919
  padding: 5px 14px;
920
920
  border-radius: 999px;
921
921
  background: var(--color-primary);
922
- color: var(--color-primary-text);
922
+ color: var(--color-on-primary);
923
923
  font-size: 12px;
924
924
  font-weight: 600;
925
925
  text-transform: uppercase;
@@ -970,7 +970,7 @@ button.wui-step-tile-body:hover .step-label {
970
970
  .plan-feature-icon {
971
971
  flex: none;
972
972
  margin-top: 2px;
973
- color: var(--color-primary-ink);
973
+ color: var(--color-primary-text);
974
974
  }
975
975
  // A feature the tier does NOT include, kept in the list so every card has the
976
976
  // same rows and the columns line up when read across.
@@ -1020,7 +1020,7 @@ button.wui-step-tile-body:hover .step-label {
1020
1020
  gap: 12px;
1021
1021
  padding: 14px 16px 16px;
1022
1022
  border: 1px solid var(--color-border);
1023
- border-radius: var(--radius-lg);
1023
+ border-radius: var(--wui-radius-lg);
1024
1024
  corner-shape: squircle;
1025
1025
  background: var(--color-surface);
1026
1026
  }
@@ -1054,9 +1054,9 @@ button.wui-step-tile-body:hover .step-label {
1054
1054
  margin-top: 8px;
1055
1055
  display: inline-grid;
1056
1056
  place-items: center;
1057
- border-radius: var(--radius-sm);
1057
+ border-radius: var(--wui-radius-sm);
1058
1058
  background: var(--color-primary-soft);
1059
- color: var(--color-primary-ink);
1059
+ color: var(--color-primary-text);
1060
1060
  font-size: 12px;
1061
1061
  font-weight: 700;
1062
1062
  }
@@ -1081,7 +1081,7 @@ button.wui-step-tile-body:hover .step-label {
1081
1081
  .repeater-empty {
1082
1082
  padding: 18px;
1083
1083
  border: 1px dashed var(--color-border-strong);
1084
- border-radius: var(--radius-lg);
1084
+ border-radius: var(--wui-radius-lg);
1085
1085
  background: var(--color-bg-subtle);
1086
1086
  font-size: 13px;
1087
1087
  color: var(--color-text-muted);
@@ -1179,7 +1179,7 @@ button.wui-step-tile-body:hover .step-label {
1179
1179
  // Centres the label's first line on the control beside it, at any control height.
1180
1180
  .wui-form-labels-start .field > .label {
1181
1181
  grid-column: 1;
1182
- padding-top: calc((var(--wui-control-height) - 1.2em) / 2);
1182
+ padding-top: calc((var(--wui-control-md) - 1.2em) / 2);
1183
1183
  }
1184
1184
  .wui-form-labels-start .field > :not(.label) {
1185
1185
  grid-column: 2;
@@ -1192,7 +1192,7 @@ button.wui-step-tile-body:hover .step-label {
1192
1192
 
1193
1193
  // density="compact": small-tier controls and tighter gaps, for admin screens and dialogs.
1194
1194
  .wui-form-compact {
1195
- --wui-control-height: var(--wui-control-height-sm);
1195
+ --wui-control-md: var(--wui-control-sm);
1196
1196
  gap: 12px;
1197
1197
  }
1198
1198
  .wui-form-compact .form-section-body,
@@ -1339,7 +1339,7 @@ wui-wizard-step[hidden] {
1339
1339
  height: 32px;
1340
1340
  padding: 0;
1341
1341
  border: 0;
1342
- border-radius: var(--radius);
1342
+ border-radius: var(--wui-radius-md);
1343
1343
  background: transparent;
1344
1344
  color: var(--color-text-muted);
1345
1345
  cursor: pointer;
@@ -70,10 +70,10 @@
70
70
  display: inline-flex;
71
71
  flex: 0 0 auto;
72
72
  align-items: center;
73
- min-height: var(--wui-control-height);
73
+ min-height: var(--wui-control-md);
74
74
  padding-inline: 0.875rem;
75
75
  border: 1px solid var(--color-border);
76
- border-radius: var(--radius);
76
+ border-radius: var(--wui-radius-md);
77
77
  background: var(--color-bg-muted);
78
78
  color: var(--color-text-muted);
79
79
  font-size: 0.875rem;
@@ -81,23 +81,23 @@
81
81
  white-space: nowrap;
82
82
  }
83
83
  .wui-addon-group-sm .wui-addon {
84
- min-height: var(--wui-control-height-sm);
84
+ min-height: var(--wui-control-sm);
85
85
  padding-inline: 0.75rem;
86
86
  font-size: 0.75rem;
87
87
  }
88
88
  .wui-addon-group-lg .wui-addon {
89
- min-height: var(--wui-control-height-lg);
89
+ min-height: var(--wui-control-lg);
90
90
  padding-inline: 1.25rem;
91
91
  font-size: 1rem;
92
92
  }
93
93
  .wui-addon-group > .btn {
94
- height: var(--wui-control-height);
94
+ height: var(--wui-control-md);
95
95
  }
96
96
  .wui-addon-group-sm > .btn {
97
- height: var(--wui-control-height-sm);
97
+ height: var(--wui-control-sm);
98
98
  }
99
99
  .wui-addon-group-lg > .btn {
100
- height: var(--wui-control-height-lg);
100
+ height: var(--wui-control-lg);
101
101
  }
102
102
 
103
103
  // Square the sides that meet, and let the shared border overlap.
@@ -28,7 +28,7 @@ wui-hover-card {
28
28
  border-radius: var(--wui-radius-md);
29
29
  background: var(--color-surface);
30
30
  color: var(--color-text);
31
- box-shadow: var(--wui-shadow-overlay);
31
+ box-shadow: var(--wui-shadow-popover);
32
32
  font-size: 13px;
33
33
 
34
34
  &[data-open] {
@@ -14,7 +14,7 @@ wui-image-crop {
14
14
  position: relative;
15
15
  height: min(360px, 55vh);
16
16
  overflow: hidden;
17
- border-radius: var(--radius-lg);
17
+ border-radius: var(--wui-radius-lg);
18
18
  background: var(--color-bg-muted);
19
19
  // The frame is dragged with a finger, so the browser must not scroll or zoom the page instead.
20
20
  touch-action: none;
@@ -195,7 +195,7 @@ wui-image-crop {
195
195
  }
196
196
  .wui-crop-preview {
197
197
  flex: none;
198
- border-radius: var(--radius);
198
+ border-radius: var(--wui-radius-md);
199
199
  background: var(--color-bg-muted);
200
200
  box-shadow: 0 0 0 1px var(--color-border);
201
201
  }
@@ -216,5 +216,5 @@ wui-image-crop {
216
216
 
217
217
  // The shared pressed wash of wui/interaction, restated here so it ships with this on-demand layer.
218
218
  :is(.wui-crop-toolbtn, .wui-crop-zoombtn):active:not(:disabled, [aria-disabled="true"]) {
219
- background-image: linear-gradient(var(--color-pressed-overlay), var(--color-pressed-overlay)) !important;
219
+ background-image: linear-gradient(var(--wui-pressed-overlay), var(--wui-pressed-overlay)) !important;
220
220
  }
@@ -1,8 +1,8 @@
1
1
  // ── Focus ring and pressed state ──
2
2
  // The one keyboard focus ring and the one pressed wash, for every control the library draws.
3
- // The recipe is tokens in _wui-aliases.scss: an outline of --wui-focus-ring-width in
3
+ // The recipe is tokens in _tokens.generated.scss: an outline of --wui-focus-ring-width in
4
4
  // --color-focus-ring at --wui-focus-ring-offset (--wui-focus-ring-inset inside a scroller), and
5
- // --color-pressed-overlay laid over the control's own fill. A component partial keeps its own
5
+ // --wui-pressed-overlay laid over the control's own fill. A component partial keeps its own
6
6
  // :focus-visible rule only to place the ring (offset, radius, which box carries it).
7
7
  //
8
8
  // Part of the wui-components layer, imported last so its pressed rules settle ties with the
@@ -217,7 +217,7 @@ html:has(.form-actions-sticky) {
217
217
  .logo-dropzone,
218
218
  .wui-rating-input .wui-rating-star
219
219
  ):active:not(:disabled, [aria-disabled="true"]) {
220
- background-image: linear-gradient(var(--color-pressed-overlay), var(--color-pressed-overlay)) !important;
220
+ background-image: linear-gradient(var(--wui-pressed-overlay), var(--wui-pressed-overlay)) !important;
221
221
  }
222
222
 
223
223
  // Glyph-only controls have little fill for the wash to show on: the glyph itself answers.
@@ -333,7 +333,7 @@
333
333
  }
334
334
  // Picked up by keyboard: the card itself shows it is lifted.
335
335
  .wui-kanban-card[data-wui-lifted] {
336
- box-shadow: var(--wui-shadow-overlay);
336
+ box-shadow: var(--wui-shadow-popover);
337
337
  outline: 2px solid var(--color-primary);
338
338
  outline-offset: 2px;
339
339
  }
@@ -373,7 +373,7 @@
373
373
  border-color: var(--color-primary);
374
374
  box-shadow:
375
375
  0 0 0 1px var(--color-primary),
376
- var(--wui-shadow-overlay-lg);
376
+ var(--wui-shadow-modal);
377
377
  rotate: 2deg;
378
378
  }
379
379
  .wui-kanban[data-wui-dragging] {
@@ -409,7 +409,7 @@
409
409
  .wui-kanban-column[data-wui-drop="ok"][data-wui-target] .wui-kanban-drop-note {
410
410
  border-radius: var(--wui-radius-sm);
411
411
  background: var(--color-primary);
412
- color: var(--color-primary-text);
412
+ color: var(--color-on-primary);
413
413
  font-weight: 600;
414
414
  }
415
415
  // Refused: hatched and locked, with the reason in the note. The hatch is drawn over the subtle
@@ -656,5 +656,5 @@
656
656
 
657
657
  // The shared pressed wash of wui/interaction, restated here so it ships with this on-demand layer.
658
658
  :is(.wui-kanban-action, .wui-kanban-collapse, .wui-kanban-more):active:not(:disabled, [aria-disabled="true"]) {
659
- background-image: linear-gradient(var(--color-pressed-overlay), var(--color-pressed-overlay)) !important;
659
+ background-image: linear-gradient(var(--wui-pressed-overlay), var(--wui-pressed-overlay)) !important;
660
660
  }
@@ -52,10 +52,10 @@
52
52
  }
53
53
  @media (prefers-reduced-motion: no-preference) {
54
54
  .wui-lightbox-overlay {
55
- animation: wui-lightbox-in 160ms var(--wui-ease-out-quart);
55
+ animation: wui-lightbox-in 160ms var(--wui-ease-out);
56
56
  }
57
57
  .wui-lightbox-image {
58
- transition: transform 120ms var(--wui-ease-out-quart);
58
+ transition: transform 120ms var(--wui-ease-out);
59
59
  }
60
60
  .wui-lightbox-stage.is-dragging .wui-lightbox-image {
61
61
  transition: none;