@genexus/mercury 0.8.0 → 0.8.3

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 (38) hide show
  1. package/dist/assets-manager.d.ts +2 -1
  2. package/dist/assets-manager.js +4 -0
  3. package/dist/bundles/css/all.css +1 -1
  4. package/dist/bundles/css/base/base.css +1 -1
  5. package/dist/bundles/css/base/icons.css +1 -1
  6. package/dist/bundles/css/chameleon/scrollbar.css +1 -1
  7. package/dist/bundles/css/components/accordion.css +1 -1
  8. package/dist/bundles/css/components/button.css +1 -1
  9. package/dist/bundles/css/components/chat.css +1 -1
  10. package/dist/bundles/css/components/checkbox.css +1 -1
  11. package/dist/bundles/css/components/code.css +1 -1
  12. package/dist/bundles/css/components/combo-box.css +1 -1
  13. package/dist/bundles/css/components/dialog.css +1 -1
  14. package/dist/bundles/css/components/edit.css +1 -1
  15. package/dist/bundles/css/components/flexible-layout.css +1 -1
  16. package/dist/bundles/css/components/icon.css +1 -1
  17. package/dist/bundles/css/components/list-box.css +1 -1
  18. package/dist/bundles/css/components/markdown-viewer.css +1 -1
  19. package/dist/bundles/css/components/navigation-list.css +1 -1
  20. package/dist/bundles/css/components/radio-group.css +1 -1
  21. package/dist/bundles/css/components/segmented-control.css +1 -1
  22. package/dist/bundles/css/components/sidebar.css +1 -1
  23. package/dist/bundles/css/components/slider.css +1 -1
  24. package/dist/bundles/css/components/tab.css +1 -1
  25. package/dist/bundles/css/components/tabular-grid.css +1 -1
  26. package/dist/bundles/css/components/ticket-list.css +1 -1
  27. package/dist/bundles/css/components/tooltip.css +1 -0
  28. package/dist/bundles/css/components/tree-view.css +1 -1
  29. package/dist/bundles/css/resets/box-sizing.css +1 -1
  30. package/dist/bundles/css/utils/form--full.css +1 -1
  31. package/dist/bundles/css/utils/form.css +1 -1
  32. package/dist/bundles/css/utils/layout.css +1 -1
  33. package/dist/bundles/css/utils/typography.css +1 -1
  34. package/dist/bundles/scss/base/base.scss +0 -1
  35. package/dist/bundles/scss/components/tooltip.scss +3 -0
  36. package/dist/bundles.d.ts +1 -1
  37. package/dist/mercury.scss +425 -470
  38. package/package.json +2 -2
package/dist/mercury.scss CHANGED
@@ -248,12 +248,12 @@
248
248
  // ----------------------
249
249
  // Focus
250
250
  // ----------------------
251
- @mixin focus-outline($outline: false) {
251
+ @mixin focus-outline() {
252
252
  outline: var(--focus__outline-width) var(--focus__outline-style)
253
253
  var(--focus__outline-color);
254
254
  outline-offset: var(--focus__outline-offset);
255
255
  }
256
- @mixin focus-border($outline: false) {
256
+ @mixin focus-border() {
257
257
  border-color: var(--borders-un-border-color__focused);
258
258
  }
259
259
 
@@ -558,14 +558,14 @@
558
558
  padding-block-end: var(--mer-spacing--2xs);
559
559
  }
560
560
  @mixin grid-rowset-legend-colors-enabled() {
561
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
561
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
562
562
  background-color: var(--grid-rowset-legend__bg-color);
563
563
  }
564
564
  @mixin grid-rowset-legend-colors-hover() {
565
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
565
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--03);
566
566
  }
567
567
  @mixin grid-rowset-legend-colors-active() {
568
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
568
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
569
569
  }
570
570
 
571
571
  // ----------------------
@@ -606,7 +606,9 @@
606
606
  --tab-caption__border-color--selected-inline: var(
607
607
  --mer-border-color__primary--disabled
608
608
  );
609
- --tab-caption__border-color--selected-stack: var(--mer-color__elevation--02);
609
+ --tab-caption__border-color--selected-stack: var(
610
+ --mer-surface__elevation--02
611
+ );
610
612
  }
611
613
  @mixin tab-button-colors-selected-inline() {
612
614
  --tab-caption__bg-color: var(--tab-caption__bg-color--selected-inline);
@@ -685,7 +687,7 @@
685
687
  }
686
688
  @mixin control-footer-border() {
687
689
  border-block-start: var(--mer-border__width--sm) solid
688
- var(--mer-color__elevation--04);
690
+ var(--mer-border-color__on-elevation--01);
689
691
  }
