@genexus/mercury 0.4.4 → 0.4.6

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
@@ -460,15 +460,27 @@ Grid Item
460
460
  --item__bg-color: var(--item__bg-color--selected);
461
461
  --item__color: var(--item__color--selected);
462
462
  }
463
- @mixin grid-cell-border-inline-block() {
464
- box-shadow: var(--grid-cell__box-shadow--inline-block);
463
+ @mixin grid-row-dragging() {
464
+ box-shadow: var(--mer-box-shadow--01);
465
465
  }
466
- @mixin grid-cell-colors-selected() {
467
- background-color: var(--item__bg-color--selected);
466
+ @mixin grid-cell-border-inline-block() {
467
+ // this mixin uses the box-shadow property, but it looks
468
+ // as a border to the user.
469
+ box-shadow: var(--grid-cell__box-shadow-inline-block);
468
470
  }
469
471
  @mixin grid-rowset-legend-padding-block() {
470
- padding-block-start: var(--mer-spacing--3xs);
471
- padding-block-end: var(--mer-spacing--3xs);
472
+ padding-block-start: var(--mer-spacing--2xs);
473
+ padding-block-end: var(--mer-spacing--2xs);
474
+ }
475
+ @mixin grid-rowset-legend-colors-enabled() {
476
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
477
+ background-color: var(--grid-rowset-legend__bg-color);
478
+ }
479
+ @mixin grid-rowset-legend-colors-hover() {
480
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
481
+ }
482
+ @mixin grid-rowset-legend-colors-active() {
483
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
472
484
  }
473
485
 
474
486
  /*----------------------
@@ -548,6 +560,74 @@ Dialog Footer
548
560
  }
549
561
  }
550
562
 
563
+ /*----------------------
564
+ Body Spacing
565
+ ----------------------*/
566
+
567
+ // This custom properties define the block and inline spacing of containers.
568
+ // i.e.: dialog, layout, etc..
569
+
570
+ %spacing-body {
571
+ padding-block: var(--spacing-body-block-start) var(--spacing-body-block-end);
572
+ padding-inline: var(--spacing-body-inline-start)
573
+ var(--spacing-body-inline-end);
574
+ }
575
+
576
+ %spacing-body-block {
577
+ padding-block: var(--spacing-body-block-start) var(--spacing-body-block-end);
578
+ }
579
+ %spacing-body-block-start {
580
+ padding-block-start: var(--spacing-body-block-start);
581
+ }
582
+ %spacing-body-block-end {
583
+ padding-block-end: var(--spacing-body-block-end);
584
+ }
585
+
586
+ %spacing-body-inline {
587
+ padding-inline: var(--spacing-body-inline-start)
588
+ var(--spacing-body-inline-end);
589
+ }
590
+ %spacing-body-inline-start {
591
+ padding-inline-start: var(--spacing-body-inline-start);
592
+ }
593
+ %spacing-body-inline-end {
594
+ padding-inline-end: var(--spacing-body-inline-end);
595
+ }
596
+
597
+ @mixin spacing-body(
598
+ $body-selector: ".spacing-body",
599
+ $body-block-selector: ".spacing-body-block",
600
+ $body-block-start-selector: ".spacing-body-block-start",
601
+ $body-block-end-selector: ".spacing-body-block-end",
602
+ $body-inline-selector: ".spacing-body-inline",
603
+ $body-inline-start-selector: ".spacing-body-inline-start",
604
+ $body-inline-end-selector: ".spacing-body-inline-end"
605
+ ) {
606
+ #{$body-selector} {
607
+ @extend %spacing-body;
608
+ }
609
+ // block
610
+ #{$body-block-selector} {
611
+ @extend %spacing-body-block;
612
+ }
613
+ #{$body-block-start-selector} {
614
+ @extend %spacing-body-block-start;
615
+ }
616
+ #{$body-block-end-selector} {
617
+ @extend %spacing-body-block-end;
618
+ }
619
+ // inline
620
+ #{$body-inline-selector} {
621
+ @extend %spacing-body-inline;
622
+ }
623
+ #{$body-inline-start-selector} {
624
+ @extend %spacing-body-inline-start;
625
+ }
626
+ #{$body-inline-end-selector} {
627
+ @extend %spacing-body-inline-end;
628
+ }
629
+ }
630
+
551
631
 
552
632
  // Resets
553
633
  @mixin typography-reset() {
@@ -667,14 +747,15 @@ Dialog Footer
667
747
  --mer-color__neutral-gray--700: #c0ccd9;
668
748
  --mer-color__neutral-gray--800: #d2ddeb;
669
749
  --mer-color__neutral-gray--900: #e1ecf9;
670
- // 1000 to 1400 do not exist anymore in figma (check with designer)
671
- --mer-color__neutral-gray--1000: #;
672
- --mer-color__neutral-gray--1100: #;
673
- --mer-color__neutral-gray--1200: #;
674
- --mer-color__neutral-gray--1300: #;
675
- --mer-color__neutral-gray--1400: #;
676
-
677
- // tinted grays
750
+ // 1000 to 1400 do not exist anymore in figma but can not be removed yet
751
+ // because gemini is dependent on this tokens (check with designer)
752
+ --mer-color__neutral-gray--1000: #f8f8f8;
753
+ --mer-color__neutral-gray--1100: #f1f1f1;
754
+ --mer-color__neutral-gray--1200: #e4e4e4;
755
+ --mer-color__neutral-gray--1300: #dedede;
756
+ --mer-color__neutral-gray--1400: #ffffff;
757
+
758
+ // tinted
678
759
  --mer-color__tinted-yellow--5: #ffc96b0d;
679
760
  --mer-color__tinted-yellow--60: #ffc96b99;
680
761
  --mer-color__tinted-red--5: #fb7c840d;
@@ -727,26 +808,44 @@ Dialog Footer
727
808
  --mer-color__neutral-gray--700: #242d3c;
728
809
  --mer-color__neutral-gray--800: #181f2a;
729
810
  --mer-color__neutral-gray--900: #11151c;
730
- // 1000 to 1400 do not exist anymore in figma (check with designer)
731
- --mer-color__neutral-gray--1000: #;
732
- --mer-color__neutral-gray--1100: #;
733
- --mer-color__neutral-gray--1200: #;
734
- --mer-color__neutral-gray--1300: #;
735
- --mer-color__neutral-gray--1400: #;
736
-
737
- // tinted grays
738
- --mer-color__tinted-yellow--5: #ffc96b0d;
739
- --mer-color__tinted-yellow--60: #ffc96b99;
740
- --mer-color__tinted-red--5: #fb7c840d;
741
- --mer-color__tinted-red--60: #fb7c8499;
742
- --mer-color__tinted-green--5: #3fa89b0d;
743
- --mer-color__tinted-green--60: #3fa89b99;
744
- --mer-color__tinted-blue--5: #5ba7ff0d;
745
- --mer-color__tinted-blue--8: #5ba7ff14;
746
- --mer-color__tinted-blue--10: #5ba7ff1a;
747
- --mer-color__tinted-blue--20: #5ba7ff33;
748
- --mer-color__tinted-blue--30: #5ba7ff4d;
749
- --mer-color__tinted-blue--50: #5ba7ff80;
811
+ // 1000 to 1400 do not exist anymore in figma but can not be removed yet
812
+ // because gemini is dependent on this tokens (check with designer)
813
+ --mer-color__neutral-gray--1000: #1f2225;
814
+ --mer-color__neutral-gray--1100: #24272a;
815
+ --mer-color__neutral-gray--1200: #2d3032;
816
+ --mer-color__neutral-gray--1300: #3b3e40;
817
+ --mer-color__neutral-gray--1400: #2d3134;
818
+
819
+ // tinted (with opacity) this values had to be updated to the no opacity
820
+ // version (see below), because colors with opacity caused some issues when
821
+ // overlapping. Until this is not a definitive edition
822
+
823
+ // --mer-color__tinted-yellow--5: #ffc96b0d;
824
+ // --mer-color__tinted-yellow--60: #ffc96b99;
825
+ // --mer-color__tinted-red--5: #fb7c840d;
826
+ // --mer-color__tinted-red--60: #fb7c8499;
827
+ // --mer-color__tinted-green--5: #3fa89b0d;
828
+ // --mer-color__tinted-green--60: #3fa89b99;
829
+ // --mer-color__tinted-blue--5: #5ba7ff0d;
830
+ // --mer-color__tinted-blue--8: #5ba7ff14;
831
+ // --mer-color__tinted-blue--10: #5ba7ff1a;
832
+ // --mer-color__tinted-blue--20: #5ba7ff33;
833
+ // --mer-color__tinted-blue--30: #5ba7ff4d;
834
+ // --mer-color__tinted-blue--50: #5ba7ff80;
835
+
836
+ // tinted (no opacity) // tints with opacity were giving some issues
837
+ --mer-color__tinted-yellow--5: #282a2d;
838
+ --mer-color__tinted-yellow--60: #ad8a53;
839
+ --mer-color__tinted-red--5: #29252f;
840
+ --mer-color__tinted-red--60: #aa5962;
841
+ --mer-color__tinted-green--5: #1c2830;
842
+ --mer-color__tinted-green--60: #317571;
843
+ --mer-color__tinted-blue--5: #1d2838;
844
+ --mer-color__tinted-blue--8: #1f2c3f;
845
+ --mer-color__tinted-blue--10: #1f2e43;
846
+ --mer-color__tinted-blue--20: #293d5c;
847
+ --mer-color__tinted-blue--30: #2e4e72;
848
+ --mer-color__tinted-blue--50: #3c689c;
750
849
 
751
850
  // message
752
851
  --mer-color__message-green--100: #3fa89b;
@@ -1130,8 +1229,10 @@ Dialog Footer
1130
1229
  // - - - - - - - - - - - - - - - - - - - -
1131
1230
  // Grid Cell
1132
1231
  // - - - - - - - - - - - - - - - - - - - -
1133
- --grid-cell__box-shadow--inline-block: 0 0 0 1px
1134
- var(--mer-color__elevation--04);
1232
+ --grid-cell__border-color: var(--mer-color__elevation--04);
1233
+ --grid-cell__border: var(--mer-border__width--sm) solid
1234
+ var(--grid-cell__border-color);
1235
+ --grid-cell__box-shadow-inline-block: 0 0 0 1px var(--grid-cell__border-color);
1135
1236
  }
