@genexus/mercury 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mercury.scss CHANGED
@@ -245,9 +245,9 @@
245
245
  }
246
246
 
247
247
 
248
- /*----------------------
249
- Focus
250
- ----------------------*/
248
+ // ----------------------
249
+ // Focus
250
+ // ----------------------
251
251
  @mixin focus-outline($outline: false) {
252
252
  outline: var(--focus__outline-width) var(--focus__outline-style)
253
253
  var(--focus__outline-color);
@@ -257,9 +257,9 @@ Focus
257
257
  border-color: var(--borders-un-border-color__focused);
258
258
  }
259
259
 
260
- /*----------------------
261
- Scrollbar
262
- ----------------------*/
260
+ // ----------------------
261
+ // Scrollbar Styles
262
+ // ----------------------
263
263
  @mixin scrollbar-styles() {
264
264
  scrollbar-width: thin;
265
265
  scrollbar-color: var(--scrollbar-thumb__bg-color)
@@ -283,20 +283,26 @@ Scrollbar
283
283
  border-radius: var(--scrollbar-thumb__border-radius);
284
284
  }
285
285
 
286
- // thumb:hover
287
- &::-webkit-scrollbar-thumb:hover {
288
- background-color: var(--scrollbar-thumb__bg-color--hover);
289
- }
290
-
291
286
  // corner
292
287
  &::-webkit-scrollbar-corner {
293
288
  background: var(--scrollbar-corner__bg);
294
289
  }
295
290
  }
296
291
 
297
- /*----------------------
298
- Control
299
- ----------------------*/
292
+ // ----------------------
293
+ // Scrollbar Components
294
+ // ----------------------
295
+ @mixin scrollbar-components() {
296
+ :host(.ch-scrollable),
297
+ .ch-scrollable,
298
+ .scrollable {
299
+ @include scrollbar-styles();
300
+ }
301
+ }
302
+
303
+ // ----------------------
304
+ // Control
305
+ // ----------------------
300
306
 
301
307
  // Colors
302
308
  @mixin control-colors-enabled() {
@@ -370,9 +376,9 @@ Control
370
376
  font-style: var(--control-placeholder__font-style);
371
377
  }
372
378
 
373
- /*----------------------
374
- Control Tiny
375
- ----------------------*/
379
+ // ----------------------
380
+ // Control Tiny
381
+ // ----------------------
376
382
 
377
383
  @mixin control-tiny-size() {
378
384
  block-size: var(--control-tiny__size);
@@ -394,9 +400,9 @@ Control Tiny
394
400
  --control__border-color: var(--control__border-color--error);
395
401
  }
396
402
 
397
- /*----------------------
398
- Items Container
399
- ----------------------*/
403
+ // ----------------------
404
+ // Items Container
405
+ // ----------------------
400
406
 
401
407
  @mixin items-container-border() {
402
408
  border-style: var(--items-container__border-style);
@@ -429,9 +435,9 @@ Items Container
429
435
  background-color: var(--items-container-separator__bg-color);
430
436
  }
431
437
 
432
- /*---------------------------------
433
- Single Item (Every item except grid)
434
- ----------------------------------*/
438
+ // ------------------------------------
439
+ // Single Item (Every item except grid)
440
+ // ------------------------------------
435
441
 
436
442
  @mixin item-colors-enabled() {
437
443
  background-color: var(--item__bg-color);
@@ -505,9 +511,9 @@ Single Item (Every item except grid)
505
511
  font-weight: var(--item-header__font-weight);
506
512
  }
507
513
 
508
- /*---------------------------------
509
- Grid Item
510
- ----------------------------------*/
514
+ // ---------------------------------
515
+ // Grid Item
516
+ // ---------------------------------
511
517
 
512
518
  // Row
513
519
  @mixin grid-row-colors-enabled() {
@@ -544,8 +550,8 @@ Grid Item
544
550
  // we should redefine '--grid-cell__padding-inline' here because when a control
545
551
  // is inside a a tabular-grid-cell the cell padding-inline value is required to
546
552
  // be applied on the control padding-inline.
547
- padding-block: 0 !important; //WA to force padding 0
548
- padding-inline: 0 !important; //WA to force padding 0
553
+ padding-block: 0;
554
+ padding-inline: 0;
549
555
  }
550
556
  @mixin grid-rowset-legend-padding-block() {
551
557
  padding-block-start: var(--mer-spacing--2xs);
@@ -562,9 +568,9 @@ Grid Item
562
568
  --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
563
569
  }
564
570
 
565
- /*----------------------
566
- Tab Caption (Button)
567
- ----------------------*/
571
+ // ----------------------
572
+ // Tab Caption (Button)
573
+ // ----------------------
568
574
  @mixin tab-button-border-block() {
569
575
  border-block: var(--tab-caption__border-width)
570
576
  var(--tab-caption__border-style) var(--tab-caption__border-color);
@@ -623,9 +629,9 @@ Tab Caption (Button)
623
629
  padding-inline: var(--tab-caption__padding-inline);
624
630
  }
625
631
 
626
- /*----------------------
627
- Label
628
- ----------------------*/
632
+ // ----------------------
633
+ // Label
634
+ // ----------------------
629
635
 
630
636
  @mixin label-font() {
631
637
  color: var(--label__color);
@@ -646,9 +652,9 @@ Label
646
652
  --label__color: var(--label__color--disabled);
647
653
  }
