@genexus/mercury 0.13.6 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/assets-manager.d.ts +2 -1
  2. package/dist/assets-manager.js +1 -1
  3. package/dist/bundles/css/all.css +1 -1
  4. package/dist/bundles/css/base/base-globant.css +1 -1
  5. package/dist/bundles/css/base/base.css +1 -1
  6. package/dist/bundles/css/components/accordion.css +1 -1
  7. package/dist/bundles/css/components/button.css +1 -1
  8. package/dist/bundles/css/components/chat.css +1 -1
  9. package/dist/bundles/css/components/checkbox.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/dropdown.css +1 -1
  13. package/dist/bundles/css/components/edit.css +1 -1
  14. package/dist/bundles/css/components/flexible-layout.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/pills.css +1 -1
  19. package/dist/bundles/css/components/radio-group.css +1 -1
  20. package/dist/bundles/css/components/segmented-control.css +1 -1
  21. package/dist/bundles/css/components/switch.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 -1
  26. package/dist/bundles/css/components/tree-view.css +1 -1
  27. package/dist/bundles/css/utils/form--full.css +1 -1
  28. package/dist/bundles/css/utils/form.css +1 -1
  29. package/dist/bundles/css/utils/typography.css +1 -1
  30. package/dist/bundles/js/all.js +1 -1
  31. package/dist/bundles/js/base/base-globant.js +1 -1
  32. package/dist/bundles/js/base/base.js +1 -1
  33. package/dist/bundles/js/components/accordion.js +1 -1
  34. package/dist/bundles/js/components/button.js +1 -1
  35. package/dist/bundles/js/components/chat.js +1 -1
  36. package/dist/bundles/js/components/checkbox.js +1 -1
  37. package/dist/bundles/js/components/combo-box.js +1 -1
  38. package/dist/bundles/js/components/dialog.js +1 -1
  39. package/dist/bundles/js/components/dropdown.js +1 -1
  40. package/dist/bundles/js/components/edit.js +1 -1
  41. package/dist/bundles/js/components/flexible-layout.js +1 -1
  42. package/dist/bundles/js/components/list-box.js +1 -1
  43. package/dist/bundles/js/components/markdown-viewer.js +1 -1
  44. package/dist/bundles/js/components/navigation-list.js +1 -1
  45. package/dist/bundles/js/components/pills.js +1 -1
  46. package/dist/bundles/js/components/radio-group.js +1 -1
  47. package/dist/bundles/js/components/segmented-control.js +1 -1
  48. package/dist/bundles/js/components/switch.js +1 -1
  49. package/dist/bundles/js/components/tab.js +1 -1
  50. package/dist/bundles/js/components/tabular-grid.js +1 -1
  51. package/dist/bundles/js/components/ticket-list.js +1 -1
  52. package/dist/bundles/js/components/tooltip.js +1 -1
  53. package/dist/bundles/js/components/tree-view.js +1 -1
  54. package/dist/bundles/js/utils/form--full.js +1 -1
  55. package/dist/bundles/js/utils/form.js +1 -1
  56. package/dist/bundles/js/utils/typography.js +1 -1
  57. package/dist/mercury.scss +884 -940
  58. package/package.json +2 -2
package/dist/mercury.scss CHANGED
@@ -337,22 +337,6 @@
337
337
  --control__border-color: transparent;
338
338
  --control__border-radius: 0;
339
339
  }
340
- // Font
341
- @mixin control-font-weight-regular() {
342
- font-weight: var(--control__font-weight--regular);
343
- }
344
- @mixin control-font-weight-semi-bold() {
345
- font-weight: var(--control__font-weight--semi-bold);
346
- }
347
- // Font Size
348
- @mixin control-font-size-small() {
349
- font-size: var(--control__font-size--small);
350
- line-height: var(--control__line-height);
351
- }
352
- @mixin control-font-size-regular() {
353
- font-size: var(--control__font-size--regular);
354
- line-height: var(--control__line-height);
355
- }
356
340
  // Height
357
341
  @mixin control-height-regular() {
358
342
  block-size: var(--control__height);
@@ -499,22 +483,6 @@
499
483
  @mixin item-height-large() {
500
484
  block-size: var(--item__height--large);
501
485
  }
502
- @mixin item-font() {
503
- line-height: var(--item__line-height);
504
- font-size: var(--item__font-size);
505
- font-weight: var(--item__font-weight);
506
- }
507
- @mixin item-font-size-small() {
508
- --item__font-size: var(--item__font-size--small);
509
- }
510
- @mixin item-font-header() {
511
- // item header font-size and line-height has to be the same as
512
- // item font-size and line-height in order for the computed height
513
- // to be the same.
514
- line-height: var(--item__line-height);
515
- font-size: var(--item__font-size);
516
- font-weight: var(--item-header__font-weight);
517
- }
518
486
 
519
487
  // ---------------------------------
520
488
  // Grid Item
@@ -565,8 +533,8 @@
565
533
  padding-inline: 0;
566
534
  }
567
535
  @mixin grid-rowset-legend-padding-block() {
568
- padding-block-start: var(--mer-spacing--2xs);
569
- padding-block-end: var(--mer-spacing--2xs);
536
+ padding-block-start: var(--mer-spacing--xs);
537
+ padding-block-end: var(--mer-spacing--xs);
570
538
  }
571
539
  @mixin grid-rowset-legend-colors-enabled() {
572
540
  --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
@@ -594,10 +562,6 @@
594
562
  border-block-start: var(--tab-caption__border-width)
595
563
  var(--tab-caption__border-style) var(--tab-caption__border-color);
596
564
  }
597
- @mixin tab-button-font() {
598
- font-size: var(--tab-caption__font-size);
599
- font-weight: var(--tab-caption__font-weight);
600
- }
601
565
  @mixin tab-button-gap() {
602
566
  gap: var(--tab-caption__gap);
603
567
  }
@@ -646,12 +610,6 @@
646
610
  // Label
647
611
  // ----------------------
648
612
 
649
- @mixin label-font() {
650
- color: var(--label__color);
651
- font-weight: var(--label__font-weight);
652
- font-size: var(--label__font-size);
653
- line-height: var(--label__line-height);
654
- }
655
613
  @mixin label-gap-block() {
656
614
  gap: var(--label__gap--block);
657
615
  }
@@ -1182,38 +1140,77 @@
1182
1140
  }
1183
1141
 
1184
1142
  @mixin font() {
1185
- // families
1186
- --mer-font-family--title: Inter, Helvetica, Arial, sans-serif;
1187
- --mer-font-family--body: Inter, Helvetica, Arial, sans-serif;
1188
- --mer-font-family--code: monospace;
1189
-
1190
- // weights
1191
- --mer-font__weight--light: 300;
1192
- --mer-font__weight--regular: 400;
1193
- --mer-font__weight--medium: 500;
1194
- --mer-font__weight--semi-bold: 600;
1195
- --mer-font__weight--bold: 700;
1196
- --mer-font__weight--extra-bold: 800;
1197
-
1198
- // sizes
1199
- --mer-font__size--4xs: 11px;
1200
- --mer-font__size--3xs: 12px;
1201
- --mer-font__size--2xs: 13px;
1202
- --mer-font__size--xs: 14px;
1203
- --mer-font__size--sm: 16px;
1204
- --mer-font__size--md: 20px;
1205
- --mer-font__size--lg: 24px;
1206
- --mer-font__size--xl: 36px;
1207
-
1208
- // line heights
1209
- --mer-line-height--tight: 1.3;
1210
- --mer-line-height--regular: 1.4;
1211
- --mer-line-height--spaced: 1.5;
1143
+ // font-families
1144
+ --font-family-header: Inter, Helvetica, Arial, sans-serif;
1145
+ --font-family-body: Inter, Helvetica, Arial, sans-serif;
1146
+ --font-family-code: monospace;
1147
+
1148
+ // font-sizes: headers
1149
+ --font-size-header-h1: 40px;
1150
+ --font-size-header-h2: 32px;
1151
+ --font-size-header-h3: 28px;
1152
+ --font-size-header-h4: 24px;
1153
+ --font-size-header-h5: 20px;
1154
+ --font-size-header-h6: 18px;
1155
+
1156
+ // font-sizes: subtitle
1157
+ --font-size-subtitle-l: 20px;
1158
+ --font-size-subtitle-m: 18px;
1159
+ --font-size-subtitle-s: 16px;
1160
+ --font-size-subtitle-xs: 14px;
1161
+
1162
+ // font-sizes: body
1163
+ --font-size-body-xl: 18px;
1164
+ --font-size-body-l: 16px;
1165
+ --font-size-body-m: 14px;
1166
+ --font-size-body-s: 12px;
1167
+ --font-size-body-xs: 11px;
1168
+
1169
+ // font-sizes: tiny
1170
+ --font-size-tiny-l: 12px;
1171
+ --font-size-tiny-m: 11px;
1172
+ --font-size-tiny-s: 10px;
1173
+ --font-size-tiny-xs: 8px;
1174
+
1175
+ // font-weights
1176
+ --font-weight-bold: 700;
1177
+ --font-weight-semi-bold: 600;
1178
+ --font-weight-regular: 400;
1179
+
1180
+ // line-heights
1181
+ --line-height-tight: 1.2;
1182
+ --line-height-regular: 1.3;
1212
1183
 
1213
1184
  // letter spacings (to be done)
1214
- // --mer-letter-spacing--tight: ;
1215
- // --mer-letter-spacing--regular: ;
1216
- // --mer-letter-spacing--comfortable: ;
1185
+
1186
+ // - - - - - - -
1187
+ // !Deprecated
1188
+ // - - - - - - -
1189
+
1190
+ --mer-font-family--title: Inter, Helvetica, Arial, sans-serif; /* @deprecated */
1191
+ --mer-font-family--body: Inter, Helvetica, Arial, sans-serif; /* @deprecated */
1192
+ --mer-font-family--code: monospace; /* @deprecated */
1193
+
1194
+ --mer-font__weight--extra-bold: 800; /* @deprecated */
1195
+ --mer-font__weight--bold: 700; /* @deprecated */
1196
+ --mer-font__weight--semi-bold: 600; /* @deprecated */
1197
+ --mer-font__weight--medium: 500; /* @deprecated */
1198
+ --mer-font__weight--regular: 400; /* @deprecated */
1199
+ --mer-font__weight--light: 300; /* @deprecated */
1200
+
1201
+ --mer-font__size--4xs: 11px; /* @deprecated */
1202
+ --mer-font__size--3xs: 12px; /* @deprecated */
1203
+ --mer-font__size--2xs: 13px; /* @deprecated */
1204
+ --mer-font__size--xs: 14px; /* @deprecated */
1205
+ --mer-font__size--sm: 16px; /* @deprecated */
1206
+ --mer-font__size--md: 20px; /* @deprecated */
1207
+ --mer-font__size--lg: 24px; /* @deprecated */
1208
+ --mer-font__size--xl: 36px; /* @deprecated */
1209
+ --mer-font__size--2xl: 40px; /* @deprecated */
1210
+
1211
+ --mer-line-height--tight: 1.3; /* @deprecated */
1212
+ --mer-line-height--regular: 1.4; /* @deprecated */
1213
+ --mer-line-height--spaced: 1.5; /* @deprecated */
1217
1214
  }
1218
1215
 
1219
1216
  @mixin foundation-colors--gradients() {
@@ -1389,19 +1386,9 @@
1389
1386
 
1390
1387
  // - - - - - - - Font Face - - - - - - -
1391
1388
 
1392
- --control__font-family: var(--mer-font-family--body);
1393
- --control__font-weight--regular: var(--mer-font__weight--regular);
1394
- --control__font-weight--semi-bold: var(--mer-font__weight--semi-bold);
1395
-
1396
- // - - - - - - - Font Size - - - - - - -
1397
-
1398
- --control__font-size--small: var(--mer-font__size--3xs);
1399
- --control__font-size--regular: var(--mer-font__size--xs);
1400
- --control__line-height: var(--mer-line-height--spaced);
1401
-
1402
1389
  // - - - - - - - Padding - - - - - - -
1403
1390
 
1404
- --control__padding-block: var(--mer-spacing--2xs);
1391
+ --control__padding-block: var(--mer-spacing--xs);
1405
1392
  --control__padding-inline: var(--mer-spacing--xs);
1406
1393
 
1407
1394
  // - - - - - - - Gap - - - - - - -
@@ -1434,9 +1421,6 @@
1434
1421
  // -------------------------------------------------------------
1435
1422
 
1436
1423
  // fixed values
1437
- --label__font-size: var(--mer-font__size--2xs);
1438
- --label__font-weight: var(--mer-font__weight--semi-bold);
1439
- --label__line-height: var(--mer-line-height--regular);
1440
1424
  --label__border-width: 1.2px;
1441
1425
  --label__border-style: solid;
1442
1426
  --label__border-radius: var(--mer-border__radius--2xs);
@@ -1484,10 +1468,6 @@
1484
1468
  // ----------------------
1485
1469
  --mer-body__bg-color: var(--mer-surface);
1486
1470
  --mer-body__color: var(--mer-text__on-surface);
1487
- --mer-body__font-size: var(--mer-font__size--3xs);
1488
- --mer-body__font-family: var(--mer-font-family--body);
1489
- --mer-body__font-weight: var(--mer-font__weight--regular);
1490
- --mer-body__line-height: var(--mer-line-height--spaced);
1491
1471
  --mer-body__margin-block: var(--mer-spacing--sm);
1492
1472
 
1493
1473
  // ----------------------
@@ -1498,11 +1478,6 @@
1498
1478
  --mer-system__border-style: solid;
1499
1479
  --mer-system__border-color: var(--mer-color__neutral-gray--500);
1500
1480
 
1501
- // ----------------------
1502
- // Heading
1503
- // ----------------------
1504
- --mer-heading__color: var(--mer-color__neutral-gray--100);
1505
-
1506
1481
  // ----------------------
1507
1482
  // Scrollbar
1508
1483
  // ----------------------
@@ -1656,22 +1631,11 @@
1656
1631
  --item__height--regular: var(--mer-spacing--xl); // ie.: Combo box
1657
1632
  --item__height--large: 36px; // ie.: Grid
1658
1633
 
1659
- // - - - - - - - Font Face - - - - - - -
1660
-
1661
- // item
1662
- --item__font-size: var(--item__font-size--regular);
1663
- --item__font-size--small: var(--mer-font__size--3xs);
1664
- --item__font-size--regular: var(--mer-font__size--xs);
1665
- --item__font-weight: var(--mer-font__weight--regular);
1666
- // item header
1667
- --item-header__font-weight: var(--mer-font__weight--semi-bold);
1668
-
1669
1634
  // - - - - - - - Item Gap - - - - - - -
1670
1635
  // For example, the gap between the icon and the caption
1671
1636
  --item__gap--regular: var(--mer-spacing--xs);
1672
1637
 
1673
1638
  // - - - - - - - Line Height - - - - - - -
1674
- --item__line-height: var(--mer-line-height--tight);
1675
1639
 
1676
1640
  // - - - - - - - - - - - - - - - - - - - -
1677
1641
  // Items Container
@@ -1762,10 +1726,6 @@
1762
1726
  );
