@genexus/mercury 0.8.1 → 0.8.4

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 (37) hide show
  1. package/dist/bundles/css/all.css +1 -1
  2. package/dist/bundles/css/base/base.css +1 -1
  3. package/dist/bundles/css/base/icons.css +1 -1
  4. package/dist/bundles/css/chameleon/scrollbar.css +1 -1
  5. package/dist/bundles/css/components/accordion.css +1 -1
  6. package/dist/bundles/css/components/button.css +1 -1
  7. package/dist/bundles/css/components/chat.css +1 -1
  8. package/dist/bundles/css/components/checkbox.css +1 -1
  9. package/dist/bundles/css/components/code.css +1 -1
  10. package/dist/bundles/css/components/combo-box.css +1 -1
  11. package/dist/bundles/css/components/dialog.css +1 -1
  12. package/dist/bundles/css/components/edit.css +1 -1
  13. package/dist/bundles/css/components/flexible-layout.css +1 -1
  14. package/dist/bundles/css/components/icon.css +1 -1
  15. package/dist/bundles/css/components/list-box.css +1 -1
  16. package/dist/bundles/css/components/markdown-viewer.css +1 -1
  17. package/dist/bundles/css/components/navigation-list.css +1 -1
  18. package/dist/bundles/css/components/radio-group.css +1 -1
  19. package/dist/bundles/css/components/segmented-control.css +1 -1
  20. package/dist/bundles/css/components/sidebar.css +1 -1
  21. package/dist/bundles/css/components/slider.css +1 -1
  22. package/dist/bundles/css/components/tab.css +1 -1
  23. package/dist/bundles/css/components/tabular-grid.css +1 -1
  24. package/dist/bundles/css/components/ticket-list.css +1 -1
  25. package/dist/bundles/css/components/tooltip.css +1 -0
  26. package/dist/bundles/css/components/tree-view.css +1 -1
  27. package/dist/bundles/css/resets/box-sizing.css +1 -1
  28. package/dist/bundles/css/utils/form--full.css +1 -1
  29. package/dist/bundles/css/utils/form.css +1 -1
  30. package/dist/bundles/css/utils/layout.css +1 -1
  31. package/dist/bundles/css/utils/typography.css +1 -1
  32. package/dist/bundles/scss/base/base.scss +0 -1
  33. package/dist/bundles/scss/components/tooltip.scss +3 -0
  34. package/dist/bundles.d.ts +9 -1
  35. package/dist/bundles.js +1 -0
  36. package/dist/mercury.scss +409 -448
  37. package/package.json +1 -1
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",
@@ -896,18 +898,18 @@
896
898
  --mer-color__neutral-gray--1000: #ffffff;
897
899
 
898
900
  // tinted
899
- --mer-color__tinted-yellow--5: #ffc96b0d;
900
- --mer-color__tinted-yellow--60: #ffc96b99;
901
- --mer-color__tinted-red--5: #fb7c840d;
902
- --mer-color__tinted-red--60: #fb7c8499;
903
- --mer-color__tinted-green--5: #3fa89b0d;
904
- --mer-color__tinted-green--60: #3fa89b99;
905
- --mer-color__tinted-blue--5: #2070ce0d;
906
- --mer-color__tinted-blue--8: #2070ce14;
907
- --mer-color__tinted-blue--10: #2070ce1a;
908
- --mer-color__tinted-blue--20: #2070ce33;
909
- --mer-color__tinted-blue--30: #2070ce4d;
910
- --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;
911
913
 
912
914
  // message
913
915
  --mer-color__message-green--100: #208e80;
@@ -918,100 +920,6 @@
918
920
  --mer-color__message-red--200: #da1a27;
919
921
  --mer-color__message-red--300: #4d0000;
920
922
  --mer-color__message-red--400: #800000;
921
-
922
- // surface
923
- --mer-color__surface: var(--mer-color__neutral-gray--100);
924
-
925
- // elevation
926
- --mer-color__elevation--01: var(--mer-color__neutral-gray--200);
927
- --mer-color__elevation--02: #e4e4e4;
928
- --mer-color__elevation--03: #dedede;
929
- --mer-color__elevation--04: #ffffff;
930
-
931
- // gradients
932
- --mer-color__gradient-angle: 225deg;
933
- --mer-color__gradient-opacity--low: 0.7;
934
- --mer-color__gradient-opacity--medium: 0.9;
935
- --mer-color__gradient-opacity--high: 1;
936
-
937
- // gradient 01
938
- --mer-color__gradient--01: linear-gradient(
939
- var(--mer-color__gradient-angle),
940
- rgba(0, 204, 255, var(--mer-color__gradient-opacity--medium)) 0%,
941
- rgba(163, 0, 255, var(--mer-color__gradient-opacity--medium)) 100%
942
- );
943
- // gradient 02
944
- --mer-color__gradient--02: linear-gradient(
945
- var(--mer-color__gradient-angle),
946
- rgba(57, 255, 20, var(--mer-color__gradient-opacity--high)) 0%,
947
- rgba(255, 0, 114, var(--mer-color__gradient-opacity--high)) 100%
948
- );
949
- // gradient 03
950
- --mer-color__gradient--03: linear-gradient(
951
- var(--mer-color__gradient-angle),
952
- rgba(0, 245, 255, var(--mer-color__gradient-opacity--low)) 0%,
953
- rgba(255, 234, 0, var(--mer-color__gradient-opacity--high)) 100%
954
- );
955
- // gradient 04
956
- --mer-color__gradient--04: linear-gradient(
957
- var(--mer-color__gradient-angle),
958
- rgba(16, 196, 195, var(--mer-color__gradient-opacity--high)) 0%,
959
- rgba(236, 30, 91, var(--mer-color__gradient-opacity--high)) 100%
960
- );
961
- // gradient 05
962
- --mer-color__gradient--05: linear-gradient(
963
- var(--mer-color__gradient-angle),
964
- rgba(255, 0, 162, var(--mer-color__gradient-opacity--high)) 0%,
965
- rgba(139, 0, 255, var(--mer-color__gradient-opacity--high)) 100%
966
- );
967
- // gradient 06
968
- --mer-color__gradient--06: linear-gradient(
969
- var(--mer-color__gradient-angle),
970
- rgba(204, 255, 0, var(--mer-color__gradient-opacity--medium)) 0%,
971
- rgba(0, 255, 204, var(--mer-color__gradient-opacity--medium)) 100%
972
- );
973
- // gradient 07
974
- --mer-color__gradient--07: linear-gradient(
975
- var(--mer-color__gradient-angle),
976
- rgba(91, 118, 255, var(--mer-color__gradient-opacity--medium)) 0%,
977
- rgba(0, 255, 203, var(--mer-color__gradient-opacity--medium)) 100%
978
- );
979
- // gradient 08
980
- --mer-color__gradient--08: linear-gradient(
981
- var(--mer-color__gradient-angle),
982
- rgba(255, 0, 255, var(--mer-color__gradient-opacity--high)) 0%,
983
- rgba(0, 149, 255, var(--mer-color__gradient-opacity--high)) 100%
984
- );
985
- // gradient 09
986
- --mer-color__gradient--09: linear-gradient(
987
- var(--mer-color__gradient-angle),
988
- rgba(255, 69, 0, var(--mer-color__gradient-opacity--medium)) 0%,
989
- rgba(142, 84, 200, var(--mer-color__gradient-opacity--medium)) 100%
990
- );
991
- // gradient 10
992
- --mer-color__gradient--10: linear-gradient(
993
- var(--mer-color__gradient-angle),
994
- rgba(255, 0, 127, var(--mer-color__gradient-opacity--low)) 0%,
995
- rgba(0, 255, 0, var(--mer-color__gradient-opacity--low)) 100%
996
- );
997
- // gradient 11
998
- --mer-color__gradient--11: linear-gradient(
999
- var(--mer-color__gradient-angle),
1000
- rgba(255, 199, 0, var(--mer-color__gradient-opacity--high)) 0%,
1001
- rgba(138, 43, 226, var(--mer-color__gradient-opacity--high)) 100%
1002
- );
1003
- // gradient 12
1004
- --mer-color__gradient--12: linear-gradient(
1005
- var(--mer-color__gradient-angle),
1006
- rgba(255, 0, 51, var(--mer-color__gradient-opacity--medium)) 0%,
1007
- rgba(255, 204, 0, var(--mer-color__gradient-opacity--medium)) 100%
1008
- );
1009
- // gradient 13
1010
- --mer-color__gradient--13: linear-gradient(
1011
- var(--mer-color__gradient-angle),
1012
- rgba(0, 255, 60, var(--mer-color__gradient-opacity--high)) 0%,
1013
- rgba(255, 102, 0, var(--mer-color__gradient-opacity--high)) 100%
1014
- );
1015
923
  }