648
654
 
649
- /*----------------------
650
- Window
651
- ----------------------*/
655
+ // ----------------------
656
+ // Window
657
+ // ----------------------
652
658
 
653
659
  // TODO: This styles should better be applied on the ch-window ?
654
660
  %window-styles {
@@ -659,18 +665,18 @@ Window
659
665
  box-shadow: var(--mer-box-shadow--01);
660
666
  }
661
667
 
662
- /*----------------------
663
- Dropdown
664
- ----------------------*/
668
+ // ----------------------
669
+ // Dropdown
670
+ // ----------------------
665
671
 
666
672
  @mixin dropdown-styles() {
667
673
  box-shadow: var(--mer-box-shadow--01);
668
674
  border-radius: var(--mer-border__radius--sm);
669
675
  }
670
676
 
671
- /*----------------------
672
- Dialog Footer
673
- ----------------------*/
677
+ // ----------------------
678
+ // Dialog Footer
679
+ // ----------------------
674
680
 
675
681
  // Defined here to be used on /components/dialog as well as to replicate
676
682
  // dialog footer styles on genexus-ide-ui components
@@ -700,9 +706,9 @@ Dialog Footer
700
706
  }
701
707
  }
702
708
 
703
- /*----------------------
704
- Body Spacing
705
- ----------------------*/
709
+ // ----------------------
710
+ // Body Spacing
711
+ // ----------------------
706
712
 
707
713
  // This custom properties define the block and inline spacing of containers.
708
714
  // i.e.: dialog, layout, etc..
@@ -1127,9 +1133,9 @@ Body Spacing
1127
1133
  }
1128
1134
 
1129
1135
  @mixin semantic-control() {
1130
- /*-------------------------------------------------------------
1131
- Inline Controls should have the same height to look good inline
1132
- --------------------------------------------------------------*/
1136
+ // ---------------------------------------------------------------
1137
+ // Inline Controls should have the same height to look good inline
1138
+ // ---------------------------------------------------------------
1133
1139
 
1134
1140
  // - - - - - - - Colors - - - - - - -
1135
1141
 
@@ -1192,9 +1198,9 @@ Body Spacing
1192
1198
  );
1193
1199
  --control-placeholder__font-style: italic;
1194
1200
 
1195
- /*-------------------------------------------------------------
1196
- Tiny controls (ie.: checkbox, radio-button)
1197
- --------------------------------------------------------------*/
1201
+ // -------------------------------------------------------------
1202
+ // Tiny controls (ie.: checkbox, radio-button)
1203
+ // -------------------------------------------------------------
1198
1204
 
1199
1205
  // border colors are the same from "--control__***" tokens
1200
1206
 
@@ -1205,9 +1211,9 @@ Body Spacing
1205
1211
  --control-tiny__border-radius-rounded: 50%;
1206
1212
  --control-tiny-option__color: var(--control__border-color);
1207
1213
 
1208
- /*-------------------------------------------------------------
1209
- Controls Label
1210
- --------------------------------------------------------------*/
1214
+ // -------------------------------------------------------------
1215
+ // Controls Label
1216
+ // -------------------------------------------------------------
1211
1217
 
1212
1218
  // fixed values
1213
1219
  --label__font-size: var(--mer-font__size--3xs);
@@ -1234,9 +1240,9 @@ Body Spacing
1234
1240
  // error
1235
1241
  --label__color--error: var(--mer-text__neutral);
1236
1242
 
1237
- /*-------------------------------------------------------------
1238
- Controls Container
1239
- --------------------------------------------------------------*/
1243
+ // -------------------------------------------------------------
1244
+ // Controls Container
1245
+ // -------------------------------------------------------------
1240
1246
 
1241
1247
  --controls__container-row-gap: var(--mer-spacing--md);
1242
1248
  --controls__group-gap--block: var(--mer-spacing--sm);
@@ -1449,9 +1455,9 @@ Body Spacing
1449
1455
  }
1450
1456
 