690
692
  @mixin control-footer(
691
693
  $selector: ".control-footer",
@@ -875,148 +877,49 @@
875
877
 
876
878
  @mixin foundation-colors--light() {
877
879
  // primary
878
- --mer-color__primary-blue--200: #2070ce;
880
+ --mer-color__primary-blue--200: #005ac1;
879
881
  --mer-color__primary-blue--300: #5498e8;
880
882
  --mer-color__primary-blue--400: #437dc0;
881
883
  --mer-color__primary-blue--600: #335884;
882
884
 
883
885
  // neutral
884
- --mer-color__neutral-gray--100: #11151c;
885
- --mer-color__neutral-gray--200: #181f2a;
886
- --mer-color__neutral-gray--300: #242d3c;
887
- --mer-color__neutral-gray--400: #2d3a48;
888
- --mer-color__neutral-gray--450: #394552;
889
- --mer-color__neutral-gray--500: #485665;
890
- --mer-color__neutral-gray--550: #56677a;
891
- --mer-color__neutral-gray--600: #9da9b6;
892
- --mer-color__neutral-gray--650: #c0ccd9;
893
- --mer-color__neutral-gray--700: #c0ccd9;
894
- --mer-color__neutral-gray--800: #d2ddeb;
895
- --mer-color__neutral-gray--900: #e1ecf9;
896
- // 1000 to 1400 do not exist anymore in figma but can not be removed yet
897
- // because gemini is dependent on this tokens (check with designer)
898
- --mer-color__neutral-gray--1000: #f8f8f8;
899
- --mer-color__neutral-gray--1100: #f1f1f1;
900
- --mer-color__neutral-gray--1200: #e4e4e4;
901
- --mer-color__neutral-gray--1300: #dedede;
902
- --mer-color__neutral-gray--1400: #ffffff;
886
+ --mer-color__neutral-gray--100: #4a5870;
887
+ --mer-color__neutral-gray--200: #49566d;
888
+ --mer-color__neutral-gray--300: #56677a;
889
+ --mer-color__neutral-gray--400: #56677a;
890
+ --mer-color__neutral-gray--450: #56677a;
891
+ --mer-color__neutral-gray--500: #828b96;
892
+ --mer-color__neutral-gray--550: #9da9b6;
893
+ --mer-color__neutral-gray--600: #aeb9c6;
894
+ --mer-color__neutral-gray--650: #c6d1dd;
895
+ --mer-color__neutral-gray--700: #e1ecf9;
896
+ --mer-color__neutral-gray--800: #fafbfd;
897
+ --mer-color__neutral-gray--900: #f0f4fa;
898
+ --mer-color__neutral-gray--1000: #ffffff;
903
899
 
904
900
  // tinted
905
- --mer-color__tinted-yellow--5: #ffc96b0d;
906
- --mer-color__tinted-yellow--60: #ffc96b99;
907
- --mer-color__tinted-red--5: #fb7c840d;
908
- --mer-color__tinted-red--60: #fb7c8499;
909
- --mer-color__tinted-green--5: #3fa89b0d;
910
- --mer-color__tinted-green--60: #3fa89b99;
911
- --mer-color__tinted-blue--5: #2070ce0d;
912
- --mer-color__tinted-blue--8: #2070ce14;
913
- --mer-color__tinted-blue--10: #2070ce1a;
914
- --mer-color__tinted-blue--20: #2070ce33;
915
- --mer-color__tinted-blue--30: #2070ce4d;
916
- --mer-color__tinted-blue--50: #2070ce80;
901
+ --mer-color__tinted-yellow--5: #faf9f6;
902
+ --mer-color__tinted-yellow--60: #fafbfd;
903
+ --mer-color__tinted-red--5: #faf5f7;
904
+ --mer-color__tinted-red--60: #fbb2b7;
905
+ --mer-color__tinted-green--5: #f2f7f8;
906
+ --mer-color__tinted-green--60: #94cac4;
907
+ --mer-color__tinted-blue--5: #f3f6fd;
908
+ --mer-color__tinted-blue--8: #eff5fd;
909
+ --mer-color__tinted-blue--10: #ecf3fd;
910
+ --mer-color__tinted-blue--20: #deebfe;
911
+ --mer-color__tinted-blue--30: #cfe3fe;
912
+ --mer-color__tinted-blue--50: #b1d2fe;
917
913
 
918
914
  // message
919
- --mer-color__message-green--100: #3fa89b;
920
- --mer-color__message-green--200: #3fa89b; // not anymore in figma (check with designer)
921
- --mer-color__message-yellow--100: #ffc96b;
922
- --mer-color__message-yellow--200: #ffc96b; // not anymore in figma (check with designer)
923
- --mer-color__message-red--100: #fb7c84;
924
- --mer-color__message-red--200: #fb7c84; // not anymore in figma (check with designer)
925
- --mer-color__message-red--300: #dd8f94; // not anymore in figma (check with designer)
926
-
927
- // surface
928
- --mer-color__surface: var(--mer-color__neutral-gray--100);
929
-
930
- // elevation
931
- --mer-color__elevation--01: var(--mer-color__neutral-gray--200);
932
- --mer-color__elevation--02: #e4e4e4;
933
- --mer-color__elevation--03: #dedede;
934
- --mer-color__elevation--04: #ffffff;
935
-
936
- // gradients
937
- --mer-color__gradient-angle: 225deg;
938
- --mer-color__gradient-opacity--low: 0.7;
939
- --mer-color__gradient-opacity--medium: 0.9;
940
- --mer-color__gradient-opacity--high: 1;
941
-
942
- // gradient 01
943
- --mer-color__gradient--01: linear-gradient(
944
- var(--mer-color__gradient-angle),
945
- rgba(0, 204, 255, var(--mer-color__gradient-opacity--medium)) 0%,
946
- rgba(163, 0, 255, var(--mer-color__gradient-opacity--medium)) 100%
947
- );
948
- // gradient 02
949
- --mer-color__gradient--02: linear-gradient(
950
- var(--mer-color__gradient-angle),
951
- rgba(57, 255, 20, var(--mer-color__gradient-opacity--high)) 0%,
952
- rgba(255, 0, 114, var(--mer-color__gradient-opacity--high)) 100%
953
- );
954
- // gradient 03
955
- --mer-color__gradient--03: linear-gradient(
956
- var(--mer-color__gradient-angle),
957
- rgba(0, 245, 255, var(--mer-color__gradient-opacity--low)) 0%,
958
- rgba(255, 234, 0, var(--mer-color__gradient-opacity--high)) 100%
959
- );
960
- // gradient 04
961
- --mer-color__gradient--04: linear-gradient(
962
- var(--mer-color__gradient-angle),
963
- rgba(16, 196, 195, var(--mer-color__gradient-opacity--high)) 0%,
964
- rgba(236, 30, 91, var(--mer-color__gradient-opacity--high)) 100%
965
- );
966
- // gradient 05
967
- --mer-color__gradient--05: linear-gradient(
968
- var(--mer-color__gradient-angle),
969
- rgba(255, 0, 162, var(--mer-color__gradient-opacity--high)) 0%,
970
- rgba(139, 0, 255, var(--mer-color__gradient-opacity--high)) 100%
971
- );
972
- // gradient 06
973
- --mer-color__gradient--06: linear-gradient(
974
- var(--mer-color__gradient-angle),
975
- rgba(204, 255, 0, var(--mer-color__gradient-opacity--medium)) 0%,
976
- rgba(0, 255, 204, var(--mer-color__gradient-opacity--medium)) 100%
977
- );
978
- // gradient 07
979
- --mer-color__gradient--07: linear-gradient(
980
- var(--mer-color__gradient-angle),
981
- rgba(91, 118, 255, var(--mer-color__gradient-opacity--medium)) 0%,
982
- rgba(0, 255, 203, var(--mer-color__gradient-opacity--medium)) 100%
983
- );
984
- // gradient 08
985
- --mer-color__gradient--08: linear-gradient(
986
- var(--mer-color__gradient-angle),
987
- rgba(255, 0, 255, var(--mer-color__gradient-opacity--high)) 0%,
988
- rgba(0, 149, 255, var(--mer-color__gradient-opacity--high)) 100%
989
- );
990
- // gradient 09
991
- --mer-color__gradient--09: linear-gradient(
992
- var(--mer-color__gradient-angle),
993
- rgba(255, 69, 0, var(--mer-color__gradient-opacity--medium)) 0%,
994
- rgba(142, 84, 200, var(--mer-color__gradient-opacity--medium)) 100%
995
- );
996
- // gradient 10
997
- --mer-color__gradient--10: linear-gradient(
998
- var(--mer-color__gradient-angle),
999
- rgba(255, 0, 127, var(--mer-color__gradient-opacity--low)) 0%,
1000
- rgba(0, 255, 0, var(--mer-color__gradient-opacity--low)) 100%
1001
- );
1002
- // gradient 11
1003
- --mer-color__gradient--11: linear-gradient(
1004
- var(--mer-color__gradient-angle),
1005
- rgba(255, 199, 0, var(--mer-color__gradient-opacity--high)) 0%,
1006
- rgba(138, 43, 226, var(--mer-color__gradient-opacity--high)) 100%
1007
- );
1008
- // gradient 12
1009
- --mer-color__gradient--12: linear-gradient(
1010
- var(--mer-color__gradient-angle),
1011
- rgba(255, 0, 51, var(--mer-color__gradient-opacity--medium)) 0%,
1012
- rgba(255, 204, 0, var(--mer-color__gradient-opacity--medium)) 100%
1013
- );
1014
- // gradient 13
1015
- --mer-color__gradient--13: linear-gradient(
1016
- var(--mer-color__gradient-angle),
1017
- rgba(0, 255, 60, var(--mer-color__gradient-opacity--high)) 0%,
1018
- rgba(255, 102, 0, var(--mer-color__gradient-opacity--high)) 100%
1019
- );
915
+ --mer-color__message-green--100: #208e80;
916
+ --mer-color__message-green--200: #208e80;
917
+ --mer-color__message-yellow--100: #dfa135;
918
+ --mer-color__message-yellow--200: #dfa135;
919
+ --mer-color__message-red--100: #da1a27;
920
+ --mer-color__message-red--200: #da1a27;
921
+ --mer-color__message-red--300: #4d0000;
922
+ --mer-color__message-red--400: #800000;
1020
923
  }
1021
924
 
1022
925
  @mixin foundation-colors--dark() {
@@ -1039,32 +942,9 @@
1039
942
  --mer-color__neutral-gray--700: #242d3c;
1040
943
  --mer-color__neutral-gray--800: #181f2a;
1041
944
  --mer-color__neutral-gray--900: #11151c;
1042
- // 1000 to 1400 do not exist anymore in figma but can not be removed yet
1043
- // because gemini is dependent on this tokens (check with designer)
1044
945
  --mer-color__neutral-gray--1000: #1f2225;
1045
- --mer-color__neutral-gray--1100: #24272a;
1046
- --mer-color__neutral-gray--1200: #2d3032;
1047
- --mer-color__neutral-gray--1300: #3b3e40;
1048
- --mer-color__neutral-gray--1400: #2d3134;
1049
-
1050
- // tinted (with opacity) this values had to be updated to the no opacity
1051
- // version (see below), because colors with opacity caused some issues when
1052
- // overlapping. Until this is not a definitive edition
1053
-
1054
- // --mer-color__tinted-yellow--5: #ffc96b0d;
1055
- // --mer-color__tinted-yellow--60: #ffc96b99;
1056
- // --mer-color__tinted-red--5: #fb7c840d;
1057
- // --mer-color__tinted-red--60: #fb7c8499;
1058
- // --mer-color__tinted-green--5: #3fa89b0d;
1059
- // --mer-color__tinted-green--60: #3fa89b99;
1060
- // --mer-color__tinted-blue--5: #5ba7ff0d;
1061
- // --mer-color__tinted-blue--8: #5ba7ff14;
1062
- // --mer-color__tinted-blue--10: #5ba7ff1a;
1063
- // --mer-color__tinted-blue--20: #5ba7ff33;
1064
- // --mer-color__tinted-blue--30: #5ba7ff4d;
1065
- // --mer-color__tinted-blue--50: #5ba7ff80;
1066
-
1067
- // tinted (no opacity) // tints with opacity were giving some issues
946
+
947
+ // tinted
1068
948
  --mer-color__tinted-yellow--5: #282a2d;
1069
949
  --mer-color__tinted-yellow--60: #ad8a53;
1070
950
  --mer-color__tinted-red--5: #29252f;
@@ -1080,22 +960,51 @@
1080
960
 
1081
961
  // message
1082
962
  --mer-color__message-green--100: #3fa89b;
1083
- --mer-color__message-green--200: #3fa89b; // not anymore in figma (check with designer)
963
+ --mer-color__message-green--200: #3fa89b;
1084
964
  --mer-color__message-yellow--100: #f9bd56;
1085
- --mer-color__message-yellow--200: #f9bd56; // not anymore in figma (check with designer)
965
+ --mer-color__message-yellow--200: #f9bd56;
1086
966
  --mer-color__message-red--100: #e35861;
1087
- --mer-color__message-red--200: #e35861; // not anymore in figma (check with designer)
1088
- --mer-color__message-red--300: #dd8f94; // not anymore in figma (check with designer)
967
+ --mer-color__message-red--200: #d54b54;
968
+ --mer-color__message-red--300: #ff6161;
969
+ --mer-color__message-red--400: #ff9999;
970
+ }
971
+
972
+ @mixin font() {
973
+ // families
974
+ --mer-font-family--title: Inter, Helvetica, Arial, sans-serif;
975
+ --mer-font-family--body: Inter, Helvetica, Arial, sans-serif;
976
+ --mer-font-family--code: monospace;
977
+
978
+ // weights
979
+ --mer-font__weight--light: 300;
980
+ --mer-font__weight--regular: 400;
981
+ --mer-font__weight--medium: 500;
982
+ --mer-font__weight--semi-bold: 600;
983
+ --mer-font__weight--bold: 700;
984
+ --mer-font__weight--extra-bold: 800;
985
+
986
+ // sizes
987
+ --mer-font__size--4xs: 11px;
988
+ --mer-font__size--3xs: 12px;
989
+ --mer-font__size--2xs: 13px;
990
+ --mer-font__size--xs: 14px;
991
+ --mer-font__size--sm: 16px;
992
+ --mer-font__size--md: 20px;
993
+ --mer-font__size--lg: 24px;
994
+ --mer-font__size--xl: 36px;
1089
995
 
1090
- // surface
1091
- --mer-color__surface: var(--mer-color__neutral-gray--900);
996
+ // line heights
997
+ --mer-line-height--tight: 1.3;
998
+ --mer-line-height--regular: 1.4;
999
+ --mer-line-height--spaced: 1.5;
1092
1000
 
1093
- // elevation
1094
- --mer-color__elevation--01: var(--mer-color__neutral-gray--800);
1095
- --mer-color__elevation--02: var(--mer-color__neutral-gray--700);
1096
- --mer-color__elevation--03: var(--mer-color__neutral-gray--650);
1097
- --mer-color__elevation--04: var(--mer-color__neutral-gray--600);
1001
+ // letter spacings (to be done)
1002
+ // --mer-letter-spacing--tight: ;
1003
+ // --mer-letter-spacing--regular: ;
1004
+ // --mer-letter-spacing--comfortable: ;
1005
+ }
1098
1006
 
1007
+ @mixin foundation-colors--gradients() {
1099
1008
  // gradients
1100
1009
  --mer-color__gradient-angle: 225deg;
1101
1010
  --mer-color__gradient-opacity--low: 0.7;
@@ -1182,79 +1091,6 @@
1182
1091
  );
1183
1092
  }