1763
1727
  --tab-caption__color--disabled: var(--mer-text__primary--disabled);
1764
1728
 
1765
- // - - - - - - - Font - - - - - - -
1766
- --tab-caption__font-size: var(--mer-font__size--3xs);
1767
- --tab-caption__font-weight: var(--mer-font__weight--semi-bold);
1768
-
1769
1729
  // - - - - - - - Padding - - - - - - -
1770
1730
  --tab-caption__padding-block: var(--mer-spacing--xs);
1771
1731
 
@@ -1984,22 +1944,6 @@
1984
1944
  --control__border-color: transparent;
1985
1945
  --control__border-radius: 0;
1986
1946
  }
1987
- // Font
1988
- @mixin control-font-weight-regular() {
1989
- font-weight: var(--control__font-weight--regular);
1990
- }
1991
- @mixin control-font-weight-semi-bold() {
1992
- font-weight: var(--control__font-weight--semi-bold);
1993
- }
1994
- // Font Size
1995
- @mixin control-font-size-small() {
1996
- font-size: var(--control__font-size--small);
1997
- line-height: var(--control__line-height);
1998
- }
1999
- @mixin control-font-size-regular() {
2000
- font-size: var(--control__font-size--regular);
2001
- line-height: var(--control__line-height);
2002
- }
2003
1947
  // Height
2004
1948
  @mixin control-height-regular() {
2005
1949
  block-size: var(--control__height);
@@ -2146,22 +2090,6 @@
2146
2090
  @mixin item-height-large() {
2147
2091
  block-size: var(--item__height--large);
2148
2092
  }
2149
- @mixin item-font() {
2150
- line-height: var(--item__line-height);
2151
- font-size: var(--item__font-size);
2152
- font-weight: var(--item__font-weight);
2153
- }
2154
- @mixin item-font-size-small() {
2155
- --item__font-size: var(--item__font-size--small);
2156
- }
2157
- @mixin item-font-header() {
2158
- // item header font-size and line-height has to be the same as
2159
- // item font-size and line-height in order for the computed height
2160
- // to be the same.
2161
- line-height: var(--item__line-height);
2162
- font-size: var(--item__font-size);
2163
- font-weight: var(--item-header__font-weight);
2164
- }
2165
2093
 
2166
2094
  // ---------------------------------
2167
2095
  // Grid Item
@@ -2212,8 +2140,8 @@
2212
2140
  padding-inline: 0;
2213
2141
  }
2214
2142
  @mixin grid-rowset-legend-padding-block() {
2215
- padding-block-start: var(--mer-spacing--2xs);
2216
- padding-block-end: var(--mer-spacing--2xs);
2143
+ padding-block-start: var(--mer-spacing--xs);
2144
+ padding-block-end: var(--mer-spacing--xs);
2217
2145
  }
2218
2146
  @mixin grid-rowset-legend-colors-enabled() {
2219
2147
  --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
@@ -2241,10 +2169,6 @@
2241
2169
  border-block-start: var(--tab-caption__border-width)
2242
2170
  var(--tab-caption__border-style) var(--tab-caption__border-color);
2243
2171
  }
2244
- @mixin tab-button-font() {
2245
- font-size: var(--tab-caption__font-size);
2246
- font-weight: var(--tab-caption__font-weight);
2247
- }
2248
2172
  @mixin tab-button-gap() {
2249
2173
  gap: var(--tab-caption__gap);
2250
2174
  }
@@ -2293,12 +2217,6 @@
2293
2217
  // Label
2294
2218
  // ----------------------
2295
2219
 
2296
- @mixin label-font() {
2297
- color: var(--label__color);
2298
- font-weight: var(--label__font-weight);
2299
- font-size: var(--label__font-size);
2300
- line-height: var(--label__line-height);
2301
- }
2302
2220
  @mixin label-gap-block() {
2303
2221
  gap: var(--label__gap--block);
2304
2222
  }
@@ -2499,6 +2417,10 @@
2499
2417
  }
2500
2418
 
2501
2419
 
2420
+ %label-font {
2421
+ @extend %body-semi-bold-s;
2422
+ }
2423
+
2502
2424
  /// @group Label
2503
2425
  /// @param {String} $label-selector [".label"] -
2504
2426
  /// @param {String} $label--disabled-selector [".label--disabled"] -
@@ -2509,263 +2431,123 @@
2509
2431
  $label--position-inline-selector: ".label--before"
2510
2432
  ) {
2511
2433
  #{$label-selector} {
2512
- @include label-font();
2434
+ @extend %label-font;
2513
2435
  }
2514
2436
  #{$label--disabled-selector} {
2515
2437
  @include label-color-disabled();
2516
2438
  }
2517
2439
  }
2518
2440
  // should be at the top, since other elements use it.
2519
- @mixin button-tokens-primary() {
2520
- --button-primary__bg-color: var(--mer-accent__primary);
2521
- --button-primary__border-color: var(--button-primary__bg-color);
2522
- --button-primary__color: var(--mer-text__on-primary);
2523
- //hover
2524
- --button-primary__bg-color--hover: var(--mer-accent__primary--hover);
2525
- --button-primary__border-color--hover: var(--button-primary__bg-color--hover);
2526
- --button-primary__color--hover: var(--mer-text__on-primary);
2527
-
2528
- //active
2529
- --button-primary__bg-color--active: var(--mer-accent__primary--active);
2530
- --button-primary__border-color--active: var(
2531
- --button-primary__bg-color--active
2532
- );
2533
- --button-primary__color--active: var(--mer-text__on-primary--active);
2534
-
2535
- //disabled
2536
- --button-primary__bg-color--disabled: var(--mer-accent__primary--disabled);
2537
- --button-primary__border-color--disabled: var(
2538
- --mer-border-color__primary--disabled
2539
- );
2540
- --button-primary__color--disabled: var(--mer-text__on-disabled);
2541
-
2542
- //destructive
2543
- --button-primary__bg-color--destructive: var(
2544
- --mer-accent__primary--destructive
2545
- );
2546
- --button-primary__bg-color--destructive-hover: var(
2547
- --mer-accent__primary--destructive-hover
2548
- );
2549
- --button-primary__bg-color--destructive-active: var(
2550
- --mer-accent__primary--destructive-active
2551
- );
2552
- --button-primary__border-color--destructive: var(
2553
- --button-primary__bg-color--destructive
2554
- );
2555
- --button-primary__color--destructive: var(--mer-text__on-primary);
2556
- }
2557
-
2558
- @mixin button-tokens-secondary() {
2559
- --button-secondary__background-color: transparent;
2560
- --button-secondary__border-color: var(--mer-border-color__neutral);
2561
- --button-secondary__color: var(--mer-text__neutral);
2562
- //hover
2563
- --button-secondary__background-color--hover: transparent;
2564
- --button-secondary__border-color--hover: var(
2565
- --mer-border-color__primary--hover
2566
- );
2567
- --button-secondary__color--hover: var(--mer-text__primary--hover);
2568
- //active
2569
- --button-secondary__background-color--active: transparent;
2570
- --button-secondary__border-color--active: var(
2571
- --mer-border-color__primary--active
2572
- );
2573
- --button-secondary__color--active: var(--mer-text__on-primary--active);
2574
- //disabled
2575
- --button-secondary__background-color--disabled: transparent;
2576
- --button-secondary__border-color--disabled: var(--mer-text__on-disabled);
2577
- --button-secondary__color--disabled: var(--mer-text__on-disabled);
2578
-
2579
- //destructive
2580
- --button-secondary__bg-color--destructive: transparent;
2581
- --button-secondary__bg-color--destructive-hover: var(
2582
- --mer-accent__primary--destructive-hover
2583
- );
2584
- --button-secondary__bg-color--destructive-active: var(
2585
- --mer-accent__primary--destructive-active
2586
- );
2587
- --button-secondary__border-color--destructive: var(
2588
- --button-primary__bg-color--destructive
2589
- );
2590
- --button-secondary__color--destructive: var(--mer-text__on-primary);
2591
-
2592
- //destructive
2593
- --button-secondary__bg-color--destructive: var(transparent);
2594
- --button-secondary__bg-color--destructive-hover: var(
2595
- --mer-color__message-red--600
2596
- );
2597
- --button-secondary__bg-color--destructive-active: var(
2598
- --mer-color__message-red--500
2599
- );
2600
- --button-secondary__border-color--destructive: var(
2601
- --mer-accent__primary--destructive
2602
- );
2603
- --button-secondary__color--destructive: var(
2604
- --mer-accent__primary--destructive
2605
- );
2606
- }
2607
-
2608
- @mixin button-tokens-tertiary() {
2609
- --button-tertiary__background-color: transparent;
2610
- --button-tertiary__border-color: transparent;
2611
- --button-tertiary__color: var(--mer-text__primary);
2612
- //hover
2613
- --button-tertiary__background-color--hover: transparent;
2614
- --button-tertiary__border-color--hover: transparent;
2615
- --button-tertiary__color--hover: var(--mer-text__primary--hover);
2616
- //active
2617
- --button-tertiary__background-color--active: transparent;
2618
- --button-tertiary__border-color--active: transparent;
2619
- --button-tertiary__color--active: var(--mer-text__primary--active);
2620
- //disabled
2621
- --button-tertiary__background-color--disabled: transparent;
2622
- --button-tertiary__border-color--disabled: transparent;
2623
- --button-tertiary__color--disabled: var(--mer-text__on-disabled);
2624
- }
2625
-
2626
-
2627
2441
  %button-base {
2628
2442
  @include button-common-styles();
2629
2443
  @include control-border();
2630
- @include control-font-size-regular();
2631
2444
  @include control-padding-inline-block();
2632
2445
  padding-inline: var(--control__padding-inline);
2633
2446
 
2447
+ background-color: var(--button-background-color);
2448
+ border-color: var(--button-border-color);
2449
+ color: var(--button-color);
2450
+
2634
2451
  &--focus-visible {
2635
2452
  @include focus-outline();
2636
2453
  }
2637
2454
  }
2638
2455
 
2639
2456
  %button-primary {
2640
- @include button-tokens-primary();
2641
- @include control-font-weight-semi-bold();
2642
2457
  @extend %button-base;
2458
+ @extend %body-semi-bold-m;
2643
2459
 
2644
- //overwrite some control default styles
2645
- --control__border-color: var(--button-primary__border-color);
2460
+ // In primary button, border color matches with background-color.
2646
2461
 
2647
- background-color: var(--button-primary__bg-color);
2648
- color: var(--button-primary__color);
2462
+ --button-background-color: var(--mer-accent__primary);
2463
+ --button-border-color: var(--button-background-color);
2464
+ --button-color: var(--mer-text__on-primary);
2649
2465
 
2650
2466
  &--hover {
2651
- background-color: var(--button-primary__bg-color--hover);
2652
- --control__border-color: var(--button-primary__border-color--hover);
2653
- color: var(--button-primary__color--hover);
2467
+ --button-background-color: var(--mer-accent__primary--hover);
2468
+ --button-color: var(--mer-text__on-primary);
2654
2469
  }
2655
2470
 
2656
2471
  &--active {
2657
- background-color: var(--button-primary__bg-color--active);
2658
- --control__border-color: var(--button-primary__border-color--active);
2659
- color: var(--button-primary__color--active);
2472
+ --button-background-color: var(--mer-accent__primary--active);
2473
+ --button-color: var(--mer-text__on-primary--active);
2660
2474
  }
2661
2475
 
2662
2476
  &--disabled {
2663
- background-color: var(--button-primary__bg-color--disabled);
2664
- --control__border-color: var(--button-primary__bg-color--disabled);
2665
- color: var(--button-primary__color--disabled);
2477
+ --button-background-color: var(--mer-accent__primary--disabled);
2478
+ --button-color: var(--mer-text__on-disabled);
2666
2479
  }
2667
2480
 
2668
2481
  &--destructive {
2669
- --control__border-color: var(--button-primary__border-color--destructive);
2670
- background-color: var(--button-primary__bg-color--destructive);
2671
- color: var(--button-primary__color--destructive);
2482
+ --button-background-color: var(--mer-accent__primary--destructive);
2483
+ --button-color: var(--mer-text__on-primary);
2672
2484
 
2673
2485
  &-hover {
2674
- --control__border-color: var(
2675
- --button-primary__bg-color--destructive-hover
2676
- );
2677
- background-color: var(--button-primary__bg-color--destructive-hover);
2678
- color: var(--button-primary__color--destructive);
2486
+ --button-background-color: var(--mer-accent__primary--destructive-hover);
2487
+ --button-color: var(--mer-text__on-primary);
2679
2488
  }
2680
2489
 
2681
2490
  &-active {
2682
- --control__border-color: var(
2683
- --button-primary__bg-color--destructive-active
2684
- );
2685
- background-color: var(--button-primary__bg-color--destructive-active);
2686
- color: var(--button-primary__color--destructive);
2491
+ --button-background-color: var(--mer-accent__primary--destructive-active);
2492
+ --button-color: var(--mer-text__on-primary);
2687
2493
  }
2688
2494
  }
2689
2495
  }
2690
2496
 
2691
2497
  %button-secondary {
2692
- @include button-tokens-secondary();
2693
2498
  @extend %button-base;
2499
+ @extend %body-semi-bold-m;
2694
2500
 
2695
- //overwrite some control default styles
2696
- --control__border-color: var(--button-secondary__border-color);
2697
-
2698
- background-color: var(--button-secondary__background-color);
2699
- color: var(--button-secondary__color);
2501
+ // Default styles for the secondary button
2502
+ --button-background-color: transparent;
2503
+ --button-border-color: var(--button-color);
2504
+ --button-color: var(--mer-text__neutral);
2700
2505
 
2701
2506
  &--hover {
2702
- background-color: var(--button-secondary__background-color--hover);
2703
- --control__border-color: var(--button-secondary__border-color--hover);
2704
- color: var(--button-secondary__color--hover);
2507
+ --button-color: var(--mer-text__primary--hover);
2705
2508
  }
2706
2509
 
2707
2510
  &--active {
2708
- background-color: var(--button-secondary__background-color--active);
2709
- --control__border-color: var(--button-secondary__border-color--active);
2710
- color: var(--button-secondary__color--active);
2511
+ --button-border-color: var(--mer-border-color__primary--active);
2512
+ --button-color: var(--mer-text__on-primary--active);
2711
2513
  }
2712
2514
 
2713
2515
  &--disabled {
2714
- background-color: var(--button-secondary__background-color--disabled);
2715
- --control__border-color: var(--button-secondary__border-color--disabled);
2716
- color: var(--button-secondary__color--disabled);
2516
+ --button-color: var(--mer-text__on-disabled);
2717
2517
  }
2718
2518
 
2719
2519
  &--destructive {
2720
- --control__border-color: var(--button-secondary__border-color--destructive);
2721
- background-color: var(--button-secondary__bg-color--destructive);
2722
- color: var(--button-secondary__color--destructive);
2520
+ --button-color: var(--mer-accent__primary--destructive);
2723
2521
 
2724
2522
  &-hover {
2725
- --control__border-color: var(
2726
- --button-secondary__bg-color--destructive-hover
2727
- );
2728
- background-color: var(--button-secondary__bg-color--destructive-hover);
2729
- color: var(--button-secondary__color--destructive);
2523
+ --button-background-color: var(--mer-color__message-red--600);
2730
2524
  }
2731
2525
 
2732
2526
  &-active {
2733
- --control__border-color: var(
2734
- --button-secondary__bg-color--destructive-active
2735
- );
2736
- background-color: var(--button-secondary__bg-color--destructive-active);
2737
- color: var(--button-secondary__color--destructive);
2527
+ --button-background-color: var(--mer-color__message-red--500);
2738
2528
  }
2739
2529
  }
2740
2530
  }