1016
924
 
1017
925
  @mixin foundation-colors--dark() {
@@ -1034,32 +942,9 @@
1034
942
  --mer-color__neutral-gray--700: #242d3c;
1035
943
  --mer-color__neutral-gray--800: #181f2a;
1036
944
  --mer-color__neutral-gray--900: #11151c;
1037
- // 1000 to 1400 do not exist anymore in figma but can not be removed yet
1038
- // because gemini is dependent on this tokens (check with designer)
1039
945
  --mer-color__neutral-gray--1000: #1f2225;
1040
- --mer-color__neutral-gray--1100: #24272a;
1041
- --mer-color__neutral-gray--1200: #2d3032;
1042
- --mer-color__neutral-gray--1300: #3b3e40;
1043
- --mer-color__neutral-gray--1400: #2d3134;
1044
-
1045
- // tinted (with opacity) this values had to be updated to the no opacity
1046
- // version (see below), because colors with opacity caused some issues when
1047
- // overlapping. Until this is not a definitive edition
1048
-
1049
- // --mer-color__tinted-yellow--5: #ffc96b0d;
1050
- // --mer-color__tinted-yellow--60: #ffc96b99;
1051
- // --mer-color__tinted-red--5: #fb7c840d;
1052
- // --mer-color__tinted-red--60: #fb7c8499;
1053
- // --mer-color__tinted-green--5: #3fa89b0d;
1054
- // --mer-color__tinted-green--60: #3fa89b99;
1055
- // --mer-color__tinted-blue--5: #5ba7ff0d;
1056
- // --mer-color__tinted-blue--8: #5ba7ff14;
1057
- // --mer-color__tinted-blue--10: #5ba7ff1a;
1058
- // --mer-color__tinted-blue--20: #5ba7ff33;
1059
- // --mer-color__tinted-blue--30: #5ba7ff4d;
1060
- // --mer-color__tinted-blue--50: #5ba7ff80;
1061
-
1062
- // tinted (no opacity) // tints with opacity were giving some issues
946
+
947
+ // tinted
1063
948
  --mer-color__tinted-yellow--5: #282a2d;
1064
949
  --mer-color__tinted-yellow--60: #ad8a53;
1065
950
  --mer-color__tinted-red--5: #29252f;
@@ -1079,19 +964,47 @@
1079
964
  --mer-color__message-yellow--100: #f9bd56;
1080
965
  --mer-color__message-yellow--200: #f9bd56;
1081
966
  --mer-color__message-red--100: #e35861;
1082
- --mer-color__message-red--200: #e35861;
1083
- --mer-color__message-red--300: #dd8f94;
967
+ --mer-color__message-red--200: #d54b54;
968
+ --mer-color__message-red--300: #ff6161;
1084
969
  --mer-color__message-red--400: #ff9999;
970
+ }
1085
971
 
1086
- // surface
1087
- --mer-color__surface: var(--mer-color__neutral-gray--900);
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;
1088
995
 
1089
- // elevation
1090
- --mer-color__elevation--01: var(--mer-color__neutral-gray--800);
1091
- --mer-color__elevation--02: var(--mer-color__neutral-gray--700);
1092
- --mer-color__elevation--03: var(--mer-color__neutral-gray--650);
1093
- --mer-color__elevation--04: var(--mer-color__neutral-gray--600);
996
+ // line heights
997
+ --mer-line-height--tight: 1.3;
998
+ --mer-line-height--regular: 1.4;
999
+ --mer-line-height--spaced: 1.5;
1000
+
1001
+ // letter spacings (to be done)
1002
+ // --mer-letter-spacing--tight: ;
1003
+ // --mer-letter-spacing--regular: ;
1004
+ // --mer-letter-spacing--comfortable: ;
1005
+ }
1094
1006
 
1007
+ @mixin foundation-colors--gradients() {
1095
1008
  // gradients
1096
1009
  --mer-color__gradient-angle: 225deg;
1097
1010
  --mer-color__gradient-opacity--low: 0.7;
@@ -1178,79 +1091,6 @@
1178
1091
  );
1179
1092
  }
1180
1093
 
1181
- @mixin elevation--light() {
1182
- // background color
1183
- --mer-elevation__bg-color--01: var(--mer-color__neutral-gray--900);
1184
- --mer-elevation__bg-color--02: var(--mer-color__neutral-gray--900);
1185
- --mer-elevation__bg-color--03: var(--mer-color__neutral-gray--900);
1186
- --mer-elevation__bg-color--04: var(--mer-color__neutral-gray--900);
1187
-
1188
- // border
1189
- --mer-elevation__border-01: transparent;
1190
- --mer-elevation__border-02: transparent;
1191
- --mer-elevation__border-03: transparent;
1192
- --mer-elevation__border-04: transparent;
1193
-
1194
- // box shadow
1195
- --mer-box-shadow--01: 0px 4px 20px 0px #00000040;
1196
- }
1197
-
1198
- @mixin elevation--dark() {
1199
- // background color
1200
- --mer-elevation__bg-color--01: var(--mer-color__elevation--01);
1201
- --mer-elevation__bg-color--02: var(--mer-color__elevation--02);
1202
- --mer-elevation__bg-color--03: var(--mer-color__elevation--03);
1203
- --mer-elevation__bg-color--04: var(--mer-color__elevation--04);
1204
-
1205
- // border
1206
- --mer-elevation__border-01: 1px solid var(--mer-color__elevation--03);
1207
- --mer-elevation__border-03: transparent;
1208
- --mer-elevation__border-04: transparent;
1209
-
1210
- // box shadow
1211
- --mer-elevation__box-shadow--01: none;
1212
- --mer-elevation__box-shadow--02: none;
1213
- --mer-elevation__box-shadow--03: none;
1214
- --mer-elevation__box-shadow--04: none;
1215
-
1216
- // box shadow
1217
- --mer-box-shadow--01: 0px 4px 20px 0px #00000040;
1218
- }
1219
-
1220
- @mixin font() {
1221
- // families
1222
- --mer-font-family--title: Inter, Helvetica, Arial, sans-serif;
1223
- --mer-font-family--body: Inter, Helvetica, Arial, sans-serif;
1224
- --mer-font-family--code: monospace;
1225
-
1226
- // weights
1227
- --mer-font__weight--light: 300;
1228
- --mer-font__weight--regular: 400;
1229
- --mer-font__weight--semi-bold: 600;
1230
- --mer-font__weight--bold: 700;
1231
- --mer-font__weight--extra-bold: 800;
1232
-
1233
- // sizes
1234
- --mer-font__size--4xs: 11px;
1235
- --mer-font__size--3xs: 12px;
1236
- --mer-font__size--2xs: 13px;
1237
- --mer-font__size--xs: 14px;
1238
- --mer-font__size--sm: 16px;
1239
- --mer-font__size--md: 20px;
1240
- --mer-font__size--lg: 24px;
1241
- --mer-font__size--xl: 36px;
1242
-
1243
- // line heights
1244
- --mer-line-height--tight: 1.3;
1245
- --mer-line-height--regular: 1.4;
1246
- --mer-line-height--spaced: 1.5;
1247
-
1248
- // letter spacings (to be done)
1249
- // --mer-letter-spacing--tight: ;
1250
- // --mer-letter-spacing--regular: ;
1251
- // --mer-letter-spacing--comfortable: ;
1252
- }
1253
-
1254
1094
  @mixin spacing() {
1255
1095
  --mer-spacing--3xs: 2px;
1256
1096
  --mer-spacing--2xs: 4px;
@@ -1279,6 +1119,8 @@
1279
1119
  --mer-accent__primary--active: var(--mer-color__primary-blue--600);
1280
1120
  --mer-accent__primary--disabled: var(--mer-color__neutral-gray--500);
1281
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);
1282
1124
  }
1283
1125
 