1451
1457
  @mixin semantic-general() {
1452
- /*----------------------
1453
- Body
1454
- ----------------------*/
1458
+ // ----------------------
1459
+ // Body
1460
+ // ----------------------
1455
1461
  --mer-body__bg-color: var(--mer-color__surface);
1456
1462
  --mer-body__color: var(--mer-text__on-surface);
1457
1463
  --mer-body__font-size: var(--mer-font__size--3xs);
@@ -1460,37 +1466,37 @@ Body Spacing
1460
1466
  --mer-body__line-height: var(--mer-line-height--spaced);
1461
1467
  --mer-body__margin-block: var(--mer-spacing--sm);
1462
1468
 
1463
- /*----------------------
1464
- System
1465
- ----------------------*/
1469
+ // ----------------------
1470
+ // System
1471
+ // ----------------------
1466
1472
  // System tokens are the most basic kind, used when there is not a more specific categorization.
1467
1473
  --mer-system__border-width: var(--mer-border__width--sm);
1468
1474
  --mer-system__border-style: solid;
1469
1475
  --mer-system__border-color: var(--mer-color__neutral-gray--500);
1470
1476
 
1471
- /*----------------------
1472
- Heading
1473
- ----------------------*/
1477
+ // ----------------------
1478
+ // Heading
1479
+ // ----------------------
1474
1480
  --mer-heading__color: var(--mer-color__neutral-gray--100);
1475
1481
 
1476
- /*----------------------
1477
- Scrollbar
1478
- ----------------------*/
1482
+ // ----------------------
1483
+ // Scrollbar
1484
+ // ----------------------
1479
1485
  // scrollbar
1480
- --scrollbar__size: var(--mer-spacing--xs);
1486
+ --scrollbar__size: var(--mer-spacing--2xs);
1481
1487
  // scrollbar-track
1482
- --scrollbar-track__bg-color: var(--mer-color__elevation--03);
1488
+ --scrollbar-track__bg-color: var(--mer-color__neutral-gray--650);
1489
+
1483
1490
  --scrollbar-track__border-radius: var(--mer-spacing--xs);
1484
1491
  // scrollbar-thumb
1485
- --scrollbar-thumb__bg-color: var(--mer-color__elevation--04);
1486
- --scrollbar-thumb__bg-color--hover: #42474c;
1492
+ --scrollbar-thumb__bg-color: var(--mer-color__neutral-gray--550);
1487
1493
  --scrollbar-thumb__border-radius: var(--mer-spacing--xs);
1488
1494
  // scrollbar-thumb
1489
1495
  --scrollbar-corner__bg: transparent;
1490
1496
 
1491
- /*----------------------
1492
- Icon Size
1493
- ----------------------*/
1497
+ // ----------------------
1498
+ // Icon Size
1499
+ // ----------------------
1494
1500
  // box (shell)
1495
1501
  --mer-icon__box--sm: var(--mer-spacing--sm);
1496
1502
  --mer-icon__box--md: 14px; // no spacing token exists for 14px.
@@ -1498,9 +1504,9 @@ Body Spacing
1498
1504
  --mer-icon__size--sm: 100%;
1499
1505
  --mer-icon__size--md: 100%;
1500
1506
 
1501
- /*----------------------------------------------------------
1502
- Form Input (form-input-*** background-position-x RTL support)
1503
- -----------------------------------------------------------*/
1507
+ // ------------------------------------------------------------
1508
+ // Form Input (form-input-*** background-position-x RTL support)
1509
+ // ------------------------------------------------------------
1504
1510
  --mer-form-input__padding-inline: var(--mer-spacing--xs);
1505
1511
  --mer-form-input__bg-position--x-value: var(--mer-form-input__padding-inline);
1506
1512
  --mer-form-input__bg-position--x: var(--mer-form-input__bg-position--x-value);
@@ -1523,9 +1529,9 @@ Body Spacing
1523
1529
  );
1524
1530
  --mer-checkbox__option-checked-image: url("data:image/svg+xml, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='currentColor' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>");
1525
1531
 
1526
- /*----------------------
1527
- Window
1528
- ----------------------*/
1532
+ // ----------------------
1533
+ // Window
1534
+ // ----------------------
1529
1535
  // TODO: This styles should better be applied on the ch-window.
1530
1536
  --window__border: var(--mer-border__width--sm) solid
1531
1537
  var(--mer-color__elevation--04);
@@ -1535,9 +1541,9 @@ Body Spacing
1535
1541
  --window__gap: var(--mer-spacing--xs);
1536
1542
  --window__box-shadow: var(--mer-box-shadow--01);
1537
1543
 
1538
- /*----------------------
1539
- Focus
1540
- ----------------------*/
1544
+ // ----------------------
1545
+ // Focus
1546
+ // ----------------------
1541
1547
  --focus__outline-width: var(--mer-border__width--sm);
1542
1548
  --focus__outline-style: solid;
1543
1549
  --focus__outline-color: var(--mer-color__primary-blue--200);
@@ -1569,6 +1575,7 @@ Body Spacing
1569
1575
 
1570
1576
  @mixin semantic-heading() {
1571
1577
  --mer-heading__gray--light: var(--mer-color__neutral-gray--200);
1578
+ --mer-header__background-color: var(--mer-color__neutral-gray--700);
1572
1579
  }
1573
1580
 
1574
1581
 
@@ -1652,9 +1659,9 @@ Body Spacing
1652
1659
  }
1653
1660
 
1654
1661
 
1655
- /*----------------------
1656
- Focus
1657
- ----------------------*/
1662
+ // ----------------------
1663
+ // Focus
1664
+ // ----------------------
1658
1665
  @mixin focus-outline($outline: false) {
1659
1666
  outline: var(--focus__outline-width) var(--focus__outline-style)
1660
1667
  var(--focus__outline-color);
@@ -1664,9 +1671,9 @@ Focus
1664
1671
  border-color: var(--borders-un-border-color__focused);
1665
1672
  }
1666
1673
 
1667
- /*----------------------
1668
- Scrollbar
1669
- ----------------------*/
1674
+ // ----------------------
1675
+ // Scrollbar Styles
1676
+ // ----------------------
1670
1677
  @mixin scrollbar-styles() {
1671
1678
  scrollbar-width: thin;
1672
1679
  scrollbar-color: var(--scrollbar-thumb__bg-color)
@@ -1690,20 +1697,26 @@ Scrollbar
1690
1697
  border-radius: var(--scrollbar-thumb__border-radius);
1691
1698
  }
1692
1699
 
