@webority/theme 0.99.0 → 0.101.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
@@ -23,7 +23,7 @@
23
23
  object-fit: cover;
24
24
  display: block;
25
25
  // Photo fades + scales in so a late-arriving blob doesn't pop.
26
- animation: wui-avatar-in 0.28s var(--wui-ease-out-quart, ease) both;
26
+ animation: wui-avatar-in 0.28s var(--wui-ease-out, ease) both;
27
27
  }
28
28
  .avatar {
29
29
  // `--avatar-size` drives the default (md, its 32px fallback) and any custom size. It is
@@ -35,7 +35,7 @@
35
35
  height: var(--avatar-size, 32px);
36
36
  border-radius: 999px;
37
37
  background: color-mix(in srgb, var(--color-primary) 15%, var(--color-surface));
38
- color: var(--color-primary-ink);
38
+ color: var(--color-primary-text);
39
39
  // Initials take 37.5% of the disc but never go under the 12px text floor; a disc under 24px
40
40
  // takes half its size instead, the most two letters fit (the 20px preset sets 10px).
41
41
  font-size: max(min(12px, calc(var(--avatar-size, 32px) * 0.5)), calc(var(--avatar-size, 32px) * 0.375));
@@ -148,7 +148,7 @@
148
148
  -webkit-appearance: none;
149
149
  appearance: none;
150
150
  transition:
151
- transform 0.15s var(--wui-ease-out-quart, ease),
151
+ transform 0.15s var(--wui-ease-out, ease),
152
152
  box-shadow 0.15s ease;
153
153
  }
154
154
  .avatar-clickable:hover {
@@ -202,7 +202,7 @@
202
202
  left: 50%;
203
203
  transform: translateX(-50%) translateY(4px);
204
204
  padding: 4px 8px;
205
- border-radius: var(--radius-sm);
205
+ border-radius: var(--wui-radius-sm);
206
206
  background: var(--color-text);
207
207
  color: var(--color-surface);
208
208
  font-size: 12px;
@@ -214,7 +214,7 @@
214
214
  z-index: 30;
215
215
  transition:
216
216
  opacity 0.16s ease,
217
- transform 0.16s var(--wui-ease-out-quart, ease);
217
+ transform 0.16s var(--wui-ease-out, ease);
218
218
  }
219
219
  .avatar-label::after {
220
220
  content: "";
@@ -241,7 +241,7 @@
241
241
  .avatar-group > .avatar {
242
242
  margin-left: -10px;
243
243
  box-shadow: 0 0 0 2px var(--color-surface);
244
- transition: transform 0.15s var(--wui-ease-out-quart, ease);
244
+ transition: transform 0.15s var(--wui-ease-out, ease);
245
245
  }
246
246
  .avatar-group > .avatar:first-child {
247
247
  margin-left: 0;
@@ -305,7 +305,7 @@
305
305
  gap: 12px;
306
306
  padding: 12px 14px;
307
307
  border: 1px dashed var(--color-border);
308
- border-radius: var(--radius-lg);
308
+ border-radius: var(--wui-radius-lg);
309
309
  background: var(--color-surface);
310
310
  cursor: pointer;
311
311
  transition:
@@ -337,7 +337,7 @@
337
337
  justify-content: center;
338
338
  border-radius: 999px;
339
339
  background: var(--color-primary-soft);
340
- color: var(--color-primary-ink);
340
+ color: var(--color-primary-text);
341
341
  }
342
342
  .attach-drop:hover .attach-drop-icon {
343
343
  background: var(--color-surface);
@@ -369,7 +369,7 @@
369
369
  flex: 0 0 auto;
370
370
  font-size: 12px;
371
371
  font-weight: 600;
372
- color: var(--color-primary-ink);
372
+ color: var(--color-primary-text);
373
373
  border: 1px solid var(--color-border);
374
374
  border-radius: 999px;
375
375
  padding: 5px 14px;
@@ -380,7 +380,7 @@
380
380
  .attach-preview {
381
381
  width: 100%;
382
382
  border: 1px solid var(--color-border);
383
- border-radius: var(--radius-lg);
383
+ border-radius: var(--wui-radius-lg);
384
384
  background: var(--color-surface);
385
385
  overflow: hidden;
386
386
  }
@@ -475,7 +475,7 @@
475
475
  gap: 12px;
476
476
  padding: 8px 12px;
477
477
  border: 1px solid var(--color-border);
478
- border-radius: var(--radius-lg);
478
+ border-radius: var(--wui-radius-lg);
479
479
  background: var(--color-surface);
480
480
  min-width: 0;
481
481
  }
@@ -486,10 +486,10 @@
486
486
  display: inline-flex;
487
487
  align-items: center;
488
488
  justify-content: center;
489
- border-radius: var(--radius);
489
+ border-radius: var(--wui-radius-md);
490
490
  overflow: hidden;
491
491
  background: var(--color-bg-muted);
492
- color: var(--color-primary-ink);
492
+ color: var(--color-primary-text);
493
493
  }