1184
1093
 
1185
- @mixin elevation--light() {
1186
- // background color
1187
- --mer-elevation__bg-color--01: var(--mer-color__neutral-gray--900);
1188
- --mer-elevation__bg-color--02: var(--mer-color__neutral-gray--900);
1189
- --mer-elevation__bg-color--03: var(--mer-color__neutral-gray--900);
1190
- --mer-elevation__bg-color--04: var(--mer-color__neutral-gray--900);
1191
-
1192
- // border
1193
- --mer-elevation__border-01: transparent;
1194
- --mer-elevation__border-02: transparent;
1195
- --mer-elevation__border-03: transparent;
1196
- --mer-elevation__border-04: transparent;
1197
-
1198
- // box shadow
1199
- --mer-box-shadow--01: 0px 4px 20px 0px #00000040;
1200
- }
1201
-
1202
- @mixin elevation--dark() {
1203
- // background color
1204
- --mer-elevation__bg-color--01: var(--mer-color__elevation--01);
1205
- --mer-elevation__bg-color--02: var(--mer-color__elevation--02);
1206
- --mer-elevation__bg-color--03: var(--mer-color__elevation--03);
1207
- --mer-elevation__bg-color--04: var(--mer-color__elevation--04);
1208
-
1209
- // border
1210
- --mer-elevation__border-01: 1px solid var(--mer-color__elevation--03);
1211
- --mer-elevation__border-03: transparent;
1212
- --mer-elevation__border-04: transparent;
1213
-
1214
- // box shadow
1215
- --mer-elevation__box-shadow--01: none;
1216
- --mer-elevation__box-shadow--02: none;
1217
- --mer-elevation__box-shadow--03: none;
1218
- --mer-elevation__box-shadow--04: none;
1219
-
1220
- // box shadow
1221
- --mer-box-shadow--01: 0px 4px 20px 0px #00000040;
1222
- }
1223
-
1224
- @mixin font() {
1225
- // families
1226
- --mer-font-family--title: Inter, Helvetica, Arial, sans-serif;
1227
- --mer-font-family--body: Inter, Helvetica, Arial, sans-serif;
1228
- --mer-font-family--code: monospace;
1229
-
1230
- // weights
1231
- --mer-font__weight--light: 300;
1232
- --mer-font__weight--regular: 400;
1233
- --mer-font__weight--semi-bold: 600;
1234
- --mer-font__weight--bold: 700;
1235
- --mer-font__weight--extra-bold: 800;
1236
-
1237
- // sizes
1238
- --mer-font__size--4xs: 11px;
1239
- --mer-font__size--3xs: 12px;
1240
- --mer-font__size--2xs: 13px;
1241
- --mer-font__size--xs: 14px;
1242
- --mer-font__size--sm: 16px;
1243
- --mer-font__size--md: 20px;
1244
- --mer-font__size--lg: 24px;
1245
- --mer-font__size--xl: 36px;
1246
-
1247
- // line heights
1248
- --mer-line-height--tight: 1.3;
1249
- --mer-line-height--regular: 1.4;
1250
- --mer-line-height--spaced: 1.5;
1251
-
1252
- // letter spacings (to be done)
1253
- // --mer-letter-spacing--tight: ;
1254
- // --mer-letter-spacing--regular: ;
1255
- // --mer-letter-spacing--comfortable: ;
1256
- }
1257
-
1258
1094
  @mixin spacing() {
1259
1095
  --mer-spacing--3xs: 2px;
1260
1096
  --mer-spacing--2xs: 4px;
@@ -1283,6 +1119,8 @@
1283
1119
  --mer-accent__primary--active: var(--mer-color__primary-blue--600);
1284
1120
  --mer-accent__primary--disabled: var(--mer-color__neutral-gray--500);
1285
1121
  --mer-accent__primary--destructive: var(--mer-color__message-red--100);
1122
+ --mer-accent__primary--destructive-hover: var(--mer-color__message-red--300);
1123
+ --mer-accent__primary--destructive-active: var(--mer-color__message-red--400);
1286
1124
  }
1287
1125
 
1288
1126
  @mixin semantic-border() {
@@ -1431,6 +1269,108 @@
1431
1269
  --field-inline-label__margin-block-start: 6px; // 6px is the proper value, but it does not exists on the mercury ds.
1432
1270
  }
1433
1271
 
