@webority/theme 0.128.0 → 0.130.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.
@@ -1,4 +1,4 @@
1
- // Generated by @webority/tokens 0.128.0 from its token source. Do not edit; run webority brand --library.
1
+ // Generated by @webority/tokens 0.130.0 from its token source. Do not edit; run webority brand --library.
2
2
 
3
3
  :root {
4
4
  --wui-primary: #4F46E5;
@@ -170,6 +170,7 @@
170
170
  --wui-font-display: "Webority Serif", Cambria, Georgia, "Times New Roman", "Noto Serif", serif;
171
171
  --wui-font-mono: "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;
172
172
  --wui-shadow-card: none;
173
+ --wui-shadow-elevated: 0px 2px 8px -2px rgba(7, 20, 55, 0.10);
173
174
  --wui-shadow-popover: 0px 8px 28px -6px rgba(7, 20, 55, 0.14);
174
175
  --wui-shadow-modal: 0px 24px 60px -16px rgba(7, 20, 55, 0.28);
175
176
  --wui-shadow-drawer: 0px 24px 60px -16px rgba(7, 20, 55, 0.28);
@@ -210,6 +211,10 @@
210
211
  --color-surface-inverse: var(--wui-text-heading);
211
212
  --color-surface-inverse-raised: color-mix(in srgb, var(--color-text-inverse) 5%, var(--color-surface-inverse));
212
213
  --color-surface-inverse-elevated: color-mix(in srgb, var(--color-text-inverse) 9%, var(--color-surface-inverse));
214
+ --color-surface-inverse-wash-4: color-mix(in srgb, var(--color-text-inverse) 4%, transparent);
215
+ --color-surface-inverse-wash-8: color-mix(in srgb, var(--color-text-inverse) 8%, transparent);
216
+ --color-surface-inverse-wash-12: color-mix(in srgb, var(--color-text-inverse) 12%, transparent);
217
+ --color-surface-inverse-wash-24: color-mix(in srgb, var(--color-text-inverse) 24%, transparent);
213
218
  --color-surface-dark: var(--wui-text-heading);
214
219
  --color-surface-dark-border: color-mix(in srgb, var(--wui-bg-light) 14%, var(--wui-text-heading));
215
220
  --color-on-surface-dark: var(--wui-bg-light);
@@ -228,6 +233,7 @@
228
233
  --color-field-border-hover: var(--wui-field-border-hover);
229
234
  --color-field-border-focus: var(--wui-primary-30);
230
235
  --color-focus-ring: var(--color-primary-text);
236
+ --color-focus-ring-soft: color-mix(in srgb, var(--color-focus-ring) 25%, transparent);
231
237
  --color-scrim: color-mix(in srgb, var(--wui-text-heading) 45%, transparent);
232
238
  --color-scrim-strong: color-mix(in srgb, var(--wui-text-heading) 62%, transparent);
233
239
  --color-on-scrim: var(--wui-bg-light);
@@ -317,22 +323,32 @@
317
323
  --wui-lh-heading: 1.2;
318
324
  --wui-lh-body: 1.55;
319
325
  --wui-lh-display: 1.05;
320
- --wui-field-sm-radius: var(--wui-radius-sm);
321
- --wui-field-md-radius: var(--wui-radius-sm);
322
- --wui-field-lg-radius: var(--wui-radius-sm);
326
+ --wui-field-sm-radius: var(--wui-radius-md);
327
+ --wui-field-md-radius: var(--wui-radius-md);
328
+ --wui-field-lg-radius: var(--wui-radius-md);
323
329
  --wui-focus-ring-width: var(--wui-space-xxs);
324
330
  --wui-focus-ring-offset: var(--wui-space-xxs);
325
331
  --wui-focus-ring-shadow: 0 0 0 2px var(--color-primary-soft);
332
+ --wui-focus-ring-soft-shadow: 0 0 0 var(--wui-focus-ring-width) var(--color-focus-ring-soft);
326
333
  --wui-press-scale: 0.96;
327
334
  --wui-press-duration: 80ms;
328
335
  --wui-press-opacity: 0.5;
329
336
  --wui-thumb-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
330
337
  --wui-thumb-shadow-hover: 0 2px 12px rgba(0, 0, 0, 0.2);
338
+ --wui-card-pad: 20px;
339
+ --wui-card-title-fs: 16px;
340
+ --wui-card-title-lh: 1.3;
331
341
  --wui-card-shadow-lifted: none;
332
342
  --wui-card-shadow-lifted-hover: none;
333
343
  --wui-table-md-padding-x: var(--wui-table-pad);
344
+ --wui-modal-max-width: 440px;
345
+ --wui-drawer-max: 90;
346
+ --wui-step-tile-size: 34px;
347
+ --wui-kpi-value-size: 24px;
348
+ --wui-nav-menu-current-bg: transparent;
334
349
  --wui-container-md-padding-x: var(--wui-container-pad);
335
350
  --wui-disabled-opacity: 0.5;
351
+ --wui-toast-edge-offset: var(--wui-space-lg);
336
352
  }
337
353
 