494
494
  .attach-item-media img {
495
495
  width: 100%;
@@ -558,7 +558,7 @@
558
558
  display: flex;
559
559
  align-items: stretch;
560
560
  width: 100%;
561
- border-radius: var(--radius-lg);
561
+ border-radius: var(--wui-radius-lg);
562
562
  corner-shape: squircle;
563
563
  border: 1px solid var(--color-field-border);
564
564
  // Match AppInput: muted resting fill, lifts to a clean surface on focus.
@@ -575,7 +575,7 @@
575
575
  }
576
576
  .file-input:focus-within {
577
577
  background: var(--color-surface);
578
- border-color: var(--color-focus-border);
578
+ border-color: var(--color-field-border-focus);
579
579
  box-shadow: none;
580
580
  }
581
581
  .file-input-btn {
@@ -637,7 +637,7 @@
637
637
  .file-input.file-input-tall:focus-within,
638
638
  .file-input.file-input-tall:active,
639
639
  .file-input.file-input-tall.dragging {
640
- border-color: var(--color-focus-border);
640
+ border-color: var(--color-field-border-focus);
641
641
  background: var(--color-surface);
642
642
  box-shadow: none;
643
643
  }
@@ -687,7 +687,7 @@
687
687
  background: var(--color-bg-muted);
688
688
  }
689
689
  .file-input.file-input-tall.has-files.dragging {
690
- border-color: var(--color-focus-border);
690
+ border-color: var(--color-field-border-focus);
691
691
  background: var(--color-surface);
692
692
  }
693
693
  // Width presets — put a .file-w-* class on the field (React className / Razor class) to cap the
@@ -728,7 +728,7 @@
728
728
  height: 54px;
729
729
  border-radius: 50%;
730
730
  background: var(--color-primary-soft);
731
- color: var(--color-primary-ink);
731
+ color: var(--color-primary-text);
732
732
  transition: transform 0.15s ease;
733
733
  }
734
734
  .file-input.file-input-tall.dragging .file-input-icon {
@@ -740,7 +740,7 @@
740
740
  color: var(--color-text);
741
741
  }
742
742
  .file-input-title .browse {
743
- color: var(--color-primary-ink);
743
+ color: var(--color-primary-text);
744
744
  }
745
745
  .file-input.file-input-tall .file-input-text {
746
746
  padding: 0;
@@ -760,7 +760,7 @@
760
760
  display: block;
761
761
  width: 100%;
762
762
  height: 200px;
763
- border-radius: var(--radius-lg);
763
+ border-radius: var(--wui-radius-lg);
764
764
  corner-shape: squircle;
765
765
  border: 1px solid var(--color-border);
766
766
  overflow: hidden;
@@ -854,7 +854,7 @@
854
854
  font-size: 14px;
855
855
  font-weight: 600;
856
856
  border-radius: 999px;
857
- box-shadow: var(--shadow-overlay);
857
+ box-shadow: var(--wui-shadow-popover);
858
858
  }
859
859
  .file-preview-remove {
860
860
  position: absolute;
@@ -915,7 +915,7 @@
915
915
  align-items: center;
916
916
  justify-content: center;
917
917
  background: color-mix(in srgb, var(--color-surface) 65%, transparent);
918
- color: var(--color-primary-ink);
918
+ color: var(--color-primary-text);
919
919
  cursor: progress;
920
920
  }
921
921
 
@@ -971,7 +971,7 @@
971
971
  font-size: calc(var(--wui-logo-size) * 0.32);
972
972
  font-weight: 700;
973
973
  letter-spacing: -0.02em;