1284
1126
  @mixin semantic-border() {
@@ -1344,10 +1186,6 @@
1344
1186
  --control__font-size--regular: var(--mer-font__size--xs);
1345
1187
  --control__line-height: var(--mer-line-height--spaced);
1346
1188
 
1347
- // - - - - - - - Height - - - - - - -
1348
-
1349
- --control__height: 26px;
1350
-
1351
1189
  // - - - - - - - Padding - - - - - - -
1352
1190
 
1353
1191
  --control__padding-block: var(--mer-spacing--2xs);
@@ -1427,6 +1265,108 @@
1427
1265
  --field-inline-label__margin-block-start: 6px; // 6px is the proper value, but it does not exists on the mercury ds.
1428
1266
  }
1429
1267
 
1268
+ @mixin semantic-general() {
1269
+ // ----------------------
1270
+ // Body
1271
+ // ----------------------
1272
+ --mer-body__bg-color: var(--mer-surface);
1273
+ --mer-body__color: var(--mer-text__on-surface);
1274
+ --mer-body__font-size: var(--mer-font__size--3xs);
1275
+ --mer-body__font-family: var(--mer-font-family--body);
1276
+ --mer-body__font-weight: var(--mer-font__weight--regular);
1277
+ --mer-body__line-height: var(--mer-line-height--spaced);
1278
+ --mer-body__margin-block: var(--mer-spacing--sm);
1279
+
1280
+ // ----------------------
1281
+ // System
1282
+ // ----------------------
1283
+ // System tokens are the most basic kind, used when there is not a more specific categorization.
1284
+ --mer-system__border-width: var(--mer-border__width--sm);
1285
+ --mer-system__border-style: solid;
1286
+ --mer-system__border-color: var(--mer-color__neutral-gray--500);
1287
+
1288
+ // ----------------------
1289
+ // Heading
1290
+ // ----------------------
1291
+ --mer-heading__color: var(--mer-color__neutral-gray--100);
1292
+
1293
+ // ----------------------
1294
+ // Scrollbar
1295
+ // ----------------------
1296
+ // scrollbar
1297
+ --scrollbar__size: var(--mer-spacing--2xs);
1298
+ // scrollbar-track
1299
+ --scrollbar-track__bg-color: var(--mer-color__neutral-gray--650);
1300
+
1301
+ --scrollbar-track__border-radius: var(--mer-spacing--xs);
1302
+ // scrollbar-thumb
1303
+ --scrollbar-thumb__bg-color: var(--mer-color__neutral-gray--550);
1304
+ --scrollbar-thumb__border-radius: var(--mer-spacing--xs);
1305
+ // scrollbar-thumb
1306
+ --scrollbar-corner__bg: transparent;
1307
+
1308
+ // ----------------------
1309
+ // Icon Size
1310
+ // ----------------------
1311
+ // box (shell)
1312
+ --mer-icon__box--sm: var(--mer-spacing--sm);
1313
+ --mer-icon__box--md: 14px; // no spacing token exists for 14px.
1314
+ // icon (background-size)
1315
+ --mer-icon__size--sm: 100%;
1316
+ --mer-icon__size--md: 100%;
1317
+
1318
+ // ------------------------------------------------------------
1319
+ // Form Input (form-input-*** background-position-x RTL support)
1320
+ // ------------------------------------------------------------
1321
+ --mer-form-input__padding-inline: var(--mer-spacing--xs);
1322
+ --mer-form-input__bg-position--x-value: var(--mer-form-input__padding-inline);
1323
+ --mer-form-input__bg-position--x: var(--mer-form-input__bg-position--x-value);
1324
+ // The following css variables are at the time of writing, global, because some components, besides
1325
+ // the ch-checkbox, implement their own checkboxes. For example, the tabular-grid cell parts "selector-label"
1326
+ // and "selector".
1327
+ --mer-form-input__border-color: var(--mer-color__neutral-gray--500);
1328
+ --mer-form-input__border-style: solid;
1329
+ --mer-form-input__border-width: var(--mer-border__width--sm);
1330
+ --mer-form-input__border: var(--mer-form-input__border-width)
1331
+ var(--mer-form-input__border-style) var(--mer-form-input__border-color);
1332
+ --mer-form-input__border-radius: var(--mer-border__radius--sm);
1333
+ // the input checkbox checked styles, or radio button inner circle
1334
+ --mer-form-input-check__border-width: var(--mer-border__radius--xs);
1335
+ --mer-form-input-check__border-color: var(
1336
+ --mer-border-color__neutral--active
1337
+ );
1338
+ --mer-form-input-check__border-color--disabled: var(
1339
+ --mer-accent__primary--disabled
1340
+ );
1341
+ --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>");
1342
+
1343
+ // ----------------------
1344
+ // Window
1345
+ // ----------------------
1346
+ // TODO: This styles should better be applied on the ch-window.
1347
+ --window__border: var(--mer-border__width--sm) solid
1348
+ var(--mer-surface__elevation--01);
1349
+ --window__border-radius: var(--mer-border__radius--sm);
1350
+ --window__padding: var(--mer-spacing--xs);
1351
+ --window__bg-color: var(--mer-surface__elevation--01);
1352
+ --window__gap: var(--mer-spacing--xs);
1353
+ --window__box-shadow: var(--mer-box-shadow--01);
1354
+
1355
+ // ----------------------
1356
+ // Focus
1357
+ // ----------------------
1358
+ --focus__outline-width: var(--mer-border__width--sm);
1359
+ --focus__outline-style: solid;
1360
+ --focus__outline-color: var(--mer-border-color__primary--focused);
1361
+ --focus__outline-offset: calc(var(--mer-system__border-width) * -1);
1362
+ --borders-un-border-color__focused: var(--focus__outline-color);
1363
+ }
1364
+
1365
+ @mixin semantic-heading() {
1366
+ --mer-heading__gray--light: var(--mer-color__neutral-gray--200);
1367
+ --mer-header__background-color: var(--mer-color__neutral-gray--700);
1368
+ }
1369
+
1430
1370
  @mixin semantic-icon() {
1431
1371
  --mer-icon__on-surface: var(--mer-color__neutral-gray--200);
1432
1372
  --mer-icon__on-primary: var(--mer-color__neutral-gray--900);
@@ -1531,7 +1471,7 @@
1531
1471
 
1532
1472
  // - - - - - - - Colors - - - - - - -
1533
1473
 
1534
- --items-container__bg-color: var(--mer-color__elevation--01);
1474
+ --items-container__bg-color: var(--mer-surface__elevation--01);
1535
1475
  --items-container__border-color: var(--mer-border-color__on-surface);
1536
1476
 
1537
1477
  // - - - - - - - Padding - - - - - - -
@@ -1565,7 +1505,7 @@
1565
1505
  // Grid Cell
1566
1506
  // - - - - - - - - - - - - - - - - - - - -
1567
1507
 
1568
- --grid-cell__border-color: var(--mer-color__elevation--04);
1508
+ --grid-cell__border-color: var(--mer-border-color__on-elevation--01);
1569
1509
  --grid-cell__border: var(--mer-border__width--sm) solid
1570
1510
  var(--grid-cell__border-color);
1571
1511
  --grid-cell__box-shadow-inline-block: 0 0 0 1px var(--grid-cell__border-color);
@@ -1621,101 +1561,17 @@
1621
1561
  --tab-caption__gap: var(--mer-spacing--xs); // 6px does not exist on the ds.
1622
1562
  }
1623
1563
 