1693
- // thumb:hover
1694
- &::-webkit-scrollbar-thumb:hover {
1695
- background-color: var(--scrollbar-thumb__bg-color--hover);
1696
- }
1697
-
1698
1700
  // corner
1699
1701
  &::-webkit-scrollbar-corner {
1700
1702
  background: var(--scrollbar-corner__bg);
1701
1703
  }
1702
1704
  }
1703
1705
 
1704
- /*----------------------
1705
- Control
1706
- ----------------------*/
1706
+ // ----------------------
1707
+ // Scrollbar Components
1708
+ // ----------------------
1709
+ @mixin scrollbar-components() {
1710
+ :host(.ch-scrollable),
1711
+ .ch-scrollable,
1712
+ .scrollable {
1713
+ @include scrollbar-styles();
1714
+ }
1715
+ }
1716
+
1717
+ // ----------------------
1718
+ // Control
1719
+ // ----------------------
1707
1720
 
1708
1721
  // Colors
1709
1722
  @mixin control-colors-enabled() {
@@ -1777,9 +1790,9 @@ Control
1777
1790
  font-style: var(--control-placeholder__font-style);
1778
1791
  }
1779
1792
 
1780
- /*----------------------
1781
- Control Tiny
1782
- ----------------------*/
1793
+ // ----------------------
1794
+ // Control Tiny
1795
+ // ----------------------
1783
1796
 
1784
1797
  @mixin control-tiny-size() {
1785
1798
  block-size: var(--control-tiny__size);
@@ -1801,9 +1814,9 @@ Control Tiny
1801
1814
  --control__border-color: var(--control__border-color--error);
1802
1815
  }
1803
1816
 
1804
- /*----------------------
1805
- Items Container
1806
- ----------------------*/
1817
+ // ----------------------
1818
+ // Items Container
1819
+ // ----------------------
1807
1820
 
1808
1821
  @mixin items-container-border() {
1809
1822
  border-style: var(--items-container__border-style);
@@ -1836,9 +1849,9 @@ Items Container
1836
1849
  background-color: var(--items-container-separator__bg-color);
1837
1850
  }
1838
1851
 
1839
- /*---------------------------------
1840
- Single Item (Every item except grid)
1841
- ----------------------------------*/
1852
+ // ------------------------------------
1853
+ // Single Item (Every item except grid)
1854
+ // ------------------------------------
1842
1855
 
1843
1856
  @mixin item-colors-enabled() {
1844
1857
  background-color: var(--item__bg-color);
@@ -1912,9 +1925,9 @@ Single Item (Every item except grid)
1912
1925
  font-weight: var(--item-header__font-weight);
1913
1926
  }
1914
1927
 
1915
- /*---------------------------------
1916
- Grid Item
1917
- ----------------------------------*/
1928
+ // ---------------------------------
1929
+ // Grid Item
1930
+ // ---------------------------------
1918
1931
 
1919
1932
  // Row
1920
1933
  @mixin grid-row-colors-enabled() {
@@ -1951,8 +1964,8 @@ Grid Item
1951
1964
  // we should redefine '--grid-cell__padding-inline' here because when a control
1952
1965
  // is inside a a tabular-grid-cell the cell padding-inline value is required to
1953
1966
  // be applied on the control padding-inline.
1954
- padding-block: 0 !important; //WA to force padding 0
1955
- padding-inline: 0 !important; //WA to force padding 0
1967
+ padding-block: 0;
1968
+ padding-inline: 0;
1956
1969
  }
1957
1970
  @mixin grid-rowset-legend-padding-block() {
1958
1971
  padding-block-start: var(--mer-spacing--2xs);
@@ -1969,9 +1982,9 @@ Grid Item
1969
1982
  --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
1970
1983
  }
1971
1984
 
1972
- /*----------------------
1973
- Tab Caption (Button)
1974
- ----------------------*/
1985
+ // ----------------------
1986
+ // Tab Caption (Button)
1987
+ // ----------------------
1975
1988
  @mixin tab-button-border-block() {
1976
1989
  border-block: var(--tab-caption__border-width)
1977
1990
  var(--tab-caption__border-style) var(--tab-caption__border-color);
@@ -2030,9 +2043,9 @@ Tab Caption (Button)
2030
2043
  padding-inline: var(--tab-caption__padding-inline);
2031
2044
  }
2032
2045
 
2033
- /*----------------------
2034
- Label
2035
- ----------------------*/
2046
+ // ----------------------
2047
+ // Label
2048
+ // ----------------------
2036
2049
 
2037
2050
  @mixin label-font() {
2038
2051
  color: var(--label__color);
@@ -2053,9 +2066,9 @@ Label
2053
2066
  --label__color: var(--label__color--disabled);
2054
2067
  }
2055
2068
 
2056
- /*----------------------
2057
- Window
2058
- ----------------------*/
2069
+ // ----------------------
2070
+ // Window
2071
+ // ----------------------
2059
2072
 
2060
2073
  // TODO: This styles should better be applied on the ch-window ?
2061
2074
  %window-styles {
@@ -2066,18 +2079,18 @@ Window
2066
2079
  box-shadow: var(--mer-box-shadow--01);
2067
2080
  }
2068
2081
 
2069
- /*----------------------
2070
- Dropdown
2071
- ----------------------*/
2082
+ // ----------------------
2083
+ // Dropdown
2084
+ // ----------------------
2072
2085
 