974
- color: var(--color-primary-ink);
974
+ color: var(--color-primary-text);
975
975
  background: var(--color-primary-soft);
976
976
  }
977
977
  // Avatar variant — the standard avatar disc (muted fill) instead of the soft-primary
@@ -1031,12 +1031,12 @@
1031
1031
  width: max-content;
1032
1032
  max-width: 160px;
1033
1033
  padding: 6px 10px;
1034
- border-radius: var(--radius, 10px);
1034
+ border-radius: var(--wui-radius-md, 10px);
1035
1035
  corner-shape: squircle;
1036
1036
  background: var(--color-surface);
1037
1037
  color: var(--color-text);
1038
- border: 1px solid var(--color-border-light);
1039
- box-shadow: var(--wui-shadow-overlay);
1038
+ border: 1px solid var(--color-border-subtle);
1039
+ box-shadow: var(--wui-shadow-popover);
1040
1040
  font-size: 0.75rem;
1041
1041
  font-weight: 500;
1042
1042
  line-height: 1.3;
@@ -1224,7 +1224,7 @@
1224
1224
  width: 104px;
1225
1225
  height: 104px;
1226
1226
  flex: none;
1227
- border-radius: var(--radius-lg);
1227
+ border-radius: var(--wui-radius-lg);
1228
1228
  border: 1.5px dashed var(--color-border-strong);
1229
1229
  background: var(--color-bg-subtle);
1230
1230
  display: grid;
@@ -1258,7 +1258,7 @@
1258
1258
  max-width: 100%;
1259
1259
  max-height: 100%;
1260
1260
  object-fit: contain;
1261
- border-radius: var(--radius);
1261
+ border-radius: var(--wui-radius-md);
1262
1262
  }
1263
1263
  // hover overlay (camera + label), like the Minimals avatar uploader
1264
1264
  .logo-dropzone-overlay {
@@ -27,9 +27,9 @@
27
27
  padding: 4px;
28
28
  background: var(--color-surface);
29
29
  border: 1px solid var(--color-border);
30
- border-radius: var(--radius-lg);
30
+ border-radius: var(--wui-radius-lg);
31
31
  corner-shape: squircle;
32
- box-shadow: var(--shadow-overlay);
32
+ box-shadow: var(--wui-shadow-popover);
33
33
  }