2741
2531
 
2742
2532
  %button-tertiary {
2743
- @include button-tokens-tertiary();
2744
- @include control-font-weight-regular();
2745
2533
  @extend %button-base;
2534
+ @extend %body-regular-m;
2746
2535
 
2747
- //overwrite some control default styles
2748
- --control__border-color: var(--button-tertiary__border-color);
2749
-
2750
- background-color: var(--button-tertiary__background-color);
2751
- color: var(--button-tertiary__color);
2536
+ // Default styles for the tertiary button
2537
+ --button-background-color: transparent;
2538
+ --button-border-color: transparent;
2539
+ --button-color: var(--mer-text__primary);
2752
2540
 
2753
2541
  &--hover {
2754
- background-color: var(--button-tertiary__background-color--hover);
2755
- --control__border-color: var(--button-tertiary__border-color--hover);
2756
- color: var(--button-tertiary__color--hover);
2542
+ --button-color: var(--mer-text__primary--hover);
2757
2543
  }
2758
2544
 
2759
2545
  &--active {
2760
- background-color: var(--button-tertiary__background-color--active);
2761
- --control__border-color: var(--button-tertiary__border-color--active);
2762
- color: var(--button-tertiary__color--active);
2546
+ --button-color: var(--mer-text__primary--active);
2763
2547
  }
2764
2548
 
2765
2549
  &--disabled {
2766
- background-color: var(--button-tertiary__background-color--disabled);
2767
- --control__border-color: var(--button-tertiary__border-color--disabled);
2768
- color: var(--button-tertiary__color--disabled);
2550
+ --button-color: var(--mer-text__on-disabled);
2769
2551
  }
2770
2552
  }
2771
2553
 
@@ -2809,8 +2591,14 @@
2809
2591
 
2810
2592
  @if $add--destructive {
2811
2593
  #{$destructive-selector} {
2594
+ @extend %button-primary;
2812
2595
  @extend %button-primary--destructive;
2813
2596
 
2597
+ &:focus-visible {
2598
+ // TODO: avoid duplcation
2599
+ @extend %button-base--focus-visible;
2600
+ }
2601
+
2814
2602
  &:hover {
2815
2603
  @extend %button-primary--destructive-hover;
2816
2604
  }
@@ -2818,6 +2606,13 @@
2818
2606
  &:active {
2819
2607
  @extend %button-primary--destructive-active;
2820
2608
  }
2609
+
2610
+ @if $add--disabled {
2611
+ // TODO: avoid duplcation
2612
+ &:disabled {
2613
+ @extend %button-primary--disabled;
2614
+ }
2615
+ }
2821
2616
  }
2822
2617
  }
2823
2618
  }
@@ -2846,8 +2641,7 @@
2846
2641
  }
2847
2642
 
2848
2643
  @if $add--disabled == true {
2849
- &:disabled,
2850
- &--disabled {
2644
+ &:disabled {
2851
2645
  @extend %button-secondary--disabled;
2852
2646
  }
2853
2647
  }
@@ -2855,8 +2649,14 @@
2855
2649
 
2856
2650
  @if $add--destructive {
2857
2651
  #{$destructive-selector} {
2652
+ @extend %button-secondary;
2858
2653
  @extend %button-secondary--destructive;
2859
2654
 
2655
+ &:focus-visible {
2656
+ // TODO: avoid duplcation
2657
+ @extend %button-base--focus-visible;
2658
+ }
2659
+
2860
2660
  &:hover {
2861
2661
  @extend %button-secondary--destructive-hover;
2862
2662
  }
@@ -2864,6 +2664,13 @@
2864
2664
  &:active {
2865
2665
  @extend %button-secondary--destructive-active;
2866
2666
  }
2667
+
2668
+ @if $add--disabled {
2669
+ // TODO: avoid duplcation
2670
+ &:disabled {
2671
+ @extend %button-secondary--disabled;
2672
+ }
2673
+ }
2867
2674
  }
2868
2675
  }
2869
2676
  }
@@ -2955,7 +2762,9 @@
2955
2762
  grid-template-columns: max-content 1fr;
2956
2763
 
2957
2764
  &__label {
2958
- margin-block-start: var(--field-inline-label__margin-block-start);
2765
+ // Make the label vertically aligned with an inline control.
2766
+ // Also do not look center on taller contro, like a textarea.
2767
+ margin-block-start: 11px;
2959
2768
  }
2960
2769
  }
2961
2770
  }
@@ -3164,258 +2973,496 @@
3164
2973
  }
3165
2974
  }
3166
2975
 