1624
- @mixin semantic-general() {
1625
- // ----------------------
1626
- // Body
1627
- // ----------------------
1628
- --mer-body__bg-color: var(--mer-color__surface);
1629
- --mer-body__color: var(--mer-text__on-surface);
1630
- --mer-body__font-size: var(--mer-font__size--3xs);
1631
- --mer-body__font-family: var(--mer-font-family--body);
1632
- --mer-body__font-weight: var(--mer-font__weight--regular);
1633
- --mer-body__line-height: var(--mer-line-height--spaced);
1634
- --mer-body__margin-block: var(--mer-spacing--sm);
1635
-
1636
- // ----------------------
1637
- // System
1638
- // ----------------------
1639
- // System tokens are the most basic kind, used when there is not a more specific categorization.
1640
- --mer-system__border-width: var(--mer-border__width--sm);
1641
- --mer-system__border-style: solid;
1642
- --mer-system__border-color: var(--mer-color__neutral-gray--500);
1643
-
1644
- // ----------------------
1645
- // Heading
1646
- // ----------------------
1647
- --mer-heading__color: var(--mer-color__neutral-gray--100);
1648
-
1649
- // ----------------------
1650
- // Scrollbar
1651
- // ----------------------
1652
- // scrollbar
1653
- --scrollbar__size: var(--mer-spacing--2xs);
1654
- // scrollbar-track
1655
- --scrollbar-track__bg-color: var(--mer-color__neutral-gray--650);
1656
-
1657
- --scrollbar-track__border-radius: var(--mer-spacing--xs);
1658
- // scrollbar-thumb
1659
- --scrollbar-thumb__bg-color: var(--mer-color__neutral-gray--550);
1660
- --scrollbar-thumb__border-radius: var(--mer-spacing--xs);
1661
- // scrollbar-thumb
1662
- --scrollbar-corner__bg: transparent;
1663
-
1664
- // ----------------------
1665
- // Icon Size
1666
- // ----------------------
1667
- // box (shell)
1668
- --mer-icon__box--sm: var(--mer-spacing--sm);
1669
- --mer-icon__box--md: 14px; // no spacing token exists for 14px.
1670
- // icon (background-size)
1671
- --mer-icon__size--sm: 100%;
1672
- --mer-icon__size--md: 100%;
1564
+ @mixin semantic-surface() {
1565
+ --mer-surface: var(--mer-color__neutral-gray--900);
1566
+ --mer-color__surface: var(
1567
+ --mer-surface
1568
+ ); // '--mer-color__surface' TO be removed later (deprecated)
1569
+ --mer-surface__elevation--01: var(--mer-color__neutral-gray--800);
1570
+ --mer-surface__elevation--02: var(--mer-color__neutral-gray--700);
1571
+ --mer-surface__elevation--03: var(--mer-color__neutral-gray--650);
1673
1572
 
1674
- // ------------------------------------------------------------
1675
- // Form Input (form-input-*** background-position-x RTL support)
1676
- // ------------------------------------------------------------
1677
- --mer-form-input__padding-inline: var(--mer-spacing--xs);
1678
- --mer-form-input__bg-position--x-value: var(--mer-form-input__padding-inline);
1679
- --mer-form-input__bg-position--x: var(--mer-form-input__bg-position--x-value);
1680
- // The following css variables are at the time of writing, global, because some components, besides
1681
- // the ch-checkbox, implement their own checkboxes. For example, the tabular-grid cell parts "selector-label"
1682
- // and "selector".
1683
- --mer-form-input__border-color: var(--mer-color__neutral-gray--500);
1684
- --mer-form-input__border-style: solid;
1685
- --mer-form-input__border-width: var(--mer-border__width--sm);
1686
- --mer-form-input__border: var(--mer-form-input__border-width)
1687
- var(--mer-form-input__border-style) var(--mer-form-input__border-color);
1688
- --mer-form-input__border-radius: var(--mer-border__radius--sm);
1689
- // the input checkbox checked styles, or radio button inner circle
1690
- --mer-form-input-check__border-width: var(--mer-border__radius--xs);
1691
- --mer-form-input-check__border-color: var(
1692
- --mer-border-color__neutral--active
1693
- );
1694
- --mer-form-input-check__border-color--disabled: var(
1695
- --mer-accent__primary--disabled
1696
- );
1697
- --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>");
1698
-
1699
- // ----------------------
1700
- // Window
1701
- // ----------------------
1702
- // TODO: This styles should better be applied on the ch-window.
1703
- --window__border: var(--mer-border__width--sm) solid
1704
- var(--mer-color__elevation--04);
1705
- --window__border-radius: var(--mer-border__radius--sm);
1706
- --window__padding: var(--mer-spacing--xs);
1707
- --window__bg-color: var(--mer-color__elevation--01);
1708
- --window__gap: var(--mer-spacing--xs);
1709
- --window__box-shadow: var(--mer-box-shadow--01);
1710
-
1711
- // ----------------------
1712
- // Focus
1713
- // ----------------------
1714
- --focus__outline-width: var(--mer-border__width--sm);
1715
- --focus__outline-style: solid;
1716
- --focus__outline-color: var(--mer-color__primary-blue--200);
1717
- --focus__outline-offset: calc(var(--mer-system__border-width) * -1);
1718
- --borders-un-border-color__focused: var(--focus__outline-color);
1573
+ // box shadow
1574
+ --mer-box-shadow--01: 0px 4px 20px 0px #00000040;
1719
1575
  }
1720
1576
 
1721
1577
  @mixin semantic-text() {
@@ -1740,11 +1596,6 @@
1740
1596
  ); // "--mer-text__bright" does not exists anymore in figma, but the colors are being updated. Ask the designer.
1741
1597
  }
1742
1598
 
1743
- @mixin semantic-heading() {
1744
- --mer-heading__gray--light: var(--mer-color__neutral-gray--200);
1745
- --mer-header__background-color: var(--mer-color__neutral-gray--700);
1746
- }
1747
-
1748
1599
 
1749
1600
  // Base classes
1750
1601
  @mixin button-common-styles() {
@@ -1829,12 +1680,12 @@
1829
1680
  // ----------------------
1830
1681
  // Focus
1831
1682
  // ----------------------
1832
- @mixin focus-outline($outline: false) {
1683
+ @mixin focus-outline() {
1833
1684
  outline: var(--focus__outline-width) var(--focus__outline-style)
1834
1685
  var(--focus__outline-color);
1835
1686
  outline-offset: var(--focus__outline-offset);
1836
1687
  }
1837
- @mixin focus-border($outline: false) {
1688
+ @mixin focus-border() {
1838
1689
  border-color: var(--borders-un-border-color__focused);
1839
1690
  }
1840
1691
 
@@ -2139,14 +1990,14 @@
2139
1990
  padding-block-end: var(--mer-spacing--2xs);
2140
1991
  }
2141
1992
  @mixin grid-rowset-legend-colors-enabled() {
2142
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
1993
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
2143
1994
  background-color: var(--grid-rowset-legend__bg-color);
2144
1995
  }
2145
1996
  @mixin grid-rowset-legend-colors-hover() {
2146
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
1997
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--03);
2147
1998
  }
2148
1999
  @mixin grid-rowset-legend-colors-active() {
2149
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
2000
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
2150
2001
  }
2151
2002
 
2152
2003
  // ----------------------
@@ -2187,7 +2038,9 @@
2187
2038
  --tab-caption__border-color--selected-inline: var(
2188
2039
  --mer-border-color__primary--disabled
2189
2040
  );
2190
- --tab-caption__border-color--selected-stack: var(--mer-color__elevation--02);
2041
+ --tab-caption__border-color--selected-stack: var(
2042
+ --mer-surface__elevation--02
2043
+ );
2191
2044
  }
2192
2045
  @mixin tab-button-colors-selected-inline() {
2193
2046
  --tab-caption__bg-color: var(--tab-caption__bg-color--selected-inline);
@@ -2266,7 +2119,7 @@
2266
2119
  }
2267
2120
  @mixin control-footer-border() {
2268
2121
  border-block-start: var(--mer-border__width--sm) solid
2269
- var(--mer-color__elevation--04);
2122
+ var(--mer-border-color__on-elevation--01);
2270
2123
  }
2271
2124
  @mixin control-footer(
2272
2125
  $selector: ".control-footer",
@@ -2374,40 +2227,40 @@
2374
2227
  }
2375
2228
  // should be at the top, since other elements use it.