1136
1237
 
1137
1238
  @mixin semantic-general() {
@@ -1573,15 +1674,27 @@ Grid Item
1573
1674
  --item__bg-color: var(--item__bg-color--selected);
1574
1675
  --item__color: var(--item__color--selected);
1575
1676
  }
1576
- @mixin grid-cell-border-inline-block() {
1577
- box-shadow: var(--grid-cell__box-shadow--inline-block);
1677
+ @mixin grid-row-dragging() {
1678
+ box-shadow: var(--mer-box-shadow--01);
1578
1679
  }
1579
- @mixin grid-cell-colors-selected() {
1580
- background-color: var(--item__bg-color--selected);
1680
+ @mixin grid-cell-border-inline-block() {
1681
+ // this mixin uses the box-shadow property, but it looks
1682
+ // as a border to the user.
1683
+ box-shadow: var(--grid-cell__box-shadow-inline-block);
1581
1684
  }
1582
1685
  @mixin grid-rowset-legend-padding-block() {
1583
- padding-block-start: var(--mer-spacing--3xs);
1584
- padding-block-end: var(--mer-spacing--3xs);
1686
+ padding-block-start: var(--mer-spacing--2xs);
1687
+ padding-block-end: var(--mer-spacing--2xs);
1688
+ }
1689
+ @mixin grid-rowset-legend-colors-enabled() {
1690
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
1691
+ background-color: var(--grid-rowset-legend__bg-color);
1692
+ }
1693
+ @mixin grid-rowset-legend-colors-hover() {
1694
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
1695
+ }
1696
+ @mixin grid-rowset-legend-colors-active() {
1697
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
1585
1698
  }
1586
1699
 
1587
1700
  /*----------------------
@@ -1661,6 +1774,74 @@ Dialog Footer
1661
1774
  }
1662
1775
  }
1663
1776
 
1777
+ /*----------------------
1778
+ Body Spacing
1779
+ ----------------------*/
1780
+
1781
+ // This custom properties define the block and inline spacing of containers.
1782
+ // i.e.: dialog, layout, etc..
1783
+
1784
+ %spacing-body {
1785
+ padding-block: var(--spacing-body-block-start) var(--spacing-body-block-end);
1786
+ padding-inline: var(--spacing-body-inline-start)
1787
+ var(--spacing-body-inline-end);
1788
+ }
1789
+
1790
+ %spacing-body-block {
1791
+ padding-block: var(--spacing-body-block-start) var(--spacing-body-block-end);
1792
+ }
1793
+ %spacing-body-block-start {
1794
+ padding-block-start: var(--spacing-body-block-start);
1795
+ }
1796
+ %spacing-body-block-end {
1797
+ padding-block-end: var(--spacing-body-block-end);
1798
+ }
1799
+
1800
+ %spacing-body-inline {
1801
+ padding-inline: var(--spacing-body-inline-start)
1802
+ var(--spacing-body-inline-end);
1803
+ }
1804
+ %spacing-body-inline-start {
1805
+ padding-inline-start: var(--spacing-body-inline-start);
1806
+ }
1807
+ %spacing-body-inline-end {
1808
+ padding-inline-end: var(--spacing-body-inline-end);
1809
+ }
1810
+
1811
+ @mixin spacing-body(
1812
+ $body-selector: ".spacing-body",
1813
+ $body-block-selector: ".spacing-body-block",
1814
+ $body-block-start-selector: ".spacing-body-block-start",
1815
+ $body-block-end-selector: ".spacing-body-block-end",
1816
+ $body-inline-selector: ".spacing-body-inline",
1817
+ $body-inline-start-selector: ".spacing-body-inline-start",
1818
+ $body-inline-end-selector: ".spacing-body-inline-end"
1819
+ ) {
1820
+ #{$body-selector} {
1821
+ @extend %spacing-body;
1822
+ }
1823
+ // block
1824
+ #{$body-block-selector} {
1825
+ @extend %spacing-body-block;
1826
+ }
1827
+ #{$body-block-start-selector} {
1828
+ @extend %spacing-body-block-start;
1829
+ }
1830
+ #{$body-block-end-selector} {
1831
+ @extend %spacing-body-block-end;
1832
+ }
1833
+ // inline
1834
+ #{$body-inline-selector} {
1835
+ @extend %spacing-body-inline;
1836
+ }
1837
+ #{$body-inline-start-selector} {
1838
+ @extend %spacing-body-inline-start;
1839
+ }
1840
+ #{$body-inline-end-selector} {
1841
+ @extend %spacing-body-inline-end;
1842
+ }
1843
+ }
1844
+
1664
1845
 
1665
1846
  /// @group Label
1666
1847
  /// @param {String} $label-selector [".label"] -
@@ -1935,6 +2116,10 @@ Dialog Footer
1935
2116
  display: grid;
1936
2117
 