3167
- @mixin heading-font-tokens() {
3168
- // heading base
3169
- --heading-base__font-family: var(--mer-font-family--title);
3170
- --heading__color: var(
3171
- --mer-heading__gray--light
3172
- ); // this forces the user to apply an allowed heading color.
3173
-
3174
- // h1
3175
- --heading-h1__font-size: var(--mer-font__size--xl);
3176
- --heading-h1__font-weight: var(--mer-font__weight--bold);
3177
- --heading-h1__line-height: var(--mer-line-height--tight);
3178
- // h2
3179
- --heading-h2__font-size: var(--mer-font__size--lg);
3180
- --heading-h2__font-weight: var(--mer-font__weight--bold);
3181
- --heading-h2__line-height: var(--mer-line-height--tight);
3182
- // h3
3183
- --heading-h3__font-size: var(--mer-font__size--sm);
3184
- --heading-h3__font-weight: var(--mer-font__weight--bold);
3185
- --heading-h3__line-height: var(--mer-line-height--regular);
3186
- // h4
3187
- --heading-h4__font-size: var(--mer-font__size--xs);
3188
- --heading-h4__font-weight: var(--mer-font__weight--bold);
3189
- --heading-h4__line-height: var(--mer-line-height--spaced);
3190
- // h5
3191
- --heading-h5__font-size: var(--mer-font__size--2xs);
3192
- --heading-h5__font-weight: var(--mer-font__weight--bold);
3193
- --heading-h5__line-height: var(--mer-line-height--spaced);
3194
- // h6
3195
- --heading-h6__font-size: var(--mer-font__size--3xs);
3196
- --heading-h6__font-weight: var(--mer-font__weight--semi-bold);
3197
- --heading-h6__line-height: var(--mer-line-height--spaced);
3198
- }
3199
-
3200
- @mixin body-font-tokens() {
3201
- // Generic
3202
- --text-body__font-size--l: var(--mer-font__size--sm);
3203
- --text-body__font-size--m: var(--mer-font__size--xs);
3204
- --text-body__font-size--s: var(--mer-font__size--3xs);
3205
- --text-body__font-size--xs: var(--mer-font__size--4xs);
3206
- --text-body__line-height: var(--mer-line-height--spaced);
3207
- // Regular
3208
- --text-body-regular__font-weight: var(--mer-font__weight--regular);
3209
- // Highlighted
3210
- --text-body-highlighted__font-weight: var(--mer-font__weight--semi-bold);
3211
- // Italic
3212
- --text-body-italic__font-weight: var(--mer-font__weight--regular);
3213
- }
3214
-
3215
- @mixin tab-font-tokens() {
3216
- --text-tab__font-family: var(--mer-font-family--inter-regular);
3217
- --text-tab__font-size: var(--mer-font__size--3xs);
3218
- --text-tab__line-height: var(--mer-line-height--regular);
3219
- }
3220
-
3221
- @mixin button-font-tokens() {
3222
- --text-button__font-family: var(--mer-font-family--inter-regular);
3223
- --text-button__font-size: var(--mer-font__size--3xs);
3224
- --text-button__line-height: var(--mer-line-height--regular);
3225
- --text-button__font-weight--semi-bold: var(--mer-font__weight--semi-bold);
3226
- --text-button__font-weight--regular: var(--mer-font__weight--regular);
3227
- }
3228
-
3229
- @mixin tooltip-font-tokens() {
3230
- --mer-text-tooltip__font-family: var(--mer-font-family--body);
3231
- --mer-text-tooltip__font-size: var(--mer-font-size--2xs);
2976
+ // heading
2977
+
2978
+ @mixin heading-1() {
2979
+ @extend %heading;
2980
+ font-size: var(--font-size-header-h1);
3232
2981
  }
3233
2982
 
2983
+ @mixin heading-2() {
2984
+ @extend %heading;
2985
+ font-size: var(--font-size-header-h2);
2986
+ }
3234
2987
 
3235
- // ----------------------
3236
- // Heading
3237
- // ----------------------
2988
+ @mixin heading-3() {
2989
+ @extend %heading;
2990
+ font-size: var(--font-size-header-h3);
2991
+ }
2992
+
2993
+ @mixin heading-4() {
2994
+ @extend %heading;
2995
+ font-size: var(--font-size-header-h4);
2996
+ }
2997
+
2998
+ @mixin heading-5() {
2999
+ @extend %heading;
3000
+ font-size: var(--font-size-header-h5);
3001
+ }
3002
+
3003
+ @mixin heading-6() {
3004
+ @extend %heading;
3005
+ font-size: var(--font-size-header-h6);
3006
+ }
3238
3007
 
3239
3008
  %heading {
3240
- &-base {
3241
- @include heading-font-tokens();
3242
- font-family: var(--mer-font-family--title);
3243
- line-height: var(--mer-line-height--tight);
3244
- color: var(--heading__color);
3245
- }
3009
+ font-weight: var(--font-weight-bold);
3010
+ line-height: var(--line-height-tight);
3246
3011
 
3247
3012
  &-1 {
3248
- @extend %heading-base;
3249
- font-size: var(--mer-font__size--xl); // 36px
3250
- font-weight: var(--mer-font__weight--bold);
3251
- line-height: var(--heading-h1__line-height);
3013
+ @include heading-1();
3252
3014
  }
3253
3015
 
3254
3016
  &-2 {
3255
- @extend %heading-base;
3256
- font-size: var(--mer-font__size--lg); // 24px
3257
- font-weight: var(--mer-font__weight--bold);
3258
- line-height: var(--heading-h2__line-height);
3017
+ @include heading-2();
3259
3018
  }
3260
3019
 
3261
3020
  &-3 {
3262
- @extend %heading-base;
3263
- font-size: var(--mer-font__size--sm); // 16px
3264
- font-weight: var(--mer-font__weight--bold);
3265
- line-height: var(--heading-h3__line-height);
3021
+ @include heading-3();
3266
3022
  }
3267
3023
 
3268
3024
  &-4 {
3269
- @extend %heading-base;
3270
- font-size: var(--mer-font__size--xs); // 14px
3271
- font-weight: var(--mer-font__weight--bold);
3272
- line-height: var(--heading-h4__line-height);
3025
+ @include heading-4();
3273
3026
  }
3274
3027
 
3275
3028
  &-5 {
3276
- @extend %heading-base;
3277
- font-size: var(--mer-font__size--2xs); // 13px
3278
- font-weight: var(--mer-font__weight--bold);
3279
- line-height: var(--heading-h5__line-height);
3029
+ @include heading-5();
3280
3030
  }
3281
3031
 
3282
3032
  &-6 {
3283
- @extend %heading-base;
3284
- font-size: var(--mer-font__size--3xs); // 12px
3285
- font-weight: var(--mer-font__weight--semi-bold);
3286
- line-height: var(--heading-h6__line-height);
3033
+ @include heading-6();
3287
3034
  }
3035
+ }
3036
+
3037
+ // subtitle
3038
+
3039
+ // subtitle: regular
3040
+
3041
+ @mixin subtitle-regular-l() {
3042
+ @extend %subtitle;
3043
+ @extend %subtitle-regular;
3044
+ @extend %subtitle-l;
3045
+ }
3046
+
3047
+ @mixin subtitle-regular-m() {
3048
+ @extend %subtitle;
3049
+ @extend %subtitle-regular;
3050
+ @extend %subtitle-m;
3051
+ }
3052
+
3053
+ @mixin subtitle-regular-s() {
3054
+ @extend %subtitle;
3055
+ @extend %subtitle-regular;
3056
+ @extend %subtitle-s;
3057
+ }
3058
+
3059
+ @mixin subtitle-regular-xs() {
3060
+ @extend %subtitle;
3061
+ @extend %subtitle-regular;
3062
+ @extend %subtitle-xs;
3063
+ }
3064
+
3065
+ // subtitle: semi-bold
3066
+
3067
+ @mixin subtitle-semi-bold-l() {
3068
+ @extend %subtitle;
3069
+ @extend %subtitle-semi-bold;
3070
+ @extend %subtitle-l;
3071
+ }
3288
3072
 
3289
- &-color {
3290
- &__gray--light {
3291
- --heading__color: var(--mer-heading__gray--light);
3073
+ @mixin subtitle-semi-bold-m() {
3074
+ @extend %subtitle;
3075
+ @extend %subtitle-semi-bold;
3076
+ @extend %subtitle-m;
3077
+ }
3078
+
3079
+ @mixin subtitle-semi-bold-s() {
3080
+ @extend %subtitle;
3081
+ @extend %subtitle-semi-bold;
3082
+ @extend %subtitle-s;
3083
+ }
3084
+
3085
+ @mixin subtitle-semi-bold-xs() {
3086
+ @extend %subtitle;
3087
+ @extend %subtitle-semi-bold;
3088
+ @extend %subtitle-xs;
3089
+ }
3090
+
3091
+ %subtitle {
3092
+ font-family: var(--font-family-header);
3093
+
3094
+ &-l {
3095
+ font-size: var(--font-size-subtitle-l);
3096
+ line-height: var(--line-height-regular);
3097
+ }
3098
+
3099
+ &-m {
3100
+ font-size: var(--font-size-subtitle-m);
3101
+ line-height: var(--line-height-regular);
3102
+ }
3103
+
3104
+ &-s {
3105
+ font-size: var(--font-size-subtitle-s);
3106
+ line-height: var(--line-height-tight);
3107
+ }
3108
+
3109
+ &-xs {
3110
+ font-size: var(--font-size-subtitle-xs);
3111
+ line-height: var(--line-height-tight);
3112
+ }
3113
+
3114
+ &-regular {
3115
+ font-weight: var(--font-weight-regular);
3116
+
3117
+ &-l {
3118
+ @include subtitle-regular-l();
3119
+ }
3120
+
3121
+ &-m {
3122
+ @include subtitle-regular-m();
3123
+ }
3124
+
3125
+ &-s {
3126
+ @include subtitle-regular-s();
3127
+ }
3128
+
3129
+ &-xs {
3130
+ @include subtitle-regular-xs();
3292
3131
  }
3293
3132
  }
3294
- }
3295
3133
 
3296
- %text-link {
3297
- text-decoration: underline;
3134
+ &-semi-bold {
3135
+ font-weight: var(--font-weight-semi-bold);
3136
+
3137
+ &-l {
3138
+ @include subtitle-semi-bold-l();
3139
+ }
3140
+
3141
+ &-m {
3142
+ @include subtitle-semi-bold-m();
3143
+ }
3144
+
3145
+ &-s {
3146
+ @include subtitle-semi-bold-s();
3147
+ }
3148
+
3149
+ &-xs {
3150
+ @include subtitle-semi-bold-xs();
3151
+ }
3152
+ }
3298
3153
  }
3299
3154
 
3300
3155
  // body
3301
- %text-body {
3302
- &-base {
3303
- @include body-font-tokens();
3156
+
3157
+ // body: regular
3158
+
3159
+ @mixin body-regular-xl() {
3160
+ @extend %body;
3161
+ @extend %body-regular;
3162
+ @extend %body-xl;
3163
+ }
3164
+
3165
+ @mixin body-regular-l() {
3166
+ @extend %body;
3167
+ @extend %body-regular;
3168
+ @extend %body-l;
3169
+ }
3170
+
3171
+ @mixin body-font() {
3172
+ // "medium" is the body font weight.
3173
+ font-size: var(--font-size-body-m);
3174
+ line-height: var(--line-height-tight);
3175
+ font-weight: var(--font-weight-regular);
3176
+ }
3177
+
3178
+ @mixin body-regular-s() {
3179
+ @extend %body;
3180
+ @extend %body-regular;
3181
+ @extend %body-s;
3182
+ }
3183
+
3184
+ @mixin body-regular-xs() {
3185
+ @extend %body;
3186
+ @extend %body-regular;
3187
+ @extend %body-xs;
3188
+ }
3189
+
3190
+ // body: semi-bold
3191
+
3192
+ @mixin body-semi-bold-xl() {
3193
+ @extend %body;
3194
+ @extend %body-semi-bold;
3195
+ @extend %body-xl;
3196
+ }
3197
+
3198
+ @mixin body-semi-bold-l() {
3199
+ @extend %body;
3200
+ @extend %body-semi-bold;
3201
+ @extend %body-l;
3202
+ }
3203
+
3204
+ @mixin body-semi-bold-m() {
3205
+ @extend %body;
3206
+ @extend %body-semi-bold;
3207
+ @extend %body-m;
3208
+ }
3209
+
3210
+ @mixin body-semi-bold-s() {
3211
+ @extend %body;
3212
+ @extend %body-semi-bold;
3213
+ @extend %body-s;
3214
+ }
3215
+
3216
+ @mixin body-semi-bold-xs() {
3217
+ @extend %body;
3218
+ @extend %body-semi-bold;
3219
+ @extend %body-xs;
3220
+ }
3221
+
3222
+ // body: italic
3223
+
3224
+ @mixin body-italic-xl() {
3225
+ @extend %body;
3226
+ @extend %body-italic;
3227
+ @extend %body-xl;
3228
+ }
3229
+
3230
+ @mixin body-italic-l() {
3231
+ @extend %body;
3232
+ @extend %body-italic;
3233
+ @extend %body-l;
3234
+ }
3235
+
3236
+ @mixin body-italic-m() {
3237
+ @extend %body;
3238
+ @extend %body-italic;
3239
+ @extend %body-m;
3240
+ }
3241
+
3242
+ @mixin body-italic-s() {
3243
+ @extend %body;
3244
+ @extend %body-italic;
3245
+ @extend %body-s;
3246
+ }
3247
+
3248
+ @mixin body-italic-xs() {
3249
+ @extend %body;
3250
+ @extend %body-italic;
3251
+ @extend %body-xs;
3252
+ }
3253
+
3254
+ %body {
3255
+ line-height: var(--line-height-tight);
3256
+
3257
+ // sizes
3258
+ &-xl {
3259
+ font-size: var(--font-size-body-xl);
3260
+ }
3261
+
3262
+ &-l {
3263
+ font-size: var(--font-size-body-l);
3264
+ }
3265
+
3266
+ &-m {
3267
+ font-size: var(--font-size-body-m);
3268
+ }
3269
+
3270
+ &-s {
3271
+ font-size: var(--font-size-body-s);
3304
3272
  }
3273
+
3274
+ &-xs {
3275
+ font-size: var(--font-size-body-xs);
3276
+ }
3277
+
3305
3278
  &-regular {
3279
+ font-weight: var(--font-weight-regular);
3280
+
3281
+ &-xl {
3282
+ @include body-regular-xl();
3283
+ }
3284
+
3306
3285
  &-l {
3307
- @extend %text-body-base;
3308
- font-size: var(--text-body__font-size--l);
3309
- font-weight: var(--text-body-regular__font-weight);
3310
- line-height: var(--text-body__line-height);
3286
+ @include body-regular-l();
3311
3287
  }
3288
+
3312
3289
  &-m {
3313
- @extend %text-body-base;
3314
- font-size: var(--text-body__font-size--m);
3315
- font-weight: var(--text-body-regular__font-weight);
3316
- line-height: var(--text-body__line-height);
3290
+ @include body-font();
3317
3291
  }
3292
+
3318
3293
  &-s {
3319
- @extend %text-body-base;
3320
- font-size: var(--text-body__font-size--s);
3321
- font-weight: var(--text-body-regular__font-weight);
3322
- line-height: var(--text-body__line-height);
3294
+ @include body-regular-s();
3323
3295
  }
3296
+
3324
3297
  &-xs {
3325
- @extend %text-body-base;
3326
- font-size: var(--text-body__font-size--xs);
3327
- font-weight: var(--text-body-regular__font-weight);
3328
- line-height: var(--text-body__line-height);
3298
+ @include body-regular-xs();
3329
3299
  }
3330
3300
  }
3331
- &-highlighted {
3301
+
3302
+ &-semi-bold {
3303
+ font-weight: var(--font-weight-semi-bold);
3304
+
3305
+ &-xl {
3306
+ @include body-semi-bold-xl();
3307
+ }
3308
+
3332
3309
  &-l {
3333
- @extend %text-body-base;
3334
- font-size: var(--text-body__font-size--l);
3335
- font-weight: var(--text-body-highlighted__font-weight);
3336
- line-height: var(--text-body__line-height);
3310
+ @include body-semi-bold-l();
3337
3311
  }
3312
+
3338
3313
  &-m {
3339
- @extend %text-body-base;
3340
- font-size: var(--text-body__font-size--m);
3341
- font-weight: var(--text-body-highlighted__font-weight);
3342
- line-height: var(--text-body__line-height);
3314
+ @include body-semi-bold-m();
3343
3315
  }
3316
+
3344
3317
  &-s {
3345
- @extend %text-body-base;
3346
- font-size: var(--text-body__font-size--s);
3347
- font-weight: var(--text-body-highlighted__font-weight);
3348
- line-height: var(--text-body__line-height);
3318
+ @include body-semi-bold-s();
3349
3319
  }
3320
+
3350
3321
  &-xs {
3351
- @extend %text-body-base;
3352
- font-size: var(--text-body__font-size--xs);
3353
- font-weight: var(--text-body-highlighted__font-weight);
3354
- line-height: var(--text-body__line-height);
3322
+ @include body-semi-bold-xs();
3355
3323
  }
3356
3324
  }
3325
+
3357
3326
  &-italic {
3327
+ font-weight: var(--font-weight-regular);
3328
+ font-style: italic;
3329
+
3330
+ &-xl {
3331
+ @include body-italic-xl();
3332
+ }
3333
+
3358
3334
  &-l {
3359
- @extend %text-body-base;
3360
- font-size: var(--text-body__font-size--l);
3361
- font-style: italic;
3362
- font-weight: var(--text-body-italic__font-weight);
3363
- line-height: var(--text-body__line-height);
3335
+ @include body-italic-l();
3364
3336
  }
3337
+
3365
3338
  &-m {
3366
- @extend %text-body-base;
3367
- font-size: var(--text-body__font-size--m);
3368
- font-style: italic;
3369
- font-weight: var(--text-body-italic__font-weight);
3370
- line-height: var(--text-body__line-height);
3339
+ @include body-italic-m();
3371
3340
  }
3341
+
3372
3342
  &-s {
3373
- @extend %text-body-base;
3374
- font-size: var(--text-body__font-size--s);
3375
- font-style: italic;
3376
- font-weight: var(--text-body-italic__font-weight);
3377
- line-height: var(--text-body__line-height);
3343
+ @include body-italic-s();
3378
3344
  }
3345
+
3379
3346
  &-xs {
3380
- @extend %text-body-base;
3381
- font-size: var(--text-body__font-size--xs);
3382
- font-style: italic;
3383
- font-weight: var(--text-body-italic__font-weight);
3384
- line-height: var(--text-body__line-height);
3347
+ @include body-italic-xs();
3385
3348
  }
3386
3349
  }
3387
3350
  }
3388
3351
 
3389
- // tab
3390
- %tab-text {
3391
- @include tab-font-tokens();
3392
- font-family: var(--text-tab__font-family);
3393
- font-size: var(--text-tab__font-size);
3394
- line-height: var(--text-tab__line-height);
3352
+ // tiny
3353
+
3354
+ // tiny: regular
3355
+
3356
+ @mixin tiny-regular-l() {
3357
+ @extend %tiny;
3358
+ @extend %tiny-regular;
3359
+ @extend %tiny-l;
3360
+ }
3361
+
3362
+ @mixin tiny-regular-m() {
3363
+ @extend %tiny;
3364
+ @extend %tiny-regular;
3365
+ @extend %tiny-m;
3366
+ }
3367
+
3368
+ @mixin tiny-regular-s() {
3369
+ @extend %tiny;
3370
+ @extend %tiny-regular;
3371
+ @extend %tiny-s;
3372
+ }
3373
+
3374
+ @mixin tiny-regular-xs() {
3375
+ @extend %tiny;
3376
+ @extend %tiny-regular;
3377
+ @extend %tiny-xs;
3395
3378
  }
3396
3379
 
3397
- // button
3398
- %button-text {
3399
- @include button-font-tokens();
3400
- font-family: var(--text-button__font-family);
3401
- font-size: var(--text-button__font-size);
3402
- line-height: var(--text-button__line-height);
3380
+ // tiny: semi-bold
3403
3381
 
3404
- &--semi-bold {
3405
- @extend %button-text;
3406
- font-weight: var(--mer-font__weight--semi-bold);
3382
+ @mixin tiny-semi-bold-l() {
3383
+ @extend %tiny;
3384
+ @extend %tiny-semi-bold;
3385
+ @extend %tiny-l;
3386
+ }
3387
+
3388
+ @mixin tiny-semi-bold-m() {
3389
+ @extend %tiny;
3390
+ @extend %tiny-semi-bold;
3391
+ @extend %tiny-m;
3392
+ }
3393
+
3394
+ @mixin tiny-semi-bold-s() {
3395
+ @extend %tiny;
3396
+ @extend %tiny-semi-bold;
3397
+ @extend %tiny-s;
3398
+ }
3399
+
3400
+ @mixin tiny-semi-bold-xs() {
3401
+ @extend %tiny;
3402
+ @extend %tiny-semi-bold;
3403
+ @extend %tiny-xs;
3404
+ }
3405
+
3406
+ %tiny {
3407
+ line-height: var(--line-height-tight);
3408
+
3409
+ &-l {
3410
+ font-size: var(--font-size-tiny-l);
3411
+ line-height: var(--line-height-tight);
3407
3412
  }
3408
- &--regular {
3409
- @extend %button-text;
3410
- font-weight: var(--mer-font__weight--regular);
3413
+
3414
+ &-m {
3415
+ font-size: var(--font-size-tiny-m);
3416
+ line-height: var(--line-height-tight);
3417
+ }
3418
+
3419
+ &-s {
3420
+ font-size: var(--font-size-tiny-s);
3421
+ line-height: var(--line-height-tight);
3422
+ }
3423
+
3424
+ &-xs {
3425
+ font-size: var(--font-size-tiny-xs);
3426
+ line-height: var(--line-height-tight);
3411
3427
  }
3412
- }
3413
3428
 
3414
- // tooltip
3415
- %tooltip-text {
3416
- @include tooltip-font-tokens();
3417
- font-family: var(--mer-text-tooltip__font-family);
3418
- font-size: var(--mer-text-tooltip__font-size);
3429
+ &-regular {
3430
+ font-weight: var(--font-weight-regular);
3431
+ &-l {
3432
+ @include tiny-regular-l();
3433
+ }
3434
+
3435
+ &-m {
3436
+ @include tiny-regular-m();
3437
+ }
3438
+
3439
+ &-s {
3440
+ @include tiny-regular-s();
3441
+ }
3442
+
3443
+ &-xs {
3444
+ @include tiny-regular-xs();
3445
+ }
3446
+ }
3447
+
3448
+ &-semi-bold {
3449
+ font-weight: var(--font-weight-semi-bold);
3450
+ &-l {
3451
+ @include tiny-semi-bold-l();
3452
+ }
3453
+
3454
+ &-m {
3455
+ @include tiny-semi-bold-m();
3456
+ }
3457
+
3458
+ &-s {
3459
+ @include tiny-semi-bold-s();
3460
+ }
3461
+
3462
+ &-xs {
3463
+ @include tiny-semi-bold-xs();
3464
+ }
3465
+ }
3419
3466
  }
3420
3467
 
3421
3468
  /// @group Typography
@@ -3425,19 +3472,44 @@
3425
3472
  /// @param {String} $heading-4-selector [".heading-4"] -
3426
3473
  /// @param {String} $heading-5-selector [".heading-5"] -
3427
3474
  /// @param {String} $heading-6-selector [".heading-6"] -
3428
- /// @param {String} $heading-color__gray-light-selector [".heading-gray--light"] -
3429
- /// @param {String} $text-body-regular-l-selector [".text-body-regular-l"] -
3430
- /// @param {String} $text-body-regular-m-selector [".text-body-regular-m"] -
3431
- /// @param {String} $text-body-regular-s-selector [".text-body-regular-s"] -
3432
- /// @param {String} $text-body-regular-xs-selector [".text-body-regular-xs"] -
3433
- /// @param {String} $text-body-highlighted-l-selector [".text-body-highlighted-l"] -
3434
- /// @param {String} $text-body-highlighted-m-selector [".text-body-highlighted-m"] -
3435
- /// @param {String} $text-body-highlighted-s-selector [".text-body-highlighted-s"] -
3436
- /// @param {String} $text-body-highlighted-xs-selector [".text-body-highlighted-xs"] -
3437
- /// @param {String} $text-body-italic-l-selector [".text-body-italic-l"] -
3438
- /// @param {String} $text-body-italic-m-selector [".text-body-italic-m"] -
3439
- /// @param {String} $text-body-italic-s-selector [".text-body-italic-s"] -
3440
- /// @param {String} $text-body-italic-xs-selector [".text-body-italic-xs"] -
3475
+
3476
+ /// @param {String} $subtitle-regular-l-selector [".subtitle-regular-l"] -
3477
+ /// @param {String} $subtitle-regular-m-selector [".subtitle-regular-m"] -
3478
+ /// @param {String} $subtitle-regular-s-selector [".subtitle-regular-s"] -
3479
+ /// @param {String} $subtitle-regular-xs-selector [".subtitle-regular-xs"] -
3480
+
3481
+ /// @param {String} $subtitle-bold-l-selector [".subtitle-bold-l"] -
3482
+ /// @param {String} $subtitle-bold-m-selector [".subtitle-bold-m"] -
3483
+ /// @param {String} $subtitle-bold-s-selector [".subtitle-bold-s"] -
3484
+ /// @param {String} $subtitle-bold-xs-selector [".subtitle-bold-xs"] -
3485
+
3486
+ /// @param {String} $body-regular-xl-selector [".body-regular-xl"] -
3487
+ /// @param {String} $body-regular-l-selector [".body-regular-l"] -
3488
+ /// @param {String} $body-regular-m-selector [".body-regular-m"] -
3489
+ /// @param {String} $body-regular-s-selector [".body-regular-s"] -
3490
+ /// @param {String} $body-regular-xs-selector [".body-regular-xs"] -
3491
+
3492
+ /// @param {String} $body-semi-bold-xl-selector [".body-semi-bold-xl"] -
3493
+ /// @param {String} $body-semi-bold-l-selector [".body-semi-bold-l"] -
3494
+ /// @param {String} $body-semi-bold-m-selector [".body-semi-bold-m"] -
3495
+ /// @param {String} $body-semi-bold-s-selector [".body-semi-bold-s"] -
3496
+ /// @param {String} $body-semi-bold-xs-selector [".body-semi-bold-xs"] -
3497
+
3498
+ /// @param {String} $body-italic-xl-selector [".body-italic-xl"] -
3499
+ /// @param {String} $body-italic-l-selector [".body-italic-l"] -
3500
+ /// @param {String} $body-italic-m-selector [".body-italic-m"] -
3501
+ /// @param {String} $body-italic-s-selector [".body-italic-s"] -
3502
+ /// @param {String} $body-italic-xs-selector [".body-italic-xs"] -
3503
+
3504
+ /// @param {String} $tiny-regular-l-selector [".tiny-regular-l"] -
3505
+ /// @param {String} $tiny-regular-m-selector [".tiny-regular-m"] -
3506
+ /// @param {String} $tiny-regular-s-selector [".tiny-regular-s"] -
3507
+ /// @param {String} $tiny-regular-xs-selector [".tiny-regular-xs"] -
3508
+
3509
+ /// @param {String} $tiny-semi-bold-l-selector [".tiny-semi-bold-l"] -
3510
+ /// @param {String} $tiny-semi-bold-m-selector [".tiny-semi-bold-m"] -
3511
+ /// @param {String} $tiny-semi-bold-s-selector [".tiny-semi-bold-s"] -
3512
+ /// @param {String} $tiny-semi-bold-xs-selector [".tiny-semi-bold-xs"] -
3441
3513
 
3442
3514
  @mixin typography-classes(
3443
3515
  $heading-1-selector: ".heading-1",
@@ -3446,233 +3518,204 @@
3446
3518
  $heading-4-selector: ".heading-4",
3447
3519
  $heading-5-selector: ".heading-5",
3448
3520
  $heading-6-selector: ".heading-6",
3449
- $heading-color__gray-light-selector: ".heading-gray--light",
3450
- $text-body-regular-l-selector: ".text-body-regular-l",
3451
- $text-body-regular-m-selector: ".text-body-regular-m",
3452
- $text-body-regular-s-selector: ".text-body-regular-s",
3453
- $text-body-regular-xs-selector: ".text-body-regular-xs",
3454
- $text-body-highlighted-l-selector: ".text-body-highlighted-l",
3455
- $text-body-highlighted-m-selector: ".text-body-highlighted-m",
3456
- $text-body-highlighted-s-selector: ".text-body-highlighted-s",
3457
- $text-body-highlighted-xs-selector: ".text-body-highlighted-xs",
3458
- $text-body-italic-l-selector: ".text-body-italic-l",
3459
- $text-body-italic-m-selector: ".text-body-italic-m",
3460
- $text-body-italic-s-selector: ".text-body-italic-s",
3461
- $text-body-italic-xs-selector: ".text-body-italic-xs"
3521
+
3522
+ $subtitle-regular-l-selector: ".subtitle-regular-l",
3523
+ $subtitle-regular-m-selector: ".subtitle-regular-m",
3524
+ $subtitle-regular-s-selector: ".subtitle-regular-s",
3525
+ $subtitle-regular-xs-selector: ".subtitle-regular-xs",
3526
+
3527
+ $subtitle-semi-bold-l-selector: ".subtitle-semi-bold-l",
3528
+ $subtitle-semi-bold-m-selector: ".subtitle-semi-bold-m",
3529
+ $subtitle-semi-bold-s-selector: ".subtitle-semi-bold-s",
3530
+ $subtitle-semi-bold-xs-selector: ".subtitle-semi-bold-xs",
3531
+
3532
+ $body-regular-xl-selector: ".body-regular-xl",
3533
+ $body-regular-l-selector: ".body-regular-l",
3534
+ $body-regular-m-selector: ".body-regular-m",
3535
+ $body-regular-s-selector: ".body-regular-s",
3536
+ $body-regular-xs-selector: ".body-regular-xs",
3537
+
3538
+ $body-semi-bold-xl-selector: ".body-semi-bold-xl",
3539
+ $body-semi-bold-l-selector: ".body-semi-bold-l",
3540
+ $body-semi-bold-m-selector: ".body-semi-bold-m",
3541
+ $body-semi-bold-s-selector: ".body-semi-bold-s",
3542
+ $body-semi-bold-xs-selector: ".body-semi-bold-xs",
3543
+
3544
+ $body-italic-xl-selector: ".body-italic-xl",
3545
+ $body-italic-l-selector: ".body-italic-l",
3546
+ $body-italic-m-selector: ".body-italic-m",
3547
+ $body-italic-s-selector: ".body-italic-s",
3548
+ $body-italic-xs-selector: ".body-italic-xs",
3549
+
3550
+ $tiny-regular-l-selector: ".tiny-regular-l",
3551
+ $tiny-regular-m-selector: ".tiny-regular-m",
3552
+ $tiny-regular-s-selector: ".tiny-regular-s",
3553
+ $tiny-regular-xs-selector: ".tiny-regular-xs",
3554
+
3555
+ $tiny-semi-bold-l-selector: ".tiny-semi-bold-l",
3556
+ $tiny-semi-bold-m-selector: ".tiny-semi-bold-m",
3557
+ $tiny-semi-bold-s-selector: ".tiny-semi-bold-s",
3558
+ $tiny-semi-bold-xs-selector: ".tiny-semi-bold-xs"
3462
3559
  ) {
3463
- // headings
3560
+ // Heading:
3464
3561
 
3465
3562
  #{$heading-1-selector} {
3466
3563
  @extend %heading-1;
3467
3564
  }
3468
-
3469
3565
  #{$heading-2-selector} {
3470
3566
  @extend %heading-2;
3471
3567
  }
3472
-
3473
3568
  #{$heading-3-selector} {
3474
3569
  @extend %heading-3;
3475
3570
  }
3476
-
3477
3571
  #{$heading-4-selector} {
3478
3572
  @extend %heading-4;
3479
3573
  }
3480
-
3481
3574
  #{$heading-5-selector} {
3482
3575
  @extend %heading-5;
3483
3576
  }
3484
-
3485
3577
  #{$heading-6-selector} {
3486
3578
  @extend %heading-6;
3487
3579
  }
3488
3580
 
3489
- #{$heading-color__gray-light-selector} {
3490
- @extend %heading-color__gray--light;
3581
+ // Subtitle: regular
3582
+
3583
+ #{$subtitle-regular-l-selector} {
3584
+ @extend %subtitle-regular-l;
3585
+ }
3586
+ #{$subtitle-regular-m-selector} {
3587
+ @extend %subtitle-regular-m;
3588
+ }
3589
+ #{$subtitle-regular-s-selector} {
3590
+ @extend %subtitle-regular-s;
3591
+ }
3592
+ #{$subtitle-regular-xs-selector} {
3593
+ @extend %subtitle-regular-xs;
3491
3594
  }
3492
3595
 
3493
- // body
3596
+ // Subtitle: bold
3494
3597
 
3495
- #{$text-body-regular-l-selector} {
3496
- @extend %text-body-regular-l;
3598
+ #{$subtitle-semi-bold-l-selector} {
3599
+ @extend %subtitle-semi-bold-l;
3497
3600
  }