1272
+ @mixin semantic-general() {
1273
+ // ----------------------
1274
+ // Body
1275
+ // ----------------------
1276
+ --mer-body__bg-color: var(--mer-surface);
1277
+ --mer-body__color: var(--mer-text__on-surface);
1278
+ --mer-body__font-size: var(--mer-font__size--3xs);
1279
+ --mer-body__font-family: var(--mer-font-family--body);
1280
+ --mer-body__font-weight: var(--mer-font__weight--regular);
1281
+ --mer-body__line-height: var(--mer-line-height--spaced);
1282
+ --mer-body__margin-block: var(--mer-spacing--sm);
1283
+
1284
+ // ----------------------
1285
+ // System
1286
+ // ----------------------
1287
+ // System tokens are the most basic kind, used when there is not a more specific categorization.
1288
+ --mer-system__border-width: var(--mer-border__width--sm);
1289
+ --mer-system__border-style: solid;
1290
+ --mer-system__border-color: var(--mer-color__neutral-gray--500);
1291
+
1292
+ // ----------------------
1293
+ // Heading
1294
+ // ----------------------
1295
+ --mer-heading__color: var(--mer-color__neutral-gray--100);
1296
+
1297
+ // ----------------------
1298
+ // Scrollbar
1299
+ // ----------------------
1300
+ // scrollbar
1301
+ --scrollbar__size: var(--mer-spacing--2xs);
1302
+ // scrollbar-track
1303
+ --scrollbar-track__bg-color: var(--mer-color__neutral-gray--650);
1304
+
1305
+ --scrollbar-track__border-radius: var(--mer-spacing--xs);
1306
+ // scrollbar-thumb
1307
+ --scrollbar-thumb__bg-color: var(--mer-color__neutral-gray--550);
1308
+ --scrollbar-thumb__border-radius: var(--mer-spacing--xs);
1309
+ // scrollbar-thumb
1310
+ --scrollbar-corner__bg: transparent;
1311
+
1312
+ // ----------------------
1313
+ // Icon Size
1314
+ // ----------------------
1315
+ // box (shell)
1316
+ --mer-icon__box--sm: var(--mer-spacing--sm);
1317
+ --mer-icon__box--md: 14px; // no spacing token exists for 14px.
1318
+ // icon (background-size)
1319
+ --mer-icon__size--sm: 100%;
1320
+ --mer-icon__size--md: 100%;
1321
+
1322
+ // ------------------------------------------------------------
1323
+ // Form Input (form-input-*** background-position-x RTL support)
1324
+ // ------------------------------------------------------------
1325
+ --mer-form-input__padding-inline: var(--mer-spacing--xs);
1326
+ --mer-form-input__bg-position--x-value: var(--mer-form-input__padding-inline);
1327
+ --mer-form-input__bg-position--x: var(--mer-form-input__bg-position--x-value);
1328
+ // The following css variables are at the time of writing, global, because some components, besides
1329
+ // the ch-checkbox, implement their own checkboxes. For example, the tabular-grid cell parts "selector-label"
1330
+ // and "selector".
1331
+ --mer-form-input__border-color: var(--mer-color__neutral-gray--500);
1332
+ --mer-form-input__border-style: solid;
1333
+ --mer-form-input__border-width: var(--mer-border__width--sm);
1334
+ --mer-form-input__border: var(--mer-form-input__border-width)
1335
+ var(--mer-form-input__border-style) var(--mer-form-input__border-color);
1336
+ --mer-form-input__border-radius: var(--mer-border__radius--sm);
1337
+ // the input checkbox checked styles, or radio button inner circle
1338
+ --mer-form-input-check__border-width: var(--mer-border__radius--xs);
1339
+ --mer-form-input-check__border-color: var(
1340
+ --mer-border-color__neutral--active
1341
+ );
1342
+ --mer-form-input-check__border-color--disabled: var(
1343
+ --mer-accent__primary--disabled
1344
+ );
1345
+ --mer-checkbox__option-checked-image: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='currentColor' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>");
1346
+
1347
+ // ----------------------
1348
+ // Window
1349
+ // ----------------------
1350
+ // TODO: This styles should better be applied on the ch-window.
1351
+ --window__border: var(--mer-border__width--sm) solid
1352
+ var(--mer-surface__elevation--01);
1353
+ --window__border-radius: var(--mer-border__radius--sm);
1354
+ --window__padding: var(--mer-spacing--xs);
1355
+ --window__bg-color: var(--mer-surface__elevation--01);
1356
+ --window__gap: var(--mer-spacing--xs);
1357
+ --window__box-shadow: var(--mer-box-shadow--01);
1358
+
1359
+ // ----------------------
1360
+ // Focus
1361
+ // ----------------------
1362
+ --focus__outline-width: var(--mer-border__width--sm);
1363
+ --focus__outline-style: solid;
1364
+ --focus__outline-color: var(--mer-border-color__primary--focused);
1365
+ --focus__outline-offset: calc(var(--mer-system__border-width) * -1);
1366
+ --borders-un-border-color__focused: var(--focus__outline-color);
1367
+ }
1368
+
1369
+ @mixin semantic-heading() {
1370
+ --mer-heading__gray--light: var(--mer-color__neutral-gray--200);
1371
+ --mer-header__background-color: var(--mer-color__neutral-gray--700);
1372
+ }
1373
+
1434
1374
  @mixin semantic-icon() {
1435
1375
  --mer-icon__on-surface: var(--mer-color__neutral-gray--200);
1436
1376
  --mer-icon__on-primary: var(--mer-color__neutral-gray--900);
@@ -1535,7 +1475,7 @@
1535
1475
 
1536
1476
  // - - - - - - - Colors - - - - - - -
1537
1477
 
1538
- --items-container__bg-color: var(--mer-color__elevation--01);
1478
+ --items-container__bg-color: var(--mer-surface__elevation--01);
1539
1479
  --items-container__border-color: var(--mer-border-color__on-surface);
1540
1480
 
1541
1481
  // - - - - - - - Padding - - - - - - -
@@ -1569,7 +1509,7 @@
1569
1509
  // Grid Cell
1570
1510
  // - - - - - - - - - - - - - - - - - - - -
1571
1511
 
1572
- --grid-cell__border-color: var(--mer-color__elevation--04);
1512
+ --grid-cell__border-color: var(--mer-border-color__on-elevation--01);
1573
1513
  --grid-cell__border: var(--mer-border__width--sm) solid
1574
1514
  var(--grid-cell__border-color);
1575
1515
  --grid-cell__box-shadow-inline-block: 0 0 0 1px var(--grid-cell__border-color);
@@ -1625,101 +1565,17 @@
1625
1565
  --tab-caption__gap: var(--mer-spacing--xs); // 6px does not exist on the ds.
1626
1566
  }
1627
1567
 
1628
- @mixin semantic-general() {
1629
- // ----------------------
1630
- // Body
1631
- // ----------------------
1632
- --mer-body__bg-color: var(--mer-color__surface);
1633
- --mer-body__color: var(--mer-text__on-surface);
1634
- --mer-body__font-size: var(--mer-font__size--3xs);
1635
- --mer-body__font-family: var(--mer-font-family--body);
1636
- --mer-body__font-weight: var(--mer-font__weight--regular);
1637
- --mer-body__line-height: var(--mer-line-height--spaced);
1638
- --mer-body__margin-block: var(--mer-spacing--sm);
1639
-
1640
- // ----------------------
1641
- // System
1642
- // ----------------------
1643
- // System tokens are the most basic kind, used when there is not a more specific categorization.
1644
- --mer-system__border-width: var(--mer-border__width--sm);
1645
- --mer-system__border-style: solid;
1646
- --mer-system__border-color: var(--mer-color__neutral-gray--500);
1647
-
1648
- // ----------------------
1649
- // Heading
1650
- // ----------------------
1651
- --mer-heading__color: var(--mer-color__neutral-gray--100);
1652
-
1653
- // ----------------------
1654
- // Scrollbar
1655
- // ----------------------
1656
- // scrollbar
1657
- --scrollbar__size: var(--mer-spacing--2xs);
1658
- // scrollbar-track
1659
- --scrollbar-track__bg-color: var(--mer-color__neutral-gray--650);
1660
-
1661
- --scrollbar-track__border-radius: var(--mer-spacing--xs);
1662
- // scrollbar-thumb
1663
- --scrollbar-thumb__bg-color: var(--mer-color__neutral-gray--550);
1664
- --scrollbar-thumb__border-radius: var(--mer-spacing--xs);
1665
- // scrollbar-thumb
1666
- --scrollbar-corner__bg: transparent;
1667
-
1668
- // ----------------------
1669
- // Icon Size
1670
- // ----------------------
1671
- // box (shell)
1672
- --mer-icon__box--sm: var(--mer-spacing--sm);
1673
- --mer-icon__box--md: 14px; // no spacing token exists for 14px.
1674
- // icon (background-size)
1675
- --mer-icon__size--sm: 100%;
1676
- --mer-icon__size--md: 100%;
1677
-
1678
- // ------------------------------------------------------------
1679
- // Form Input (form-input-*** background-position-x RTL support)
1680
- // ------------------------------------------------------------
1681
- --mer-form-input__padding-inline: var(--mer-spacing--xs);
1682
- --mer-form-input__bg-position--x-value: var(--mer-form-input__padding-inline);
1683
- --mer-form-input__bg-position--x: var(--mer-form-input__bg-position--x-value);
1684
- // The following css variables are at the time of writing, global, because some components, besides
1685
- // the ch-checkbox, implement their own checkboxes. For example, the tabular-grid cell parts "selector-label"
1686
- // and "selector".
1687
- --mer-form-input__border-color: var(--mer-color__neutral-gray--500);
1688
- --mer-form-input__border-style: solid;
1689
- --mer-form-input__border-width: var(--mer-border__width--sm);
1690
- --mer-form-input__border: var(--mer-form-input__border-width)
1691
- var(--mer-form-input__border-style) var(--mer-form-input__border-color);
1692
- --mer-form-input__border-radius: var(--mer-border__radius--sm);
1693
- // the input checkbox checked styles, or radio button inner circle
1694
- --mer-form-input-check__border-width: var(--mer-border__radius--xs);
1695
- --mer-form-input-check__border-color: var(
1696
- --mer-border-color__neutral--active
1697
- );
1698
- --mer-form-input-check__border-color--disabled: var(
1699
- --mer-accent__primary--disabled
1700
- );
1701
- --mer-checkbox__option-checked-image: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='currentColor' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>");
1702
-
1703
- // ----------------------
1704
- // Window
1705
- // ----------------------
1706
- // TODO: This styles should better be applied on the ch-window.
1707
- --window__border: var(--mer-border__width--sm) solid
1708
- var(--mer-color__elevation--04);
1709
- --window__border-radius: var(--mer-border__radius--sm);
1710
- --window__padding: var(--mer-spacing--xs);
1711
- --window__bg-color: var(--mer-color__elevation--01);
1712
- --window__gap: var(--mer-spacing--xs);
1713
- --window__box-shadow: var(--mer-box-shadow--01);
1568
+ @mixin semantic-surface() {
1569
+ --mer-surface: var(--mer-color__neutral-gray--900);
1570
+ --mer-color__surface: var(
1571
+ --mer-surface
1572
+ ); // '--mer-color__surface' TO be removed later (deprecated)
1573
+ --mer-surface__elevation--01: var(--mer-color__neutral-gray--800);
1574
+ --mer-surface__elevation--02: var(--mer-color__neutral-gray--700);
1575
+ --mer-surface__elevation--03: var(--mer-color__neutral-gray--650);
1714
1576
 
1715
- // ----------------------
1716
- // Focus
1717
- // ----------------------
1718
- --focus__outline-width: var(--mer-border__width--sm);
1719
- --focus__outline-style: solid;
1720
- --focus__outline-color: var(--mer-color__primary-blue--200);
1721
- --focus__outline-offset: calc(var(--mer-system__border-width) * -1);
1722
- --borders-un-border-color__focused: var(--focus__outline-color);
1577
+ // box shadow
1578
+ --mer-box-shadow--01: 0px 4px 20px 0px #00000040;
1723
1579
  }
1724
1580
 
1725
1581
  @mixin semantic-text() {
@@ -1744,11 +1600,6 @@
1744
1600
  ); // "--mer-text__bright" does not exists anymore in figma, but the colors are being updated. Ask the designer.
1745
1601
  }