338
354
  @media (min-width: 768px) {
@@ -387,6 +403,7 @@
387
403
  --wui-chart-diverging-mid: var(--wui-dark-chart-diverging-mid);
388
404
  --wui-chart-diverging-high: var(--wui-dark-chart-diverging-high);
389
405
  --wui-chart-neutral: var(--wui-dark-chart-neutral);
406
+ --wui-shadow-elevated: 0px 2px 8px -2px rgba(0, 0, 0, 0.45);
390
407
  --wui-shadow-popover: 0px 8px 28px -6px rgba(0, 0, 0, 0.55);
391
408
  --wui-shadow-modal: 0px 24px 60px -16px rgba(0, 0, 0, 0.7);
392
409
  --color-bg: var(--wui-dark-bg-page);
@@ -499,6 +516,11 @@
499
516
  --bs-secondary-bg-rgb: 24, 27, 35;
500
517
  --bs-tertiary-bg-rgb: 35, 39, 51;
501
518
  --bs-border-color-rgb: 42, 47, 58;
519
+ --bs-secondary-rgb: 180, 185, 198;
520
+ --bs-link-color: var(--color-link);
521
+ --bs-link-color-rgb: 149, 144, 239;
522
+ --bs-link-hover-color: var(--color-primary-hover);
523
+ --bs-link-hover-color-rgb: 162, 157, 241;
502
524
  color-scheme: dark;
503
525
  }
504
526
 
@@ -542,6 +564,7 @@
542
564
  --wui-chart-diverging-mid: var(--wui-dark-chart-diverging-mid);
543
565
  --wui-chart-diverging-high: var(--wui-dark-chart-diverging-high);
544
566
  --wui-chart-neutral: var(--wui-dark-chart-neutral);
567
+ --wui-shadow-elevated: 0px 2px 8px -2px rgba(0, 0, 0, 0.45);
545
568
  --wui-shadow-popover: 0px 8px 28px -6px rgba(0, 0, 0, 0.55);
546
569
  --wui-shadow-modal: 0px 24px 60px -16px rgba(0, 0, 0, 0.7);
547
570
  --color-bg: var(--wui-dark-bg-page);
@@ -654,6 +677,11 @@
654
677
  --bs-secondary-bg-rgb: 24, 27, 35;
655
678
  --bs-tertiary-bg-rgb: 35, 39, 51;
656
679
  --bs-border-color-rgb: 42, 47, 58;
680
+ --bs-secondary-rgb: 180, 185, 198;
681
+ --bs-link-color: var(--color-link);
682
+ --bs-link-color-rgb: 149, 144, 239;
683
+ --bs-link-hover-color: var(--color-primary-hover);
684
+ --bs-link-hover-color-rgb: 162, 157, 241;
657
685
  }
658
686
 
659
687
  // Zero specificity, so a component's own class on a themed section or inside it keeps its colour.
@@ -670,25 +698,26 @@ $wui-dark-layer-names: (
670
698
  wui-danger-5, wui-chart-1, wui-chart-2, wui-chart-3, wui-chart-4, wui-chart-5,
671
699
  wui-chart-6, wui-chart-7, wui-chart-8, wui-chart-seq-0, wui-chart-seq-1, wui-chart-seq-2,
672
700
  wui-chart-seq-3, wui-chart-seq-4, wui-chart-seq-5, wui-chart-seq-6, wui-chart-diverging-low, wui-chart-diverging-mid,
673
- wui-chart-diverging-high, wui-chart-neutral, wui-shadow-popover, wui-shadow-modal, color-bg, color-bg-subtle,
674
- color-bg-muted, color-surface, color-surface-inverse, color-text, color-text-body, color-text-muted,
675
- color-text-subtle, color-text-inverse, color-link, color-border, color-border-subtle, color-border-strong,
676
- color-field-bg, color-field-border, color-field-border-hover, color-field-border-focus, color-scrim, color-scrim-strong,
677
- color-progress-track, color-progress-label, color-thumb, color-scrollbar, color-scrollbar-hover, color-scrollbar-active,
678
- color-primary, color-primary-hover, color-primary-soft, color-primary-text, color-on-primary, color-success,
679
- color-success-pressed, color-success-soft, color-success-border, color-success-text, color-success-text-on-soft, color-success-strong,
680
- color-on-success, color-on-success-strong, color-warning, color-warning-pressed, color-warning-soft, color-warning-border,
681
- color-warning-text, color-warning-text-on-soft, color-warning-strong, color-warning-strong-hover, color-on-warning, color-on-warning-strong,
682
- color-danger, color-danger-pressed, color-danger-soft, color-danger-border, color-danger-text, color-danger-text-on-soft,
683
- color-danger-strong, color-danger-strong-hover, color-on-danger, color-on-danger-strong, color-info, color-info-pressed,
684
- color-info-soft, color-info-border, color-info-text, color-info-text-on-soft, color-info-strong, color-on-info,
685
- color-on-info-strong, color-chart-1, color-chart-2, color-chart-3, color-chart-4, color-chart-5,
686
- color-chart-6, color-chart-7, color-chart-8, color-chart-seq-0, color-chart-seq-1, color-chart-seq-2,
687
- color-chart-seq-3, color-chart-seq-4, color-chart-seq-5, color-chart-seq-6, color-chart-diverging-low, color-chart-diverging-mid,
688
- color-chart-diverging-high, color-chart-neutral, wui-close-filter, wui-thumb-shadow, wui-thumb-shadow-hover, bs-body-color,
689
- bs-emphasis-color, bs-secondary-color, bs-tertiary-color, bs-heading-color, bs-body-bg, bs-border-color,
690
- bs-secondary-bg, bs-tertiary-bg, bs-primary, bs-body-bg-rgb, bs-primary-rgb, bs-body-color-rgb,
691
- bs-emphasis-color-rgb, bs-secondary-color-rgb, bs-tertiary-color-rgb, bs-secondary-bg-rgb, bs-tertiary-bg-rgb, bs-border-color-rgb
701
+ wui-chart-diverging-high, wui-chart-neutral, wui-shadow-elevated, wui-shadow-popover, wui-shadow-modal, color-bg,
702
+ color-bg-subtle, color-bg-muted, color-surface, color-surface-inverse, color-text, color-text-body,
703
+ color-text-muted, color-text-subtle, color-text-inverse, color-link, color-border, color-border-subtle,
704
+ color-border-strong, color-field-bg, color-field-border, color-field-border-hover, color-field-border-focus, color-scrim,
705
+ color-scrim-strong, color-progress-track, color-progress-label, color-thumb, color-scrollbar, color-scrollbar-hover,
706
+ color-scrollbar-active, color-primary, color-primary-hover, color-primary-soft, color-primary-text, color-on-primary,
707
+ color-success, color-success-pressed, color-success-soft, color-success-border, color-success-text, color-success-text-on-soft,
708
+ color-success-strong, color-on-success, color-on-success-strong, color-warning, color-warning-pressed, color-warning-soft,
709
+ color-warning-border, color-warning-text, color-warning-text-on-soft, color-warning-strong, color-warning-strong-hover, color-on-warning,
710
+ color-on-warning-strong, color-danger, color-danger-pressed, color-danger-soft, color-danger-border, color-danger-text,
711
+ color-danger-text-on-soft, color-danger-strong, color-danger-strong-hover, color-on-danger, color-on-danger-strong, color-info,
712
+ color-info-pressed, color-info-soft, color-info-border, color-info-text, color-info-text-on-soft, color-info-strong,
713
+ color-on-info, color-on-info-strong, color-chart-1, color-chart-2, color-chart-3, color-chart-4,
714
+ color-chart-5, color-chart-6, color-chart-7, color-chart-8, color-chart-seq-0, color-chart-seq-1,
715
+ color-chart-seq-2, color-chart-seq-3, color-chart-seq-4, color-chart-seq-5, color-chart-seq-6, color-chart-diverging-low,
716
+ color-chart-diverging-mid, color-chart-diverging-high, color-chart-neutral, wui-close-filter, wui-thumb-shadow, wui-thumb-shadow-hover,
717
+ bs-body-color, bs-emphasis-color, bs-secondary-color, bs-tertiary-color, bs-heading-color, bs-body-bg,
718
+ bs-border-color, bs-secondary-bg, bs-tertiary-bg, bs-primary, bs-body-bg-rgb, bs-primary-rgb,
719
+ bs-body-color-rgb, bs-emphasis-color-rgb, bs-secondary-color-rgb, bs-tertiary-color-rgb, bs-secondary-bg-rgb, bs-tertiary-bg-rgb,
720
+ bs-border-color-rgb, bs-secondary-rgb, bs-link-color, bs-link-color-rgb, bs-link-hover-color, bs-link-hover-color-rgb
692
721
  );