2376
2229
  @mixin button-tokens-primary() {
2377
- --button-primary__background-color: var(--mer-accent__primary);
2378
- --button-primary__border-color: var(--button-primary__background-color);
2230
+ --button-primary__bg-color: var(--mer-accent__primary);
2231
+ --button-primary__border-color: var(--button-primary__bg-color);
2379
2232
  --button-primary__color: var(--mer-text__on-primary);
2380
2233
  //hover
2381
- --button-primary__background-color--hover: var(--mer-accent__primary--hover);
2382
- --button-primary__border-color--hover: var(
2383
- --button-primary__background-color--hover
2384
- );
2234
+ --button-primary__bg-color--hover: var(--mer-accent__primary--hover);
2235
+ --button-primary__border-color--hover: var(--button-primary__bg-color--hover);
2385
2236
  --button-primary__color--hover: var(--mer-text__on-primary);
2386
2237
 
2387
2238
  //active
2388
- --button-primary__background-color--active: var(
2389
- --mer-accent__primary--active
2390
- );
2239
+ --button-primary__bg-color--active: var(--mer-accent__primary--active);
2391
2240
  --button-primary__border-color--active: var(
2392
- --button-primary__background-color--active
2241
+ --button-primary__bg-color--active
2393
2242
  );
2394
2243
  --button-primary__color--active: var(--mer-text__on-primary--active);
2395
2244
 
2396
2245
  //disabled
2397
- --button-primary__background-color--disabled: var(
2398
- --mer-accent__primary--disabled
2399
- );
2246
+ --button-primary__bg-color--disabled: var(--mer-accent__primary--disabled);
2400
2247
  --button-primary__border-color--disabled: var(
2401
2248
  --mer-border-color__primary--disabled
2402
2249
  );
2403
2250
  --button-primary__color--disabled: var(--mer-text__on-disabled);
2404
2251
 
2405
2252
  //destructive
2406
- --button-primary__background-color--destructive: var(
2253
+ --button-primary__bg-color--destructive: var(
2407
2254
  --mer-accent__primary--destructive
2408
2255
  );
2256
+ --button-primary__bg-color--destructive-hover: var(
2257
+ --mer-accent__primary--destructive-hover
2258
+ );
2259
+ --button-primary__bg-color--destructive-active: var(
2260
+ --mer-accent__primary--destructive-active
2261
+ );
2409
2262
  --button-primary__border-color--destructive: var(
2410
- --button-primary__background-color--destructive
2263
+ --button-primary__bg-color--destructive
2411
2264
  );
2412
2265
  --button-primary__color--destructive: var(--mer-text__on-primary);
2413
2266
  }
@@ -2432,6 +2285,19 @@
2432
2285
  --button-secondary__background-color--disabled: transparent;
2433
2286
  --button-secondary__border-color--disabled: var(--mer-text__on-disabled);
2434
2287
  --button-secondary__color--disabled: var(--mer-text__on-disabled);
2288
+
2289
+ //destructive
2290
+ --button-secondary__bg-color--destructive: transparent;
2291
+ --button-secondary__bg-color--destructive-hover: var(
2292
+ --mer-accent__primary--destructive-hover
2293
+ );
2294
+ --button-secondary__bg-color--destructive-active: var(
2295
+ --mer-accent__primary--destructive-active
2296
+ );
2297
+ --button-secondary__border-color--destructive: var(
2298
+ --button-primary__bg-color--destructive
2299
+ );
2300
+ --button-secondary__color--destructive: var(--mer-text__on-primary);
2435
2301
  }
2436
2302
 