3498
-
3499
- #{$text-body-regular-m-selector} {
3500
- @extend %text-body-regular-m;
3601
+ #{$subtitle-semi-bold-m-selector} {
3602
+ @extend %subtitle-semi-bold-m;
3501
3603
  }
3502
-
3503
- #{$text-body-regular-s-selector} {
3504
- @extend %text-body-regular-s;
3604
+ #{$subtitle-semi-bold-s-selector} {
3605
+ @extend %subtitle-semi-bold-s;
3505
3606
  }
3506
-
3507
- #{$text-body-regular-xs-selector} {
3508
- @extend %text-body-regular-xs;
3607
+ #{$subtitle-semi-bold-xs-selector} {
3608
+ @extend %subtitle-semi-bold-xs;
3509
3609
  }
3510
3610
 
3511
- #{$text-body-highlighted-l-selector} {
3512
- @extend %text-body-highlighted-l;
3513
- }
3611
+ // Body: regular
3514
3612
 
3515
- #{$text-body-highlighted-m-selector} {
3516
- @extend %text-body-highlighted-m;
3613
+ #{$body-regular-xl-selector} {
3614
+ @extend %body-regular-xl;
3517
3615
  }
3518
-
3519
- #{$text-body-highlighted-s-selector} {
3520
- @extend %text-body-highlighted-s;
3616
+ #{$body-regular-l-selector} {
3617
+ @extend %body-regular-l;
3521
3618
  }
3522
-
3523
- #{$text-body-highlighted-xs-selector} {
3524
- @extend %text-body-highlighted-xs;
3619
+ #{$body-regular-m-selector} {
3620
+ @extend %body-regular-m;
3525
3621
  }
3526
-
3527
- #{$text-body-italic-l-selector} {
3528
- @extend %text-body-italic-l;
3622
+ #{$body-regular-s-selector} {
3623
+ @extend %body-regular-s;
3529
3624
  }
3530
-
3531
- #{$text-body-italic-m-selector} {
3532
- @extend %text-body-italic-m;
3625
+ #{$body-regular-xs-selector} {
3626
+ @extend %body-regular-xs;
3533
3627
  }
3534
3628
 
3535
- #{$text-body-italic-s-selector} {
3536
- @extend %text-body-italic-s;
3629
+ // Body: semi-bold
3630
+
3631
+ #{$body-semi-bold-xl-selector} {
3632
+ @extend %body-semi-bold-xl;
3633
+ }
3634
+ #{$body-semi-bold-l-selector} {
3635
+ @extend %body-semi-bold-l;
3537
3636
  }
3637
+ #{$body-semi-bold-m-selector} {
3638
+ @extend %body-semi-bold-m;
3639
+ }
3640
+ #{$body-semi-bold-s-selector} {
3641
+ @extend %body-semi-bold-s;
3642
+ }
3643
+ #{$body-semi-bold-xs-selector} {
3644
+ @extend %body-semi-bold-xs;
3645
+ }
3646
+
3647
+ // Body: regular italic
3538
3648
 
3539
- #{$text-body-italic-xs-selector} {
3540
- @extend %text-body-italic-xs;
3649
+ #{$body-italic-xl-selector} {
3650
+ @extend %body-italic-xl;
3651
+ }
3652
+ #{$body-italic-l-selector} {
3653
+ @extend %body-italic-l;
3654
+ }
3655
+ #{$body-italic-m-selector} {
3656
+ @extend %body-italic-m;
3657
+ }
3658
+ #{$body-italic-s-selector} {
3659
+ @extend %body-italic-s;
3660
+ }
3661
+ #{$body-italic-xs-selector} {
3662
+ @extend %body-italic-xs;
3541
3663
  }
3542
- }
3543
3664
 
3544
- // ---------------------------------------
3545
- // Text States e.g.: for the property-grid
3546
- // ---------------------------------------
3665
+ // Body tiny: regular
3547
3666
 
3548
- %text-edited {
3549
- font-weight: var(--mer-font__weight--semi-bold);
3550
- }
3551
- %text-readonly {
3552
- font-style: italic;
3553
- color: var(--item__color--disabled);
3554
- }
3667
+ #{$tiny-regular-l-selector} {
3668
+ @extend %tiny-regular-l;
3669
+ }
3670
+ #{$tiny-regular-m-selector} {
3671
+ @extend %tiny-regular-m;
3672
+ }
3673
+ #{$tiny-regular-s-selector} {
3674
+ @extend %tiny-regular-s;
3675
+ }
3676
+ #{$tiny-regular-xs-selector} {
3677
+ @extend %tiny-regular-xs;
3678
+ }
3555
3679
 
3680
+ // Body tiny: semi-bold
3556
3681
 
3557
- // Icons
3558
- @mixin button-tokens-primary() {
3559
- --button-primary__bg-color: var(--mer-accent__primary);
3560
- --button-primary__border-color: var(--button-primary__bg-color);
3561
- --button-primary__color: var(--mer-text__on-primary);
3562
- //hover
3563
- --button-primary__bg-color--hover: var(--mer-accent__primary--hover);
3564
- --button-primary__border-color--hover: var(--button-primary__bg-color--hover);
3565
- --button-primary__color--hover: var(--mer-text__on-primary);
3566
-
3567
- //active
3568
- --button-primary__bg-color--active: var(--mer-accent__primary--active);
3569
- --button-primary__border-color--active: var(
3570
- --button-primary__bg-color--active
3571
- );
3572
- --button-primary__color--active: var(--mer-text__on-primary--active);
3682
+ #{$tiny-semi-bold-l-selector} {
3683
+ @extend %tiny-semi-bold-l;
3684
+ }
3685
+ #{$tiny-semi-bold-m-selector} {
3686
+ @extend %tiny-semi-bold-m;
3687
+ }
3688
+ #{$tiny-semi-bold-s-selector} {
3689
+ @extend %tiny-semi-bold-s;
3690
+ }
3691
+ #{$tiny-semi-bold-xs-selector} {
3692
+ @extend %tiny-semi-bold-xs;
3693
+ }
3694
+ }
3573
3695
 