693
722
 
694
723
  // var() resolves where a name is declared, so the html copies keep the light values for a light box.
@@ -756,6 +785,7 @@ html {
756
785
  --wui-chart-diverging-mid: var(--wui-dark-chart-diverging-mid);
757
786
  --wui-chart-diverging-high: var(--wui-dark-chart-diverging-high);
758
787
  --wui-chart-neutral: var(--wui-dark-chart-neutral);
788
+ --wui-shadow-elevated: 0px 2px 8px -2px rgba(0, 0, 0, 0.45);
759
789
  --wui-shadow-popover: 0px 8px 28px -6px rgba(0, 0, 0, 0.55);
760
790
  --wui-shadow-modal: 0px 24px 60px -16px rgba(0, 0, 0, 0.7);
761
791
  --color-bg: var(--wui-dark-bg-page);
@@ -868,6 +898,348 @@ html {
868
898
  --bs-secondary-bg-rgb: 24, 27, 35;
869
899
  --bs-tertiary-bg-rgb: 35, 39, 51;
870
900
  --bs-border-color-rgb: 42, 47, 58;
901
+ --bs-secondary-rgb: 180, 185, 198;
902
+ --bs-link-color: var(--color-link);
903
+ --bs-link-color-rgb: 149, 144, 239;
904
+ --bs-link-hover-color: var(--color-primary-hover);
905
+ --bs-link-hover-color-rgb: 162, 157, 241;
871
906
  color-scheme: dark;
872
907
  }
873
908
  }