2437
2303
  @mixin button-tokens-tertiary() {
@@ -2455,10 +2321,9 @@
2455
2321
 
2456
2322
  %button-base {
2457
2323
  @include button-common-styles();
2458
- @include control-height-regular();
2459
2324
  @include control-border();
2460
2325
  @include control-font-size-regular();
2461
- @include control-padding-inline();
2326
+ @include control-padding-inline-block();
2462
2327
  padding-inline: var(--control__padding-inline);
2463
2328
 
2464
2329
  &--focus-visible {
@@ -2474,31 +2339,47 @@
2474
2339
  //overwrite some control default styles
2475
2340
  --control__border-color: var(--button-primary__border-color);
2476
2341
 
2477
- background-color: var(--button-primary__background-color);
2342
+ background-color: var(--button-primary__bg-color);
2478
2343
  color: var(--button-primary__color);
2479
2344
 
2480
2345
  &--hover {
2481
- background-color: var(--button-primary__background-color--hover);
2346
+ background-color: var(--button-primary__bg-color--hover);
2482
2347
  --control__border-color: var(--button-primary__border-color--hover);
2483
2348
  color: var(--button-primary__color--hover);
2484
2349
  }
2485
2350
 
2486
2351
  &--active {
2487
- background-color: var(--button-primary__background-color--active);
2352
+ background-color: var(--button-primary__bg-color--active);
2488
2353
  --control__border-color: var(--button-primary__border-color--active);
2489
2354
  color: var(--button-primary__color--active);
2490
2355
  }
2491
2356
 
2492
2357
  &--disabled {
2493
- background-color: var(--button-primary__background-color--disabled);
2494
- --control__border-color: var(--button-primary__background-color--disabled);
2358
+ background-color: var(--button-primary__bg-color--disabled);
2359
+ --control__border-color: var(--button-primary__bg-color--disabled);
2495
2360
  color: var(--button-primary__color--disabled);
2496
2361
  }
2497
2362
 
2498
- &-destructive {
2363
+ &--destructive {
2499
2364
  --control__border-color: var(--button-primary__border-color--destructive);
2500
- background-color: var(--button-primary__background-color--destructive);
2365
+ background-color: var(--button-primary__bg-color--destructive);
2501
2366
  color: var(--button-primary__color--destructive);
2367
+
2368
+ &-hover {
2369
+ --control__border-color: var(
2370
+ --button-primary__bg-color--destructive-hover
2371
+ );
2372
+ background-color: var(--button-primary__bg-color--destructive-hover);
2373
+ color: var(--button-primary__color--destructive);
2374
+ }
2375
+
2376
+ &-active {
2377
+ --control__border-color: var(
2378
+ --button-primary__bg-color--destructive-active
2379
+ );
2380
+ background-color: var(--button-primary__bg-color--destructive-active);
2381
+ color: var(--button-primary__color--destructive);
2382
+ }
2502
2383
  }
2503
2384
  }
2504
2385
 
@@ -2565,13 +2446,17 @@
2565
2446
  /// @param {String} $selector [".button-primary"] -
2566
2447
  @mixin button-primary(
2567
2448
  $selector: ".button-primary",
2568
- $destructive-selector: ".button-primary--destructive",
2449
+ $destructive-selector: ".button-primary-destructive",
2569
2450
  $add--disabled: true,
2570
2451
  $add--destructive: true
2571
2452
  ) {
2572
2453
  #{$selector} {
2573
2454
  @extend %button-primary;
2574
2455
 
2456
+ &:focus-visible {
2457
+ @extend %button-base--focus-visible;
2458
+ }
2459
+
2575
2460
  &:hover {
2576
2461
  @extend %button-primary--hover;
2577
2462
  }
@@ -2588,14 +2473,14 @@
2588
2473
  }
2589
2474
  @if $add--destructive {
2590
2475
  #{$destructive-selector} {
2591
- @extend %button-primary-destructive;
2476
+ @extend %button-primary--destructive;
2592
2477
 
2593
2478
  &:hover {
2594
- @extend %button-primary-destructive;
2479
+ @extend %button-primary--destructive-hover;
2595
2480
  }
2596
2481
 
2597
2482
  &:active {
2598
- @extend %button-primary-destructive;
2483
+ @extend %button-primary--destructive-active;
2599
2484
  }
2600
2485
  }
2601
2486
  }
@@ -2607,6 +2492,10 @@
2607
2492
  #{$selector} {
2608
2493
  @extend %button-secondary;
2609
2494
 
2495
+ &:focus-visible {
2496
+ @extend %button-base--focus-visible;
2497
+ }
2498
+
2610
2499
  &:hover {
2611
2500
  @extend %button-secondary--hover;
2612
2501
  }
@@ -2630,6 +2519,10 @@
2630
2519
  #{$selector} {
2631
2520
  @extend %button-tertiary;
2632
2521
 
2522
+ &:focus-visible {
2523
+ @extend %button-base--focus-visible;
2524
+ }
2525
+
2633
2526
  &:hover {
2634
2527
  @extend %button-tertiary--hover;
2635
2528
  }
@@ -2666,10 +2559,18 @@
2666
2559
  --spacing-body-block-end: var(--mer-spacing--md);
2667
2560
  --spacing-body-inline-start: var(--mer-spacing--md);
2668
2561
  --spacing-body-inline-end: var(--mer-spacing--md);
2669
- display: grid;
2670
2562
  row-gap: var(--field-group__row-gap);
2671
2563
  column-gap: var(--field-group__column-gap);
2672
2564
 
2565
+ &-default {
2566
+ display: grid;
2567
+ }
2568
+
2569
+ &-inline {
2570
+ display: flex;
2571
+ flex-wrap: wrap;
2572
+ }
2573
+
2673
2574
  &-cols-2 {
2674
2575
  display: grid;
2675
2576
  column-gap: var(--field__column-gap);
@@ -2695,6 +2596,7 @@
2695
2596
 
2696
2597
  /// @group Field
2697
2598
  /// @param {String} $field-group-selector [".field-group"] -
2599
+ /// @param {String} $field-group-inline-selector [".field-group-inline"] -
2698
2600
  /// @param {String} $field-selector [".field"] -
2699
2601
  /// @param {String} $field-block-selector [".field-block"] -
2700
2602
  /// @param {String} $field-inline-selector [".field-inline"] -
@@ -2703,6 +2605,7 @@
2703
2605
  /// @param {String} $field-group-cols-2__label-selector [".field-group-cols-2 .label"] -
2704
2606
  @mixin field(
2705
2607
  $field-group-selector: ".field-group",
2608
+ $field-group-inline-selector: ".field-group-inline",
2706
2609
  $field-selector: ".field",
2707
2610
  $field-block-selector: ".field-block",
2708
2611
  $field-inline-selector: ".field-inline",
@@ -2712,6 +2615,12 @@
2712
2615
  ) {
2713
2616
  #{$field-group-selector} {
2714
2617
  @extend %field-group;
2618
+ @extend %field-group-default;
2619
+ }
2620
+
2621
+ #{$field-group-inline-selector} {
2622
+ @extend %field-group;
2623
+ @extend %field-group-inline;
2715
2624
  }
2716
2625
 
2717
2626
  #{$field-selector} {
@@ -3281,40 +3190,40 @@
3281
3190
 
3282
3191
  // Icons
3283
3192
  @mixin button-tokens-primary() {
3284
- --button-primary__background-color: var(--mer-accent__primary);
3285
- --button-primary__border-color: var(--button-primary__background-color);
3193
+ --button-primary__bg-color: var(--mer-accent__primary);
3194
+ --button-primary__border-color: var(--button-primary__bg-color);
3286
3195
  --button-primary__color: var(--mer-text__on-primary);
3287
3196
  //hover
3288
- --button-primary__background-color--hover: var(--mer-accent__primary--hover);
3289
- --button-primary__border-color--hover: var(
3290
- --button-primary__background-color--hover
3291
- );
3197
+ --button-primary__bg-color--hover: var(--mer-accent__primary--hover);
3198
+ --button-primary__border-color--hover: var(--button-primary__bg-color--hover);
3292
3199
  --button-primary__color--hover: var(--mer-text__on-primary);
3293
3200
 
3294
3201
  //active
3295
- --button-primary__background-color--active: var(
3296
- --mer-accent__primary--active
3297
- );
3202
+ --button-primary__bg-color--active: var(--mer-accent__primary--active);
3298
3203
  --button-primary__border-color--active: var(
3299
- --button-primary__background-color--active
3204
+ --button-primary__bg-color--active
3300
3205
  );
3301
3206
  --button-primary__color--active: var(--mer-text__on-primary--active);
3302
3207
 
3303
3208
  //disabled
3304
- --button-primary__background-color--disabled: var(
3305
- --mer-accent__primary--disabled
3306
- );
3209
+ --button-primary__bg-color--disabled: var(--mer-accent__primary--disabled);
3307
3210
  --button-primary__border-color--disabled: var(
3308
3211
  --mer-border-color__primary--disabled
3309
3212
  );
3310
3213
  --button-primary__color--disabled: var(--mer-text__on-disabled);
3311
3214
 
3312
3215
  //destructive
3313
- --button-primary__background-color--destructive: var(
3216
+ --button-primary__bg-color--destructive: var(
3314
3217
  --mer-accent__primary--destructive
3315
3218
  );
3219
+ --button-primary__bg-color--destructive-hover: var(
3220
+ --mer-accent__primary--destructive-hover
3221
+ );
3222
+ --button-primary__bg-color--destructive-active: var(
3223
+ --mer-accent__primary--destructive-active
3224
+ );
3316
3225
  --button-primary__border-color--destructive: var(
3317
- --button-primary__background-color--destructive
3226
+ --button-primary__bg-color--destructive
3318
3227
  );
3319
3228
  --button-primary__color--destructive: var(--mer-text__on-primary);
3320
3229
  }
@@ -3339,6 +3248,19 @@
3339
3248
  --button-secondary__background-color--disabled: transparent;
3340
3249
  --button-secondary__border-color--disabled: var(--mer-text__on-disabled);
3341
3250
  --button-secondary__color--disabled: var(--mer-text__on-disabled);
3251
+
3252
+ //destructive
3253
+ --button-secondary__bg-color--destructive: transparent;
3254
+ --button-secondary__bg-color--destructive-hover: var(
3255
+ --mer-accent__primary--destructive-hover
3256
+ );
3257
+ --button-secondary__bg-color--destructive-active: var(
3258
+ --mer-accent__primary--destructive-active
3259
+ );
3260
+ --button-secondary__border-color--destructive: var(
3261
+ --button-primary__bg-color--destructive
3262
+ );
3263
+ --button-secondary__color--destructive: var(--mer-text__on-primary);
3342
3264
  }
3343
3265
 
3344
3266
  @mixin button-tokens-tertiary() {
@@ -3361,9 +3283,15 @@
3361
3283
 
3362
3284
 
3363
3285
  %button-icon-only {
3364
- --control__padding-inline: 0;
3365
- inline-size: var(--control__height);
3366
- block-size: var(--control__height);
3286
+ padding: 0;
3287
+ box-sizing: border-box;
3288
+ // A control block-size is the sum of its font-size + line-height + padding-block + border.
3289
+ $buttonIconOnlySize: calc(
3290
+ var(--control__font-size--regular) * var(--control__line-height) +
3291
+ var(--control__padding-block) * 2 + var(--control__border-width) * 2
3292
+ );
3293
+ inline-size: $buttonIconOnlySize;
3294
+ block-size: $buttonIconOnlySize;
3367
3295
  }
3368
3296
 
3369
3297
  %button-icon-and-text {
@@ -3406,7 +3334,7 @@
3406
3334
 
3407
3335
  %accordion-panel {
3408
3336
  border-radius: var(--mer-border__radius--sm);
3409
- background-color: var(--mer-color__elevation--01);
3337
+ background-color: var(--mer-surface__elevation--01);
3410
3338
 
3411
3339
  &-outlined {
3412
3340
  border: 1px solid var(--mer-border-color__on-surface);
@@ -3552,7 +3480,7 @@
3552
3480
  }
3553
3481
 
3554
3482
  &::part(message assistant complete) {
3555
- background-color: var(--mer-color__elevation--01);
3483
+ background-color: var(--mer-surface__elevation--01);
3556
3484
  }
3557
3485
 
3558
3486
  &::part(message assistant warning) {
@@ -3670,6 +3598,7 @@
3670
3598
 
3671
3599
  /// @group Checkbox
3672
3600
  /// @param {String} $checkbox-selector [".checkbox"] -
3601
+ /// @param {String} $checkbox--error-selector [".checkbox-error::part(input)"] -
3673
3602
  /// @param {String} $checkbox__input-selector [".checkbox::part(input)"] -
3674
3603
  /// @param {String} $checkbox__input--disabled-selector [".checkbox::part(input disabled)"] -
3675
3604
  /// @param {String} $checkbox__input--checked-selector [".checkbox::part(input checked)"] -
@@ -3686,29 +3615,21 @@
3686
3615
  /// @param {Boolean} $add--label [true] -
3687
3616
  @mixin checkbox(
3688
3617
  $checkbox-selector: ".checkbox",
3689
-
3618
+ $checkbox--error-selector: ".checkbox-error::part(input)",
3690
3619
  $checkbox__input-selector: ".checkbox::part(input)",
3691
-
3692
3620
  $checkbox__input--disabled-selector: ".checkbox::part(input disabled)",
3693
-
3694
3621
  $checkbox__input--checked-selector: ".checkbox::part(input checked)",
3695
-
3696
3622
  $checkbox__input--indeterminate-selector:
3697
3623
  ".checkbox::part(input indeterminate)",
3698
-
3699
3624
  $checkbox__input--error-selector: ".checkbox::part(input error)",
3700
3625
 
3701
3626
  $checkbox__option--disabled-selector: ".checkbox::part(option disabled)",
3702
-
3703
3627
  $checkbox__option--checked-selector: ".checkbox::part(option checked)",
3704
-
3705
3628
  $checkbox__option--indeterminate-selector:
3706
3629
  ".checkbox::part(option indeterminate)",
3707
-
3708
3630
  $checkbox__option--error-selector: ".checkbox::part(option error)",
3709
3631
 
3710
3632
  $checkbox__label-selector: ".checkbox::part(label)",
3711
-
3712
3633
  $checkbox__label--disabled-selector: ".checkbox::part(label disabled)",
3713
3634
 
3714
3635
  $add--disabled: true,
@@ -3776,14 +3697,10 @@
3776
3697
  }
3777
3698
 
3778
3699
  // Error
3779
- // Not implemented yet in the control
3780
3700
  @if $add--error {
3781
- // Input
3782
- #{$checkbox__input--error-selector} {
3783
- }
3784
-
3785
3701
  // Option
3786
- #{$checkbox__option--error-selector} {
3702
+ #{$checkbox--error-selector} {
3703
+ @include control-colors-error();
3787
3704
  }
3788
3705
  }
3789
3706
  }
@@ -3795,9 +3712,9 @@
3795
3712
  --code__color-light-blue: var(--mer-color__primary-blue--200);
3796
3713
  --code__color-red: var(--mer-color__message-red--200);
3797
3714
  --code__color-green: var(--mer-color__message-green--200);
3798
- --code__bg-color: var(--mer-color__surface);
3715
+ --code__bg-color: var(--mer-surface__elevation--01);
3799
3716
  --code__border: var(--mer-border__width--sm) solid
3800
- var(--mer-color__elevation--03);
3717
+ var(--mer-surface__elevation--03);
3801
3718
  --code__border-radius: var(--mer-border__radius--sm);
3802
3719
  --code__padding: var(--mer-spacing--xs) var(--mer-spacing--sm);
3803
3720
 
@@ -4021,12 +3938,12 @@
4021
3938
  // ----------------------
4022
3939
  // Focus
4023
3940
  // ----------------------
4024
- @mixin focus-outline($outline: false) {
3941
+ @mixin focus-outline() {
4025
3942
  outline: var(--focus__outline-width) var(--focus__outline-style)
4026
3943
  var(--focus__outline-color);
4027
3944
  outline-offset: var(--focus__outline-offset);
4028
3945
  }
4029
- @mixin focus-border($outline: false) {
3946
+ @mixin focus-border() {
4030
3947
  border-color: var(--borders-un-border-color__focused);
4031
3948
  }
4032
3949
 
@@ -4331,14 +4248,14 @@
4331
4248
  padding-block-end: var(--mer-spacing--2xs);
4332
4249
  }
4333
4250
  @mixin grid-rowset-legend-colors-enabled() {
4334
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
4251
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
4335
4252
  background-color: var(--grid-rowset-legend__bg-color);
4336
4253
  }
4337
4254
  @mixin grid-rowset-legend-colors-hover() {
4338
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
4255
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--03);
4339
4256
  }
4340
4257
  @mixin grid-rowset-legend-colors-active() {
4341
- --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
4258
+ --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
4342
4259
  }
4343
4260
 
4344
4261
  // ----------------------
@@ -4379,7 +4296,9 @@
4379
4296
  --tab-caption__border-color--selected-inline: var(
4380
4297
  --mer-border-color__primary--disabled
4381
4298
  );
4382
- --tab-caption__border-color--selected-stack: var(--mer-color__elevation--02);
4299
+ --tab-caption__border-color--selected-stack: var(
4300
+ --mer-surface__elevation--02
4301
+ );
4383
4302
  }
4384
4303
  @mixin tab-button-colors-selected-inline() {
4385
4304
  --tab-caption__bg-color: var(--tab-caption__bg-color--selected-inline);
@@ -4458,7 +4377,7 @@
4458
4377
  }
4459
4378
  @mixin control-footer-border() {
4460
4379
  border-block-start: var(--mer-border__width--sm) solid
4461
- var(--mer-color__elevation--04);
4380
+ var(--mer-border-color__on-elevation--01);
4462
4381
  }
4463
4382
  @mixin control-footer(
4464
4383
  $selector: ".control-footer",
@@ -4561,7 +4480,7 @@
4561
4480
  @include control-border();
4562
4481
  @include control-colors-enabled();
4563
4482
  @include control-font-weight-regular();
4564
- @include control-font-size-small();
4483
+ @include control-font-size-regular();
4565
4484
  @include control-padding-inline-block();
4566
4485
 
4567
4486
  &:hover {
@@ -4582,6 +4501,7 @@
4582
4501
  /// @group ComboBox
4583
4502
  /// @param {String} $combo-box-selector [".combo-box"] -
4584
4503
  /// @param {String} $combo-box--disabled-selector [".combo-box[disabled]"] -
4504
+ /// @param {String} $combo-box--error-selector [".combo-box-error"] -
4585
4505
  /// @param {String} $combo-box__placeholder-selector [".combo-box::part(placeholder)"] -
4586
4506
  /// @param {String} $window-selector [".combo-box::part(window)"] -
4587
4507
  /// @param {String} $group-selector [".combo-box::part(group)"] -
@@ -4600,6 +4520,7 @@
4600
4520
  @mixin combo-box(
4601
4521
  $combo-box-selector: ".combo-box",
4602
4522
  $combo-box--disabled-selector: ".combo-box[disabled]",
4523
+ $combo-box--error-selector: ".combo-box-error",
4603
4524
  $combo-box__placeholder-selector: ".combo-box::part(placeholder)",
4604
4525
  $window-selector: ".combo-box::part(window)",
4605
4526
  $group-selector: ".combo-box::part(group)",
@@ -4648,6 +4569,12 @@
4648
4569
  }
4649
4570
  }
4650
4571
 
4572
+ @if $add--error {
4573
+ #{$combo-box--error-selector} {
4574
+ @include control-colors-error();
4575
+ }
4576
+ }
4577
+
4651
4578
  // - - - - - - - - - - - - - - - - - - - -
4652
4579
  // Window
4653
4580
  // - - - - - - - - - - - - - - - - - - - -
@@ -4711,7 +4638,7 @@
4711
4638
  --spacing-body-inline-start: var(--mer-spacing--md);
4712
4639
  --spacing-body-inline-end: var(--mer-spacing--md);
4713
4640
  --ch-dialog-max-inline-size: 800px;
4714
- background-color: var(--mer-color__elevation--01);
4641
+ background-color: var(--mer-surface__elevation--01);
4715
4642
  box-shadow: var(--mer-box-shadow--01);
4716
4643
 
4717
4644
  &__backdrop {
@@ -4725,7 +4652,7 @@
4725
4652
  padding-block: var(--mer-spacing--md);
4726
4653
  padding-inline: var(--mer-spacing--sm);
4727
4654
  border-block-end: var(--mer-border__width--sm) solid
4728
- var(--mer-color__elevation--04);
4655
+ var(--mer-border-color__on-elevation--01);
4729
4656
  }
4730
4657
 
4731
4658
  &__caption {
@@ -5031,11 +4958,11 @@
5031
4958
  @include control-border();
5032
4959
  @include control-colors-enabled();
5033
4960
  @include control-font-weight-regular();
5034
- @include control-font-size-small();
4961
+ @include control-font-size-regular();
5035
4962
  @include control-padding-inline-block();
5036
4963
 
5037
4964
  &--focus {
5038
- @include focus-border();
4965
+ @include focus-outline();
5039
4966
  }
5040
4967
 
5041
4968
  &--hover {
@@ -5062,19 +4989,25 @@
5062
4989
  #{$selector} {
5063
4990
  @extend %form-input;
5064
4991
 
5065
- &:hover {
5066
- @extend %form-input--hover;
5067
- }
5068
-
5069
4992
  &:focus {
5070
4993
  @extend %form-input--focus;
5071
4994
  }
5072
4995
 
4996
+ &:hover {
4997
+ @extend %form-input--hover;
4998
+ }
4999
+
5073
5000
  @if $add--disabled {
5074
5001
  &:disabled {
5075
5002
  @extend %form-input--disabled;
5076
5003
  }
5077
5004
  }
5005
+
5006
+ @if $add--placeholder {
5007
+ &::placeholder {
5008
+ font-style: italic;
5009
+ }
5010
+ }
5078
5011
  }
5079
5012
 
5080
5013
  @if $add--error {
@@ -5483,7 +5416,7 @@
5483
5416
  inset-block-start: var(--mer-spacing--md);
5484
5417
  inset-inline-end: var(--mer-spacing--xs);
5485
5418
  padding: 6px;
5486
- background-color: var(--mer-color__elevation--01);
5419
+ background-color: var(--mer-surface__elevation--01);
5487
5420
  border-radius: var(--mer-border__radius--xs);
5488
5421
  }
5489
5422
 
@@ -7043,7 +6976,7 @@
7043
6976
  --indent: 16px;
7044
6977
  @include items-container-colors();
7045
6978
 
7046
- --item__border-color--enabled: var(--mer-color__elevation--04);
6979
+ --item__border-color--enabled: var(--mer-surface__elevation--01);
7047
6980
  // @include tabular-grid-tokens();
7048
6981
  @include tabular-grid-row-tokens();
7049
6982
  @include tabular-grid-column-tokens();
@@ -7079,7 +7012,7 @@
7079
7012
  }
7080
7013
 
7081
7014
  %tabular-grid-column__bar-resize-split {
7082
- background-color: var(--mer-color__elevation--04);
7015
+ background-color: var(--mer-surface__elevation--01);
7083
7016
  inline-size: var(--grid-bar-resize-split__inline-size);
7084
7017
  &--hover {
7085
7018
  background-color: var(--mer-accent__primary--hover);
@@ -8052,6 +7985,46 @@
8052
7985
  }
8053
7986
  }
8054
7987
 
7988
+ @mixin tooltip-tokens() {
7989
+ --tooltip__background-color: var(--mer-color__neutral-gray--1000);
7990
+ --tooltip__border-radius: var(--mer-border__radius--sm);
7991
+ --tooltip__color: var(--mer-text__on-surface);
7992
+ --tooltip__font-family: var(--mer-font-family--body);
7993
+ --tooltip__font-size: var(--mer-font__size--3xs);
7994
+ --tooltip__font-weight: var(--mer-font__weight--medium);
7995
+ --tooltip__line-height: var(--mer-line-height--tight);
7996
+ --tooltip__padding-block: var(--mer-spacing--xs);
7997
+ --tooltip__padding-inline: var(--mer-spacing--xs);
7998
+
7999
+ // chameleon tokens
8000
+ --ch-tooltip-separation: var(--mer-spacing--2xs);
8001
+ --ch-tooltip-separation-x: var(--mer-spacing--2xs);
8002
+ --ch-tooltip-separation-y: var(--mer-spacing--2xs);
8003
+ }
8004
+
8005
+
8006
+ %tooltip {
8007
+ @include tooltip-tokens();
8008
+
8009
+ background-color: var(--tooltip__background-color);
8010
+ border-radius: var(--tooltip__border-radius);
8011
+ color: var(--tooltip__color);
8012
+ font-family: var(--tooltip__font-family);
8013
+ font-size: var(--tooltip__font-size);
8014
+ font-weight: var(--tooltip__font-weight);
8015
+ line-height: var(--tooltip__line-height);
8016
+ padding-block: var(--tooltip__padding-block);
8017
+ padding-inline: var(--tooltip__padding-inline);
8018
+ }
8019
+
8020
+ /// @group Tooltip
8021
+ /// @param {String} $selector [".tooltip"] -
8022
+ @mixin tooltip($selector: ".tooltip::part(window)") {
8023
+ #{$selector} {
8024
+ @extend %tooltip;
8025
+ }
8026
+ }
8027
+
8055
8028
  @mixin tree-view-tokens() {
8056
8029
  // - - - - - - - - - - - - - - - - - - - -
8057
8030
  // Tree View
@@ -8122,7 +8095,7 @@
8122
8095
  // TODO: Improve this
8123
8096
  %tree-view--drag-preview {
8124
8097
  padding-inline: 8px;
8125
- background-color: var(--mer-color__elevation--04);
8098
+ background-color: var(--mer-surface__elevation--01);
8126
8099
  border-radius: 10px;
8127
8100
  box-shadow: var(--mer-elevation__box-shadow--03);
8128
8101
  font-size: 8px;
@@ -8389,7 +8362,6 @@
8389
8362
  $tokens: true,
8390
8363
  $border: true,
8391
8364
  $colors: true,
8392
- $elevation: true,
8393
8365
  $font: true,
8394
8366
  $spacing: true,
8395
8367
  $timing: true,
@@ -8433,6 +8405,7 @@
8433
8405
  $tab: true,
8434
8406
  $tabular-grid: true,
8435
8407
  $ticket-list: true,
8408
+ $tooltip: true,
8436
8409
  $tree-view: true
8437
8410
  ) {
8438
8411
  // - - - - - - - - - - - - - - - - - - - -
@@ -16489,12 +16462,17 @@
16489
16462
  }
16490
16463
  }
16491
16464
 
16465
+ // Gradients (independent of color scheme at the time of writing)
16466
+ @if $colors and $tokens {
16467
+ :root {
16468
+ @include foundation-colors--gradients();
16469
+ }
16470
+ }
16471
+
16492
16472
  // - - - - - - - - - - - - - - - - - - - -
16493
16473
  // Other Tokens than Colors
16494
16474
  // - - - - - - - - - - - - - - - - - - - -
16495
- @if $tokens and
16496
- ($border or $colors or $elevation or $font or $spacing or $timing)
16497
- {
16475
+ @if $tokens and ($border or $colors or $font or $spacing or $timing) {
16498
16476
  :root {
16499
16477
  // Border
16500
16478
  @if $border {
@@ -16510,32 +16488,11 @@
16510
16488
  @if $colors {
16511
16489
  @include semantic-accent();
16512
16490
  @include semantic-border();
16491
+ @include semantic-heading();
16513
16492
  @include semantic-icon();
16514
16493
  @include semantic-item();
16494
+ @include semantic-surface();
16515
16495
  @include semantic-text();
16516
- @include semantic-heading();
16517
- }
16518
-
16519
- // Elevation Light
16520
- @if $elevation and $light-theme {
16521
- // TODO: This appears to be placed in the wrong selector
16522
- @include elevation--light();
16523
- }
16524
- @if $elevation and $prefers-color-scheme-light {
16525
- @media (prefers-color-scheme: light) {
16526
- @include elevation--light();
16527
- }
16528
- }
16529
-
16530
- // Elevation Dark
16531
- @if $elevation and $dark-theme {
16532
- // TODO: This appears to be placed in the wrong selector
16533
- @include elevation--dark();
16534
- }
16535
- @if $elevation and $prefers-color-scheme-dark {
16536
- @media (prefers-color-scheme: dark) {
16537
- @include elevation--dark();
16538
- }
16539
16496
  }
16540
16497
 
16541
16498
  @if $font {
@@ -16562,7 +16519,7 @@
16562
16519
  @if $tokens {
16563
16520
  // Default background-color and color
16564
16521
  @if $colors {
16565
- background-color: var(--mer-color__surface);
16522
+ background-color: var(--mer-surface);
16566
16523
  color: var(--mer-text__on-surface);
16567
16524
  }
16568
16525
 
@@ -16732,6 +16689,10 @@
16732
16689
  @include ticket-list();
16733
16690
  }
16734
16691
 
16692
+ @if $tooltip {
16693
+ @include tooltip();
16694
+ }
16695
+
16735
16696
  @if $tree-view {
16736
16697
  @include tree-view();
16737
16698
  }
@@ -16759,7 +16720,6 @@
16759
16720
  $tokens: false,
16760
16721
  $border: false,
16761
16722
  $colors: false,
16762
- $elevation: false,
16763
16723
  $font: false,
16764
16724
  $spacing: false,
16765
16725
  $timing: false,
@@ -16803,6 +16763,7 @@
16803
16763
  $tab: false,
16804
16764
  $tabular-grid: false,
16805
16765
  $ticket-list: false,
16766
+ $tooltip: false,
16806
16767
  $tree-view: false
16807
16768
  ) {
16808
16769
  @include mercury(
@@ -16827,7 +16788,6 @@
16827
16788
  $tokens: $tokens,
16828
16789
  $border: $border,
16829
16790
  $colors: $colors,
16830
- $elevation: $elevation,
16831
16791
  $font: $font,
16832
16792
  $spacing: $spacing,
16833
16793
  $timing: $timing,
@@ -16871,6 +16831,7 @@
16871
16831
  $tab: $tab,
16872
16832
  $tabular-grid: $tabular-grid,
16873
16833
  $ticket-list: $ticket-list,
16834
+ $tooltip: $tooltip,
16874
16835
  $tree-view: $tree-view
16875
16836
  );
16876
16837
  }