2073
2086
  @mixin dropdown-styles() {
2074
2087
  box-shadow: var(--mer-box-shadow--01);
2075
2088
  border-radius: var(--mer-border__radius--sm);
2076
2089
  }
2077
2090
 
2078
- /*----------------------
2079
- Dialog Footer
2080
- ----------------------*/
2091
+ // ----------------------
2092
+ // Dialog Footer
2093
+ // ----------------------
2081
2094
 
2082
2095
  // Defined here to be used on /components/dialog as well as to replicate
2083
2096
  // dialog footer styles on genexus-ide-ui components
@@ -2107,9 +2120,9 @@ Dialog Footer
2107
2120
  }
2108
2121
  }
2109
2122
 
2110
- /*----------------------
2111
- Body Spacing
2112
- ----------------------*/
2123
+ // ----------------------
2124
+ // Body Spacing
2125
+ // ----------------------
2113
2126
 
2114
2127
  // This custom properties define the block and inline spacing of containers.
2115
2128
  // i.e.: dialog, layout, etc..
@@ -2735,9 +2748,9 @@ Body Spacing
2735
2748
  }
2736
2749
 
2737
2750
 
2738
- /*----------------------
2739
- Heading
2740
- ----------------------*/
2751
+ // ----------------------
2752
+ // Heading
2753
+ // ----------------------
2741
2754
 
2742
2755
  %heading {
2743
2756
  &-base {
@@ -2893,9 +2906,9 @@ Heading
2893
2906
  }
2894
2907
  }
2895
2908
 
2896
- /*-------------------------------------
2897
- Text States e.g.: for the property-grid
2898
- -------------------------------------*/
2909
+ // ---------------------------------------
2910
+ // Text States e.g.: for the property-grid
2911
+ // ---------------------------------------
2899
2912
 
2900
2913
  %text-edited {
2901
2914
  font-weight: var(--mer-font__weight--semi-bold);
@@ -3503,9 +3516,9 @@ Text States e.g.: for the property-grid
3503
3516
  }
3504
3517
 
3505
3518
 
3506
- /*----------------------
3507
- Focus
3508
- ----------------------*/
3519
+ // ----------------------
3520
+ // Focus
3521
+ // ----------------------
3509
3522
  @mixin focus-outline($outline: false) {
3510
3523
  outline: var(--focus__outline-width) var(--focus__outline-style)
3511
3524
  var(--focus__outline-color);
@@ -3515,9 +3528,9 @@ Focus
3515
3528
  border-color: var(--borders-un-border-color__focused);
3516
3529
  }
3517
3530
 
3518
- /*----------------------
3519
- Scrollbar
3520
- ----------------------*/
3531
+ // ----------------------
3532
+ // Scrollbar Styles
3533
+ // ----------------------
3521
3534
  @mixin scrollbar-styles() {
3522
3535
  scrollbar-width: thin;
3523
3536
  scrollbar-color: var(--scrollbar-thumb__bg-color)
@@ -3541,20 +3554,26 @@ Scrollbar
3541
3554
  border-radius: var(--scrollbar-thumb__border-radius);
3542
3555
  }
3543
3556
 
3544
- // thumb:hover
3545
- &::-webkit-scrollbar-thumb:hover {
3546
- background-color: var(--scrollbar-thumb__bg-color--hover);
3547
- }
3548
-
3549
3557
  // corner
3550
3558
  &::-webkit-scrollbar-corner {
3551
3559
  background: var(--scrollbar-corner__bg);
3552
3560
  }
3553
3561
  }
3554
3562
 
3555
- /*----------------------
3556
- Control
3557
- ----------------------*/
3563
+ // ----------------------
3564
+ // Scrollbar Components
3565
+ // ----------------------
3566
+ @mixin scrollbar-components() {
3567
+ :host(.ch-scrollable),
3568
+ .ch-scrollable,
3569
+ .scrollable {
3570
+ @include scrollbar-styles();
3571
+ }
3572
+ }
3573
+
3574
+ // ----------------------
3575
+ // Control
3576
+ // ----------------------
3558
3577
 
3559
3578
  // Colors
3560
3579
  @mixin control-colors-enabled() {
@@ -3628,9 +3647,9 @@ Control
3628
3647
  font-style: var(--control-placeholder__font-style);
3629
3648
  }
3630
3649
 
3631
- /*----------------------
3632
- Control Tiny
3633
- ----------------------*/
3650
+ // ----------------------
3651
+ // Control Tiny
3652
+ // ----------------------
3634
3653
 
3635
3654
  @mixin control-tiny-size() {
3636
3655
  block-size: var(--control-tiny__size);
@@ -3652,9 +3671,9 @@ Control Tiny
3652
3671
  --control__border-color: var(--control__border-color--error);
3653
3672
  }
3654
3673
 
3655
- /*----------------------
3656
- Items Container
3657
- ----------------------*/
3674
+ // ----------------------
3675
+ // Items Container
3676
+ // ----------------------
3658
3677
 
3659
3678
  @mixin items-container-border() {
3660
3679
  border-style: var(--items-container__border-style);
@@ -3687,9 +3706,9 @@ Items Container
3687
3706
  background-color: var(--items-container-separator__bg-color);
3688
3707
  }
3689
3708
 