909
+
910
+ // A light box under a dark page root takes literal light values: var() would resolve against the dark root.
911
+
912
+ :root[data-theme="dark"] [data-theme="light"],
913
+ :root[data-theme="dark"] [data-bs-theme="light"],
914
+ :root[data-bs-theme="dark"] [data-theme="light"],
915
+ :root[data-bs-theme="dark"] [data-bs-theme="light"] {
916
+ --wui-primary-50: #818CF8;
917
+ --wui-primary-30: #A5B4FC;
918
+ --wui-primary-20: #C7D2FE;
919
+ --wui-primary-15: #DDE1FD;
920
+ --wui-primary-10: #E0E7FF;
921
+ --wui-primary-5: #EEF2FF;
922
+ --wui-surface-soft: #F2EFFE;
923
+ --wui-surface-violet-soft: #FCFCFC;
924
+ --wui-surface-mute: #F9FBFC;
925
+ --wui-neutral-bg-dark: #F5F6FA;
926
+ --wui-neutral-bg-light: #F9FBFC;
927
+ --wui-info-10: #E9F3FF;
928
+ --wui-info-5: #F3F9FF;
929
+ --wui-success-10: #E8FAEE;
930
+ --wui-success-5: #F3FCF6;
931
+ --wui-warning-10: #FFF8E6;
932
+ --wui-warning-5: #FEFBF2;
933
+ --wui-danger-10: #FFEAEF;
934
+ --wui-danger-5: #FEF4F6;
935
+ --wui-chart-1: var(--wui-primary);
936
+ --wui-chart-2: #eb6834;
937
+ --wui-chart-3: #1baf7a;
938
+ --wui-chart-4: #eda100;
939
+ --wui-chart-5: #e87ba4;
940
+ --wui-chart-6: #008300;
941
+ --wui-chart-7: #2a78d6;
942
+ --wui-chart-8: #e34948;
943
+ --wui-chart-seq-0: var(--wui-bg-muted);
944
+ --wui-chart-seq-1: var(--wui-primary-10);
945
+ --wui-chart-seq-2: var(--wui-primary-20);
946
+ --wui-chart-seq-3: var(--wui-primary-30);
947
+ --wui-chart-seq-4: var(--wui-primary-50);
948
+ --wui-chart-seq-5: var(--wui-primary-hover);
949
+ --wui-chart-seq-6: var(--wui-primary-pressed);
950
+ --wui-chart-diverging-low: #e34948;
951
+ --wui-chart-diverging-mid: #c4cada;
952
+ --wui-chart-diverging-high: #2a78d6;
953
+ --wui-chart-neutral: #99a1b7;
954
+ --wui-shadow-elevated: 0px 2px 8px -2px rgba(7, 20, 55, 0.10);
955
+ --wui-shadow-popover: 0px 8px 28px -6px rgba(7, 20, 55, 0.14);
956
+ --wui-shadow-modal: 0px 24px 60px -16px rgba(7, 20, 55, 0.28);
957
+ --color-bg: var(--wui-bg-page);
958
+ --color-bg-subtle: var(--wui-bg-elevated);
959
+ --color-bg-muted: var(--wui-bg-muted);
960
+ --color-surface: var(--wui-bg-light);
961
+ --color-surface-inverse: var(--wui-text-heading);
962
+ --color-text: var(--wui-text-heading);
963
+ --color-text-body: var(--wui-text-1);
964
+ --color-text-muted: var(--wui-text-2);
965
+ --color-text-subtle: var(--wui-text-3);
966
+ --color-text-inverse: var(--wui-bg-light);
967
+ --color-link: var(--wui-primary-ink);
968
+ --color-border: var(--wui-border-light);
969
+ --color-border-subtle: var(--wui-border-soft);
970
+ --color-border-strong: var(--wui-border-strong);
971
+ --color-field-bg: var(--wui-field-bg);
972
+ --color-field-border: var(--wui-field-border);
973
+ --color-field-border-hover: var(--wui-field-border-hover);
974
+ --color-field-border-focus: var(--wui-primary-30);
975
+ --color-scrim: color-mix(in srgb, var(--wui-text-heading) 45%, transparent);
976
+ --color-scrim-strong: color-mix(in srgb, var(--wui-text-heading) 62%, transparent);
977
+ --color-progress-track: var(--wui-progress-track);
978
+ --color-progress-label: var(--wui-bg-light);
979
+ --color-thumb: var(--wui-bg-light);
980
+ --color-scrollbar: var(--wui-scrollbar);
981
+ --color-scrollbar-hover: var(--wui-scrollbar-hover);
982
+ --color-scrollbar-active: var(--wui-scrollbar-active);
983
+ --color-primary: var(--wui-primary);
984
+ --color-primary-hover: var(--wui-primary-pressed);
985
+ --color-primary-soft: var(--wui-primary-10);
986
+ --color-primary-text: var(--wui-primary-ink);
987
+ --color-on-primary: var(--wui-primary-text);
988
+ --color-success: var(--wui-success);
989
+ --color-success-pressed: var(--wui-success-active);
990
+ --color-success-soft: var(--wui-success-10);
991
+ --color-success-border: var(--wui-success-30);
992
+ --color-success-text: var(--wui-success-text);
993
+ --color-success-text-on-soft: var(--wui-success-text);
994
+ --color-success-strong: var(--wui-success-strong);
995
+ --color-on-success: #FFFFFF;
996
+ --color-on-success-strong: #FFFFFF;
997
+ --color-warning: var(--wui-warning);
998
+ --color-warning-pressed: var(--wui-warning-active);
999
+ --color-warning-soft: var(--wui-warning-10);
1000
+ --color-warning-border: var(--wui-warning-30);
1001
+ --color-warning-text: var(--wui-warning-text);
1002
+ --color-warning-text-on-soft: var(--wui-warning-text);
1003
+ --color-warning-strong: var(--wui-warning-strong);
1004
+ --color-warning-strong-hover: var(--wui-warning-strong-hover);
1005
+ --color-on-warning: #FFFFFF;
1006
+ --color-on-warning-strong: #FFFFFF;
1007
+ --color-danger: var(--wui-danger);
1008
+ --color-danger-pressed: var(--wui-danger-active);
1009
+ --color-danger-soft: var(--wui-danger-10);
1010
+ --color-danger-border: var(--wui-danger-30);
1011
+ --color-danger-text: var(--wui-danger-text);
1012
+ --color-danger-text-on-soft: var(--wui-danger-text);
1013
+ --color-danger-strong: var(--wui-danger-strong);
1014
+ --color-danger-strong-hover: var(--wui-danger-strong-hover);
1015
+ --color-on-danger: #FFFFFF;
1016
+ --color-on-danger-strong: #FFFFFF;
1017
+ --color-info: var(--wui-info);
1018
+ --color-info-pressed: var(--wui-info-active);
1019
+ --color-info-soft: var(--wui-info-10);
1020
+ --color-info-border: var(--wui-info-30);
1021
+ --color-info-text: var(--wui-info-text);
1022
+ --color-info-text-on-soft: var(--wui-info-text);
1023
+ --color-info-strong: var(--wui-info-active);
1024
+ --color-on-info: #FFFFFF;
1025
+ --color-on-info-strong: #FFFFFF;
1026
+ --color-chart-1: var(--wui-primary);
1027
+ --color-chart-2: var(--wui-chart-2);
1028
+ --color-chart-3: var(--wui-chart-3);
1029
+ --color-chart-4: var(--wui-chart-4);
1030
+ --color-chart-5: var(--wui-chart-5);
1031
+ --color-chart-6: var(--wui-chart-6);
1032
+ --color-chart-7: var(--wui-chart-7);
1033
+ --color-chart-8: var(--wui-chart-8);
1034
+ --color-chart-seq-0: var(--wui-bg-muted);
1035
+ --color-chart-seq-1: var(--wui-primary-10);
1036
+ --color-chart-seq-2: var(--wui-primary-20);
1037
+ --color-chart-seq-3: var(--wui-primary-30);
1038
+ --color-chart-seq-4: var(--wui-primary-50);
1039
+ --color-chart-seq-5: var(--wui-primary-hover);
1040
+ --color-chart-seq-6: var(--wui-primary-pressed);
1041
+ --color-chart-diverging-low: var(--wui-chart-diverging-low);
1042
+ --color-chart-diverging-mid: var(--wui-chart-diverging-mid);
1043
+ --color-chart-diverging-high: var(--wui-chart-diverging-high);
1044
+ --color-chart-neutral: var(--wui-chart-neutral);
1045
+ --wui-close-filter: none;
1046
+ --wui-thumb-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
1047
+ --wui-thumb-shadow-hover: 0 2px 12px rgba(0, 0, 0, 0.2);
1048
+ --bs-body-color: var(--color-text);
1049
+ --bs-emphasis-color: var(--color-text);
1050
+ --bs-secondary-color: var(--color-text-muted);
1051
+ --bs-tertiary-color: var(--color-text-subtle);
1052
+ --bs-heading-color: var(--color-text);
1053
+ --bs-body-bg: var(--color-bg);
1054
+ --bs-border-color: var(--color-border);
1055
+ --bs-secondary-bg: var(--color-surface);
1056
+ --bs-tertiary-bg: var(--color-bg-muted);
1057
+ --bs-primary: var(--color-primary);
1058
+ --bs-body-bg-rgb: 244, 246, 248;
1059
+ --bs-primary-rgb: 79, 70, 229;
1060
+ --bs-body-color-rgb: 7, 20, 55;
1061
+ --bs-emphasis-color-rgb: 7, 20, 55;
1062
+ --bs-secondary-color-rgb: 75, 86, 117;
1063
+ --bs-tertiary-color-rgb: 98, 106, 130;
1064
+ --bs-secondary-bg-rgb: 255, 255, 255;
1065
+ --bs-tertiary-bg-rgb: 245, 246, 250;
1066
+ --bs-border-color-rgb: 235, 237, 243;
1067
+ --bs-link-color: var(--color-link);
1068
+ --bs-link-color-rgb: 79, 70, 229;
1069
+ --bs-link-hover-color: var(--color-primary-hover);
1070
+ --bs-link-hover-color-rgb: 67, 56, 202;
1071
+ }
1072
+
1073
+ :where(:root[data-theme="dark"] [data-theme="light"]),
1074
+ :where(:root[data-theme="dark"] [data-bs-theme="light"]),
1075
+ :where(:root[data-bs-theme="dark"] [data-theme="light"]),
1076
+ :where(:root[data-bs-theme="dark"] [data-bs-theme="light"]) {
1077
+ color-scheme: light;
1078
+ color: var(--color-text);
1079
+ }
1080
+
1081
+ @media (prefers-color-scheme: dark) {
1082
+ :root[data-theme="auto"] [data-theme="light"],
1083
+ :root[data-theme="auto"] [data-bs-theme="light"] {
1084
+ --wui-primary-50: #818CF8;
1085
+ --wui-primary-30: #A5B4FC;
1086
+ --wui-primary-20: #C7D2FE;
1087
+ --wui-primary-15: #DDE1FD;
1088
+ --wui-primary-10: #E0E7FF;
1089
+ --wui-primary-5: #EEF2FF;
1090
+ --wui-surface-soft: #F2EFFE;
1091
+ --wui-surface-violet-soft: #FCFCFC;
1092
+ --wui-surface-mute: #F9FBFC;
1093
+ --wui-neutral-bg-dark: #F5F6FA;
1094
+ --wui-neutral-bg-light: #F9FBFC;
1095
+ --wui-info-10: #E9F3FF;
1096
+ --wui-info-5: #F3F9FF;
1097
+ --wui-success-10: #E8FAEE;
1098
+ --wui-success-5: #F3FCF6;
1099
+ --wui-warning-10: #FFF8E6;
1100
+ --wui-warning-5: #FEFBF2;
1101
+ --wui-danger-10: #FFEAEF;
1102
+ --wui-danger-5: #FEF4F6;
1103
+ --wui-chart-1: var(--wui-primary);
1104
+ --wui-chart-2: #eb6834;
1105
+ --wui-chart-3: #1baf7a;
1106
+ --wui-chart-4: #eda100;
1107
+ --wui-chart-5: #e87ba4;
1108
+ --wui-chart-6: #008300;
1109
+ --wui-chart-7: #2a78d6;
1110
+ --wui-chart-8: #e34948;
1111
+ --wui-chart-seq-0: var(--wui-bg-muted);
1112
+ --wui-chart-seq-1: var(--wui-primary-10);
1113
+ --wui-chart-seq-2: var(--wui-primary-20);
1114
+ --wui-chart-seq-3: var(--wui-primary-30);
1115
+ --wui-chart-seq-4: var(--wui-primary-50);
1116
+ --wui-chart-seq-5: var(--wui-primary-hover);
1117
+ --wui-chart-seq-6: var(--wui-primary-pressed);
1118
+ --wui-chart-diverging-low: #e34948;
1119
+ --wui-chart-diverging-mid: #c4cada;
1120
+ --wui-chart-diverging-high: #2a78d6;
1121
+ --wui-chart-neutral: #99a1b7;
1122
+ --wui-shadow-elevated: 0px 2px 8px -2px rgba(7, 20, 55, 0.10);
1123
+ --wui-shadow-popover: 0px 8px 28px -6px rgba(7, 20, 55, 0.14);
1124
+ --wui-shadow-modal: 0px 24px 60px -16px rgba(7, 20, 55, 0.28);
1125
+ --color-bg: var(--wui-bg-page);
1126
+ --color-bg-subtle: var(--wui-bg-elevated);
1127
+ --color-bg-muted: var(--wui-bg-muted);
1128
+ --color-surface: var(--wui-bg-light);
1129
+ --color-surface-inverse: var(--wui-text-heading);
1130
+ --color-text: var(--wui-text-heading);
1131
+ --color-text-body: var(--wui-text-1);
1132
+ --color-text-muted: var(--wui-text-2);
1133
+ --color-text-subtle: var(--wui-text-3);
1134
+ --color-text-inverse: var(--wui-bg-light);
1135
+ --color-link: var(--wui-primary-ink);
1136
+ --color-border: var(--wui-border-light);
1137
+ --color-border-subtle: var(--wui-border-soft);
1138
+ --color-border-strong: var(--wui-border-strong);
1139
+ --color-field-bg: var(--wui-field-bg);
1140
+ --color-field-border: var(--wui-field-border);
1141
+ --color-field-border-hover: var(--wui-field-border-hover);
1142
+ --color-field-border-focus: var(--wui-primary-30);
1143
+ --color-scrim: color-mix(in srgb, var(--wui-text-heading) 45%, transparent);
1144
+ --color-scrim-strong: color-mix(in srgb, var(--wui-text-heading) 62%, transparent);
1145
+ --color-progress-track: var(--wui-progress-track);
1146
+ --color-progress-label: var(--wui-bg-light);
1147
+ --color-thumb: var(--wui-bg-light);
1148
+ --color-scrollbar: var(--wui-scrollbar);
1149
+ --color-scrollbar-hover: var(--wui-scrollbar-hover);
1150
+ --color-scrollbar-active: var(--wui-scrollbar-active);
1151
+ --color-primary: var(--wui-primary);
1152
+ --color-primary-hover: var(--wui-primary-pressed);
1153
+ --color-primary-soft: var(--wui-primary-10);
1154
+ --color-primary-text: var(--wui-primary-ink);
1155
+ --color-on-primary: var(--wui-primary-text);
1156
+ --color-success: var(--wui-success);
1157
+ --color-success-pressed: var(--wui-success-active);
1158
+ --color-success-soft: var(--wui-success-10);
1159
+ --color-success-border: var(--wui-success-30);
1160
+ --color-success-text: var(--wui-success-text);
1161
+ --color-success-text-on-soft: var(--wui-success-text);
1162
+ --color-success-strong: var(--wui-success-strong);
1163
+ --color-on-success: #FFFFFF;
1164
+ --color-on-success-strong: #FFFFFF;
1165
+ --color-warning: var(--wui-warning);
1166
+ --color-warning-pressed: var(--wui-warning-active);
1167
+ --color-warning-soft: var(--wui-warning-10);
1168
+ --color-warning-border: var(--wui-warning-30);
1169
+ --color-warning-text: var(--wui-warning-text);
1170
+ --color-warning-text-on-soft: var(--wui-warning-text);
1171
+ --color-warning-strong: var(--wui-warning-strong);
1172
+ --color-warning-strong-hover: var(--wui-warning-strong-hover);
1173
+ --color-on-warning: #FFFFFF;
1174
+ --color-on-warning-strong: #FFFFFF;
1175
+ --color-danger: var(--wui-danger);
1176
+ --color-danger-pressed: var(--wui-danger-active);
1177
+ --color-danger-soft: var(--wui-danger-10);
1178
+ --color-danger-border: var(--wui-danger-30);
1179
+ --color-danger-text: var(--wui-danger-text);
1180
+ --color-danger-text-on-soft: var(--wui-danger-text);
1181
+ --color-danger-strong: var(--wui-danger-strong);
1182
+ --color-danger-strong-hover: var(--wui-danger-strong-hover);
1183
+ --color-on-danger: #FFFFFF;
1184
+ --color-on-danger-strong: #FFFFFF;
1185
+ --color-info: var(--wui-info);
1186
+ --color-info-pressed: var(--wui-info-active);
1187
+ --color-info-soft: var(--wui-info-10);
1188
+ --color-info-border: var(--wui-info-30);
1189
+ --color-info-text: var(--wui-info-text);
1190
+ --color-info-text-on-soft: var(--wui-info-text);
1191
+ --color-info-strong: var(--wui-info-active);
1192
+ --color-on-info: #FFFFFF;
1193
+ --color-on-info-strong: #FFFFFF;
1194
+ --color-chart-1: var(--wui-primary);
1195
+ --color-chart-2: var(--wui-chart-2);
1196
+ --color-chart-3: var(--wui-chart-3);
1197
+ --color-chart-4: var(--wui-chart-4);
1198
+ --color-chart-5: var(--wui-chart-5);
1199
+ --color-chart-6: var(--wui-chart-6);
1200
+ --color-chart-7: var(--wui-chart-7);
1201
+ --color-chart-8: var(--wui-chart-8);
1202
+ --color-chart-seq-0: var(--wui-bg-muted);
1203
+ --color-chart-seq-1: var(--wui-primary-10);
1204
+ --color-chart-seq-2: var(--wui-primary-20);
1205
+ --color-chart-seq-3: var(--wui-primary-30);
1206
+ --color-chart-seq-4: var(--wui-primary-50);
1207
+ --color-chart-seq-5: var(--wui-primary-hover);
1208
+ --color-chart-seq-6: var(--wui-primary-pressed);
1209
+ --color-chart-diverging-low: var(--wui-chart-diverging-low);
1210
+ --color-chart-diverging-mid: var(--wui-chart-diverging-mid);
1211
+ --color-chart-diverging-high: var(--wui-chart-diverging-high);
1212
+ --color-chart-neutral: var(--wui-chart-neutral);
1213
+ --wui-close-filter: none;
1214
+ --wui-thumb-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
1215
+ --wui-thumb-shadow-hover: 0 2px 12px rgba(0, 0, 0, 0.2);
1216
+ --bs-body-color: var(--color-text);
1217
+ --bs-emphasis-color: var(--color-text);
1218
+ --bs-secondary-color: var(--color-text-muted);
1219
+ --bs-tertiary-color: var(--color-text-subtle);
1220
+ --bs-heading-color: var(--color-text);
1221
+ --bs-body-bg: var(--color-bg);
1222
+ --bs-border-color: var(--color-border);
1223
+ --bs-secondary-bg: var(--color-surface);
1224
+ --bs-tertiary-bg: var(--color-bg-muted);
1225
+ --bs-primary: var(--color-primary);
1226
+ --bs-body-bg-rgb: 244, 246, 248;
1227
+ --bs-primary-rgb: 79, 70, 229;
1228
+ --bs-body-color-rgb: 7, 20, 55;
1229
+ --bs-emphasis-color-rgb: 7, 20, 55;
1230
+ --bs-secondary-color-rgb: 75, 86, 117;
1231
+ --bs-tertiary-color-rgb: 98, 106, 130;
1232
+ --bs-secondary-bg-rgb: 255, 255, 255;
1233
+ --bs-tertiary-bg-rgb: 245, 246, 250;
1234
+ --bs-border-color-rgb: 235, 237, 243;
1235
+ --bs-link-color: var(--color-link);
1236
+ --bs-link-color-rgb: 79, 70, 229;
1237
+ --bs-link-hover-color: var(--color-primary-hover);
1238
+ --bs-link-hover-color-rgb: 67, 56, 202;
1239
+ }
1240
+ :where(:root[data-theme="auto"] [data-theme="light"]),
1241
+ :where(:root[data-theme="auto"] [data-bs-theme="light"]) {
1242
+ color-scheme: light;
1243
+ color: var(--color-text);
1244
+ }
1245
+ }
@@ -20,7 +20,7 @@
20
20
  // (the documented override path) wins — a plain assignment here would clobber the brand.