1937
2118
  &-group {
2119
+ --spacing-body-block-start: var(--mer-spacing--lg);
2120
+ --spacing-body-block-end: var(--mer-spacing--lg);
2121
+ --spacing-body-inline-start: var(--mer-spacing--md);
2122
+ --spacing-body-inline-end: var(--mer-spacing--md);
1938
2123
  display: grid;
1939
2124
  row-gap: var(--field-group__row-gap);
1940
2125
  column-gap: var(--field-group__column-gap);
@@ -2127,12 +2312,12 @@ Dialog Footer
2127
2312
  }
2128
2313
 
2129
2314
  %layout {
2130
- --layout__padding-block: var(--mer-spacing--md);
2131
- --layout__padding-inline: var(--mer-spacing--lg);
2315
+ --spacing-body-block-start: var(--mer-spacing--md);
2316
+ --spacing-body-block-end: var(--mer-spacing--md);
2317
+ --spacing-body-inline-start: var(--mer-spacing--lg);
2318
+ --spacing-body-inline-end: var(--mer-spacing--lg);
2132
2319
 
2133
2320
  display: grid;
2134
- padding-block: var(--layout__padding-block);
2135
- padding-inline: var(--layout__padding-inline);
2136
2321
  gap: var(--mer-spacing--md);
2137
2322
  &__panel {
2138
2323
  display: grid;
@@ -2170,19 +2355,6 @@ Dialog Footer
2170
2355
  grid-template-rows: 1fr;
2171
2356
  grid-template-columns: 2fr 1fr;
2172
2357
  }
2173
-
2174
- &--no-padding {
2175
- --layout__padding-block: 0;
2176
- --layout__padding-inline: 0;
2177
- }
2178
-
2179
- &--no-block-padding {
2180
- --layout__padding-block: 0;
2181
- }
2182
-
2183
- &--no-inline-padding {
2184
- --layout__padding-inline: 0;
2185
- }
2186
2358
  }
2187
2359
 
2188
2360
  /// @group Layout
@@ -2194,9 +2366,6 @@ Dialog Footer
2194
2366
  /// @param {String} $layout--cols-4-selector [".layout--cols-4"] -
2195
2367
  /// @param {String} $layout--cols-1-2-selector [".layout--cols-1-2"] -
2196
2368
  /// @param {String} $layout--cols-2-1-selector [".layout--cols-2-1"] -
2197
- /// @param {String} $layout--no-padding-selector [".layout--no-padding"] -
2198
- /// @param {String} $layout--no-block-padding-selector [".layout--no-block-padding"] -
2199
- /// @param {String} $layout--no-inline-padding-selector [".layout--no-inline-padding"] -
2200
2369
  @mixin layout(
2201
2370
  $layout-selector: ".layout",
2202
2371
  $panel-selector: ".layout__panel",
@@ -2205,10 +2374,7 @@ Dialog Footer
2205
2374
  $layout--cols-3-selector: ".layout--cols-3",
2206
2375
  $layout--cols-4-selector: ".layout--cols-4",
2207
2376
  $layout--cols-1-2-selector: ".layout--cols-1-2",
2208
- $layout--cols-2-1-selector: ".layout--cols-2-1",
2209
- $layout--no-padding-selector: ".layout--no-padding",
2210
- $layout--no-block-padding-selector: ".layout--no-block-padding",
2211
- $layout--no-inline-padding-selector: ".layout--no-inline-padding"
2377
+ $layout--cols-2-1-selector: ".layout--cols-2-1"
2212
2378
  ) {
2213
2379
  #{$layout-selector} {
2214
2380
  @extend %layout;
@@ -2241,18 +2407,6 @@ Dialog Footer
2241
2407
  #{$layout--cols-2-1-selector} {
2242
2408
  @extend %layout--cols-2-1;
2243
2409
  }
2244
-
2245
- #{$layout--no-padding-selector} {
2246
- @extend %layout--no-padding;
2247
- }
2248
-
2249
- #{$layout--no-block-padding-selector} {
2250
- @extend %layout--no-block-padding;
2251
- }
2252
-
2253
- #{$layout--no-inline-padding-selector} {
2254
- @extend %layout--no-inline-padding;
2255
- }
2256
2410
  }
2257
2411
 
2258
2412
  @mixin heading-tokens() {
@@ -3273,15 +3427,27 @@ Grid Item
3273
3427
  --item__bg-color: var(--item__bg-color--selected);
3274
3428
  --item__color: var(--item__color--selected);
3275
3429
  }
3276
- @mixin grid-cell-border-inline-block() {
3277
- box-shadow: var(--grid-cell__box-shadow--inline-block);
3430
+ @mixin grid-row-dragging() {
3431
+ box-shadow: var(--mer-box-shadow--01);
3278
3432
  }
3279
- @mixin grid-cell-colors-selected() {
3280
- background-color: var(--item__bg-color--selected);
3433
+ @mixin grid-cell-border-inline-block() {
3434
+ // this mixin uses the box-shadow property, but it looks
3435
+ // as a border to the user.
3436
+ box-shadow: var(--grid-cell__box-shadow-inline-block);
3281
3437
  }
3282
3438
  @mixin grid-rowset-legend-padding-block() {
3283
- padding-block-start: var(--mer-spacing--3xs);
3284
- padding-block-end: var(--mer-spacing--3xs);
3439
+ padding-block-start: var(--mer-spacing--2xs);
3440
+ padding-block-end: var(--mer-spacing--2xs);
3441
+ }
3442
+ @mixin grid-rowset-legend-colors-enabled() {
3443
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
3444
+ background-color: var(--grid-rowset-legend__bg-color);
3445
+ }
3446
+ @mixin grid-rowset-legend-colors-hover() {
3447
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
3448
+ }
3449
+ @mixin grid-rowset-legend-colors-active() {
3450
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
3285
3451
  }
3286
3452
 
3287
3453
  /*----------------------
@@ -3361,6 +3527,74 @@ Dialog Footer
3361
3527
  }
3362
3528
  }
3363
3529
 
3530
+ /*----------------------
3531
+ Body Spacing
3532
+ ----------------------*/
3533
+
3534
+ // This custom properties define the block and inline spacing of containers.
3535
+ // i.e.: dialog, layout, etc..
3536
+
3537
+ %spacing-body {
3538
+ padding-block: var(--spacing-body-block-start) var(--spacing-body-block-end);
3539
+ padding-inline: var(--spacing-body-inline-start)
3540
+ var(--spacing-body-inline-end);
3541
+ }
3542
+
3543
+ %spacing-body-block {
3544
+ padding-block: var(--spacing-body-block-start) var(--spacing-body-block-end);
3545
+ }
3546
+ %spacing-body-block-start {
3547
+ padding-block-start: var(--spacing-body-block-start);
3548
+ }
3549
+ %spacing-body-block-end {
3550
+ padding-block-end: var(--spacing-body-block-end);
3551
+ }
3552
+
3553
+ %spacing-body-inline {
3554
+ padding-inline: var(--spacing-body-inline-start)
3555
+ var(--spacing-body-inline-end);
3556
+ }
3557
+ %spacing-body-inline-start {
3558
+ padding-inline-start: var(--spacing-body-inline-start);
3559
+ }
3560
+ %spacing-body-inline-end {
3561
+ padding-inline-end: var(--spacing-body-inline-end);
3562
+ }
3563
+
3564
+ @mixin spacing-body(
3565
+ $body-selector: ".spacing-body",
3566
+ $body-block-selector: ".spacing-body-block",
3567
+ $body-block-start-selector: ".spacing-body-block-start",
3568
+ $body-block-end-selector: ".spacing-body-block-end",
3569
+ $body-inline-selector: ".spacing-body-inline",
3570
+ $body-inline-start-selector: ".spacing-body-inline-start",
3571
+ $body-inline-end-selector: ".spacing-body-inline-end"
3572
+ ) {
3573
+ #{$body-selector} {
3574
+ @extend %spacing-body;
3575
+ }
3576
+ // block
3577
+ #{$body-block-selector} {
3578
+ @extend %spacing-body-block;
3579
+ }
3580
+ #{$body-block-start-selector} {
3581
+ @extend %spacing-body-block-start;
3582
+ }
3583
+ #{$body-block-end-selector} {
3584
+ @extend %spacing-body-block-end;
3585
+ }
3586
+ // inline
3587
+ #{$body-inline-selector} {
3588
+ @extend %spacing-body-inline;
3589
+ }
3590
+ #{$body-inline-start-selector} {
3591
+ @extend %spacing-body-inline-start;
3592
+ }
3593
+ #{$body-inline-end-selector} {
3594
+ @extend %spacing-body-inline-end;
3595
+ }
3596
+ }
3597
+
3364
3598
  :root {
3365
3599
  --ch-placeholder-color: var(--mer-text__neutral);
3366
3600
  }