1746
1602
 
1747
- @mixin semantic-heading() {
1748
- --mer-heading__gray--light: var(--mer-color__neutral-gray--200);
1749
- --mer-header__background-color: var(--mer-color__neutral-gray--700);
1750
- }
1751
-
1752
1603
 
1753
1604
  // Base classes
1754
1605
  @mixin button-common-styles() {
@@ -1833,12 +1684,12 @@
1833
1684
  // ----------------------
1834
1685
  // Focus
1835
1686
  // ----------------------
1836
- @mixin focus-outline($outline: false) {
1687
+ @mixin focus-outline() {
1837
1688
  outline: var(--focus__outline-width) var(--focus__outline-style)
1838
1689
  var(--focus__outline-color);
1839
1690
  outline-offset: var(--focus__outline-offset);
1840
1691
  }
1841
- @mixin focus-border($outline: false) {
1692
+ @mixin focus-border() {
1842
1693
  border-color: var(--borders-un-border-color__focused);
1843
1694
  }
1844
1695
 
@@ -2143,14 +1994,14 @@
2143
1994
  padding-block-end: var(--mer-spacing--2xs);
2144
1995
  }
2145
1996
  @mixin grid-rowset-legend-colors-enabled() {
2146
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
1997
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
2147
1998
  background-color: var(--grid-rowset-legend__bg-color);
2148
1999
  }
2149
2000
  @mixin grid-rowset-legend-colors-hover() {
2150
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
2001
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--03);
2151
2002
  }
2152
2003
  @mixin grid-rowset-legend-colors-active() {
2153
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
2004
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
2154
2005
  }
2155
2006
 
2156
2007
  // ----------------------
@@ -2191,7 +2042,9 @@
2191
2042
  --tab-caption__border-color--selected-inline: var(
2192
2043
  --mer-border-color__primary--disabled
2193
2044
  );
2194
- --tab-caption__border-color--selected-stack: var(--mer-color__elevation--02);
2045
+ --tab-caption__border-color--selected-stack: var(
2046
+ --mer-surface__elevation--02
2047
+ );
2195
2048
  }
2196
2049
  @mixin tab-button-colors-selected-inline() {
2197
2050
  --tab-caption__bg-color: var(--tab-caption__bg-color--selected-inline);
@@ -2270,7 +2123,7 @@
2270
2123
  }
2271
2124
  @mixin control-footer-border() {
2272
2125
  border-block-start: var(--mer-border__width--sm) solid
2273
- var(--mer-color__elevation--04);
2126
+ var(--mer-border-color__on-elevation--01);
2274
2127
  }
2275
2128
  @mixin control-footer(
2276
2129
  $selector: ".control-footer",
@@ -2378,40 +2231,40 @@
2378
2231
  }
2379
2232
  // should be at the top, since other elements use it.
2380
2233
  @mixin button-tokens-primary() {
2381
- --button-primary__background-color: var(--mer-accent__primary);
2382
- --button-primary__border-color: var(--button-primary__background-color);
2234
+ --button-primary__bg-color: var(--mer-accent__primary);
2235
+ --button-primary__border-color: var(--button-primary__bg-color);
2383
2236
  --button-primary__color: var(--mer-text__on-primary);
2384
2237
  //hover
2385
- --button-primary__background-color--hover: var(--mer-accent__primary--hover);
2386
- --button-primary__border-color--hover: var(
2387
- --button-primary__background-color--hover
2388
- );
2238
+ --button-primary__bg-color--hover: var(--mer-accent__primary--hover);
2239
+ --button-primary__border-color--hover: var(--button-primary__bg-color--hover);
2389
2240
  --button-primary__color--hover: var(--mer-text__on-primary);
2390
2241
 
2391
2242
  //active
2392
- --button-primary__background-color--active: var(
2393
- --mer-accent__primary--active
2394
- );
2243
+ --button-primary__bg-color--active: var(--mer-accent__primary--active);
2395
2244
  --button-primary__border-color--active: var(
2396
- --button-primary__background-color--active
2245
+ --button-primary__bg-color--active
2397
2246
  );
2398
2247
  --button-primary__color--active: var(--mer-text__on-primary--active);
2399
2248
 
2400
2249
  //disabled
2401
- --button-primary__background-color--disabled: var(
2402
- --mer-accent__primary--disabled
2403
- );
2250
+ --button-primary__bg-color--disabled: var(--mer-accent__primary--disabled);
2404
2251
  --button-primary__border-color--disabled: var(
2405
2252
  --mer-border-color__primary--disabled
2406
2253
  );
2407
2254
  --button-primary__color--disabled: var(--mer-text__on-disabled);
2408
2255
 
2409
2256
  //destructive
2410
- --button-primary__background-color--destructive: var(
2257
+ --button-primary__bg-color--destructive: var(
2411
2258
  --mer-accent__primary--destructive
2412
2259
  );
2260
+ --button-primary__bg-color--destructive-hover: var(
2261
+ --mer-accent__primary--destructive-hover
2262
+ );
2263
+ --button-primary__bg-color--destructive-active: var(
2264
+ --mer-accent__primary--destructive-active
2265
+ );
2413
2266
  --button-primary__border-color--destructive: var(
2414
- --button-primary__background-color--destructive
2267
+ --button-primary__bg-color--destructive
2415
2268
  );
2416
2269
  --button-primary__color--destructive: var(--mer-text__on-primary);
2417
2270
  }
@@ -2436,6 +2289,19 @@
2436
2289
  --button-secondary__background-color--disabled: transparent;
2437
2290
  --button-secondary__border-color--disabled: var(--mer-text__on-disabled);
2438
2291
  --button-secondary__color--disabled: var(--mer-text__on-disabled);
2292
+
2293
+ //destructive
2294
+ --button-secondary__bg-color--destructive: transparent;
2295
+ --button-secondary__bg-color--destructive-hover: var(
2296
+ --mer-accent__primary--destructive-hover
2297
+ );
2298
+ --button-secondary__bg-color--destructive-active: var(
2299
+ --mer-accent__primary--destructive-active
2300
+ );
2301
+ --button-secondary__border-color--destructive: var(
2302
+ --button-primary__bg-color--destructive
2303
+ );
2304
+ --button-secondary__color--destructive: var(--mer-text__on-primary);
2439
2305
  }
2440
2306
 