3574
- //disabled
3575
- --button-primary__bg-color--disabled: var(--mer-accent__primary--disabled);
3576
- --button-primary__border-color--disabled: var(
3577
- --mer-border-color__primary--disabled
3578
- );
3579
- --button-primary__color--disabled: var(--mer-text__on-disabled);
3696
+ // link
3580
3697
 
3581
- //destructive
3582
- --button-primary__bg-color--destructive: var(
3583
- --mer-accent__primary--destructive
3584
- );
3585
- --button-primary__bg-color--destructive-hover: var(
3586
- --mer-accent__primary--destructive-hover
3587
- );
3588
- --button-primary__bg-color--destructive-active: var(
3589
- --mer-accent__primary--destructive-active
3590
- );
3591
- --button-primary__border-color--destructive: var(
3592
- --button-primary__bg-color--destructive
3593
- );
3594
- --button-primary__color--destructive: var(--mer-text__on-primary);
3698
+ %text-link {
3699
+ color: var(--mer-text__primary);
3700
+ text-decoration-line: underline;
3595
3701
  }
3596
3702
 
3597
- @mixin button-tokens-secondary() {
3598
- --button-secondary__background-color: transparent;
3599
- --button-secondary__border-color: var(--mer-border-color__neutral);
3600
- --button-secondary__color: var(--mer-text__neutral);
3601
- //hover
3602
- --button-secondary__background-color--hover: transparent;
3603
- --button-secondary__border-color--hover: var(
3604
- --mer-border-color__primary--hover
3605
- );
3606
- --button-secondary__color--hover: var(--mer-text__primary--hover);
3607
- //active
3608
- --button-secondary__background-color--active: transparent;
3609
- --button-secondary__border-color--active: var(
3610
- --mer-border-color__primary--active
3611
- );
3612
- --button-secondary__color--active: var(--mer-text__on-primary--active);
3613
- //disabled
3614
- --button-secondary__background-color--disabled: transparent;
3615
- --button-secondary__border-color--disabled: var(--mer-text__on-disabled);
3616
- --button-secondary__color--disabled: var(--mer-text__on-disabled);
3617
-
3618
- //destructive
3619
- --button-secondary__bg-color--destructive: transparent;
3620
- --button-secondary__bg-color--destructive-hover: var(
3621
- --mer-accent__primary--destructive-hover
3622
- );
3623
- --button-secondary__bg-color--destructive-active: var(
3624
- --mer-accent__primary--destructive-active
3625
- );
3626
- --button-secondary__border-color--destructive: var(
3627
- --button-primary__bg-color--destructive
3628
- );
3629
- --button-secondary__color--destructive: var(--mer-text__on-primary);
3703
+ // property-grid
3630
3704
 
3631
- //destructive
3632
- --button-secondary__bg-color--destructive: var(transparent);
3633
- --button-secondary__bg-color--destructive-hover: var(
3634
- --mer-color__message-red--600
3635
- );
3636
- --button-secondary__bg-color--destructive-active: var(
3637
- --mer-color__message-red--500
3638
- );
3639
- --button-secondary__border-color--destructive: var(
3640
- --mer-accent__primary--destructive
3641
- );
3642
- --button-secondary__color--destructive: var(
3643
- --mer-accent__primary--destructive
3644
- );
3705
+ %text-edited {
3706
+ font-weight: var(--font-weight-bold);
3645
3707
  }
3646
3708
 
3647
- @mixin button-tokens-tertiary() {
3648
- --button-tertiary__background-color: transparent;
3649
- --button-tertiary__border-color: transparent;
3650
- --button-tertiary__color: var(--mer-text__primary);
3651
- //hover
3652
- --button-tertiary__background-color--hover: transparent;
3653
- --button-tertiary__border-color--hover: transparent;
3654
- --button-tertiary__color--hover: var(--mer-text__primary--hover);
3655
- //active
3656
- --button-tertiary__background-color--active: transparent;
3657
- --button-tertiary__border-color--active: transparent;
3658
- --button-tertiary__color--active: var(--mer-text__primary--active);
3659
- //disabled
3660
- --button-tertiary__background-color--disabled: transparent;
3661
- --button-tertiary__border-color--disabled: transparent;
3662
- --button-tertiary__color--disabled: var(--mer-text__on-disabled);
3709
+ %text-readonly {
3710
+ font-style: italic;
3711
+ color: var(--item__color--disabled);
3663
3712
  }
3664
3713
 
3665
3714
 
3715
+ // Icons
3666
3716
  %button-icon-only {
3667
- padding: 0;
3668
- box-sizing: border-box;
3669
- // A control block-size is the sum of its font-size + line-height + padding-block + border.
3670
- $buttonIconOnlySize: calc(
3671
- var(--control__font-size--regular) * var(--control__line-height) +
3672
- var(--control__padding-block) * 2 + var(--control__border-width) * 2
3673
- );
3674
- inline-size: $buttonIconOnlySize;
3675
- block-size: $buttonIconOnlySize;
3717
+ @include control-padding-inline-block();
3718
+ @include control-border();
3676
3719
  }
3677
3720
 
3678
3721
  %button-icon-and-text {
@@ -3774,7 +3817,7 @@
3774
3817
  }
3775
3818
 
3776
3819
  %accordion-header {
3777
- @extend %text-body-highlighted-m;
3820
+ @extend %subtitle-semi-bold-xs;
3778
3821
  padding: var(--accordion-header__padding);
3779
3822
  gap: var(--accordion-header__gap);
3780
3823
  color: var(--accordion-header__color);
@@ -3988,7 +4031,7 @@
3988
4031
  }
3989
4032
 
3990
4033
  &::part(message__role) {
3991
- @extend %text-body-highlighted-m;
4034
+ @extend %body-semi-bold-m;
3992
4035
  display: inline-grid;
3993
4036
  grid-template-columns: max-content max-content;
3994
4037
  gap: 6px;
@@ -4010,12 +4053,12 @@
4010
4053
  }
4011
4054
 
4012
4055
  &::part(message__time) {
4013
- @extend %text-body-italic-m;
4056
+ @extend %body-italic-m;
4014
4057
  color: #828b96;
4015
4058
  }
4016
4059
 
4017
4060
  &::part(message__content) {
4018
- @extend %text-body-regular-m;
4061
+ @extend %body-regular-m;
4019
4062
  color: var(--mer-color__neutral-gray--100);
4020
4063
  }
4021
4064
 
@@ -4034,7 +4077,7 @@
4034
4077
  }
4035
4078
 
4036
4079
  &::part(message assistant waiting) {
4037
- @extend %text-body-italic-s;
4080
+ @extend %body-italic-s;
4038
4081
  background-color: var(--mer-color__neutral-gray--900);
4039
4082
  border-radius: unset;
4040
4083
  color: #666;
@@ -4081,11 +4124,11 @@
4081
4124
 
4082
4125
  &::part(message__processing) {
4083
4126
  color: var(--mer-text__on-surface);
4084
- font-size: var(--mer-font__size--2xs);
4127
+ font-size: var(--font-size-body-s);
4085
4128
  }
4086
4129
 
4087
4130
  @include input(
4088
- $selector: "&::part(send-input)",
4131
+ $input-selector: "&::part(send-input)",
4089
4132
  $add--disabled: false,
4090
4133
  $add--placeholder: false,
4091
4134
  $add--error: false
@@ -4095,7 +4138,7 @@
4095
4138
  border-radius: var(--control__border-radius);
4096
4139
  border: 1px solid var(--mer-border-color__neutral);
4097
4140
  color: var(--control__border-style);
4098
- font-size: var(--control__font-size--regular);
4141
+ font-size: var(--font-size-body-m);
4099
4142
  inline-size: 100%;
4100
4143
  justify-content: center;
4101
4144
  line-height: var(--control__line-height);
@@ -4181,7 +4224,7 @@
4181
4224
 
4182
4225
  // Label
4183
4226
  &__label {
4184
- @include label-font();
4227
+ @extend %label-font;
4185
4228
 
4186
4229
  &--disabled {
4187
4230
  @include label-color-disabled();
@@ -4622,22 +4665,6 @@
4622
4665
  --control__border-color: transparent;
4623
4666
  --control__border-radius: 0;
4624
4667
  }
4625
- // Font
4626
- @mixin control-font-weight-regular() {
4627
- font-weight: var(--control__font-weight--regular);
4628
- }
4629
- @mixin control-font-weight-semi-bold() {
4630
- font-weight: var(--control__font-weight--semi-bold);
4631
- }
4632
- // Font Size
4633
- @mixin control-font-size-small() {
4634
- font-size: var(--control__font-size--small);
4635
- line-height: var(--control__line-height);
4636
- }
4637
- @mixin control-font-size-regular() {
4638
- font-size: var(--control__font-size--regular);
4639
- line-height: var(--control__line-height);
4640
- }
4641
4668
  // Height
4642
4669
  @mixin control-height-regular() {
4643
4670
  block-size: var(--control__height);
@@ -4784,22 +4811,6 @@
4784
4811
  @mixin item-height-large() {
4785
4812
  block-size: var(--item__height--large);
4786
4813
  }
4787
- @mixin item-font() {
4788
- line-height: var(--item__line-height);
4789
- font-size: var(--item__font-size);
4790
- font-weight: var(--item__font-weight);
4791
- }
4792
- @mixin item-font-size-small() {
4793
- --item__font-size: var(--item__font-size--small);
4794
- }
4795
- @mixin item-font-header() {
4796
- // item header font-size and line-height has to be the same as
4797
- // item font-size and line-height in order for the computed height
4798
- // to be the same.
4799
- line-height: var(--item__line-height);
4800
- font-size: var(--item__font-size);
4801
- font-weight: var(--item-header__font-weight);
4802
- }
4803
4814
 
4804
4815
  // ---------------------------------
4805
4816
  // Grid Item
@@ -4850,8 +4861,8 @@
4850
4861
  padding-inline: 0;
4851
4862
  }
4852
4863
  @mixin grid-rowset-legend-padding-block() {
4853
- padding-block-start: var(--mer-spacing--2xs);
4854
- padding-block-end: var(--mer-spacing--2xs);
4864
+ padding-block-start: var(--mer-spacing--xs);
4865
+ padding-block-end: var(--mer-spacing--xs);
4855
4866
  }
4856
4867
  @mixin grid-rowset-legend-colors-enabled() {
4857
4868
  --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
@@ -4879,10 +4890,6 @@
4879
4890
  border-block-start: var(--tab-caption__border-width)
4880
4891
  var(--tab-caption__border-style) var(--tab-caption__border-color);
4881
4892
  }
4882
- @mixin tab-button-font() {
4883
- font-size: var(--tab-caption__font-size);
4884
- font-weight: var(--tab-caption__font-weight);
4885
- }
4886
4893
  @mixin tab-button-gap() {
4887
4894
  gap: var(--tab-caption__gap);
4888
4895
  }
@@ -4931,12 +4938,6 @@
4931
4938
  // Label
4932
4939
  // ----------------------
4933
4940
 
4934
- @mixin label-font() {
4935
- color: var(--label__color);
4936
- font-weight: var(--label__font-weight);
4937
- font-size: var(--label__font-size);
4938
- line-height: var(--label__line-height);
4939
- }
4940
4941
  @mixin label-gap-block() {
4941
4942
  gap: var(--label__gap--block);
4942
4943
  }
@@ -5136,6 +5137,18 @@
5136
5137
  }
5137
5138
  }
5138
5139
 
5140
+ // In Mercury, some controls use different font styles than the tabular grid.
5141
+ // When these controls are inside a tabular grid, they should inherit its styles.
5142
+ // This ensures visual consistency across the interface. Add relevant selectors
5143
+ // below, then import this file where needed and apply the selector variable.
5144
+
5145
+ // ie. for the combo-box: @mixin combo-box($combo-box-selector: $combo-box-selector, ...
5146
+
5147
+ $combo-box-selector: ".combo-box";
5148
+ $input-selector: ".input";
5149
+
5150
+ $tree-controls: ($combo-box-selector, $input-selector);
5151
+
5139
5152
 
5140
5153
  %combo-box {
5141
5154
  --ch-combo-box-separation-y: var(--mer-spacing--3xs);
@@ -5145,10 +5158,10 @@
5145
5158
  --ch-combo-box-group__expandable-button-size: var(--mer-spacing--md);
5146
5159
  --ch-combo-box-group__expandable-button-image-size: var(--mer-spacing--sm);
5147
5160
 
5161
+ @extend %body-regular-m;
5162
+
5148
5163
  @include control-border();
5149
5164
  @include control-colors-enabled();
5150
- @include control-font-weight-regular();
5151
- @include control-font-size-regular();
5152
5165
  @include control-padding-inline-block();
5153
5166
 
5154
5167
  &--hover {
@@ -5179,12 +5192,11 @@
5179
5192
 
5180
5193
  &-group__header {
5181
5194
  @include item-colors-enabled();
5182
- @include item-font-header();
5183
5195
  @include item-padding();
5196
+ @extend %body-regular-m;
5184
5197
 
5185
5198
  &--expandable {
5186
5199
  @include item-colors-enabled();
5187
- @include item-font-header();
5188
5200
  @include item-padding();
5189
5201
  @include item-border-radius();
5190
5202
 
@@ -5210,8 +5222,8 @@
5210
5222
  @include item-colors-enabled();
5211
5223
  @include item-border();
5212
5224
  @include item-border-radius();
5213
- @include item-font();
5214
5225
  @include item-padding();
5226
+ @extend %body-regular-m;
5215
5227
 
5216
5228
  &--nested {
5217
5229
  padding-inline-start: calc(
@@ -5252,7 +5264,7 @@
5252
5264
  /// @param {Boolean} $add--placeholder [true] -
5253
5265
  /// @param {Boolean} $add--error [true] -
5254
5266
  @mixin combo-box(
5255
- $combo-box-selector: ".combo-box",
5267
+ $combo-box-selector: $combo-box-selector,
5256
5268
  $combo-box--disabled-selector: ".combo-box[disabled]",
5257
5269
  $combo-box--error-selector: ".combo-box-error",
5258
5270
  $combo-box__placeholder-selector:
@@ -5387,8 +5399,7 @@
5387
5399
  }
5388
5400
 
5389
5401
  &__caption {
5390
- @extend %heading-5;
5391
- @extend %heading-color__gray--light;
5402
+ @extend %subtitle-semi-bold-xs;
5392
5403
  word-break: break-word;
5393
5404
  }
5394
5405
 
@@ -5548,7 +5559,6 @@
5548
5559
  @include items-container-dropdown();
5549
5560
  @include items-container-border-radius();
5550
5561
  @include items-container-gap();
5551
- @include item-font();
5552
5562
  }
5553
5563
 
5554
5564
  // Primary
@@ -5559,6 +5569,7 @@
5559
5569
  @include item-border-radius();
5560
5570
  @include item-padding();
5561
5571
  @include item-gap();
5572
+ @extend %body-regular-m;
5562
5573
 
5563
5574
  &--focus {
5564
5575
  // @include focus-style($outline: true);
@@ -5773,8 +5784,8 @@
5773
5784
 
5774
5785
  &-tab-button-block {
5775
5786
  @include tab-button-colors-enabled();
5776
- @include tab-button-font();
5777
5787
  @include tab-button-gap();
5788
+ @extend %body-regular-s;
5778
5789
 
5779
5790
  padding-inline: var(--tab-caption__padding-inline);
5780
5791
 
@@ -5786,8 +5797,8 @@
5786
5797
 
5787
5798
  &-tab-button-inline {
5788
5799
  @include tab-button-colors-enabled();
5789
- @include tab-button-font();
5790
5800
  @include tab-button-gap();
5801
+ @extend %body-regular-s;
5791
5802
 
5792
5803
  padding-block: var(--tab-caption__padding-block);
5793
5804
 
@@ -6167,17 +6178,29 @@
6167
6178
  }
6168
6179
  }
6169
6180
 
6181
+ // In Mercury, some controls use different font styles than the tabular grid.
6182
+ // When these controls are inside a tabular grid, they should inherit its styles.
6183
+ // This ensures visual consistency across the interface. Add relevant selectors
6184
+ // below, then import this file where needed and apply the selector variable.
6185
+
6186
+ // ie. for the combo-box: @mixin combo-box($combo-box-selector: $combo-box-selector, ...
6187
+
6188
+ $combo-box-selector: ".combo-box";
6189
+ $input-selector: ".input";
6190
+
6191
+ $tree-controls: ($combo-box-selector, $input-selector);
6192
+
6193
+
6170
6194
  %input {
6171
6195
  // ch-chameleon custom vars (do not edit their names)
6172
6196
  // --ch-edit-auto-fill-background-color: var(); not defined by design yet
6173
6197
  --ch-edit-gap: var(--control__icon-gap);
6174
6198
  --ch-edit__image-size: var(--mer-icon__box--md);
6175
6199
  --ch-placeholder-color: var(--mer-color__neutral-gray--400);
6200
+ @extend %body-regular-m;
6176
6201
 
6177
6202
  @include control-border();
6178
6203
  @include control-colors-enabled();
6179
- @include control-font-weight-regular();
6180
- @include control-font-size-regular();
6181
6204
  @include control-padding-inline-block();
6182
6205
 
6183
6206
  &--focus {
@@ -6194,19 +6217,19 @@
6194
6217
  }
6195
6218
 
6196
6219
  /// @group Form
6197
- /// @param {String} $selector [".input"] -
6220
+ /// @param {String} $input-selector [".input"] -
6198
6221
  /// @param {String} $error-selector [".input-error"] -
6199
6222
  /// @param {Boolean} $add--disabled [true] -
6200
6223
  /// @param {Boolean} $add--error [true] -
6201
6224
  @mixin input(
6202
- $selector: ".input",
6225
+ $input-selector: $input-selector,
6203
6226
  $empty-placeholder-selector: ".input[part*='ch-edit--empty-value']",
6204
6227
  $error-selector: ".input-error",
6205
6228
  $add--disabled: true,
6206
6229
  $add--error: true,
6207
6230
  $add--placeholder: true
6208
6231
  ) {
6209
- #{$selector} {
6232
+ #{$input-selector} {
6210
6233
  @extend %input;
6211
6234
 
6212
6235
  &:focus {
@@ -6226,7 +6249,7 @@
6226
6249
 
6227
6250
  @if $add--placeholder {
6228
6251
  #{$empty-placeholder-selector} {
6229
- font-style: var(--control-placeholder__font-style);
6252
+ @extend %body-italic-m;
6230
6253
  }
6231
6254
  }
6232
6255
 
@@ -6267,8 +6290,8 @@
6267
6290
  @include item-colors-enabled();
6268
6291
  @include item-border();
6269
6292
  @include item-border-radius();
6270
- @include item-font();
6271
6293
  @include item-padding();
6294
+ @extend %body-regular-m;
6272
6295
  // @include item-column-gap(); // TODO: uncomment when '.action' class on Chameleon fixes the grid-template.
6273
6296
  // Explanation: At the time of writting Chameleon is applying a grid-template that consists on three columns.
6274
6297
  // As a side effect, if we apply column-gap an inline-start gap will be applied, even tough is not intended.
@@ -6323,7 +6346,7 @@
6323
6346
  }
6324
6347
  &-action,
6325
6348
  &-caption {
6326
- @include item-font-header();
6349
+ @extend %subtitle-semi-bold-xs;
6327
6350
  @include item-colors-enabled();
6328
6351
  }
6329
6352
  &-caption {
@@ -6506,7 +6529,7 @@
6506
6529
 
6507
6530
  @mixin markdown-viewer() {
6508
6531
  :host {
6509
- @extend %text-body;
6532
+ @extend %body-regular-m;
6510
6533
  }
6511
6534
 
6512
6535
  // - - - - - - - - - - - - - - - - - - - -
@@ -6593,7 +6616,7 @@
6593
6616
  }
6594
6617
 
6595
6618
  strong {
6596
- font-weight: 700;
6619
+ font-weight: var(--font-weight-bold);
6597
6620
  }
6598
6621
 
6599
6622
  // - - - - - - - - - - - - - - - - - - - -
@@ -6743,7 +6766,7 @@
6743
6766
  border-radius: var(--mer-border__radius--sm);
6744
6767
  box-shadow: 4px 4px 12px 0px #00000033;
6745
6768
  color: var(--mer-color__neutral-gray--300);
6746
- font-size: var(--mer-font__size--xs);
6769
+ @extend %body-regular-m;
6747
6770
  }
6748
6771
 
6749
6772
  &-item-action {
@@ -7071,22 +7094,6 @@
7071
7094
  --control__border-color: transparent;
7072
7095
  --control__border-radius: 0;
7073
7096
  }
7074
- // Font
7075
- @mixin control-font-weight-regular() {
7076
- font-weight: var(--control__font-weight--regular);
7077
- }
7078
- @mixin control-font-weight-semi-bold() {
7079
- font-weight: var(--control__font-weight--semi-bold);
7080
- }
7081
- // Font Size
7082
- @mixin control-font-size-small() {
7083
- font-size: var(--control__font-size--small);
7084
- line-height: var(--control__line-height);
7085
- }
7086
- @mixin control-font-size-regular() {
7087
- font-size: var(--control__font-size--regular);
7088
- line-height: var(--control__line-height);
7089
- }
7090
7097
  // Height
7091
7098
  @mixin control-height-regular() {
7092
7099
  block-size: var(--control__height);
@@ -7233,22 +7240,6 @@
7233
7240
  @mixin item-height-large() {
7234
7241
  block-size: var(--item__height--large);
7235
7242
  }
7236
- @mixin item-font() {
7237
- line-height: var(--item__line-height);
7238
- font-size: var(--item__font-size);
7239
- font-weight: var(--item__font-weight);
7240
- }
7241
- @mixin item-font-size-small() {
7242
- --item__font-size: var(--item__font-size--small);
7243
- }
7244
- @mixin item-font-header() {
7245
- // item header font-size and line-height has to be the same as
7246
- // item font-size and line-height in order for the computed height
7247
- // to be the same.
7248
- line-height: var(--item__line-height);
7249
- font-size: var(--item__font-size);
7250
- font-weight: var(--item-header__font-weight);
7251
- }
7252
7243
 
7253
7244
  // ---------------------------------
7254
7245
  // Grid Item
@@ -7299,8 +7290,8 @@
7299
7290
  padding-inline: 0;
7300
7291
  }
7301
7292
  @mixin grid-rowset-legend-padding-block() {
7302
- padding-block-start: var(--mer-spacing--2xs);
7303
- padding-block-end: var(--mer-spacing--2xs);
7293
+ padding-block-start: var(--mer-spacing--xs);
7294
+ padding-block-end: var(--mer-spacing--xs);
7304
7295
  }
7305
7296
  @mixin grid-rowset-legend-colors-enabled() {
7306
7297
  --grid-rowset-legend__bg-color: var(--mer-surface__elevation--02);
@@ -7328,10 +7319,6 @@
7328
7319
  border-block-start: var(--tab-caption__border-width)
7329
7320
  var(--tab-caption__border-style) var(--tab-caption__border-color);
7330
7321
  }
7331
- @mixin tab-button-font() {
7332
- font-size: var(--tab-caption__font-size);
7333
- font-weight: var(--tab-caption__font-weight);
7334
- }
7335
7322
  @mixin tab-button-gap() {
7336
7323
  gap: var(--tab-caption__gap);
7337
7324
  }
@@ -7380,12 +7367,6 @@
7380
7367
  // Label
7381
7368
  // ----------------------
7382
7369
 
7383
- @mixin label-font() {
7384
- color: var(--label__color);
7385
- font-weight: var(--label__font-weight);
7386
- font-size: var(--label__font-size);
7387
- line-height: var(--label__line-height);
7388
- }
7389
7370
  @mixin label-gap-block() {
7390
7371
  gap: var(--label__gap--block);
7391
7372
  }
@@ -7608,10 +7589,10 @@
7608
7589
 
7609
7590
  @include control-border();
7610
7591
  @include control-colors-enabled();
7611
- @include control-font-weight-semi-bold();
7612
- @include control-font-size-regular();
7613
7592
  @include control-padding-inline-block();
7614
7593
 
7594
+ @extend %body-semi-bold-m;
7595
+
7615
7596
  // states
7616
7597
  &--enabled {
7617
7598
  --control__border-color: var(--mer-border-color__dim);
@@ -7668,9 +7649,10 @@
7668
7649
  @include item-colors-enabled();
7669
7650
  @include item-border();
7670
7651
  @include item-border-radius();
7671
- @include item-font();
7672
7652
  @include item-padding();
7673
7653
 
7654
+ @extend %body-regular-m;
7655
+
7674
7656
  &--with-icon {
7675
7657
  padding-inline-start: var(--mer-spacing--xl);
7676
7658
  background-repeat: no-repeat;
@@ -8508,7 +8490,7 @@
8508
8490
  }
8509
8491
 
8510
8492
  %radio__label {
8511
- @include label-font();
8493
+ @extend %label-font;
8512
8494
  }
8513
8495
 
8514
8496
  %radio__label-disabled {
@@ -8591,7 +8573,7 @@
8591
8573
 
8592
8574
  @if $radio-item__label {
8593
8575
  #{$radio-item__label} {
8594
- @include label-font();
8576
+ @extend %label-font;
8595
8577
  }
8596
8578
  }
8597
8579
 
@@ -8610,11 +8592,9 @@
8610
8592
  --shortcuts-key__color: var(--mer-color__neutral-gray--900);
8611
8593
  --shortcuts-key__background-color: var(--mer-color__message-red--100);
8612
8594
  --shortcuts-key__border-radius: var(--mer-border__radius--md);
8613
- --shortcuts-key__font-size: var(--mer-font__size--xs);
8614
8595
  --shortcuts-key__padding: var(--mer-spacing--2xs);
8615
8596
 
8616
8597
  //slash
8617
- --shortcuts-slash__font-size: var(--mer-font__size--xs);
8618
8598
  --shortcuts-slash__color: var(--mer-color__message-red--100);
8619
8599
  --shortcuts-slash__padding: var(--mer-spacing--2xs);
8620
8600
 
@@ -8636,15 +8616,15 @@
8636
8616
  color: var(--shortcuts-key__color);
8637
8617
  background-color: var(--shortcuts-key__background-color);
8638
8618
  border-radius: var(--shortcuts-key__border-radius);
8639
- font-size: var(--shortcuts-key__font-size);
8640
8619
  padding: var(--shortcuts-key__padding);
8620
+ @extend %body-regular-m;
8641
8621
  }
8642
8622
 
8643
8623
  &::part(slash),
8644
8624
  &::part(plus) {
8645
- font-size: var(--shortcuts-slash__font-size);
8646
8625
  color: var(--shortcuts-slash__color);
8647
8626
  padding: var(--shortcuts-slash__padding);
8627
+ @extend %body-regular-m;
8648
8628
  }
8649
8629
 
8650
8630
  &::part(element) {
@@ -9044,8 +9024,8 @@
9044
9024
 
9045
9025
  %tab-button-block {
9046
9026
  @include tab-button-colors-enabled();
9047
- @include tab-button-font();
9048
9027
  @include tab-button-gap();
9028
+ @extend %body-regular-s;
9049
9029
 
9050
9030
  @include tab-button-padding-inline();
9051
9031
  border-block: var(--tab-caption__border-width)
@@ -9057,8 +9037,8 @@
9057
9037
 
9058
9038
  %tab-button-inline {
9059
9039
  @include tab-button-colors-enabled();
9060
- @include tab-button-font();
9061
9040
  @include tab-button-gap();
9041
+ @extend %body-regular-s;
9062
9042
 
9063
9043
  @include tab-button-padding-stack();
9064
9044
  border-inline: var(--tab-caption__border-width)
@@ -9384,11 +9364,6 @@
9384
9364
  }
9385
9365
  }
9386
9366
 
9387
- @mixin tabular-grid-tokens() {
9388
- --grid__font-size: var(--mer-font__size--3xs);
9389
- --grid-bar-resize-split__bg-color: transparent;
9390
- }
9391
-
9392
9367
  @mixin tabular-grid-row-tokens() {
9393
9368
  /* This style-sheet applies for:
9394
9369
  - ch-grid-row
@@ -9396,7 +9371,6 @@
9396
9371
  - ch-grid-rowset-legend
9397
9372
  */
9398
9373
 
9399
- --grid-rowset-legend__font-family: var(--mer-font-family--title);
9400
9374
  --grid-rowset-legend__font-size: var(--grid-base__font-size);
9401
9375
  --grid-rowset-legend__color: var(--grid-base__color);
9402
9376
  --grid-rowset-legend__color--hover: var(--item__color--hover);
@@ -9456,7 +9430,6 @@
9456
9430
  --grid-column-bar__padding-inline: var(--mer-spacing--xs);
9457
9431
  --grid-column-bar__padding-block: var(--mer-spacing--xs);
9458
9432
  --grid-column-bar__font-size: var(--grid-base__font-size);
9459
- --grid-column-bar__font-family: var(--mer-font-family--title);
9460
9433
 
9461
9434
  // =======================================
9462
9435
  // Part "bar-selector"
@@ -9539,11 +9512,27 @@
9539
9512
 
9540
9513
  // --checkbox-check__color: var(--mer-border-color__neutral--active);
9541
9514
 
9515
+ // In Mercury, some controls use different font styles than the tabular grid.
9516
+ // When these controls are inside a tabular grid, they should inherit its styles.
9517
+ // This ensures visual consistency across the interface. Add relevant selectors
9518
+ // below, then import this file where needed and apply the selector variable.
9519
+
9520
+ // ie. for the combo-box: @mixin combo-box($combo-box-selector: $combo-box-selector, ...
9521
+
9522
+ $combo-box-selector: ".combo-box";
9523
+ $input-selector: ".input";
9524
+
9525
+ $tree-controls: ($combo-box-selector, $input-selector);
9526
+
9542
9527
 
9543
9528
  // - - - - - - - - - - - - - - - - - - - -
9544
9529
  // general settings
9545
9530
  // - - - - - - - - - - - - - - - - - - - -
9546
9531
 
9532
+ %tabular-grid-font-size {
9533
+ @extend %body-regular-s;
9534
+ }
9535
+
9547
9536
  %tabular-grid__icon {
9548
9537
  &-size {
9549
9538
  @extend %icon-size--md;
@@ -9595,13 +9584,14 @@
9595
9584
  // - - - - - - - - - - - - - - - - - - - -
9596
9585
 
9597
9586
  %tabular-grid {
9598
- @include tabular-grid-tokens();
9587
+ --grid-bar-resize-split__bg-color: transparent;
9599
9588
  --focus__outline-offset: -2px; // WA since the box-shadow hides the outline-block-end and outline-inline-end.
9600
- font-size: var(--grid__font-size);
9601
9589
  --grid-label__gap: var(--mer-spacing--xs);
9602
9590
  --grid-common__gap: var(--mer-spacing--xs);
9603
9591
  max-block-size: 100%; // TODO: This reset must be placed in the control implementation. This property is a WA.
9604
9592
 
9593
+ @extend %tabular-grid-font-size;
9594
+
9605
9595
  --indent: 16px;
9606
9596
  @include items-container-colors();
9607
9597
 
@@ -9632,13 +9622,13 @@
9632
9622
  %tabular-grid-column {
9633
9623
  // should equal the tabular-grid background-color
9634
9624
  background-color: var(--items-container__bg-color);
9625
+ @extend %body-semi-bold-s;
9635
9626
  }
9636
9627
 
9637
9628
  %tabular-grid-column__bar {
9638
9629
  --grid-label__gap: 0;
9639
9630
  @include grid-row-colors-enabled();
9640
9631
  @include grid-cell-padding-inline-block();
9641
- @include control-font-weight-semi-bold();
9642
9632
  gap: var(--grid-common__gap);
9643
9633
  width: 100%;
9644
9634
 
@@ -9741,12 +9731,17 @@
9741
9731
  @include grid-row-colors-enabled();
9742
9732
  --item__bg-color: var(--items-container__bg-color);
9743
9733
 
9744
- --control__font-size--regular: var(--grid-font-size);
9745
- --control__font-size--small: var(--grid-font-size);
9746
- --item__font-size: var(--grid-font-size);
9734
+ // TODO: Check how controls font size's should be redefined inside tabular-grid cell, using the new font styles classes.
9747
9735
 
9748
9736
  border: 0; // WA
9749
9737
 
9738
+ // make controls inherit tabular-grid font styles
9739
+ @each $control-selector in $tree-controls {
9740
+ > #{$control-selector} {
9741
+ @extend %tabular-grid-font-size;
9742
+ }
9743
+ }
9744
+
9750
9745
  &--focused {
9751
9746
  @include focus-outline();
9752
9747
  }
@@ -10032,6 +10027,7 @@
10032
10027
 
10033
10028
  #{$tabular-grid-selector} {
10034
10029
  @extend %tabular-grid;
10030
+
10035
10031
  &:focus {
10036
10032
  outline: none;
10037
10033
  }
@@ -10440,10 +10436,8 @@
10440
10436
  }
10441
10437
  }
10442
10438
 
10443
- // TODO: Use the right typography classes
10444
10439
  %ticket-list {
10445
- font-size: 12px;
10446
- line-height: 14.52px;
10440
+ @extend %tiny-regular-l;
10447
10441
 
10448
10442
  &-action {
10449
10443
  position: relative;
@@ -10479,7 +10473,7 @@
10479
10473
  }
10480
10474
 
10481
10475
  &-caption {
10482
- font-weight: 600;
10476
+ font-weight: var(--font-weight-semi-bold);
10483
10477
  }
10484
10478
 
10485
10479
  &-description {
@@ -10487,7 +10481,7 @@
10487
10481
  }
10488
10482
 
10489
10483
  &-status {
10490
- font-weight: 600;
10484
+ font-weight: var(--font-weight-semi-bold);
10491
10485
  margin-block-end: var(--mer-spacing--xs);
10492
10486
  gap: var(--mer-spacing--2xs);
10493
10487
 
@@ -10525,7 +10519,7 @@
10525
10519
  gap: var(--mer-spacing--xs);
10526
10520
  border: 1px solid var(--mer-color__neutral-gray--500);
10527
10521
  border-radius: 30px;
10528
- font-weight: 600;
10522
+ font-weight: var(--font-weight-semi-bold);
10529
10523
 
10530
10524
  &--selected {
10531
10525
  border-color: var(--mer-border-color__primary--focused);
@@ -10646,8 +10640,6 @@
10646
10640
  --ch-switch-thumb__unchecked-background-color: var(--mer-icon__neutral);
10647
10641
  --ch-switch-thumb__checked-background-color: var(--mer-icon__neutral);
10648
10642
  --ch-switch-thumb__state-transition-duration: 150ms;
10649
- font-weight: var(--mer-font__weight--regular);
10650
- line-height: var(--mer-line-height--regular);
10651
10643
 
10652
10644
  &__track {
10653
10645
  border-radius: var(--ch-switch-track-block-size);
@@ -10678,6 +10670,7 @@
10678
10670
  --ch-switch-track-block-size: 16px;
10679
10671
  --ch-switch-track-inline-size: 31px;
10680
10672
  --ch-switch-thumb-size: 9px;
10673
+ @extend %body-regular-s;
10681
10674
 
10682
10675
  &__thumb {
10683
10676
  &--unchecked {
@@ -10694,6 +10687,7 @@
10694
10687
  --ch-switch-track-block-size: 26px;
10695
10688
  --ch-switch-track-inline-size: 50px;
10696
10689
  --ch-switch-thumb-size: 16px;
10690
+ @extend %body-regular-m;
10697
10691
 
10698
10692
  &__thumb {
10699
10693
  &--unchecked {
@@ -10784,10 +10778,6 @@
10784
10778
  --tooltip__background-color: var(--mer-color__neutral-gray--1000);
10785
10779
  --tooltip__border-radius: var(--mer-border__radius--sm);
10786
10780
  --tooltip__color: var(--mer-text__on-surface);
10787
- --tooltip__font-family: var(--mer-font-family--body);
10788
- --tooltip__font-size: var(--mer-font__size--3xs);
10789
- --tooltip__font-weight: var(--mer-font__weight--medium);
10790
- --tooltip__line-height: var(--mer-line-height--tight);
10791
10781
  --tooltip__padding-block: var(--mer-spacing--xs);
10792
10782
  --tooltip__padding-inline: var(--mer-spacing--xs);
10793
10783
 
@@ -10804,12 +10794,9 @@
10804
10794
  background-color: var(--tooltip__background-color);
10805
10795
  border-radius: var(--tooltip__border-radius);
10806
10796
  color: var(--tooltip__color);
10807
- font-family: var(--tooltip__font-family);
10808
- font-size: var(--tooltip__font-size);
10809
- font-weight: var(--tooltip__font-weight);
10810
- line-height: var(--tooltip__line-height);
10811
10797
  padding-block: var(--tooltip__padding-block);
10812
10798
  padding-inline: var(--tooltip__padding-inline);
10799
+ @extend %body-regular-s;
10813
10800
  }
10814
10801
 
10815
10802
  /// @group Tooltip
@@ -10824,7 +10811,6 @@
10824
10811
  // - - - - - - - - - - - - - - - - - - - -
10825
10812
  // Tree View
10826
10813
  // - - - - - - - - - - - - - - - - - - - -
10827
- --tree-view-item__line-height: var(--mer-line-height--spaced);
10828
10814
 
10829
10815
  // - - - - - - - - - - - - - - - - - - - -
10830
10816
  // Item (Provided by the ch-tree)
@@ -10881,10 +10867,9 @@
10881
10867
 
10882
10868
  %tree-view {
10883
10869
  @include tree-view-tokens();
10884
- @include item-font();
10885
- @include item-font-size-small();
10886
10870
  line-height: var(--tree-view-item__line-height);
10887
10871
  min-inline-size: var(--tree-view__min-inline-size);
10872
+ @extend %body-regular-s;
10888
10873
  }
10889
10874
 
10890
10875
  // TODO: Improve this
@@ -10893,7 +10878,7 @@
10893
10878
  background-color: var(--mer-surface__elevation--01);
10894
10879
  border-radius: 10px;
10895
10880
  box-shadow: var(--mer-elevation__box-shadow--03);
10896
- font-size: 8px;
10881
+ @extend %tiny-semi-bold-xs;
10897
10882
  }
10898
10883
 
10899
10884
  %tree-view-item--drag-enter {
@@ -10905,6 +10890,10 @@
10905
10890
  background-color: var(--mer-color__primary--200);
10906
10891
  }
10907
10892
 
10893
+ %tree-view-item__group {
10894
+ @include items-container-gap-small();
10895
+ }
10896
+
10908
10897
  %tree-view-item__header {
10909
10898
  min-inline-size: var(--tree-view__min-inline-size);
10910
10899
  @include item-colors-enabled();
@@ -10948,6 +10937,7 @@
10948
10937
  /// @param {String} $drag-preview-selector [".tree-view::part(drag-preview)"] -
10949
10938
  /// @param {String} $drop-selector [".tree-view::part(drop)"] -
10950
10939
  /// @param {String} $item--drag-enter-selector [".tree-view::part(item drag-enter)"] -
10940
+ /// @param {String} $item__group-selector [".tree-view::part(item__group)"] -
10951
10941
  /// @param {String} $item__header-selector [".tree-view::part(item__header)"] -
10952
10942
  /// @param {String} $item__header--not-selected-selector [".tree-view::part(item__header not-selected)"] -
10953
10943
  /// @param {String} $item__header--selected-selector [".tree-view::part(item__header selected)"] -
@@ -11004,6 +10994,7 @@
11004
10994
  // Item
11005
10995
  // - - - - - - - - - - - - - - - - - - - -
11006
10996
  $item__header-selector: ".tree-view::part(item__header)",
10997
+ $item__group-selector: ".tree-view::part(item__group)",
11007
10998
  $item__header--not-selected-selector:
11008
10999
  ".tree-view::part(item__header not-selected)",
11009
11000
  $item__header--selected-selector: ".tree-view::part(item__header selected)",
@@ -11062,9 +11053,21 @@
11062
11053
  @extend %tree-view-item--drag-enter;
11063
11054
  }
11064
11055
 
11065
- // - - - - - - - - - - - - - - - - - - - -
11066
- // Header
11067
- // - - - - - - - - - - - - - - - - - - - -
11056
+ #{$item__header-selector} {
11057
+ @extend %tree-view-item__header;
11058
+
11059
+ &:focus-visible {
11060
+ @extend %tree-view-item__header--focus-visible;
11061
+ }
11062
+ }
11063
+
11064
+ // Group
11065
+ #{$item__group-selector} {
11066
+ @extend %tree-view-item__group;
11067
+ }
11068
+
11069
+ // Header
11070
+
11068
11071
  #{$item__header-selector} {
11069
11072
  @extend %tree-view-item__header;
11070
11073
 
@@ -23017,34 +23020,6 @@
23017
23020
  // - - - - - - - - - - - - - - - - - - - -
23018
23021
  // font-face
23019
23022
  @if $font-face {
23020
- // Thin
23021
- @font-face {
23022
- font-family: "Inter";
23023
- src: url("#{$font-face-path}Inter-Thin.woff2");
23024
- font-weight: 100;
23025
- font-style: normal;
23026
- }
23027
- @font-face {
23028
- font-family: "Inter";
23029
- src: url("#{$font-face-path}Inter-ThinItalic.woff2");
23030
- font-weight: 100;
23031
- font-style: italic;
23032
- }
23033
-
23034
- // ExtraLight
23035
- @font-face {
23036
- font-family: "Inter";
23037
- src: url("#{$font-face-path}Inter-ExtraLight.woff2");
23038
- font-weight: 200;
23039
- font-style: normal;
23040
- }
23041
- @font-face {
23042
- font-family: "Inter";
23043
- src: url("#{$font-face-path}Inter-ExtraLightItalic.woff2");
23044
- font-weight: 200;
23045
- font-style: italic;
23046
- }
23047
-
23048
23023
  // Light
23049
23024
  @font-face {
23050
23025
  font-family: "Inter";
@@ -23114,34 +23089,6 @@
23114
23089
  font-weight: 700;
23115
23090
  font-style: italic;
23116
23091
  }
23117
-
23118
- // ExtraBold
23119
- @font-face {
23120
- font-family: "Inter";
23121
- src: url("#{$font-face-path}Inter-ExtraBold.woff2");
23122
- font-weight: 800;
23123
- font-style: normal;
23124
- }
23125
- @font-face {
23126
- font-family: "Inter";
23127
- src: url("#{$font-face-path}Inter-ExtraBoldItalic.woff2");
23128
- font-weight: 800;
23129
- font-style: italic;
23130
- }
23131
-
23132
- // Black
23133
- @font-face {
23134
- font-family: "Inter";
23135
- src: url("#{$font-face-path}Inter-Black.woff2");
23136
- font-weight: 900;
23137
- font-style: normal;
23138
- }
23139
- @font-face {
23140
- font-family: "Inter";
23141
- src: url("#{$font-face-path}Inter-BlackItalic.woff2");
23142
- font-weight: 900;
23143
- font-style: italic;
23144
- }
23145
23092
  }
23146
23093
 
23147
23094
  // - - - - - - - - - - - - - - - - - - - -
@@ -23253,14 +23200,11 @@
23253
23200
  color: var(--mer-text__on-surface);
23254
23201
  }
23255
23202
 
23256
- @if $font {
23257
- line-height: var(--mer-body__line-height);
23203
+ @if $font and $font-face {
23204
+ font-family: var(--font-family-body);
23258
23205
  }
23259
-
23260
- @if $font-face {
23261
- font-family: var(--mer-body__font-family);
23262
- font-size: var(--mer-body__font-size);
23263
- font-weight: var(--mer-body__font-weight);
23206
+ @if $font {
23207
+ @include body-font();
23264
23208
  }
23265
23209
  }
23266
23210
  }