21
21
  $primary: #4F46E5 !default;
22
22
  // $secondary is intentional quiet grey (text-2 / foreground-3), NOT a second
23
- // brand hue. `.btn-secondary`, `.text-secondary`, `.bg-secondary` mean "quiet /
23
+ // brand hue. `.btn-soft-primary`, `.text-secondary`, `.bg-secondary` mean "quiet /
24
24
  // de-emphasised" across products (Metronic-like). Products that need a true
25
25
  // second brand colour should use a custom utility or token — do not repurpose
26
26
  // $secondary without a coordinated migration.
@@ -179,23 +179,26 @@ $link-color: $wui-primary-ink !default;
179
179
  $link-hover-color: mix(black, $wui-primary-ink, 12%) !global;
180
180
  }
181
181
 
182
+ // Bootstrap $ defaults generated from the token source (`corepack pnpm run tokens`). Imported here, before the first
183
+ // read of $body-color, $border-color, $border-radius* and $wui-shadow-overlay* below, because a !default value is
184
+ // only visible to lines after it. Every value is !default, so a brand $ set before this file still wins; this file
185
+ // must not reassign them (scripts/check-theme-shadow.mjs).
186
+ @import "bootstrap.generated";
187
+
182
188
 
183
189
  // ---- Body / text ----------------------------------------------------