2441
2307
  @mixin button-tokens-tertiary() {
@@ -2459,10 +2325,9 @@
2459
2325
 
2460
2326
  %button-base {
2461
2327
  @include button-common-styles();
2462
- @include control-height-regular();
2463
2328
  @include control-border();
2464
2329
  @include control-font-size-regular();
2465
- @include control-padding-inline();
2330
+ @include control-padding-inline-block();
2466
2331
  padding-inline: var(--control__padding-inline);
2467
2332
 
2468
2333
  &--focus-visible {
@@ -2478,31 +2343,47 @@
2478
2343
  //overwrite some control default styles
2479
2344
  --control__border-color: var(--button-primary__border-color);
2480
2345
 
2481
- background-color: var(--button-primary__background-color);
2346
+ background-color: var(--button-primary__bg-color);
2482
2347
  color: var(--button-primary__color);
2483
2348
 
2484
2349
  &--hover {
2485
- background-color: var(--button-primary__background-color--hover);
2350
+ background-color: var(--button-primary__bg-color--hover);
2486
2351
  --control__border-color: var(--button-primary__border-color--hover);
2487
2352
  color: var(--button-primary__color--hover);
2488
2353
  }
2489
2354
 
2490
2355
  &--active {
2491
- background-color: var(--button-primary__background-color--active);
2356
+ background-color: var(--button-primary__bg-color--active);
2492
2357
  --control__border-color: var(--button-primary__border-color--active);
2493
2358
  color: var(--button-primary__color--active);
2494
2359
  }
2495
2360
 
2496
2361
  &--disabled {
2497
- background-color: var(--button-primary__background-color--disabled);
2498
- --control__border-color: var(--button-primary__background-color--disabled);
2362
+ background-color: var(--button-primary__bg-color--disabled);
2363
+ --control__border-color: var(--button-primary__bg-color--disabled);
2499
2364
  color: var(--button-primary__color--disabled);
2500
2365
  }
2501
2366
 
2502
- &-destructive {
2367
+ &--destructive {
2503
2368
  --control__border-color: var(--button-primary__border-color--destructive);
2504
- background-color: var(--button-primary__background-color--destructive);
2369
+ background-color: var(--button-primary__bg-color--destructive);
2505
2370
  color: var(--button-primary__color--destructive);
2371
+
2372
+ &-hover {
2373
+ --control__border-color: var(
2374
+ --button-primary__bg-color--destructive-hover
2375
+ );
2376
+ background-color: var(--button-primary__bg-color--destructive-hover);
2377
+ color: var(--button-primary__color--destructive);
2378
+ }
2379
+
2380
+ &-active {
2381
+ --control__border-color: var(
2382
+ --button-primary__bg-color--destructive-active
2383
+ );
2384
+ background-color: var(--button-primary__bg-color--destructive-active);
2385
+ color: var(--button-primary__color--destructive);
2386
+ }
2506
2387
  }
2507
2388
  }
2508
2389
 
@@ -2569,13 +2450,17 @@
2569
2450
  /// @param {String} $selector [".button-primary"] -
2570
2451
  @mixin button-primary(
2571
2452
  $selector: ".button-primary",
2572
- $destructive-selector: ".button-primary--destructive",
2453
+ $destructive-selector: ".button-primary-destructive",
2573
2454
  $add--disabled: true,
2574
2455
  $add--destructive: true
2575
2456
  ) {
2576
2457
  #{$selector} {
2577
2458
  @extend %button-primary;
2578
2459
 
2460
+ &:focus-visible {
2461
+ @extend %button-base--focus-visible;
2462
+ }
2463
+
2579
2464
  &:hover {
2580
2465
  @extend %button-primary--hover;
2581
2466
  }
@@ -2592,14 +2477,14 @@
2592
2477
  }
2593
2478
  @if $add--destructive {
2594
2479
  #{$destructive-selector} {
2595
- @extend %button-primary-destructive;
2480
+ @extend %button-primary--destructive;
2596
2481
 
2597
2482
  &:hover {
2598
- @extend %button-primary-destructive;
2483
+ @extend %button-primary--destructive-hover;
2599
2484
  }
2600
2485
 
2601
2486
  &:active {
2602
- @extend %button-primary-destructive;
2487
+ @extend %button-primary--destructive-active;
2603
2488
  }
2604
2489
  }
2605
2490
  }
@@ -2611,6 +2496,10 @@
2611
2496
  #{$selector} {
2612
2497
  @extend %button-secondary;
2613
2498
 
2499
+ &:focus-visible {
2500
+ @extend %button-base--focus-visible;
2501
+ }
2502
+
2614
2503
  &:hover {
2615
2504
  @extend %button-secondary--hover;
2616
2505
  }
@@ -2634,6 +2523,10 @@
2634
2523
  #{$selector} {
2635
2524
  @extend %button-tertiary;
2636
2525
 
2526
+ &:focus-visible {
2527
+ @extend %button-base--focus-visible;
2528
+ }
2529
+
2637
2530
  &:hover {
2638
2531
  @extend %button-tertiary--hover;
2639
2532
  }
@@ -2670,10 +2563,18 @@
2670
2563
  --spacing-body-block-end: var(--mer-spacing--md);
2671
2564
  --spacing-body-inline-start: var(--mer-spacing--md);
2672
2565
  --spacing-body-inline-end: var(--mer-spacing--md);
2673
- display: grid;
2674
2566
  row-gap: var(--field-group__row-gap);
2675
2567
  column-gap: var(--field-group__column-gap);
2676
2568
 
2569
+ &-default {
2570
+ display: grid;
2571
+ }
2572
+
2573
+ &-inline {
2574
+ display: flex;
2575
+ flex-wrap: wrap;
2576
+ }
2577
+
2677
2578
  &-cols-2 {
2678
2579
  display: grid;
2679
2580
  column-gap: var(--field__column-gap);
@@ -2699,6 +2600,7 @@
2699
2600
 
2700
2601
  /// @group Field
2701
2602
  /// @param {String} $field-group-selector [".field-group"] -
2603
+ /// @param {String} $field-group-inline-selector [".field-group-inline"] -
2702
2604
  /// @param {String} $field-selector [".field"] -
2703
2605
  /// @param {String} $field-block-selector [".field-block"] -
2704
2606
  /// @param {String} $field-inline-selector [".field-inline"] -
@@ -2707,6 +2609,7 @@
2707
2609
  /// @param {String} $field-group-cols-2__label-selector [".field-group-cols-2 .label"] -
2708
2610
  @mixin field(
2709
2611
  $field-group-selector: ".field-group",
2612
+ $field-group-inline-selector: ".field-group-inline",
2710
2613
  $field-selector: ".field",
2711
2614
  $field-block-selector: ".field-block",
2712
2615
  $field-inline-selector: ".field-inline",
@@ -2716,6 +2619,12 @@
2716
2619
  ) {
2717
2620
  #{$field-group-selector} {
2718
2621
  @extend %field-group;
2622
+ @extend %field-group-default;
2623
+ }
2624
+
2625
+ #{$field-group-inline-selector} {
2626
+ @extend %field-group;
2627
+ @extend %field-group-inline;
2719
2628
  }
2720
2629
 
2721
2630
  #{$field-selector} {
@@ -3285,40 +3194,40 @@
3285
3194
 
3286
3195
  // Icons
3287
3196
  @mixin button-tokens-primary() {
3288
- --button-primary__background-color: var(--mer-accent__primary);
3289
- --button-primary__border-color: var(--button-primary__background-color);
3197
+ --button-primary__bg-color: var(--mer-accent__primary);
3198
+ --button-primary__border-color: var(--button-primary__bg-color);
3290
3199
  --button-primary__color: var(--mer-text__on-primary);
3291
3200
  //hover
3292
- --button-primary__background-color--hover: var(--mer-accent__primary--hover);
3293
- --button-primary__border-color--hover: var(
3294
- --button-primary__background-color--hover
3295
- );
3201
+ --button-primary__bg-color--hover: var(--mer-accent__primary--hover);
3202
+ --button-primary__border-color--hover: var(--button-primary__bg-color--hover);
3296
3203
  --button-primary__color--hover: var(--mer-text__on-primary);
3297
3204
 
3298
3205
  //active
3299
- --button-primary__background-color--active: var(
3300
- --mer-accent__primary--active
3301
- );
3206
+ --button-primary__bg-color--active: var(--mer-accent__primary--active);
3302
3207
  --button-primary__border-color--active: var(
3303
- --button-primary__background-color--active
3208
+ --button-primary__bg-color--active
3304
3209
  );
3305
3210
  --button-primary__color--active: var(--mer-text__on-primary--active);
3306
3211
 
3307
3212
  //disabled
3308
- --button-primary__background-color--disabled: var(
3309
- --mer-accent__primary--disabled
3310
- );
3213
+ --button-primary__bg-color--disabled: var(--mer-accent__primary--disabled);
3311
3214
  --button-primary__border-color--disabled: var(
3312
3215
  --mer-border-color__primary--disabled
3313
3216
  );
3314
3217
  --button-primary__color--disabled: var(--mer-text__on-disabled);
3315
3218
 
3316
3219
  //destructive
3317
- --button-primary__background-color--destructive: var(
3220
+ --button-primary__bg-color--destructive: var(
3318
3221
  --mer-accent__primary--destructive
3319
3222
  );
3223
+ --button-primary__bg-color--destructive-hover: var(
3224
+ --mer-accent__primary--destructive-hover
3225
+ );
3226
+ --button-primary__bg-color--destructive-active: var(
3227
+ --mer-accent__primary--destructive-active
3228
+ );
3320
3229
  --button-primary__border-color--destructive: var(
3321
- --button-primary__background-color--destructive
3230
+ --button-primary__bg-color--destructive
3322
3231
  );
3323
3232
  --button-primary__color--destructive: var(--mer-text__on-primary);
3324
3233
  }
@@ -3343,6 +3252,19 @@
3343
3252
  --button-secondary__background-color--disabled: transparent;
3344
3253
  --button-secondary__border-color--disabled: var(--mer-text__on-disabled);
3345
3254
  --button-secondary__color--disabled: var(--mer-text__on-disabled);
3255
+
3256
+ //destructive
3257
+ --button-secondary__bg-color--destructive: transparent;
3258
+ --button-secondary__bg-color--destructive-hover: var(
3259
+ --mer-accent__primary--destructive-hover
3260
+ );
3261
+ --button-secondary__bg-color--destructive-active: var(
3262
+ --mer-accent__primary--destructive-active
3263
+ );
3264
+ --button-secondary__border-color--destructive: var(
3265
+ --button-primary__bg-color--destructive
3266
+ );
3267
+ --button-secondary__color--destructive: var(--mer-text__on-primary);
3346
3268
  }
3347
3269
 
3348
3270
  @mixin button-tokens-tertiary() {
@@ -3410,7 +3332,7 @@
3410
3332
 
3411
3333
  %accordion-panel {
3412
3334
  border-radius: var(--mer-border__radius--sm);
3413
- background-color: var(--mer-color__elevation--01);
3335
+ background-color: var(--mer-surface__elevation--01);
3414
3336
 
3415
3337
  &-outlined {
3416
3338
  border: 1px solid var(--mer-border-color__on-surface);
@@ -3556,7 +3478,7 @@
3556
3478
  }
3557
3479
 
3558
3480
  &::part(message assistant complete) {
3559
- background-color: var(--mer-color__elevation--01);
3481
+ background-color: var(--mer-surface__elevation--01);
3560
3482
  }
3561
3483
 
3562
3484
  &::part(message assistant warning) {
@@ -3674,6 +3596,7 @@
3674
3596
 
3675
3597
  /// @group Checkbox
3676
3598
  /// @param {String} $checkbox-selector [".checkbox"] -
3599
+ /// @param {String} $checkbox--error-selector [".checkbox-error::part(input)"] -
3677
3600
  /// @param {String} $checkbox__input-selector [".checkbox::part(input)"] -
3678
3601
  /// @param {String} $checkbox__input--disabled-selector [".checkbox::part(input disabled)"] -
3679
3602
  /// @param {String} $checkbox__input--checked-selector [".checkbox::part(input checked)"] -
@@ -3690,29 +3613,21 @@
3690
3613
  /// @param {Boolean} $add--label [true] -
3691
3614
  @mixin checkbox(
3692
3615
  $checkbox-selector: ".checkbox",
3693
-
3616
+ $checkbox--error-selector: ".checkbox-error::part(input)",
3694
3617
  $checkbox__input-selector: ".checkbox::part(input)",
3695
-
3696
3618
  $checkbox__input--disabled-selector: ".checkbox::part(input disabled)",
3697
-
3698
3619
  $checkbox__input--checked-selector: ".checkbox::part(input checked)",
3699
-
3700
3620
  $checkbox__input--indeterminate-selector:
3701
3621
  ".checkbox::part(input indeterminate)",
3702
-
3703
3622
  $checkbox__input--error-selector: ".checkbox::part(input error)",
3704
3623
 
3705
3624
  $checkbox__option--disabled-selector: ".checkbox::part(option disabled)",
3706
-
3707
3625
  $checkbox__option--checked-selector: ".checkbox::part(option checked)",
3708
-
3709
3626
  $checkbox__option--indeterminate-selector:
3710
3627
  ".checkbox::part(option indeterminate)",
3711
-
3712
3628
  $checkbox__option--error-selector: ".checkbox::part(option error)",
3713
3629
 
3714
3630
  $checkbox__label-selector: ".checkbox::part(label)",
3715
-
3716
3631
  $checkbox__label--disabled-selector: ".checkbox::part(label disabled)",
3717
3632
 
3718
3633
  $add--disabled: true,
@@ -3780,14 +3695,10 @@
3780
3695
  }
3781
3696
 
3782
3697
  // Error
3783
- // Not implemented yet in the control
3784
3698
  @if $add--error {
3785
- // Input
3786
- #{$checkbox__input--error-selector} {
3787
- }
3788
-
3789
3699
  // Option
3790
- #{$checkbox__option--error-selector} {
3700
+ #{$checkbox--error-selector} {
3701
+ @include control-colors-error();
3791
3702
  }
3792
3703
  }
3793
3704
  }
@@ -3799,9 +3710,9 @@
3799
3710
  --code__color-light-blue: var(--mer-color__primary-blue--200);
3800
3711
  --code__color-red: var(--mer-color__message-red--200);
3801
3712
  --code__color-green: var(--mer-color__message-green--200);
3802
- --code__bg-color: var(--mer-color__surface);
3713
+ --code__bg-color: var(--mer-surface__elevation--01);
3803
3714
  --code__border: var(--mer-border__width--sm) solid
3804
- var(--mer-color__elevation--03);
3715
+ var(--mer-surface__elevation--03);
3805
3716
  --code__border-radius: var(--mer-border__radius--sm);
3806
3717
  --code__padding: var(--mer-spacing--xs) var(--mer-spacing--sm);
3807
3718
 
@@ -4025,12 +3936,12 @@
4025
3936
  // ----------------------
4026
3937
  // Focus
4027
3938
  // ----------------------
4028
- @mixin focus-outline($outline: false) {
3939
+ @mixin focus-outline() {
4029
3940
  outline: var(--focus__outline-width) var(--focus__outline-style)
4030
3941
  var(--focus__outline-color);
4031
3942
  outline-offset: var(--focus__outline-offset);
4032
3943
  }
4033
- @mixin focus-border($outline: false) {
3944
+ @mixin focus-border() {
4034
3945
  border-color: var(--borders-un-border-color__focused);
4035
3946
  }
4036
3947
 
@@ -4335,14 +4246,14 @@
4335
4246
  padding-block-end: var(--mer-spacing--2xs);
4336
4247
  }
4337
4248
  @mixin grid-rowset-legend-colors-enabled() {
4338
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
4249
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
4339
4250
  background-color: var(--grid-rowset-legend__bg-color);
4340
4251
  }
4341
4252
  @mixin grid-rowset-legend-colors-hover() {
4342
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
4253
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--03);
4343
4254
  }
4344
4255
  @mixin grid-rowset-legend-colors-active() {
4345
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
4256
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
4346
4257
  }
4347
4258
 
4348
4259
  // ----------------------
@@ -4383,7 +4294,9 @@
4383
4294
  --tab-caption__border-color--selected-inline: var(
4384
4295
  --mer-border-color__primary--disabled
4385
4296
  );
4386
- --tab-caption__border-color--selected-stack: var(--mer-color__elevation--02);
4297
+ --tab-caption__border-color--selected-stack: var(
4298
+ --mer-surface__elevation--02
4299
+ );
4387
4300
  }
4388
4301
  @mixin tab-button-colors-selected-inline() {
4389
4302
  --tab-caption__bg-color: var(--tab-caption__bg-color--selected-inline);
@@ -4462,7 +4375,7 @@
4462
4375
  }
4463
4376
  @mixin control-footer-border() {
4464
4377
  border-block-start: var(--mer-border__width--sm) solid
4465
- var(--mer-color__elevation--04);
4378
+ var(--mer-border-color__on-elevation--01);
4466
4379
  }
4467
4380
  @mixin control-footer(
4468
4381
  $selector: ".control-footer",
@@ -4565,7 +4478,7 @@
4565
4478
  @include control-border();
4566
4479
  @include control-colors-enabled();
4567
4480
  @include control-font-weight-regular();
4568
- @include control-font-size-small();
4481
+ @include control-font-size-regular();
4569
4482
  @include control-padding-inline-block();
4570
4483
 
4571
4484
  &:hover {
@@ -4586,6 +4499,7 @@
4586
4499
  /// @group ComboBox
4587
4500
  /// @param {String} $combo-box-selector [".combo-box"] -
4588
4501
  /// @param {String} $combo-box--disabled-selector [".combo-box[disabled]"] -
4502
+ /// @param {String} $combo-box--error-selector [".combo-box-error"] -
4589
4503
  /// @param {String} $combo-box__placeholder-selector [".combo-box::part(placeholder)"] -
4590
4504
  /// @param {String} $window-selector [".combo-box::part(window)"] -
4591
4505
  /// @param {String} $group-selector [".combo-box::part(group)"] -
@@ -4604,6 +4518,7 @@
4604
4518
  @mixin combo-box(
4605
4519
  $combo-box-selector: ".combo-box",
4606
4520
  $combo-box--disabled-selector: ".combo-box[disabled]",
4521
+ $combo-box--error-selector: ".combo-box-error",
4607
4522
  $combo-box__placeholder-selector: ".combo-box::part(placeholder)",
4608
4523
  $window-selector: ".combo-box::part(window)",
4609
4524
  $group-selector: ".combo-box::part(group)",
@@ -4652,6 +4567,12 @@
4652
4567
  }
4653
4568
  }
4654
4569
 
4570
+ @if $add--error {
4571
+ #{$combo-box--error-selector} {
4572
+ @include control-colors-error();
4573
+ }
4574
+ }
4575
+
4655
4576
  // - - - - - - - - - - - - - - - - - - - -
4656
4577
  // Window
4657
4578
  // - - - - - - - - - - - - - - - - - - - -
@@ -4715,7 +4636,7 @@
4715
4636
  --spacing-body-inline-start: var(--mer-spacing--md);
4716
4637
  --spacing-body-inline-end: var(--mer-spacing--md);
4717
4638
  --ch-dialog-max-inline-size: 800px;
4718
- background-color: var(--mer-color__elevation--01);
4639
+ background-color: var(--mer-surface__elevation--01);
4719
4640
  box-shadow: var(--mer-box-shadow--01);
4720
4641
 
4721
4642
  &__backdrop {
@@ -4729,7 +4650,7 @@
4729
4650
  padding-block: var(--mer-spacing--md);
4730
4651
  padding-inline: var(--mer-spacing--sm);
4731
4652
  border-block-end: var(--mer-border__width--sm) solid
4732
- var(--mer-color__elevation--04);
4653
+ var(--mer-border-color__on-elevation--01);
4733
4654
  }
4734
4655
 
4735
4656
  &__caption {
@@ -5035,11 +4956,11 @@
5035
4956
  @include control-border();
5036
4957
  @include control-colors-enabled();
5037
4958
  @include control-font-weight-regular();
5038
- @include control-font-size-small();
4959
+ @include control-font-size-regular();
5039
4960
  @include control-padding-inline-block();
5040
4961
 
5041
4962
  &--focus {
5042
- @include focus-border();
4963
+ @include focus-outline();
5043
4964
  }
5044
4965
 
5045
4966
  &--hover {
@@ -5066,19 +4987,25 @@
5066
4987
  #{$selector} {
5067
4988
  @extend %form-input;
5068
4989
 
5069
- &:hover {
5070
- @extend %form-input--hover;
5071
- }
5072
-
5073
4990
  &:focus {
5074
4991
  @extend %form-input--focus;
5075
4992
  }
5076
4993
 
4994
+ &:hover {
4995
+ @extend %form-input--hover;
4996
+ }
4997
+
5077
4998
  @if $add--disabled {
5078
4999
  &:disabled {
5079
5000
  @extend %form-input--disabled;
5080
5001
  }
5081
5002
  }
5003
+
5004
+ @if $add--placeholder {
5005
+ &::placeholder {
5006
+ font-style: italic;
5007
+ }
5008
+ }
5082
5009
  }
5083
5010
 
5084
5011
  @if $add--error {
@@ -5487,7 +5414,7 @@
5487
5414
  inset-block-start: var(--mer-spacing--md);
5488
5415
  inset-inline-end: var(--mer-spacing--xs);
5489
5416
  padding: 6px;
5490
- background-color: var(--mer-color__elevation--01);
5417
+ background-color: var(--mer-surface__elevation--01);
5491
5418
  border-radius: var(--mer-border__radius--xs);
5492
5419
  }
5493
5420
 
@@ -7047,7 +6974,7 @@
7047
6974
  --indent: 16px;
7048
6975
  @include items-container-colors();
7049
6976
 
7050
- --item__border-color--enabled: var(--mer-color__elevation--04);
6977
+ --item__border-color--enabled: var(--mer-surface__elevation--01);
7051
6978
  // @include tabular-grid-tokens();
7052
6979
  @include tabular-grid-row-tokens();
7053
6980
  @include tabular-grid-column-tokens();
@@ -7083,7 +7010,7 @@
7083
7010
  }
7084
7011
 
7085
7012
  %tabular-grid-column__bar-resize-split {
7086
- background-color: var(--mer-color__elevation--04);
7013
+ background-color: var(--mer-surface__elevation--01);
7087
7014
  inline-size: var(--grid-bar-resize-split__inline-size);
7088
7015
  &--hover {
7089
7016
  background-color: var(--mer-accent__primary--hover);
@@ -8056,6 +7983,46 @@
8056
7983
  }
8057
7984
  }
8058
7985
 
7986
+ @mixin tooltip-tokens() {
7987
+ --tooltip__background-color: var(--mer-color__neutral-gray--1000);
7988
+ --tooltip__border-radius: var(--mer-border__radius--sm);
7989
+ --tooltip__color: var(--mer-text__on-surface);
7990
+ --tooltip__font-family: var(--mer-font-family--body);
7991
+ --tooltip__font-size: var(--mer-font__size--3xs);
7992
+ --tooltip__font-weight: var(--mer-font__weight--medium);
7993
+ --tooltip__line-height: var(--mer-line-height--tight);
7994
+ --tooltip__padding-block: var(--mer-spacing--xs);
7995
+ --tooltip__padding-inline: var(--mer-spacing--xs);
7996
+
7997
+ // chameleon tokens
7998
+ --ch-tooltip-separation: var(--mer-spacing--2xs);
7999
+ --ch-tooltip-separation-x: var(--mer-spacing--2xs);
8000
+ --ch-tooltip-separation-y: var(--mer-spacing--2xs);
8001
+ }
8002
+
8003
+
8004
+ %tooltip {
8005
+ @include tooltip-tokens();
8006
+
8007
+ background-color: var(--tooltip__background-color);
8008
+ border-radius: var(--tooltip__border-radius);
8009
+ color: var(--tooltip__color);
8010
+ font-family: var(--tooltip__font-family);
8011
+ font-size: var(--tooltip__font-size);
8012
+ font-weight: var(--tooltip__font-weight);
8013
+ line-height: var(--tooltip__line-height);
8014
+ padding-block: var(--tooltip__padding-block);
8015
+ padding-inline: var(--tooltip__padding-inline);
8016
+ }
8017
+
8018
+ /// @group Tooltip
8019
+ /// @param {String} $selector [".tooltip"] -
8020
+ @mixin tooltip($selector: ".tooltip::part(window)") {
8021
+ #{$selector} {
8022
+ @extend %tooltip;
8023
+ }
8024
+ }
8025
+
8059
8026
  @mixin tree-view-tokens() {
8060
8027
  // - - - - - - - - - - - - - - - - - - - -
8061
8028
  // Tree View
@@ -8126,7 +8093,7 @@
8126
8093
  // TODO: Improve this
8127
8094
  %tree-view--drag-preview {
8128
8095
  padding-inline: 8px;
8129
- background-color: var(--mer-color__elevation--04);
8096
+ background-color: var(--mer-surface__elevation--01);
8130
8097
  border-radius: 10px;
8131
8098
  box-shadow: var(--mer-elevation__box-shadow--03);
8132
8099
  font-size: 8px;
@@ -8393,7 +8360,6 @@
8393
8360
  $tokens: true,
8394
8361
  $border: true,
8395
8362
  $colors: true,
8396
- $elevation: true,
8397
8363
  $font: true,
8398
8364
  $spacing: true,
8399
8365
  $timing: true,
@@ -8437,6 +8403,7 @@
8437
8403
  $tab: true,
8438
8404
  $tabular-grid: true,
8439
8405
  $ticket-list: true,
8406
+ $tooltip: true,
8440
8407
  $tree-view: true
8441
8408
  ) {
8442
8409
  // - - - - - - - - - - - - - - - - - - - -
@@ -16493,12 +16460,17 @@
16493
16460
  }
16494
16461
  }