@@ -3538,6 +3772,10 @@ Dialog Footer
3538
3772
  }
3539
3773
 
3540
3774
  %dialog {
3775
+ --spacing-body-block-start: var(--mer-spacing--lg);
3776
+ --spacing-body-block-end: var(--mer-spacing--lg);
3777
+ --spacing-body-inline-start: var(--mer-spacing--md);
3778
+ --spacing-body-inline-end: var(--mer-spacing--md);
3541
3779
  --ch-dialog-max-inline-size: 800px;
3542
3780
  background-color: var(--mer-color__elevation--01);
3543
3781
  box-shadow: var(--mer-box-shadow--01);
@@ -3568,8 +3806,6 @@ Dialog Footer
3568
3806
  }
3569
3807
 
3570
3808
  &__content {
3571
- padding-block: var(--mer-spacing--lg);
3572
- padding-inline: var(--mer-spacing--md);
3573
3809
  overflow: auto;
3574
3810
  }
3575
3811
 
@@ -4272,23 +4508,7 @@ Dialog Footer
4272
4508
  }
4273
4509
  }
4274
4510
 
4275
- @mixin tabular-grid-tokens() {
4276
- // Generic tokens for texts
4277
- --grid-base__font-size: var(--mer-body__font-size);
4278
- --grid-base__bg-color: var(--mer-color__elevation--01);
4279
- --grid-base__icon-gap: var(--mer-spacing--xs);
4280
4511
 
4281
- // - - - - - - - - - - - - - - - - - - - -
4282
- // Part "Header"
4283
- // - - - - - - - - - - - - - - - - - - - -
4284
-
4285
- // - - - - - - - - - - - - - - - - - - - -
4286
- // Part "Main"
4287
- // - - - - - - - - - - - - - - - - - - - -
4288
-
4289
- // This color simulates the grid cells border at the time of writing.
4290
- --grid-main__bg-color: var(--item__border-color--enabled);
4291
- }
4292
4512
 