184
190
  // $body-bg left at Bootstrap's $white — do not restate pure defaults here.
185
- $body-color: #252F4A; // text-1 from locked palette
191
+ // $body-color comes from bootstrap.generated (color.text-body).
186
192
 
187
193
 
188
194
  // ---- Borders --------------------------------------------------------
189
- $border-color: #EBEDF3;
195
+ // $border-color comes from bootstrap.generated (token source).
190
196
 
191
197
  // One ladder; every component derives from it (Bootstrap's own model). Set a
192
198
  // component's radius by pointing it at a rung, never by hardcoding a px value —
193
199
  // that is what let buttons drift to ~3x Bootstrap's.
194
- // Only rungs that DIFFER from Bootstrap 5.3 are set: BS is 0.375/0.25/0.5/1/2rem;
195
- // $border-radius-xl (1rem) and the font-weight ladder match BS and are left alone.
196
- $border-radius: 0.5rem; // 8px — buttons, inputs, dropdowns (BS 0.375)
197
- $border-radius-sm: 0.375rem; // 6px (BS 0.25)
198
- $border-radius-lg: 0.75rem; // 12px — cards, toasts (BS 0.5)
200
+ // $border-radius, -sm, -lg and -pill come from bootstrap.generated (token source radius.md, sm, lg, pill);
201
+ // only $border-radius-2xl is set here.
199
202
  $border-radius-2xl: 1.5rem; // 24px (BS 2rem via $border-radius-xxl)