3690
- /*---------------------------------
3691
- Single Item (Every item except grid)
3692
- ----------------------------------*/
3709
+ // ------------------------------------
3710
+ // Single Item (Every item except grid)
3711
+ // ------------------------------------
3693
3712
 
3694
3713
  @mixin item-colors-enabled() {
3695
3714
  background-color: var(--item__bg-color);
@@ -3763,9 +3782,9 @@ Single Item (Every item except grid)
3763
3782
  font-weight: var(--item-header__font-weight);
3764
3783
  }
3765
3784
 
3766
- /*---------------------------------
3767
- Grid Item
3768
- ----------------------------------*/
3785
+ // ---------------------------------
3786
+ // Grid Item
3787
+ // ---------------------------------
3769
3788
 
3770
3789
  // Row
3771
3790
  @mixin grid-row-colors-enabled() {
@@ -3802,8 +3821,8 @@ Grid Item
3802
3821
  // we should redefine '--grid-cell__padding-inline' here because when a control
3803
3822
  // is inside a a tabular-grid-cell the cell padding-inline value is required to
3804
3823
  // be applied on the control padding-inline.
3805
- padding-block: 0 !important; //WA to force padding 0
3806
- padding-inline: 0 !important; //WA to force padding 0
3824
+ padding-block: 0;
3825
+ padding-inline: 0;
3807
3826
  }
3808
3827
  @mixin grid-rowset-legend-padding-block() {
3809
3828
  padding-block-start: var(--mer-spacing--2xs);
@@ -3820,9 +3839,9 @@ Grid Item
3820
3839
  --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
3821
3840
  }
3822
3841
 
3823
- /*----------------------
3824
- Tab Caption (Button)
3825
- ----------------------*/
3842
+ // ----------------------
3843
+ // Tab Caption (Button)
3844
+ // ----------------------
3826
3845
  @mixin tab-button-border-block() {
3827
3846
  border-block: var(--tab-caption__border-width)
3828
3847
  var(--tab-caption__border-style) var(--tab-caption__border-color);
@@ -3881,9 +3900,9 @@ Tab Caption (Button)
3881
3900
  padding-inline: var(--tab-caption__padding-inline);
3882
3901
  }
3883
3902
 
3884
- /*----------------------
3885
- Label
3886
- ----------------------*/
3903
+ // ----------------------
3904
+ // Label
3905
+ // ----------------------
3887
3906
 
3888
3907
  @mixin label-font() {
3889
3908
  color: var(--label__color);
@@ -3904,9 +3923,9 @@ Label
3904
3923
  --label__color: var(--label__color--disabled);
3905
3924
  }
3906
3925
 
3907
- /*----------------------
3908
- Window
3909
- ----------------------*/
3926
+ // ----------------------
3927
+ // Window
3928
+ // ----------------------
3910
3929
 
3911
3930
  // TODO: This styles should better be applied on the ch-window ?
3912
3931
  %window-styles {
@@ -3917,18 +3936,18 @@ Window
3917
3936
  box-shadow: var(--mer-box-shadow--01);
3918
3937
  }
3919
3938
 
3920
- /*----------------------
3921
- Dropdown
3922
- ----------------------*/
3939
+ // ----------------------
3940
+ // Dropdown
3941
+ // ----------------------
3923
3942
 
3924
3943
  @mixin dropdown-styles() {
3925
3944
  box-shadow: var(--mer-box-shadow--01);
3926
3945
  border-radius: var(--mer-border__radius--sm);
3927
3946
  }
3928
3947
 
3929
- /*----------------------
3930
- Dialog Footer
3931
- ----------------------*/
3948
+ // ----------------------
3949
+ // Dialog Footer
3950
+ // ----------------------
3932
3951
 
3933
3952
  // Defined here to be used on /components/dialog as well as to replicate
3934
3953
  // dialog footer styles on genexus-ide-ui components
@@ -3958,9 +3977,9 @@ Dialog Footer
3958
3977
  }
3959
3978
  }
3960
3979
 
3961
- /*----------------------
3962
- Body Spacing
3963
- ----------------------*/
3980
+ // ----------------------
3981
+ // Body Spacing
3982
+ // ----------------------
3964
3983
 
3965
3984
  // This custom properties define the block and inline spacing of containers.
3966
3985
  // i.e.: dialog, layout, etc..
@@ -4227,9 +4246,9 @@ Body Spacing
4227
4246
  @extend %control-footer--with-border;
4228
4247
  }
4229
4248
 
4230
- /*------------------------------
4231
- Edges (For dragging)
4232
- -------------------------------*/
4249
+ // ------------------------------
4250
+ // Edges (For dragging)
4251
+ // ------------------------------
4233
4252
  &__edge {
4234
4253
  $edge-border-width: var(--mer-border__width--lg);
4235
4254
  $edge-border-style: solid;
@@ -4334,9 +4353,9 @@ Body Spacing
4334
4353
  @extend %dialog__footer;
4335
4354
  }
4336
4355
 
4337
- /*------------------------------
4338
- Edges (For dragging)
4339
- -------------------------------*/
4356
+ // ------------------------------
4357
+ // Edges (For dragging)
4358
+ // ------------------------------
4340
4359
  #{$edge-selector} {
4341
4360
  @extend %dialog__edge;
4342
4361
  &:hover {
@@ -4885,6 +4904,154 @@ Body Spacing
4885
4904
  }