4293
4513
  @mixin tabular-grid-row-tokens() {
4294
4514
  /* This style-sheet applies for:
@@ -4442,15 +4662,61 @@ Dialog Footer
4442
4662
 
4443
4663
 
4444
4664
  // - - - - - - - - - - - - - - - - - - - -
4445
- // ch-grid
4665
+ // general settings
4666
+ // - - - - - - - - - - - - - - - - - - - -
4667
+
4668
+ %tabular-grid__icon {
4669
+ &-size {
4670
+ @extend %icon-size--md;
4671
+ margin-inline-end: var(--grid-common__gap);
4672
+ flex-shrink: 0; // WA
4673
+ }
4674
+ &-caret {
4675
+ // collapsed
4676
+ &-collapsed--enabled {
4677
+ --icon-path: var(--icon__gemini-tools_add_neutral--enabled);
4678
+ cursor: pointer;
4679
+ }
4680
+ &-collapsed--hover {
4681
+ --icon-path: var(--icon__gemini-tools_add_neutral--hover);
4682
+ }
4683
+ &-collapsed--active {
4684
+ --icon-path: var(--icon__gemini-tools_add_neutral--active);
4685
+ }
4686
+ // expanded
4687
+ &-expanded--enabled {
4688
+ --icon-path: var(--icon__gemini-tools_minus_neutral--enabled);
4689
+ cursor: pointer;
4690
+ }
4691
+ &-expanded--hover {
4692
+ --icon-path: var(--icon__gemini-tools_minus_neutral--hover);
4693
+ }
4694
+ &-expanded--active {
4695
+ --icon-path: var(--icon__gemini-tools_minus_neutral--active);
4696
+ }
4697
+ }
4698
+ &-node {
4699
+ --icon-path: var(--icon__gemini-tools_folder_on-surface--enabled);
4700
+ &--leaf {
4701
+ --icon-path: var(--icon__gemini-tools_file_on-surface--enabled);
4702
+ }
4703
+ }
4704
+ }
4705
+
4706
+ // - - - - - - - - - - - - - - - - - - - -
4707
+ // ch-tabular-grid
4446
4708
  // - - - - - - - - - - - - - - - - - - - -
4447
4709
 
4448
4710
  %tabular-grid {
4711
+ --focus__outline-offset: -2px; // WA since the box-shadow hides the outline-block-end and outline-inline-end.
4712
+ --grid-label__gap: var(--mer-spacing--xs);
4713
+ --grid-common__gap: var(--mer-spacing--xs);
4714
+
4449
4715
  --indent: 16px;
4450
4716
  @include items-container-colors();
4451
4717
 
4452
4718
  --item__border-color--enabled: var(--mer-color__elevation--04);
4453
- @include tabular-grid-tokens();
4719
+ // @include tabular-grid-tokens();
4454
4720
  @include tabular-grid-row-tokens();
4455
4721
  @include tabular-grid-column-tokens();
4456
4722
  @include tabular-grid-cell-tokens();
@@ -4462,66 +4728,94 @@ Dialog Footer
4462
4728
  }
4463
4729
 
4464
4730
  // - - - - - - - - - - - - - - - - - - - -
4465
- // ch-grid-column
4731
+ // ch-tabular-grid-column-set
4732
+ // - - - - - - - - - - - - - - - - - - - -
4733
+ %tabular-grid-column-set {
4734
+ border-block-end: var(--grid-cell__border);
4735
+ }
4736
+
4737
+ // - - - - - - - - - - - - - - - - - - - -
4738
+ // ch-tabular-grid-column
4466
4739
  // - - - - - - - - - - - - - - - - - - - -
4467
4740
 
4468
4741
  %tabular-grid-column__bar {
4742
+ --grid-label__gap: 0;
4743
+ @include grid-row-colors-enabled();
4469
4744
  @include control-padding-inline-block();
4470
4745
  @include control-font-weight-semi-bold();
4471
- position: relative;
4746
+ gap: var(--grid-common__gap);
4472
4747
  width: 100%;
4473
- gap: var(--grid-column-bar__gap);
4474
- line-height: var(--item__line-height);
4475
4748
  }
4476
4749
 
4477
4750
  %tabular-grid-column__bar-resize-split {
4478
- position: absolute;
4479
- height: 100%;
4480
- top: 0;
4481
- right: 0;
4751
+ background-color: var(--mer-color__elevation--04);
4482
4752
  inline-size: var(--grid-bar-resize-split__inline-size);
4483
4753
  &--hover {
4754
+ background-color: var(--mer-accent__primary--hover);
4484
4755
  }
4485
4756
  }
4486
4757
 
4487
4758
  // - - - - - - - - - - - - - - - - - - - -
4488
- // ch-grid-row
4759
+ // ch-tabular-grid-row
4489
4760
  // - - - - - - - - - - - - - - - - - - - -
4490
4761
 
4491
- // no styles on ch-grid-row, since it has "display:contents"
4762
+ // no styles on ch-tabular-grid-row, since it has "display:contents"
4492
4763
  %tabular-grid-row {
4493
- @include grid-row-colors-enabled();
4494
-
4764
+ &--focused {
4765
+ }
4495
4766
  &--highlighted {
4496
- @include grid-row-colors-highlighted();
4767
+ &__cell {
4768
+ @include grid-row-colors-highlighted();
4769
+ }
4497
4770
  }
4498
-
4499
4771
  &--selected {
4500
- @include grid-row-colors-selected();
4772
+ &__cell {
4773
+ @include grid-row-colors-selected();
4774
+ }
4775
+ }
4776
+ &--dragging {
4777
+ @include grid-row-dragging();
4501
4778
  }
4502
4779
  }
4503
4780
 
4504
4781
  // - - - - - - - - - - - - - - - - - - - -
4505
- // ch-grid-rowset
4782
+ // ch-tabular-grid-rowset
4506
4783
  // - - - - - - - - - - - - - - - - - - - -
4507
4784
 
4508
4785
  %tabular-grid-rowset {
4786
+ &--collapsed {
4787
+ &__legend {
4788
+ border-block-end: var(--grid-cell__border);
4789
+ }
4790
+ }
4509
4791
  }
4510
4792
 
4511
4793
  // - - - - - - - - - - - - - - - - - - - -
4512
- // ch-grid-rowset-legend
4794
+ // ch-tabular-grid-rowset-legend
4513
4795
  // - - - - - - - - - - - - - - - - - - - -
4514
4796
 
4515
4797
  %tabular-grid-rowset-legend {
4798
+ @include grid-rowset-legend-colors-enabled();
4799
+ @include grid-rowset-legend-padding-block();
4800
+ display: flex;
4801
+ align-items: center;
4516
4802
  cursor: pointer;
4517
-
4518
- &:hover {
4803
+ padding-inline-start: var(--grid-common__gap);
4804
+ box-shadow: calc(var(--indent) * (var(--level) - 1) * -1) 0px 0px 0px
4805
+ var(--grid-rowset-legend__bg-color);
4806
+ &--hover {
4807
+ @include grid-rowset-legend-colors-hover();
4808
+ }
4809
+ &--active {
4810
+ @include grid-rowset-legend-colors-active();
4519
4811
  }
4520
4812
  }
4521
4813
 
4522
4814
  // Parts
4523
4815
  // TODO
4524
4816
  %tabular-grid-rowset-legend__caret {
4817
+ @extend %tabular-grid__icon-size;
4818
+ --icon-path: var(--icon__gemini-tools_minus_on-surface--enabled);
4525
4819
  }
4526
4820
  %tabular-grid-rowset-legend__selector-label {
4527
4821
  }
@@ -4530,26 +4824,31 @@ Dialog Footer
4530
4824
  %tabular-grid-rowset-legend__icon {
4531
4825
  }
4532
4826
 
4533
- // no styles on ch-grid-row, since it has "display:contents"
4827
+ // no styles on ch-tabular-grid-row, since it has "display:contents"
4534
4828
  %tabular-grid-row {
4535
4829
  }
4536
4830
 
4537
4831
  // - - - - - - - - - - - - - - - - - - - -
4538
- // ch-grid-cell
4832
+ // ch-tabular-grid-cell
4539
4833
  // - - - - - - - - - - - - - - - - - - - -
4540
4834
 
4541
4835
  %tabular-grid-cell {
4542
4836
  @include grid-cell-border-inline-block();
4543
4837
  @include control-padding-inline-block();
4838
+ @include grid-row-colors-enabled();
4544
4839
  border: 0; //WA
4545
4840
 
4546
- &[focused] {
4841
+ &--focused {
4547
4842
  @include focus-outline();
4548
4843
  }
4844
+
4845
+ &--selected {
4846
+ // to be defined by design
4847
+ }
4549
4848
  }
4550
4849
 
4551
4850
  %tabular-grid-cell__selector-label {
4552
- margin-inline-end: var(--label__gap--inline);
4851
+ margin-inline-end: var(--grid-label__gap);
4553
4852
  block-size: var(--control-tiny__size);
4554
4853
  inline-size: var(--control-tiny__size);
4555
4854
  }
@@ -4606,7 +4905,7 @@ Dialog Footer
4606
4905
  // End Checkbox
4607
4906
 
4608
4907
  // - - - - - - - - - - - - - - - - - - - -
4609
- // ch-grid-row-actions
4908
+ // ch-tabular-grid-row-actions
4610
4909
  // - - - - - - - - - - - - - - - - - - - -
4611
4910
 
4612
4911
  %tabular-grid-row-actions {
@@ -4621,35 +4920,62 @@ Dialog Footer
4621
4920
  }
4622
4921
 
4623
4922
  /// @group TabularGrid
4923
+ // ch-tabular-grid
4624
4924
  /// @param {String} $tabular-grid-selector [".tabular-grid"] -
4625
4925
  /// @param {String} $tabular-grid__main-selector [".tabular-grid::part(main)"] -
4626
- /// @param {String} $tabular-grid__bar-selector [".tabular-grid-column::part(bar)"] -
4627
- /// @param {String} $tabular-grid__bar-resize-split-selector [".tabular-grid-column::part(bar-resize-split)"] -
4926
+ // ch-tabular-grid-column-set
4927
+ /// @param {String} $tabular-grid-column-set [".tabular-grid-column-set"] -
4928
+ // ch-tabular-grid-column
4929
+ /// @param {String} $tabular-grid-column__bar-selector [".tabular-grid-column::part(bar)"] -
4930
+ /// @param {String} $tabular-grid-column__bar-resize-split-selector [".tabular-grid-column::part(bar-resize-split)"] -
4628
4931
  /// @param {String} $tabular-grid-column__selector-label-selector [".tabular-grid-column::part(selector-label)"] -
4629
4932
  /// @param {String} $tabular-grid-column__selector-selector [".tabular-grid-column::part(selector)"] -
4630
4933
  /// @param {String} $tabular-grid-column__selector--checked-selector [".tabular-grid-column::part(selector checked)"] -
4631
4934
  /// @param {String} $tabular-grid-column__selector--indeterminate-selector [".tabular-grid-column::part(selector indeterminate)"] -
4935
+ // ch-tabular-grid-row
4632
4936
  /// @param {String} $tabular-grid-row-selector [".tabular-grid-row"] -
4937
+ /// @param {String} $tabular-grid-row--focused-selector [".tabular-grid-row[focused]"] -
4938
+ /// @param {String} $tabular-grid-row--highlighted-selector [".tabular-grid-row[highlighted]"] -
4939
+ /// @param {String} $tabular-grid-row--selected-selector [".tabular-grid-row[selected]"] -
4940
+ /// @param {String} $tabular-grid-row--dragging-selector [".tabular-grid-row[dragging]"] -
4941
+ /// @param {String} $tabular-grid-row--highlighted__cell-selector [".tabular-grid-row[highlighted] > .tabular-grid-cell"] -
4942
+ // ch-tabular-grid-row > cell
4943
+ /// @param {String} $tabular-grid-row--selected__cell-selector [".tabular-grid-row[selected] > .tabular-grid-cell"] -
4944
+ // ch-tabular-grid-rowset
4633
4945
  /// @param {String} $tabular-grid-rowset-selector [".tabular-grid-rowset"] -
4946
+ /// @param {String} $tabular-grid-rowset--collapsed__legend-selector [".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend"] -
4947
+ // ch-tabular-grid-rowset-legend
4634
4948
  /// @param {String} $tabular-grid-rowset-legend-selector [".tabular-grid-rowset-legend"] -
4635
- /// @param {String} $tabular-grid-rowset-legend__caret-selector [".tabular-grid-rowset-legend::part(caret)"] -
4949
+ /// @param {String} $tabular-grid-rowset-legend__caret-selector--collapsed [".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend::part(caret)"] -
4950
+ /// @param {String} $tabular-grid-rowset-legend__caret-selector--expanded [".tabular-grid-rowset > .tabular-grid-rowset-legend::part(caret)"] -
4636
4951
  /// @param {String} $tabular-grid-rowset-legend__selector-label-selector [".tabular-grid-rowset-legend::part(selector-label)"] -
4637
4952
  /// @param {String} $tabular-grid-rowset-legend__selector-selector [".tabular-grid-rowset-legend::part(selector)"] -
4638
4953
  /// @param {String} $tabular-grid-rowset-legend__icon-selector [".tabular-grid-rowset-legend::part(icon)"] -
4954
+ // ch-tabular-grid-cell
4639
4955
  /// @param {String} $tabular-grid-cell-selector [".tabular-grid-cell"] -
4640
- /// @param {String} $tabular-grid-cell__drag-icon-selector [".tabular-grid-cell::part(drag-icon)"] -
4956
+ /// @param {String} $tabular-grid-cell--focused-selector [".tabular-grid-cell[focused]"] -
4957
+ /// @param {String} $tabular-grid-cell--selected-selector [".tabular-grid-cell[selected]"] -
4641
4958
  /// @param {String} $tabular-grid-cell__selector-label-selector [".tabular-grid-cell::part(selector-label)"] -
4642
4959
  /// @param {String} $tabular-grid-cell__selector-selector [".tabular-grid-cell::part(selector)"] -
4643
4960
  /// @param {String} $tabular-grid-cell__selector--checked-selector [".tabular-grid-cell::part(selector checked)"] -
4961
+ // ch-tabular-grid-cell (icons)
4644
4962
  /// @param {String} $tabular-grid-cell__actions-icon-selector [".tabular-grid-cell::part(actions-icon)"] -
4963
+ /// @param {String} $tabular-grid-cell__caret-icon-selector--collapsed [".tabular-grid-row:is( [collapsed], [leaf="false"]:not(:has(> .tabular-grid-rowset)) ) > .tabular-grid-cell::part(caret)"] -
4964
+ /// @param {String} $tabular-grid-cell__caret-icon-selector--expanded [".tabular-grid-row > .tabular-grid-cell::part(caret)"] -
4965
+ /// @param {String} $tabular-grid-cell__drag-icon-selector [".tabular-grid-cell::part(drag-icon)"] -
4966
+ /// @param {String} $tabular-grid-cell__node-icon-selector [".tabular-grid-row:has(> .tabular-grid-rowset) > .tabular-grid-cell::part(node-icon)"] -
4967
+ /// @param {String} $tabular-grid-cell__node-leaf-icon-selector [".tabular-grid-cell::part(node-icon)"] -
4968
+ // row-actions
4645
4969
  /// @param {String} $tabular-grid-row-actions-selector [".tabular-grid-row-actions"] -
4646
4970
  /// @param {String} $tabular-grid-row-actions__window-selector [".tabular-grid-row-actions::part(window)"] -
4647
4971
  /// @param {String} $tabular-grid-row-actions__main-selector [".tabular-grid-row-actions::part(main)"] -
4648
4972
  @mixin tabular-grid(
4649
- // ch-grid
4973
+ // ch-tabular-grid
4650
4974
  $tabular-grid-selector: ".tabular-grid",
4651
4975
  $tabular-grid__main-selector: ".tabular-grid::part(main)",
4652
- // ch-grid-column
4976
+ // ch-tabular-grid-column-set
4977
+ $tabular-grid-column-set: ".tabular-grid-column-set",
4978
+ // ch-tabular-grid-column
4653
4979
  $tabular-grid-column__bar-selector: ".tabular-grid-column::part(bar)",
4654
4980
  $tabular-grid-column__bar-resize-split-selector:
4655
4981
  ".tabular-grid-column::part(bar-resize-split)",
@@ -4661,38 +4987,94 @@ Dialog Footer
4661
4987
  ".tabular-grid-column::part(selector checked)",
4662
4988
  $tabular-grid-column__selector--indeterminate-selector:
4663
4989
  ".tabular-grid-column::part(selector indeterminate)",
4664
- // ch-grid-row
4990
+ // ch-tabular-grid-row
4665
4991
  $tabular-grid-row-selector: ".tabular-grid-row",
4666
- // ch-grid-rowset
4992
+ $tabular-grid-row--focused-selector: ".tabular-grid-row[focused]",
4993
+ $tabular-grid-row--highlighted-selector: ".tabular-grid-row[highlighted]",
4994
+ $tabular-grid-row--selected-selector: ".tabular-grid-row[selected]",
4995
+ $tabular-grid-row--dragging-selector: ".tabular-grid-row[dragging]",
4996
+ $tabular-grid-row--highlighted__cell-selector:
4997
+ ".tabular-grid-row[highlighted] > .tabular-grid-cell",
4998
+ $tabular-grid-row--selected__cell-selector:
4999
+ ".tabular-grid-row[selected] > .tabular-grid-cell",
5000
+ // ch-tabular-grid-rowset
4667
5001
  $tabular-grid-rowset-selector: ".tabular-grid-rowset",
4668
- // ch-grid-rowset-legend
5002
+ $tabular-grid-rowset--collapsed__legend-selector:
5003
+ ".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend",
5004
+ // ch-tabular-grid-rowset-legend
4669
5005
  $tabular-grid-rowset-legend-selector: ".tabular-grid-rowset-legend",
4670
- $tabular-grid-rowset-legend__caret-selector:
4671
- ".tabular-grid-rowset-legend::part(caret)",
5006
+ $tabular-grid-rowset-legend__caret-selector--collapsed:
5007
+ ".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend::part(caret)",
5008
+ $tabular-grid-rowset-legend__caret-selector--expanded:
5009
+ ".tabular-grid-rowset > .tabular-grid-rowset-legend::part(caret)",
4672
5010
  $tabular-grid-rowset-legend__selector-label-selector:
4673
5011
  ".tabular-grid-rowset-legend::part(selector-label)",
4674
5012
  $tabular-grid-rowset-legend__selector-selector:
4675
5013
  ".tabular-grid-rowset-legend::part(selector)",
4676
5014
  $tabular-grid-rowset-legend__icon-selector:
4677
5015
  ".tabular-grid-rowset-legend::part(icon)",
4678
- // ch-grid-cell
5016
+ // ch-tabular-grid-cell
4679
5017
  $tabular-grid-cell-selector: ".tabular-grid-cell",
4680
- $tabular-grid-cell__drag-icon-selector: ".tabular-grid-cell::part(drag-icon)",
5018
+ $tabular-grid-cell--focused-selector: ".tabular-grid-cell[focused]",
5019
+ $tabular-grid-cell--selected-selector: ".tabular-grid-cell[selected]",
4681
5020
  $tabular-grid-cell__selector-label-selector:
4682
5021
  ".tabular-grid-cell::part(selector-label)",
4683
5022
  $tabular-grid-cell__selector-selector: ".tabular-grid-cell::part(selector)",
4684
5023
  $tabular-grid-cell__selector--checked-selector:
4685
5024
  ".tabular-grid-cell::part(selector checked)",
5025
+ // ch-tabular-grid-cell (icons)
4686
5026
  $tabular-grid-cell__actions-icon-selector:
4687
5027
  ".tabular-grid-cell::part(actions-icon)",
4688
- // ch-grid-row-actions
5028
+ $tabular-grid-cell__caret-icon-selector--collapsed:
5029
+ ".tabular-grid-row:is( [collapsed], [leaf='false']:not(:has(> .tabular-grid-rowset)) ) > .tabular-grid-cell::part(caret)",
5030
+ $tabular-grid-cell__caret-icon-selector--expanded:
5031
+ ".tabular-grid-cell::part(caret)",
5032
+ $tabular-grid-cell__drag-icon-selector: ".tabular-grid-cell::part(drag-icon)",
5033
+ $tabular-grid-cell__node-icon-selector:
5034
+ ".tabular-grid-row:has(> .tabular-grid-rowset) > .tabular-grid-cell::part(node-icon)",
5035
+ $tabular-grid-cell__node-leaf-icon-selector:
5036
+ ".tabular-grid-cell::part(node-icon)",
5037
+ // ch-tabular-grid-row-actions
4689
5038
  $tabular-grid-row-actions-selector: ".tabular-grid-row-actions",
4690
5039
  $tabular-grid-row-actions__window-selector:
4691
5040
  ".tabular-grid-row-actions::part(window)",
4692
5041
  $tabular-grid-row-actions__main-selector:
4693
5042
  ".tabular-grid-row-actions::part(main)"
4694
5043
  ) {
4695
- // Base style
5044
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
5045
+ // icons that are present in more than one place
5046
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
5047
+
5048
+ // caret collapsed
5049
+ #{$tabular-grid-rowset-legend__caret-selector--collapsed},
5050
+ #{$tabular-grid-cell__caret-icon-selector--collapsed} {
5051
+ @extend %tabular-grid__icon-size;
5052
+ @extend %tabular-grid__icon-caret-collapsed--enabled;
5053
+ &:hover {
5054
+ @extend %tabular-grid__icon-caret-collapsed--hover;
5055
+ }
5056
+ &:active {
5057
+ @extend %tabular-grid__icon-caret-collapsed--active;
5058
+ }
5059
+ }
5060
+
5061
+ // caret expanded
5062
+ #{$tabular-grid-rowset-legend__caret-selector--expanded},
5063
+ #{$tabular-grid-cell__caret-icon-selector--expanded} {
5064
+ @extend %tabular-grid__icon-size;
5065
+ @extend %tabular-grid__icon-caret-expanded--enabled;
5066
+ &:hover {
5067
+ @extend %tabular-grid__icon-caret-expanded--hover;
5068
+ }
5069
+ &:active {
5070
+ @extend %tabular-grid__icon-caret-expanded--active;
5071
+ }
5072
+ }
5073
+
5074
+ // - - - - - - - - - - - - - - - - - - - -
5075
+ // ch-tabular-grid
5076
+ // - - - - - - - - - - - - - - - - - - - -
5077
+
4696
5078
  #{$tabular-grid-selector} {
4697
5079
  @extend %tabular-grid;
4698
5080
  &:focus {
@@ -4700,17 +5082,20 @@ Dialog Footer
4700
5082
  }
4701
5083
  }
4702
5084
 
5085
+ #{$tabular-grid__main-selector} {
5086
+ @extend %tabular-grid__main;
5087
+ }
5088
+
4703
5089
  // - - - - - - - - - - - - - - - - - - - -
4704
- // ch-grid
5090
+ // ch-tabular-grid-column-set
4705
5091
  // - - - - - - - - - - - - - - - - - - - -
4706
5092
 
4707
- #{$tabular-grid__main-selector} {
4708
- @extend %tabular-grid__main;
4709
- gap: 1px;
5093
+ #{$tabular-grid-column-set} {
5094
+ @extend %tabular-grid-column-set;
4710
5095
  }
4711
5096
 
4712
5097
  // - - - - - - - - - - - - - - - - - - - -
4713
- // ch-grid-column
5098
+ // ch-tabular-grid-column
4714
5099
  // - - - - - - - - - - - - - - - - - - - -
4715
5100
 
4716
5101
  #{$tabular-grid-column__bar-selector} {
@@ -4742,10 +5127,6 @@ Dialog Footer
4742
5127
 
4743
5128
  &:focus {
4744
5129
  outline: none;
4745
-
4746
- &:before {
4747
- @include focus-outline();
4748
- }
4749
5130
  }
4750
5131
  }
4751
5132
 
@@ -4762,65 +5143,57 @@ Dialog Footer
4762
5143
  }
4763
5144
 
4764
5145
  // - - - - - - - - - - - - - - - - - - - -
4765
- // ch-grid-row
5146
+ // ch-tabular-grid-row
4766
5147
  // - - - - - - - - - - - - - - - - - - - -
4767
5148
 
5149
+ // row
4768
5150
  #{$tabular-grid-row-selector} {
4769
5151
  @extend %tabular-grid-row;
4770
- // the following styles have to be applied here, because they depend on the
4771
- // $tabular-grid-cell selector, which is not known in the '%tabular-grid-row' placeholder.
4772
- &[highlighted] {
4773
- @extend %tabular-grid-row--highlighted;
4774
- }
4775
-
4776
- &[selected] {
4777
- @extend %tabular-grid-row--selected;
4778
- }
4779
-
4780
- &[focused] {
4781
- }
5152
+ }
5153
+ #{$tabular-grid-row--focused-selector} {
5154
+ @extend %tabular-grid-row--focused;
5155
+ }
5156
+ #{$tabular-grid-row--highlighted-selector} {
5157
+ @extend %tabular-grid-row--highlighted;
5158
+ }
5159
+ #{$tabular-grid-row--selected-selector} {
5160
+ @extend %tabular-grid-row--selected;
5161
+ }
5162
+ #{$tabular-grid-row--dragging-selector} {
5163
+ @extend %tabular-grid-row--dragging;
5164
+ }
4782
5165
 
4783
- &[dragging] {
4784
- box-shadow: var(--mer-box-shadow--01);
4785
- }
5166
+ // row[some-state] > cell
5167
+ #{$tabular-grid-row--highlighted__cell-selector} {
5168
+ @extend %tabular-grid-row--highlighted__cell;
5169
+ }
5170
+ #{$tabular-grid-row--selected__cell-selector} {
5171
+ @extend %tabular-grid-row--selected__cell;
4786
5172
  }
4787
5173
 
4788
5174
  // - - - - - - - - - - - - - - - - - - - -
4789
- // ch-grid-rowset
5175
+ // ch-tabular-grid-rowset
4790
5176
  // - - - - - - - - - - - - - - - - - - - -
4791
5177
 
4792
5178
  #{$tabular-grid-rowset-selector} {
4793
5179
  @extend %tabular-grid-rowset;
4794
-
4795
- // part::(caret)
4796
- #{$tabular-grid-rowset-legend__caret-selector} {
4797
- @extend %icon-size--md;
4798
- --icon-path: var(--icon__gemini-tools_minus_on-surface--enabled);
4799
- }
4800
- &[collapsed] {
4801
- #{$tabular-grid-rowset-legend__caret-selector} {
4802
- --icon-path: var(--icon__gemini-tools_add_on-surface--enabled);
4803
- }
4804
- }
4805
-
4806
- &[collapsed]:not(:last-child) {
4807
- #{$tabular-grid-rowset-legend-selector} {
4808
- margin-block-end: 1px;
4809
- }
4810
- }
5180
+ }
5181
+ #{$tabular-grid-rowset--collapsed__legend-selector} {
5182
+ @extend %tabular-grid-rowset--collapsed__legend;
4811
5183
  }
4812
5184
 
4813
5185
  // - - - - - - - - - - - - - - - - - - - -
4814
- // ch-grid-rowset-legend
5186
+ // ch-tabular-grid-rowset-legend
4815
5187
  // - - - - - - - - - - - - - - - - - - - -
4816
- #{$tabular-grid-rowset-legend-selector} {
4817
- background-color: var(--mer-color__elevation--02);
4818
- @include grid-rowset-legend-padding-block();
4819
5188
 
5189
+ #{$tabular-grid-rowset-legend-selector} {
4820
5190
  @extend %tabular-grid-rowset-legend;
4821
- display: flex;
4822
- align-items: center;
4823
- gap: var(--grid-base__icon-gap);
5191
+ &:hover {
5192
+ @extend %tabular-grid-rowset-legend--hover;
5193
+ }
5194
+ &:active {
5195
+ @extend %tabular-grid-rowset-legend--active;
5196
+ }
4824
5197
  }
4825
5198
 
4826
5199
  #{$tabular-grid-rowset-legend__selector-label-selector} {
@@ -4833,27 +5206,24 @@ Dialog Footer
4833
5206
 
4834
5207
  #{$tabular-grid-rowset-legend__icon-selector} {
4835
5208
  @extend %tabular-grid-rowset-legend__icon;
4836
- @extend %icon-size--md;
5209
+ @extend %tabular-grid__icon-size;
4837
5210
  --icon-path: var(--icon__gemini-tools_category-group_on-surface--enabled);
4838
5211
  }
4839
5212
 
4840
5213
  // - - - - - - - - - - - - - - - - - - - -
4841
- // ch-grid-cell
5214
+ // ch-tabular-grid-cell
4842
5215
  // - - - - - - - - - - - - - - - - - - - -
4843
5216
 
4844
5217
  #{$tabular-grid-cell-selector} {
4845
5218
  @extend %tabular-grid-cell;
5219
+ }
4846
5220
 
4847
- &[selected] {
4848
- @include grid-cell-colors-selected();
4849
- }
5221
+ #{$tabular-grid-cell--focused-selector} {
5222
+ @extend %tabular-grid-cell--focused;
4850
5223
  }
4851
5224
 
4852
- // drag icon
4853
- #{$tabular-grid-cell__drag-icon-selector} {
4854
- @extend %icon-size--md;
4855
- --icon-path: var(--icon__navigation_drag_on-surface--enabled);
4856
- margin-inline-end: var(--grid-base__icon-gap);
5225
+ #{$tabular-grid-cell--selected-selector} {
5226
+ @extend %tabular-grid-cell--selected;
4857
5227
  }
4858
5228
 
4859
5229
  // checkbox
@@ -4882,18 +5252,34 @@ Dialog Footer
4882
5252
  }
4883
5253
  }
4884
5254
 
4885
- // actions icon
5255
+ // Icons
4886
5256
  #{$tabular-grid-cell__actions-icon-selector} {
4887
5257
  width: 100%;
4888
- @extend %icon-size--md;
5258
+ @extend %tabular-grid__icon-size;
4889
5259
  --icon-path: var(
4890
5260
  --icon__gemini-tools_show-more-vertical_on-surface--enabled
4891
5261
  );
4892
5262
  border: none;
4893
5263
  }
4894
5264
 
5265
+ #{$tabular-grid-cell__drag-icon-selector} {
5266
+ @extend %tabular-grid__icon-size;
5267
+ --icon-path: var(--icon__navigation_drag_on-surface--enabled);
5268
+ margin-inline-end: var(--grid-common__gap);
5269
+ }
5270
+
5271
+ #{$tabular-grid-cell__node-icon-selector} {
5272
+ @extend %tabular-grid__icon-size;
5273
+ @extend %tabular-grid__icon-node;
5274
+ }
5275
+
5276
+ #{$tabular-grid-cell__node-leaf-icon-selector} {
5277
+ @extend %tabular-grid__icon-size;
5278
+ @extend %tabular-grid__icon-node--leaf;
5279
+ }
5280
+
4895
5281
  // - - - - - - - - - - - - - - - - - - - -
4896
- // ch-grid-row-actions
5282
+ // ch-tabular-grid-row-actions
4897
5283
  // - - - - - - - - - - - - - - - - - - - -
4898
5284
 
4899
5285
  #{$tabular-grid-row-actions-selector} {
@@ -4933,7 +5319,6 @@ Dialog Footer
4933
5319
  // - - - - - - - - - - - - - - - - - - - -
4934
5320
 
4935
5321
  --tree-view__min-inline-size: max-content;
4936
- --tree-view__padding: var(--mer-spacing--xs);
4937
5322
  --tree-view-item-custom__padding-inline-end: var(--mer-spacing--2xs);
4938
5323
 
4939
5324
  // - - - - - - - - - - - - - - - - - - - -
@@ -4976,12 +5361,7 @@ Dialog Footer
4976
5361
  @include tree-view-tokens();
4977
5362
  font-size: var(--tree-view__font-size);
4978
5363
  line-height: var(--mer-line-height--regular);
4979
- padding: var(--tree-view__padding);
4980
5364
  min-inline-size: var(--tree-view__min-inline-size);
4981
-
4982
- &--no-padding {
4983
- padding: 0;
4984
- }
4985
5365
  }
4986
5366
 
4987
5367
  // TODO: Improve this
@@ -5084,7 +5464,6 @@ Dialog Footer
5084
5464
  ///
5085
5465
  @mixin tree-view(
5086
5466
  $tree-view-selector: ".tree-view",
5087
- $tree-view--no-padding-selector: ".tree-view--no-padding",
5088
5467
 
5089
5468
  // Drag preview
5090
5469
  $drag-preview-selector: ".tree-view::part(drag-preview)",
@@ -5135,10 +5514,6 @@ Dialog Footer
5135
5514
  @include scrollbar-styles();
5136
5515
  }
5137
5516
 
5138
- #{$tree-view--no-padding-selector} {
5139
- @extend %tree-view--no-padding;
5140
- }
5141
-
5142
5517
  // - - - - - - - - - - - - - - - - - - - -
5143
5518
  // Drag preview
5144
5519
  // - - - - - - - - - - - - - - - - - - - -
@@ -5275,6 +5650,7 @@ Dialog Footer
5275
5650
  $form-controls-classes: true,
5276
5651
  $icon-classes: true,
5277
5652
  $layout-classes: true,
5653
+ $spacing-classes: true,
5278
5654
  $typography-classes: true,
5279
5655
 
5280
5656
  // Components
@@ -27884,6 +28260,11 @@ Dialog Footer
27884
28260
  @include control-footer();
27885
28261
  }
27886
28262
 
28263
+ // Spacing classes
28264
+ @if $spacing-classes {
28265
+ @include spacing-body();
28266
+ }
28267
+
27887
28268
  // Typography classes
27888
28269
  @if $typography-classes {
27889
28270
  @include typography-classes();
@@ -27992,6 +28373,7 @@ Dialog Footer
27992
28373
  $form-controls-classes: false,
27993
28374
  $icon-classes: false,
27994
28375
  $layout-classes: false,
28376
+ $spacing-classes: false,
27995
28377
  $typography-classes: false,
27996
28378
 
27997
28379
  // Components
@@ -28050,6 +28432,7 @@ Dialog Footer
28050
28432
  $form-controls-classes: $form-controls-classes,
28051
28433
  $icon-classes: $icon-classes,
28052
28434
  $layout-classes: $layout-classes,
28435
+ $spacing-classes: $spacing-classes,
28053
28436
  $typography-classes: $typography-classes,
28054
28437
 
28055
28438
  // Components