34
34
  .wui-mention-menu[hidden] {
35
35
  display: none;
@@ -40,7 +40,7 @@
40
40
  align-items: center;
41
41
  gap: 10px;
42
42
  padding: 8px 12px;
43
- border-radius: var(--radius);
43
+ border-radius: var(--wui-radius-md);
44
44
  corner-shape: squircle;
45
45
  color: var(--color-text);
46
46
  cursor: pointer;
@@ -48,7 +48,7 @@
48
48
  // The active row is the element's, not :hover, so keys and pointer agree on one row.
49
49
  .wui-mention-option.is-active {
50
50
  background: var(--color-primary-soft);
51
- color: var(--color-primary-ink);
51
+ color: var(--color-primary-text);
52
52
  }
53
53
  .wui-mention-option-photo {
54
54
  flex: none;
@@ -27,7 +27,7 @@
27
27
  :root {
28
28
  --wui-menu-anim: wui-menu-drop;
29
29
  --wui-menu-anim-duration: 200ms;
30
- --wui-menu-anim-ease: var(--wui-ease-out-quart);
30
+ --wui-menu-anim-ease: var(--wui-ease-out);
31
31
  }
32
32
  :root[data-wui-menu-motion="zoom"] {
33
33
  --wui-menu-anim: wui-menu-zoom;
@@ -13,7 +13,7 @@
13
13
  }
14
14
  .wui-modal-skeleton {
15
15
  height: 14px;
16
- border-radius: var(--radius-sm);
16
+ border-radius: var(--wui-radius-sm);
17
17
  }
18
18
  .wui-modal-skeleton--short {
19
19
  width: 60%;
@@ -80,7 +80,7 @@
80
80
  max-height: none;
81
81
  height: 100%;
82
82
  border-radius: 0;
83
- box-shadow: var(--shadow-overlay-lg);
83
+ box-shadow: var(--wui-shadow-modal);
84
84
  }
85
85
  @media (prefers-reduced-motion: reduce) {
86
86
  .modal.wui-remote-drawer .modal-dialog.wui-remote-drawer-dialog {
@@ -54,13 +54,13 @@ wui-navigation-menu {
54
54
  outline-offset: 1px;
55
55
  }
56
56
  &[aria-current="page"] {
57
- color: var(--color-primary-ink);
57
+ color: var(--color-primary-text);
58
58
  }
59
59
  }
60
60
  .wui-nav-menu-trigger > .wui-nav-menu-chevron {
61
61
  flex: none;
62
62
  margin-left: auto;
63
- transition: rotate 150ms var(--wui-ease-out-quart);
63
+ transition: rotate 150ms var(--wui-ease-out);
64
64
  }
65
65
  .wui-nav-menu-trigger[aria-expanded="true"] > .wui-nav-menu-chevron {
66
66
  rotate: 180deg;
@@ -100,7 +100,7 @@ wui-navigation-menu {
100
100
  outline-offset: var(--wui-focus-ring-inset);
101
101
  }
102
102
  &[aria-current="page"] .wui-nav-menu-link-label {
103
- color: var(--color-primary-ink);
103
+ color: var(--color-primary-text);
104
104
  }
105
105
  > .wui-icon {
106
106
  flex: none;
@@ -148,7 +148,7 @@ wui-navigation-menu {
148
148
  border-radius: var(--wui-radius-md);
149
149
  corner-shape: squircle;
150
150
  background: var(--color-surface);
151
- box-shadow: var(--wui-shadow-overlay);
151
+ box-shadow: var(--wui-shadow-popover);
152
152
  transform-origin: top left;
153
153
 
154
154
  &[data-open] {
@@ -106,10 +106,10 @@
106
106
  place-items: center;
107
107
  width: 30px;
108
108
  height: 30px;
109
- border-radius: var(--radius);
109
+ border-radius: var(--wui-radius-md);
110
110
  corner-shape: squircle;
111
111
  background: var(--color-primary-soft);
112
- color: var(--color-primary-ink);
112
+ color: var(--color-primary-text);
113
113
  }
114
114
  // Sticky tools zone: search + section meta stay put while the list scrolls.
115
115
  .drawer-tools {
@@ -192,7 +192,7 @@
192
192
  display: inline-flex;
193
193
  align-items: center;
194
194
  gap: 8px;
195
- min-height: var(--wui-control-height);
195
+ min-height: var(--wui-control-md);
196
196
  padding: 0 14px;
197
197
  border: 0;
198
198
  // Sits on the strip's own hairline rather than adding a second one.
@@ -211,7 +211,7 @@
211
211
  text-decoration: none;
212
212
  // A tab sits on the page surface with no fill of its own, so the shared 12% pressed wash
213
213
  // reads as a heavy grey block; half of it still answers the press.
214
- --color-pressed-overlay: color-mix(in srgb, currentColor 6%, transparent);
214
+ --wui-pressed-overlay: color-mix(in srgb, currentColor 6%, transparent);
215
215
  transition:
216
216
  color 0.12s ease,
217
217
  border-color 0.12s ease;
@@ -227,7 +227,7 @@
227
227
  width: 18px;
228
228
  height: 18px;
229
229
  object-fit: cover;
230
- border-radius: var(--radius-sm);
230
+ border-radius: var(--wui-radius-sm);
231
231
  }
232
232
  .app-tab:hover:not(:disabled):not(.disabled):not(.active) {
233
233
  color: var(--color-text);
@@ -242,7 +242,7 @@
242
242
  text-decoration: none;
243
243
  }
244
244
  .app-tab.active {
245
- color: var(--color-primary-ink);
245
+ color: var(--color-primary-text);
246
246
  // The active tab carries weight as well as colour — colour alone is a weak
247
247
  // signal for anyone who reads the strip at a glance or cannot distinguish it.
248
248
  font-weight: 600;
@@ -283,7 +283,7 @@
283
283
  .app-tab:focus-visible {
284
284
  outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
285
285
  outline-offset: var(--wui-focus-ring-inset);
286
- border-radius: var(--radius-sm);
286
+ border-radius: var(--wui-radius-sm);
287
287
  }
288
288
  // A destructive tab reads as destructive whether or not it is the active one.
289
289
  .app-tab.danger {
@@ -325,8 +325,8 @@
325
325
  // clip would shear off its rounded corner. A decelerating slide reaches the tab exactly and
326
326
  // never crosses the edge, so the radius is always intact.
327
327
  transition:
328
- transform 0.42s var(--wui-ease-out-quart),
329
- width 0.42s var(--wui-ease-out-quart),
328
+ transform 0.42s var(--wui-ease-out),
329
+ width 0.42s var(--wui-ease-out),
330
330
  opacity 0.15s ease;
331
331
  }
332
332
  .app-tabs[data-wui-tabs] .app-tab-indicator {
@@ -353,7 +353,7 @@
353
353
  }
354
354
  .app-tab.active .app-tab-count {
355
355
  background: var(--color-primary-soft);
356
- color: var(--color-primary-ink);
356
+ color: var(--color-primary-text);
357
357
  }
358
358
  // Semantic tone tints — React `tone` / Razor `Tone`, matching the vocabulary
359
359
  // `.status-label` uses (success | warning | danger | info).
@@ -376,7 +376,7 @@
376
376
 
377
377
  // ── Sizes ──
378
378
  .app-tabs-sm .app-tab {
379
- min-height: var(--wui-control-height-sm);
379
+ min-height: var(--wui-control-sm);
380
380
  padding: 0 10px;
381
381
  gap: 6px;
382
382
  font-size: 13px;
@@ -386,7 +386,7 @@
386
386
  height: 16px;
387
387
  }
388
388
  .app-tabs-lg .app-tab {
389
- min-height: var(--wui-control-height-lg);
389
+ min-height: var(--wui-control-lg);
390
390
  padding: 0 18px;
391
391
  font-size: 15px;
392
392
  }
@@ -431,7 +431,7 @@
431
431
  .app-tabs-pills .app-tab {
432
432
  border-bottom: 0;
433
433
  margin-bottom: 0;
434
- border-radius: var(--radius);
434
+ border-radius: var(--wui-radius-md);
435
435
  }
436
436
  // Fallback fill until the moving pill is wired.
437
437
  .app-tabs-pills .app-tab.active {
@@ -448,7 +448,7 @@
448
448
  // The pill fills the whole tab — no underline inset.
449
449
  --wui-tab-underline-inset: 0px;
450
450
  background: var(--color-primary-soft);
451
- border-radius: var(--radius);
451
+ border-radius: var(--wui-radius-md);
452
452
  }
453
453
  .app-tabs-pills[data-active-danger] .app-tab-indicator {
454
454
  background: var(--color-danger-soft);
@@ -485,8 +485,8 @@
485
485
  height: var(--wui-tab-h, 0);
486
486
  transform: translateY(var(--wui-tab-y, 0));
487
487
  transition:
488
- transform 0.42s var(--wui-ease-out-quart),
489
- height 0.42s var(--wui-ease-out-quart),
488
+ transform 0.42s var(--wui-ease-out),
489
+ height 0.42s var(--wui-ease-out),
490
490
  opacity 0.15s ease;
491
491
  }
492
492
  // Vertical pills: the moving pill fills the row width.
@@ -588,16 +588,16 @@
588
588
  max-width: min(320px, calc(100vw - 8px));
589
589
  padding: 4px;
590
590
  border: 1px solid var(--color-border);
591
- border-radius: var(--radius);
591
+ border-radius: var(--wui-radius-md);
592
592
  background: var(--color-surface);
593
- box-shadow: var(--wui-shadow-overlay);
593
+ box-shadow: var(--wui-shadow-popover);
594
594
  }
595
595
  .wui-overflow-item {
596
596
  display: block;
597
597
  width: 100%;
598
598
  padding: 8px 10px;
599
599
  border: 0;
600
- border-radius: var(--radius-sm);
600
+ border-radius: var(--wui-radius-sm);
601
601
  background: transparent;
602
602
  color: var(--color-text);
603
603
  font-family: inherit;
@@ -618,7 +618,7 @@
618
618
  outline-offset: var(--wui-focus-ring-inset);
619
619
  }
620
620
  .wui-overflow-item[aria-checked="true"] {
621
- color: var(--color-primary-ink);
621
+ color: var(--color-primary-text);
622
622
  font-weight: 600;
623
623
  }
624
624
  .wui-overflow-item[aria-disabled="true"] {
@@ -659,7 +659,7 @@
659
659
  transition: color 0.12s ease;
660
660
  }
661
661
  .search-wrap:focus-within > .search-icon {
662
- color: var(--color-primary-ink);
662
+ color: var(--color-primary-text);
663
663
  }
664
664
  .search-field,
665
665
  .search-input {
@@ -718,7 +718,7 @@
718
718
  height: 36px;
719
719
  padding: 0;
720
720
  border: 0;
721
- border-radius: var(--wui-field-radius);
721
+ border-radius: var(--wui-field-md-radius);
722
722
  background: transparent;
723
723
  color: var(--color-text-muted);
724
724
  cursor: pointer;
@@ -758,7 +758,7 @@
758
758
  // Sizes — sm / lg around the default, mirroring AppInput. The leading icon and clear button
759
759
  // track the height so they stay centred and clear of the text.
760
760
  .search-wrap.search-sm .search-input {
761
- height: var(--wui-control-height-sm);
761
+ height: var(--wui-control-sm);
762
762
  padding-left: calc(13px + var(--wui-search-icon-size, 12px) + 9px);
763
763
  padding-right: 32px;
764
764
  font-size: 13px;
@@ -773,7 +773,7 @@
773
773
  right: 6px;
774
774
  }
775
775
  .search-wrap.search-lg .search-input {
776
- height: var(--wui-control-height-lg);
776
+ height: var(--wui-control-lg);
777
777
  padding-left: calc(13px + var(--wui-search-icon-size, 24px) + 9px);
778
778
  padding-right: 40px;
779
779
  font-size: 16px;
@@ -820,7 +820,7 @@
820
820
  text-decoration: none;
821
821
  }
822
822
  .breadcrumb-item a:hover {
823
- color: var(--color-primary-ink);
823
+ color: var(--color-primary-text);
824
824
  text-decoration: underline;
825
825
  }
826
826
  .breadcrumb-item.active {
@@ -63,7 +63,7 @@
63
63
  border: 1px solid var(--color-border);
64
64
  border-radius: var(--wui-radius-lg);
65
65
  background: var(--color-surface);
66
- box-shadow: var(--wui-shadow-overlay);
66
+ box-shadow: var(--wui-shadow-popover);
67
67
  // Focus lands on the panel itself when it opens; the controls inside carry the visible focus.
68
68
  outline: none;
69
69
  transform-origin: top right;
@@ -100,7 +100,7 @@
100
100
  border: 0;
101
101
  border-radius: var(--wui-radius-sm);
102
102
  background: none;
103
- color: var(--color-primary-ink);
103
+ color: var(--color-primary-text);
104
104
  font: inherit;
105
105
  font-size: 14px;
106
106
  font-weight: 500;
@@ -146,7 +146,7 @@
146
146
  min-height: 44px;
147
147
  padding: 12px 16px;
148
148
  border: 0;
149
- border-bottom: 1px solid var(--color-border-light);
149
+ border-bottom: 1px solid var(--color-border-subtle);
150
150
  background: transparent;
151
151
  color: var(--color-text-body);
152
152
  font: inherit;
@@ -218,7 +218,7 @@
218
218
  justify-content: center;
219
219
  min-height: 44px;
220
220
  border-top: 1px solid var(--color-border);
221
- color: var(--color-primary-ink);
221
+ color: var(--color-primary-text);
222
222
  font-size: 14px;
223
223
  font-weight: 500;
224
224
  text-decoration: none;
@@ -130,7 +130,7 @@
130
130
  .wui-onboarding-step.is-current .wui-onboarding-mark {
131
131
  border-color: var(--color-primary);
132
132
  background: var(--color-primary-soft);
133
- color: var(--color-primary-ink);
133
+ color: var(--color-primary-text);
134
134
  }
135
135
  .wui-onboarding-step.is-done .wui-onboarding-mark {
136
136
  border-color: transparent;
@@ -158,7 +158,7 @@ a.wui-onboarding-label {
158
158
  text-underline-offset: 3px;
159
159
  }
160
160
  a.wui-onboarding-label:hover {
161
- color: var(--color-primary-ink);
161
+ color: var(--color-primary-text);
162
162
  text-decoration-color: currentColor;
163
163
  }
164
164
  a.wui-onboarding-label::after {