4886
4905
  }
4887
4906
 
4907
+ // node type
4908
+ @mixin cell-node-type-text() {
4909
+ @include grid-cell-padding-inline-block();
4910
+ }
4911
+ @mixin cell-node-type-element() {
4912
+ @include control-remove-border();
4913
+ @include grid-cell-remove-padding();
4914
+ --control__padding-inline: var(--grid-cell__padding-inline);
4915
+ // to stretch the control
4916
+ display: grid;
4917
+ align-items: stretch;
4918
+ justify-content: stretch;
4919
+ }
4920
+ @mixin cell-node-type-element--hover() {
4921
+ outline: var(--focus__outline-width) var(--focus__outline-style)
4922
+ var(--control__border-color--hover);
4923
+ outline-offset: var(--focus__outline-offset);
4924
+ }
4925
+ // cell alignment block
4926
+ @mixin cell-alignment-block-start() {
4927
+ align-items: start;
4928
+ }
4929
+ @mixin cell-alignment-block-center() {
4930
+ align-items: center;
4931
+ }
4932
+ @mixin cell-alignment-block-end() {
4933
+ align-items: end;
4934
+ }
4935
+ // cell alignment inline
4936
+ @mixin cell-alignment-inline-start() {
4937
+ justify-content: start;
4938
+ }
4939
+ @mixin cell-alignment-inline-center() {
4940
+ justify-content: center;
4941
+ }
4942
+ @mixin cell-alignment-inline-end() {
4943
+ justify-content: center;
4944
+ }
4945
+ // cell with ellipsis
4946
+ @mixin cell-ellipsis() {
4947
+ display: inline-block;
4948
+ white-space: nowrap;
4949
+ overflow: hidden;
4950
+ text-overflow: ellipsis;
4951
+ }
4952
+
4953
+ /// @group Grid
4954
+ /// @param {String} $tabular-grid-selector [".tabular-grid"] -
4955
+ /// @param {("text" | "element")} $tabular-grid-cell-node-type ["text"] -
4956
+ /// @param {("start" | "center" | "end")} $tabular-grid-cell-block-alignment ["start"] -
4957
+ /// @param {("start" | "center" | "end")} $tabular-grid-cell-inline-alignment ["start"] -
4958
+ /// @param {Boolean} $tabular-grid-cell-apply-ellipsis [false] -
4959
+ /// @param {List} $tabular-grid-affected-columns-nth-list [null] -
4960
+
4961
+ @mixin tabular-grid-cell-layout(
4962
+ $tabular-grid-selector: ".tabular-grid",
4963
+ $tabular-grid-cell-node-type: "text",
4964
+ $tabular-grid-cell-block-alignment: "start",
4965
+ $tabular-grid-cell-inline-alignment: "start",
4966
+ $tabular-grid-cell-apply-ellipsis: false,
4967
+ $tabular-grid-affected-columns-nth-list: null
4968
+ ) {
4969
+ $selector: null;
4970
+ $cell-tag-name: "ch-tabular-grid-cell";
4971
+ $where-pseudo-class: ":where";
4972
+ $where-selector: ();
4973
+ // the selector varies depending on wether $tabular-grid-affected-columns-nth-list is null or not.
4974
+ // if it is null, all cells should be affected.
4975
+ @if $tabular-grid-affected-columns-nth-list != null {
4976
+ @each $nth in $tabular-grid-affected-columns-nth-list {
4977
+ $where-selector: append($where-selector, ":nth-child(#{$nth})", comma);
4978
+ }
4979
+ $selector: #{$tabular-grid-selector}
4980
+ #{$cell-tag-name}#{$where-pseudo-class
4981
+ }(#{$where-selector});
4982
+ } @else {
4983
+ // if no $editable-columns-nth was provided, apply to all cells
4984
+ $selector: #{$tabular-grid-selector} #{$cell-tag-name};
4985
+ }
4986
+ #{$selector} {
4987
+ // node type
4988
+ @if $tabular-grid-cell-node-type == "text" {
4989
+ @include cell-node-type-text();
4990
+ }
4991
+ @if $tabular-grid-cell-node-type == "element" {
4992
+ @include cell-node-type-element();
4993
+ }
4994
+ &:hover {
4995
+ @if $tabular-grid-cell-node-type == "element" {
4996
+ @include cell-node-type-element--hover();
4997
+ }
4998
+ }
4999
+ // block alignment (only should apply if $tabular-grid-cell-node-type == "text"
5000
+ @if $tabular-grid-cell-node-type ==
5001
+ "text" and
5002
+ $tabular-grid-cell-block-alignment ==
5003
+ "start"
5004
+ {
5005
+ @include cell-alignment-block-start();
5006
+ }
5007
+ @if $tabular-grid-cell-node-type ==
5008
+ "text" and
5009
+ $tabular-grid-cell-block-alignment ==
5010
+ "center"
5011
+ {
5012
+ @include cell-alignment-block-center();
5013
+ }
5014
+ @if $tabular-grid-cell-node-type ==
5015
+ "text" and
5016
+ $tabular-grid-cell-block-alignment ==
5017
+ "end"
5018
+ {
5019
+ @include cell-alignment-block-end();
5020
+ }
5021
+ // inline alignment
5022
+ @if $tabular-grid-cell-node-type ==
5023
+ "text" and
5024
+ $tabular-grid-cell-inline-alignment ==
5025
+ "start"
5026
+ {
5027
+ @include cell-alignment-inline-start();
5028
+ }
5029
+ @if $tabular-grid-cell-node-type ==
5030
+ "text" and
5031
+ $tabular-grid-cell-inline-alignment ==
5032
+ "center"
5033
+ {
5034
+ @include cell-alignment-inline-center();
5035
+ }
5036
+ @if $tabular-grid-cell-node-type ==
5037
+ "text" and
5038
+ $tabular-grid-cell-inline-alignment ==
5039
+ "end"
5040
+ {
5041
+ @include cell-alignment-inline-end();
5042
+ }
5043
+ // ellipsis (only should apply if $tabular-grid-cell-node-type == "text"
5044
+ @if $tabular-grid-cell-node-type ==
5045
+ "text" and
5046
+ $tabular-grid-cell-apply-ellipsis ==
5047
+ true
5048
+ {
5049
+ @include cell-ellipsis();
5050
+ }
5051
+ }
5052
+ }
5053
+
5054
+
4888
5055
  // - - - - - - - - - - - - - - - - - - - -