16495
16462
 
16463
+ // Gradients (independent of color scheme at the time of writing)
16464
+ @if $colors and $tokens {
16465
+ :root {
16466
+ @include foundation-colors--gradients();
16467
+ }
16468
+ }
16469
+
16496
16470
  // - - - - - - - - - - - - - - - - - - - -
16497
16471
  // Other Tokens than Colors
16498
16472
  // - - - - - - - - - - - - - - - - - - - -
16499
- @if $tokens and
16500
- ($border or $colors or $elevation or $font or $spacing or $timing)
16501
- {
16473
+ @if $tokens and ($border or $colors or $font or $spacing or $timing) {
16502
16474
  :root {
16503
16475
  // Border
16504
16476
  @if $border {
@@ -16514,32 +16486,11 @@
16514
16486
  @if $colors {
16515
16487
  @include semantic-accent();
16516
16488
  @include semantic-border();
16489
+ @include semantic-heading();
16517
16490
  @include semantic-icon();
16518
16491
  @include semantic-item();
16492
+ @include semantic-surface();
16519
16493
  @include semantic-text();
16520
- @include semantic-heading();
16521
- }
16522
-
16523
- // Elevation Light
16524
- @if $elevation and $light-theme {
16525
- // TODO: This appears to be placed in the wrong selector
16526
- @include elevation--light();
16527
- }
16528
- @if $elevation and $prefers-color-scheme-light {
16529
- @media (prefers-color-scheme: light) {
16530
- @include elevation--light();
16531
- }
16532
- }
16533
-
16534
- // Elevation Dark
16535
- @if $elevation and $dark-theme {
16536
- // TODO: This appears to be placed in the wrong selector
16537
- @include elevation--dark();
16538
- }
16539
- @if $elevation and $prefers-color-scheme-dark {
16540
- @media (prefers-color-scheme: dark) {
16541
- @include elevation--dark();
16542
- }
16543
16494
  }
16544
16495
 
16545
16496
  @if $font {
@@ -16566,7 +16517,7 @@
16566
16517
  @if $tokens {
16567
16518
  // Default background-color and color
16568
16519
  @if $colors {
16569
- background-color: var(--mer-color__surface);
16520
+ background-color: var(--mer-surface);
16570
16521
  color: var(--mer-text__on-surface);
16571
16522
  }
16572
16523
 
@@ -16736,6 +16687,10 @@
16736
16687
  @include ticket-list();
16737
16688
  }
16738
16689
 
16690
+ @if $tooltip {
16691
+ @include tooltip();
16692
+ }
16693
+
16739
16694
  @if $tree-view {
16740
16695
  @include tree-view();
16741
16696
  }
@@ -16763,7 +16718,6 @@
16763
16718
  $tokens: false,
16764
16719
  $border: false,
16765
16720
  $colors: false,
16766
- $elevation: false,
16767
16721
  $font: false,
16768
16722
  $spacing: false,
16769
16723
  $timing: false,
@@ -16807,6 +16761,7 @@
16807
16761
  $tab: false,
16808
16762
  $tabular-grid: false,
16809
16763
  $ticket-list: false,
16764
+ $tooltip: false,
16810
16765
  $tree-view: false
16811
16766
  ) {
16812
16767
  @include mercury(
@@ -16831,7 +16786,6 @@
16831
16786
  $tokens: $tokens,
16832
16787
  $border: $border,
16833
16788
  $colors: $colors,
16834
- $elevation: $elevation,
16835
16789
  $font: $font,
16836
16790
  $spacing: $spacing,
16837
16791
  $timing: $timing,
@@ -16875,6 +16829,7 @@
16875
16829
  $tab: $tab,
16876
16830
  $tabular-grid: $tabular-grid,
16877
16831
  $ticket-list: $ticket-list,
16832
+ $tooltip: $tooltip,
16878
16833
  $tree-view: $tree-view
16879
16834
  );
16880
16835
  }