200
203
 
201
204
 
@@ -247,10 +250,8 @@ $spacers: (
247
250
  // Elevation rule: in-page surfaces are FLAT (borders only).
248
251
  // Bootstrap utility ladder (.shadow / .shadow-sm / .shadow-lg) is zeroed so
249
252
  // products cannot reintroduce random depth. Floating UI (dropdown / modal /
250
- // toast) uses the overlay rungs — same values as --wui-shadow-popover in tokens.
251
- $wui-shadow-overlay: 0 8px 28px -6px rgba(7, 20, 55, 0.14);
252
- $wui-shadow-overlay-lg: 0 24px 60px -16px rgba(7, 20, 55, 0.28);
253
-
253
+ // toast) uses the overlay rungs, $wui-shadow-overlay and $wui-shadow-overlay-lg, which
254
+ // come from bootstrap.generated (shadow.popover, shadow.modal).
254
255
  $box-shadow-sm: none;
255
256
  $box-shadow: none;
256
257
  $box-shadow-lg: none;
@@ -370,7 +371,3 @@ $zindex-toast: 1700;
370
371
  // `--bs-table-color` / `--bs-table-bg`; see the base `.table` rules.)
371
372
  $table-cell-padding-y: 0.75rem; // 12px
372
373
  $table-cell-padding-x: 0.75rem; // 12px
373
-
374
- // Bootstrap $ defaults generated from the token source. Every value is !default, so a brand $ set
375
- // before or after this file still wins.
376
- @import "bootstrap.generated";
@@ -36,6 +36,7 @@
36
36
  @import "wui/navigation";
37
37
  @import "wui/nav-list";
38
38
  @import "wui/card";
39
+ @import "wui/card-options";
39
40
  @import "wui/empty-state";
40
41
  @import "wui/data";
41
42
  @import "wui/pagination";
@@ -89,6 +90,7 @@
89
90
  @import "wui/filter-popover";
90
91
  @import "wui/metric-strip";
91
92
  @import "wui/due-date";
93
+ @import "wui/cell";
92
94
 
93
95
  // Country flags are NOT part of this aggregate. The 245 `.wui-flag-*` rules are about 187KB raw
94
96
  // (38KB Brotli) of inlined SVG, and most sites never render a phone field or country picker.
@@ -96,15 +98,16 @@
96
98
  // <wui-phone> and <wui-country-select> show an empty grey box where the flag should be.
97
99
  @import "wui/shell";
98
100
  @import "wui/shell-parts";
101
+ @import "wui/account-switcher";
99
102
  @import "wui/dock";
100
103
  @import "wui/consent-banner";
101
104
  @import "wui/file-viewer";
102
105
  @import "wui/lightbox";
103
106
  @import "wui/toolbar";
104
107
  @import "wui/theme-toggle";
108
+ @import "wui/auth-layout";
105
109
  @import "wui/tree";
106
110
  @import "wui/floating";
107
- @import "wui/chat";
108
111
  @import "wui/code-block";
109
112
  // After `overlays`: anchors the shared modal shell to the top when it holds the palette card.
110
113
  @import "wui/command-palette";
@@ -114,6 +117,9 @@
114
117
  @import "wui/hover-card";
115
118
  @import "wui/notification-center";
116
119
  @import "wui/whats-new";
120
+ // Before field-floor, which restates the font sizes the size steps set.
121
+ @import "wui/field-busy";
122
+ @import "wui/field-sizes";
117
123
  // After every component partial: restates each field's own font size with a 16px floor on touch screens.
118
124
  @import "wui/field-floor";
119
125
  // After every component partial: the shared focus ring and pressed wash settle ties with their hover rules.
@@ -28,6 +28,7 @@
28
28
  @import "wui/navigation";
29
29
  @import "wui/nav-list";
30
30
  @import "wui/card";
31
+ @import "wui/card-options";
31
32
  @import "wui/empty-state";
32
33
  @import "wui/data";
33
34
  @import "wui/pagination";
@@ -75,6 +76,7 @@
75
76
  @import "wui/filter-popover";
76
77
  @import "wui/metric-strip";
77
78
  @import "wui/due-date";
79
+ @import "wui/cell";
78
80
 
79
81
  // Country flags are NOT part of this layer. The 245 `.wui-flag-*` rules are about 187KB raw
80
82
  // (38KB Brotli) of inlined SVG, and most sites never render a phone field or country picker.
@@ -82,10 +84,12 @@
82
84
  // <wui-phone> and <wui-country-select> show an empty grey box where the flag should be.
83
85
  @import "wui/shell";
84
86
  @import "wui/shell-parts";
87
+ @import "wui/account-switcher";
85
88
  @import "wui/consent-banner";
86
89
  @import "wui/lightbox";
87
90
  @import "wui/toolbar";
88
91
  @import "wui/theme-toggle";
92
+ @import "wui/auth-layout";
89
93
  @import "wui/floating";
90
94
  @import "wui/code-block";
91
95
  @import "wui/context-menu";
@@ -93,6 +97,9 @@
93
97
  @import "wui/hover-card";
94
98
  @import "wui/notification-center";
95
99
  @import "wui/whats-new";
100
+ // Before field-floor, which restates the font sizes the size steps set.
101
+ @import "wui/field-busy";
102
+ @import "wui/field-sizes";
96
103
  // After every component partial: restates each field's own font size with a 16px floor on touch screens.
97
104
  @import "wui/field-floor";
98
105
  // After every component partial: the shared focus ring and pressed wash settle ties with their hover rules.