4889
5056
  // ch-property-grid
4890
5057
  // - - - - - - - - - - - - - - - - - - - -
@@ -4893,7 +5060,7 @@ Body Spacing
4893
5060
  // shared properties
4894
5061
  &__property,
4895
5062
  &__value {
4896
- align-items: center;
5063
+ @include cell-ellipsis();
4897
5064
  }
4898
5065
 
4899
5066
  &__property {
@@ -4902,9 +5069,6 @@ Body Spacing
4902
5069
  }
4903
5070
  }
4904
5071
  &__value {
4905
- @include control-remove-border();
4906
- @extend %ellipsis;
4907
-
4908
5072
  &--readonly {
4909
5073
  @extend %text-readonly;
4910
5074
  }
@@ -4912,8 +5076,10 @@ Body Spacing
4912
5076
  @extend %text-edited;
4913
5077
  }
4914
5078
  &--editing {
4915
- display: grid;
4916
- padding: 0;
5079
+ @include cell-node-type-element();
5080
+ &-hover {
5081
+ @include cell-node-type-element--hover();
5082
+ }
4917
5083
  }
4918
5084
  }
4919
5085
 
@@ -5212,6 +5378,9 @@ Body Spacing
5212
5378
  #{$property-grid__value--editing-selector} {
5213
5379
  @extend %property-grid__value--editing;
5214
5380
  }
5381
+ #{$property-grid__value--editing-selector}:hover {
5382
+ @extend %property-grid__value--editing-hover;
5383
+ }
5215
5384
 
5216
5385
  // - - - - - - - - - - - - - - - - - - - -
5217
5386
  // ch-property-grid-rowset
@@ -6676,8 +6845,8 @@ Body Spacing
6676
6845
  --control__padding-inline: var(--grid-cell__padding-inline);
6677
6846
  // to stretch the control
6678
6847
  display: grid;
6679
- align-items: stretch !important; // WA to win over other rule that is more specific
6680
- justify-content: stretch !important; // WA to win over other rule that is more specific
6848
+ align-items: stretch;
6849
+ justify-content: stretch;
6681
6850
  }
6682
6851
  @mixin cell-node-type-element--hover() {
6683
6852
  outline: var(--focus__outline-width) var(--focus__outline-style)
@@ -7171,6 +7340,7 @@ Body Spacing
7171
7340
  $layout-classes: true,
7172
7341
  $spacing-classes: true,
7173
7342
  $typography-classes: true,
7343
+ $scrollbar-components: true,
7174
7344
 
7175
7345
  // Components
7176
7346
  $components: true,
@@ -15181,6 +15351,7 @@ Body Spacing
15181
15351
  @include semantic-icon();
15182
15352
  @include semantic-item();
15183
15353
  @include semantic-text();
15354
+ @include semantic-heading();
15184
15355
  }
15185
15356
 
15186
15357
  // Elevation Light
@@ -15313,9 +15484,13 @@ Body Spacing
15313
15484
  @if $typography-classes {
15314
15485
  @include typography-classes();
15315
15486
  }
15487
+
15488
+ @if $scrollbar-components {
15489
+ @include scrollbar-components();
15490
+ }
15316
15491
  }
15317
15492
 
15318
- // - - - - - - - - - - - - - - - - - - -
15493
+ // - - - - - - - - - - - - - - - - - - -
15319
15494
  // Components
15320
15495
  // - - - - - - - - - - - - - - - - - - -
15321
15496
  @if $accordion {
@@ -15421,6 +15596,7 @@ Body Spacing
15421
15596
  $layout-classes: false,
15422
15597
  $spacing-classes: false,
15423
15598
  $typography-classes: false,
15599
+ $scrollbar-components: false,
15424
15600
 
15425
15601
  // Components
15426
15602
  $components: false,
@@ -15482,6 +15658,7 @@ Body Spacing
15482
15658
  $layout-classes: $layout-classes,
15483
15659
  $spacing-classes: $spacing-classes,
15484
15660
  $typography-classes: $typography-classes,
15661
+ $scrollbar-components: $scrollbar-components,
15485
15662
 
15486
15663
  // Components
15487
15664
  $components: $components,