@genexus/mercury 0.4.4 → 0.4.5

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
  /*----------------------
@@ -674,7 +686,7 @@ Dialog Footer
674
686
  --mer-color__neutral-gray--1300: #;
675
687
  --mer-color__neutral-gray--1400: #;
676
688
 
677
- // tinted grays
689
+ // tinted
678
690
  --mer-color__tinted-yellow--5: #ffc96b0d;
679
691
  --mer-color__tinted-yellow--60: #ffc96b99;
680
692
  --mer-color__tinted-red--5: #fb7c840d;
@@ -734,7 +746,7 @@ Dialog Footer
734
746
  --mer-color__neutral-gray--1300: #;
735
747
  --mer-color__neutral-gray--1400: #;
736
748
 
737
- // tinted grays
749
+ // tinted
738
750
  --mer-color__tinted-yellow--5: #ffc96b0d;
739
751
  --mer-color__tinted-yellow--60: #ffc96b99;
740
752
  --mer-color__tinted-red--5: #fb7c840d;
@@ -747,6 +759,13 @@ Dialog Footer
747
759
  --mer-color__tinted-blue--20: #5ba7ff33;
748
760
  --mer-color__tinted-blue--30: #5ba7ff4d;
749
761
  --mer-color__tinted-blue--50: #5ba7ff80;
762
+ // tinted no opacity // WA
763
+ // --mer-color__tinted-blue--5: #1d2838;
764
+ // --mer-color__tinted-blue--8: #1f2c3f;
765
+ // --mer-color__tinted-blue--10: #1f2e43;
766
+ // --mer-color__tinted-blue--20: #293d5c;
767
+ // --mer-color__tinted-blue--30: #2e4e72;
768
+ // --mer-color__tinted-blue--50: #3c689c;
750
769
 
751
770
  // message
752
771
  --mer-color__message-green--100: #3fa89b;
@@ -1130,8 +1149,10 @@ Dialog Footer
1130
1149
  // - - - - - - - - - - - - - - - - - - - -
1131
1150
  // Grid Cell
1132
1151
  // - - - - - - - - - - - - - - - - - - - -
1133
- --grid-cell__box-shadow--inline-block: 0 0 0 1px
1134
- var(--mer-color__elevation--04);
1152
+ --grid-cell__border-color: var(--mer-color__elevation--04);
1153
+ --grid-cell__border: var(--mer-border__width--sm) solid
1154
+ var(--grid-cell__border-color);
1155
+ --grid-cell__box-shadow-inline-block: 0 0 0 1px var(--grid-cell__border-color);
1135
1156
  }
1136
1157
 
1137
1158
  @mixin semantic-general() {
@@ -1573,15 +1594,27 @@ Grid Item
1573
1594
  --item__bg-color: var(--item__bg-color--selected);
1574
1595
  --item__color: var(--item__color--selected);
1575
1596
  }
1576
- @mixin grid-cell-border-inline-block() {
1577
- box-shadow: var(--grid-cell__box-shadow--inline-block);
1597
+ @mixin grid-row-dragging() {
1598
+ box-shadow: var(--mer-box-shadow--01);
1578
1599
  }
1579
- @mixin grid-cell-colors-selected() {
1580
- background-color: var(--item__bg-color--selected);
1600
+ @mixin grid-cell-border-inline-block() {
1601
+ // this mixin uses the box-shadow property, but it looks
1602
+ // as a border to the user.
1603
+ box-shadow: var(--grid-cell__box-shadow-inline-block);
1581
1604
  }
1582
1605
  @mixin grid-rowset-legend-padding-block() {
1583
- padding-block-start: var(--mer-spacing--3xs);
1584
- padding-block-end: var(--mer-spacing--3xs);
1606
+ padding-block-start: var(--mer-spacing--2xs);
1607
+ padding-block-end: var(--mer-spacing--2xs);
1608
+ }
1609
+ @mixin grid-rowset-legend-colors-enabled() {
1610
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
1611
+ background-color: var(--grid-rowset-legend__bg-color);
1612
+ }
1613
+ @mixin grid-rowset-legend-colors-hover() {
1614
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
1615
+ }
1616
+ @mixin grid-rowset-legend-colors-active() {
1617
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
1585
1618
  }
1586
1619
 
1587
1620
  /*----------------------
@@ -3273,15 +3306,27 @@ Grid Item
3273
3306
  --item__bg-color: var(--item__bg-color--selected);
3274
3307
  --item__color: var(--item__color--selected);
3275
3308
  }
3276
- @mixin grid-cell-border-inline-block() {
3277
- box-shadow: var(--grid-cell__box-shadow--inline-block);
3309
+ @mixin grid-row-dragging() {
3310
+ box-shadow: var(--mer-box-shadow--01);
3278
3311
  }
3279
- @mixin grid-cell-colors-selected() {
3280
- background-color: var(--item__bg-color--selected);
3312
+ @mixin grid-cell-border-inline-block() {
3313
+ // this mixin uses the box-shadow property, but it looks
3314
+ // as a border to the user.
3315
+ box-shadow: var(--grid-cell__box-shadow-inline-block);
3281
3316
  }
3282
3317
  @mixin grid-rowset-legend-padding-block() {
3283
- padding-block-start: var(--mer-spacing--3xs);
3284
- padding-block-end: var(--mer-spacing--3xs);
3318
+ padding-block-start: var(--mer-spacing--2xs);
3319
+ padding-block-end: var(--mer-spacing--2xs);
3320
+ }
3321
+ @mixin grid-rowset-legend-colors-enabled() {
3322
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
3323
+ background-color: var(--grid-rowset-legend__bg-color);
3324
+ }
3325
+ @mixin grid-rowset-legend-colors-hover() {
3326
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--03);
3327
+ }
3328
+ @mixin grid-rowset-legend-colors-active() {
3329
+ --grid-rowset-legend__bg-color: var(--mer-color__elevation--02);
3285
3330
  }
3286
3331
 
3287
3332
  /*----------------------
@@ -4272,23 +4317,7 @@ Dialog Footer
4272
4317
  }
4273
4318
  }
4274
4319
 
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
4320
 
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
4321
 
4293
4322
  @mixin tabular-grid-row-tokens() {
4294
4323
  /* This style-sheet applies for:
@@ -4442,15 +4471,61 @@ Dialog Footer
4442
4471
 
4443
4472
 
4444
4473
  // - - - - - - - - - - - - - - - - - - - -
4445
- // ch-grid
4474
+ // general settings
4475
+ // - - - - - - - - - - - - - - - - - - - -
4476
+
4477
+ %tabular-grid__icon {
4478
+ &-size {
4479
+ @extend %icon-size--md;
4480
+ margin-inline-end: var(--grid-common__gap);
4481
+ flex-shrink: 0; // WA
4482
+ }
4483
+ &-caret {
4484
+ // collapsed
4485
+ &-collapsed--enabled {
4486
+ --icon-path: var(--icon__gemini-tools_add_neutral--enabled);
4487
+ cursor: pointer;
4488
+ }
4489
+ &-collapsed--hover {
4490
+ --icon-path: var(--icon__gemini-tools_add_neutral--hover);
4491
+ }
4492
+ &-collapsed--active {
4493
+ --icon-path: var(--icon__gemini-tools_add_neutral--active);
4494
+ }
4495
+ // expanded
4496
+ &-expanded--enabled {
4497
+ --icon-path: var(--icon__gemini-tools_minus_neutral--enabled);
4498
+ cursor: pointer;
4499
+ }
4500
+ &-expanded--hover {
4501
+ --icon-path: var(--icon__gemini-tools_minus_neutral--hover);
4502
+ }
4503
+ &-expanded--active {
4504
+ --icon-path: var(--icon__gemini-tools_minus_neutral--active);
4505
+ }
4506
+ }
4507
+ &-node {
4508
+ --icon-path: var(--icon__gemini-tools_folder_on-surface--enabled);
4509
+ &--leaf {
4510
+ --icon-path: var(--icon__gemini-tools_file_on-surface--enabled);
4511
+ }
4512
+ }
4513
+ }
4514
+
4515
+ // - - - - - - - - - - - - - - - - - - - -
4516
+ // ch-tabular-grid
4446
4517
  // - - - - - - - - - - - - - - - - - - - -
4447
4518
 
4448
4519
  %tabular-grid {
4520
+ --focus__outline-offset: -2px; // WA since the box-shadow hides the outline-block-end and outline-inline-end.
4521
+ --grid-label__gap: var(--mer-spacing--xs);
4522
+ --grid-common__gap: var(--mer-spacing--xs);
4523
+
4449
4524
  --indent: 16px;
4450
4525
  @include items-container-colors();
4451
4526
 
4452
4527
  --item__border-color--enabled: var(--mer-color__elevation--04);
4453
- @include tabular-grid-tokens();
4528
+ // @include tabular-grid-tokens();
4454
4529
  @include tabular-grid-row-tokens();
4455
4530
  @include tabular-grid-column-tokens();
4456
4531
  @include tabular-grid-cell-tokens();
@@ -4462,66 +4537,94 @@ Dialog Footer
4462
4537
  }
4463
4538
 
4464
4539
  // - - - - - - - - - - - - - - - - - - - -
4465
- // ch-grid-column
4540
+ // ch-tabular-grid-column-set
4541
+ // - - - - - - - - - - - - - - - - - - - -
4542
+ %tabular-grid-column-set {
4543
+ border-block-end: var(--grid-cell__border);
4544
+ }
4545
+
4546
+ // - - - - - - - - - - - - - - - - - - - -
4547
+ // ch-tabular-grid-column
4466
4548
  // - - - - - - - - - - - - - - - - - - - -
4467
4549
 
4468
4550
  %tabular-grid-column__bar {
4551
+ --grid-label__gap: 0;
4552
+ @include grid-row-colors-enabled();
4469
4553
  @include control-padding-inline-block();
4470
4554
  @include control-font-weight-semi-bold();
4471
- position: relative;
4555
+ gap: var(--grid-common__gap);
4472
4556
  width: 100%;
4473
- gap: var(--grid-column-bar__gap);
4474
- line-height: var(--item__line-height);
4475
4557
  }
4476
4558
 
4477
4559
  %tabular-grid-column__bar-resize-split {
4478
- position: absolute;
4479
- height: 100%;
4480
- top: 0;
4481
- right: 0;
4560
+ background-color: var(--mer-color__elevation--04);
4482
4561
  inline-size: var(--grid-bar-resize-split__inline-size);
4483
4562
  &--hover {
4563
+ background-color: var(--mer-accent__primary--hover);
4484
4564
  }
4485
4565
  }
4486
4566
 
4487
4567
  // - - - - - - - - - - - - - - - - - - - -
4488
- // ch-grid-row
4568
+ // ch-tabular-grid-row
4489
4569
  // - - - - - - - - - - - - - - - - - - - -
4490
4570
 
4491
- // no styles on ch-grid-row, since it has "display:contents"
4571
+ // no styles on ch-tabular-grid-row, since it has "display:contents"
4492
4572
  %tabular-grid-row {
4493
- @include grid-row-colors-enabled();
4494
-
4573
+ &--focused {
4574
+ }
4495
4575
  &--highlighted {
4496
- @include grid-row-colors-highlighted();
4576
+ &__cell {
4577
+ @include grid-row-colors-highlighted();
4578
+ }
4497
4579
  }
4498
-
4499
4580
  &--selected {
4500
- @include grid-row-colors-selected();
4581
+ &__cell {
4582
+ @include grid-row-colors-selected();
4583
+ }
4584
+ }
4585
+ &--dragging {
4586
+ @include grid-row-dragging();
4501
4587
  }
4502
4588
  }
4503
4589
 
4504
4590
  // - - - - - - - - - - - - - - - - - - - -
4505
- // ch-grid-rowset
4591
+ // ch-tabular-grid-rowset
4506
4592
  // - - - - - - - - - - - - - - - - - - - -
4507
4593
 
4508
4594
  %tabular-grid-rowset {
4595
+ &--collapsed {
4596
+ &__legend {
4597
+ border-block-end: var(--grid-cell__border);
4598
+ }
4599
+ }
4509
4600
  }
4510
4601
 
4511
4602
  // - - - - - - - - - - - - - - - - - - - -
4512
- // ch-grid-rowset-legend
4603
+ // ch-tabular-grid-rowset-legend
4513
4604
  // - - - - - - - - - - - - - - - - - - - -
4514
4605
 
4515
4606
  %tabular-grid-rowset-legend {
4607
+ @include grid-rowset-legend-colors-enabled();
4608
+ @include grid-rowset-legend-padding-block();
4609
+ display: flex;
4610
+ align-items: center;
4516
4611
  cursor: pointer;
4517
-
4518
- &:hover {
4612
+ padding-inline-start: var(--grid-common__gap);
4613
+ box-shadow: calc(var(--indent) * (var(--level) - 1) * -1) 0px 0px 0px
4614
+ var(--grid-rowset-legend__bg-color);
4615
+ &--hover {
4616
+ @include grid-rowset-legend-colors-hover();
4617
+ }
4618
+ &--active {
4619
+ @include grid-rowset-legend-colors-active();
4519
4620
  }
4520
4621
  }
4521
4622
 
4522
4623
  // Parts
4523
4624
  // TODO
4524
4625
  %tabular-grid-rowset-legend__caret {
4626
+ @extend %tabular-grid__icon-size;
4627
+ --icon-path: var(--icon__gemini-tools_minus_on-surface--enabled);
4525
4628
  }
4526
4629
  %tabular-grid-rowset-legend__selector-label {
4527
4630
  }
@@ -4530,26 +4633,31 @@ Dialog Footer
4530
4633
  %tabular-grid-rowset-legend__icon {
4531
4634
  }
4532
4635
 
4533
- // no styles on ch-grid-row, since it has "display:contents"
4636
+ // no styles on ch-tabular-grid-row, since it has "display:contents"
4534
4637
  %tabular-grid-row {
4535
4638
  }
4536
4639
 
4537
4640
  // - - - - - - - - - - - - - - - - - - - -
4538
- // ch-grid-cell
4641
+ // ch-tabular-grid-cell
4539
4642
  // - - - - - - - - - - - - - - - - - - - -
4540
4643
 
4541
4644
  %tabular-grid-cell {
4542
4645
  @include grid-cell-border-inline-block();
4543
4646
  @include control-padding-inline-block();
4647
+ @include grid-row-colors-enabled();
4544
4648
  border: 0; //WA
4545
4649
 
4546
- &[focused] {
4650
+ &--focused {
4547
4651
  @include focus-outline();
4548
4652
  }
4653
+
4654
+ &--selected {
4655
+ // to be defined by design
4656
+ }
4549
4657
  }
4550
4658
 
4551
4659
  %tabular-grid-cell__selector-label {
4552
- margin-inline-end: var(--label__gap--inline);
4660
+ margin-inline-end: var(--grid-label__gap);
4553
4661
  block-size: var(--control-tiny__size);
4554
4662
  inline-size: var(--control-tiny__size);
4555
4663
  }
@@ -4606,7 +4714,7 @@ Dialog Footer
4606
4714
  // End Checkbox
4607
4715
 
4608
4716
  // - - - - - - - - - - - - - - - - - - - -
4609
- // ch-grid-row-actions
4717
+ // ch-tabular-grid-row-actions
4610
4718
  // - - - - - - - - - - - - - - - - - - - -
4611
4719
 
4612
4720
  %tabular-grid-row-actions {
@@ -4621,35 +4729,62 @@ Dialog Footer
4621
4729
  }
4622
4730
 
4623
4731
  /// @group TabularGrid
4732
+ // ch-tabular-grid
4624
4733
  /// @param {String} $tabular-grid-selector [".tabular-grid"] -
4625
4734
  /// @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)"] -
4735
+ // ch-tabular-grid-column-set
4736
+ /// @param {String} $tabular-grid-column-set [".tabular-grid-column-set"] -
4737
+ // ch-tabular-grid-column
4738
+ /// @param {String} $tabular-grid-column__bar-selector [".tabular-grid-column::part(bar)"] -
4739
+ /// @param {String} $tabular-grid-column__bar-resize-split-selector [".tabular-grid-column::part(bar-resize-split)"] -
4628
4740
  /// @param {String} $tabular-grid-column__selector-label-selector [".tabular-grid-column::part(selector-label)"] -
4629
4741
  /// @param {String} $tabular-grid-column__selector-selector [".tabular-grid-column::part(selector)"] -
4630
4742
  /// @param {String} $tabular-grid-column__selector--checked-selector [".tabular-grid-column::part(selector checked)"] -
4631
4743
  /// @param {String} $tabular-grid-column__selector--indeterminate-selector [".tabular-grid-column::part(selector indeterminate)"] -
4744
+ // ch-tabular-grid-row
4632
4745
  /// @param {String} $tabular-grid-row-selector [".tabular-grid-row"] -
4746
+ /// @param {String} $tabular-grid-row--focused-selector [".tabular-grid-row[focused]"] -
4747
+ /// @param {String} $tabular-grid-row--highlighted-selector [".tabular-grid-row[highlighted]"] -
4748
+ /// @param {String} $tabular-grid-row--selected-selector [".tabular-grid-row[selected]"] -
4749
+ /// @param {String} $tabular-grid-row--dragging-selector [".tabular-grid-row[dragging]"] -
4750
+ /// @param {String} $tabular-grid-row--highlighted__cell-selector [".tabular-grid-row[highlighted] > .tabular-grid-cell"] -
4751
+ // ch-tabular-grid-row > cell
4752
+ /// @param {String} $tabular-grid-row--selected__cell-selector [".tabular-grid-row[selected] > .tabular-grid-cell"] -
4753
+ // ch-tabular-grid-rowset
4633
4754
  /// @param {String} $tabular-grid-rowset-selector [".tabular-grid-rowset"] -
4755
+ /// @param {String} $tabular-grid-rowset--collapsed__legend-selector [".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend"] -
4756
+ // ch-tabular-grid-rowset-legend
4634
4757
  /// @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)"] -
4758
+ /// @param {String} $tabular-grid-rowset-legend__caret-selector--collapsed [".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend::part(caret)"] -
4759
+ /// @param {String} $tabular-grid-rowset-legend__caret-selector--expanded [".tabular-grid-rowset > .tabular-grid-rowset-legend::part(caret)"] -
4636
4760
  /// @param {String} $tabular-grid-rowset-legend__selector-label-selector [".tabular-grid-rowset-legend::part(selector-label)"] -
4637
4761
  /// @param {String} $tabular-grid-rowset-legend__selector-selector [".tabular-grid-rowset-legend::part(selector)"] -
4638
4762
  /// @param {String} $tabular-grid-rowset-legend__icon-selector [".tabular-grid-rowset-legend::part(icon)"] -
4763
+ // ch-tabular-grid-cell
4639
4764
  /// @param {String} $tabular-grid-cell-selector [".tabular-grid-cell"] -
4640
- /// @param {String} $tabular-grid-cell__drag-icon-selector [".tabular-grid-cell::part(drag-icon)"] -
4765
+ /// @param {String} $tabular-grid-cell--focused-selector [".tabular-grid-cell[focused]"] -
4766
+ /// @param {String} $tabular-grid-cell--selected-selector [".tabular-grid-cell[selected]"] -
4641
4767
  /// @param {String} $tabular-grid-cell__selector-label-selector [".tabular-grid-cell::part(selector-label)"] -
4642
4768
  /// @param {String} $tabular-grid-cell__selector-selector [".tabular-grid-cell::part(selector)"] -
4643
4769
  /// @param {String} $tabular-grid-cell__selector--checked-selector [".tabular-grid-cell::part(selector checked)"] -
4770
+ // ch-tabular-grid-cell (icons)
4644
4771
  /// @param {String} $tabular-grid-cell__actions-icon-selector [".tabular-grid-cell::part(actions-icon)"] -
4772
+ /// @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)"] -
4773
+ /// @param {String} $tabular-grid-cell__caret-icon-selector--expanded [".tabular-grid-row > .tabular-grid-cell::part(caret)"] -
4774
+ /// @param {String} $tabular-grid-cell__drag-icon-selector [".tabular-grid-cell::part(drag-icon)"] -
4775
+ /// @param {String} $tabular-grid-cell__node-icon-selector [".tabular-grid-row:has(> .tabular-grid-rowset) > .tabular-grid-cell::part(node-icon)"] -
4776
+ /// @param {String} $tabular-grid-cell__node-leaf-icon-selector [".tabular-grid-cell::part(node-icon)"] -
4777
+ // row-actions
4645
4778
  /// @param {String} $tabular-grid-row-actions-selector [".tabular-grid-row-actions"] -
4646
4779
  /// @param {String} $tabular-grid-row-actions__window-selector [".tabular-grid-row-actions::part(window)"] -
4647
4780
  /// @param {String} $tabular-grid-row-actions__main-selector [".tabular-grid-row-actions::part(main)"] -
4648
4781
  @mixin tabular-grid(
4649
- // ch-grid
4782
+ // ch-tabular-grid
4650
4783
  $tabular-grid-selector: ".tabular-grid",
4651
4784
  $tabular-grid__main-selector: ".tabular-grid::part(main)",
4652
- // ch-grid-column
4785
+ // ch-tabular-grid-column-set
4786
+ $tabular-grid-column-set: ".tabular-grid-column-set",
4787
+ // ch-tabular-grid-column
4653
4788
  $tabular-grid-column__bar-selector: ".tabular-grid-column::part(bar)",
4654
4789
  $tabular-grid-column__bar-resize-split-selector:
4655
4790
  ".tabular-grid-column::part(bar-resize-split)",
@@ -4661,38 +4796,94 @@ Dialog Footer
4661
4796
  ".tabular-grid-column::part(selector checked)",
4662
4797
  $tabular-grid-column__selector--indeterminate-selector:
4663
4798
  ".tabular-grid-column::part(selector indeterminate)",
4664
- // ch-grid-row
4799
+ // ch-tabular-grid-row
4665
4800
  $tabular-grid-row-selector: ".tabular-grid-row",
4666
- // ch-grid-rowset
4801
+ $tabular-grid-row--focused-selector: ".tabular-grid-row[focused]",
4802
+ $tabular-grid-row--highlighted-selector: ".tabular-grid-row[highlighted]",
4803
+ $tabular-grid-row--selected-selector: ".tabular-grid-row[selected]",
4804
+ $tabular-grid-row--dragging-selector: ".tabular-grid-row[dragging]",
4805
+ $tabular-grid-row--highlighted__cell-selector:
4806
+ ".tabular-grid-row[highlighted] > .tabular-grid-cell",
4807
+ $tabular-grid-row--selected__cell-selector:
4808
+ ".tabular-grid-row[selected] > .tabular-grid-cell",
4809
+ // ch-tabular-grid-rowset
4667
4810
  $tabular-grid-rowset-selector: ".tabular-grid-rowset",
4668
- // ch-grid-rowset-legend
4811
+ $tabular-grid-rowset--collapsed__legend-selector:
4812
+ ".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend",
4813
+ // ch-tabular-grid-rowset-legend
4669
4814
  $tabular-grid-rowset-legend-selector: ".tabular-grid-rowset-legend",
4670
- $tabular-grid-rowset-legend__caret-selector:
4671
- ".tabular-grid-rowset-legend::part(caret)",
4815
+ $tabular-grid-rowset-legend__caret-selector--collapsed:
4816
+ ".tabular-grid-rowset[collapsed] > .tabular-grid-rowset-legend::part(caret)",
4817
+ $tabular-grid-rowset-legend__caret-selector--expanded:
4818
+ ".tabular-grid-rowset > .tabular-grid-rowset-legend::part(caret)",
4672
4819
  $tabular-grid-rowset-legend__selector-label-selector:
4673
4820
  ".tabular-grid-rowset-legend::part(selector-label)",
4674
4821
  $tabular-grid-rowset-legend__selector-selector:
4675
4822
  ".tabular-grid-rowset-legend::part(selector)",
4676
4823
  $tabular-grid-rowset-legend__icon-selector:
4677
4824
  ".tabular-grid-rowset-legend::part(icon)",
4678
- // ch-grid-cell
4825
+ // ch-tabular-grid-cell
4679
4826
  $tabular-grid-cell-selector: ".tabular-grid-cell",
4680
- $tabular-grid-cell__drag-icon-selector: ".tabular-grid-cell::part(drag-icon)",
4827
+ $tabular-grid-cell--focused-selector: ".tabular-grid-cell[focused]",
4828
+ $tabular-grid-cell--selected-selector: ".tabular-grid-cell[selected]",
4681
4829
  $tabular-grid-cell__selector-label-selector:
4682
4830
  ".tabular-grid-cell::part(selector-label)",
4683
4831
  $tabular-grid-cell__selector-selector: ".tabular-grid-cell::part(selector)",
4684
4832
  $tabular-grid-cell__selector--checked-selector:
4685
4833
  ".tabular-grid-cell::part(selector checked)",
4834
+ // ch-tabular-grid-cell (icons)
4686
4835
  $tabular-grid-cell__actions-icon-selector:
4687
4836
  ".tabular-grid-cell::part(actions-icon)",
4688
- // ch-grid-row-actions
4837
+ $tabular-grid-cell__caret-icon-selector--collapsed:
4838
+ ".tabular-grid-row:is( [collapsed], [leaf='false']:not(:has(> .tabular-grid-rowset)) ) > .tabular-grid-cell::part(caret)",
4839
+ $tabular-grid-cell__caret-icon-selector--expanded:
4840
+ ".tabular-grid-cell::part(caret)",
4841
+ $tabular-grid-cell__drag-icon-selector: ".tabular-grid-cell::part(drag-icon)",
4842
+ $tabular-grid-cell__node-icon-selector:
4843
+ ".tabular-grid-row:has(> .tabular-grid-rowset) > .tabular-grid-cell::part(node-icon)",
4844
+ $tabular-grid-cell__node-leaf-icon-selector:
4845
+ ".tabular-grid-cell::part(node-icon)",
4846
+ // ch-tabular-grid-row-actions
4689
4847
  $tabular-grid-row-actions-selector: ".tabular-grid-row-actions",
4690
4848
  $tabular-grid-row-actions__window-selector:
4691
4849
  ".tabular-grid-row-actions::part(window)",
4692
4850
  $tabular-grid-row-actions__main-selector:
4693
4851
  ".tabular-grid-row-actions::part(main)"
4694
4852
  ) {
4695
- // Base style
4853
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
4854
+ // icons that are present in more than one place
4855
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
4856
+
4857
+ // caret collapsed
4858
+ #{$tabular-grid-rowset-legend__caret-selector--collapsed},
4859
+ #{$tabular-grid-cell__caret-icon-selector--collapsed} {
4860
+ @extend %tabular-grid__icon-size;
4861
+ @extend %tabular-grid__icon-caret-collapsed--enabled;
4862
+ &:hover {
4863
+ @extend %tabular-grid__icon-caret-collapsed--hover;
4864
+ }
4865
+ &:active {
4866
+ @extend %tabular-grid__icon-caret-collapsed--active;
4867
+ }
4868
+ }
4869
+
4870
+ // caret expanded
4871
+ #{$tabular-grid-rowset-legend__caret-selector--expanded},
4872
+ #{$tabular-grid-cell__caret-icon-selector--expanded} {
4873
+ @extend %tabular-grid__icon-size;
4874
+ @extend %tabular-grid__icon-caret-expanded--enabled;
4875
+ &:hover {
4876
+ @extend %tabular-grid__icon-caret-expanded--hover;
4877
+ }
4878
+ &:active {
4879
+ @extend %tabular-grid__icon-caret-expanded--active;
4880
+ }
4881
+ }
4882
+
4883
+ // - - - - - - - - - - - - - - - - - - - -
4884
+ // ch-tabular-grid
4885
+ // - - - - - - - - - - - - - - - - - - - -
4886
+
4696
4887
  #{$tabular-grid-selector} {
4697
4888
  @extend %tabular-grid;
4698
4889
  &:focus {
@@ -4700,17 +4891,20 @@ Dialog Footer
4700
4891
  }
4701
4892
  }
4702
4893
 
4894
+ #{$tabular-grid__main-selector} {
4895
+ @extend %tabular-grid__main;
4896
+ }
4897
+
4703
4898
  // - - - - - - - - - - - - - - - - - - - -
4704
- // ch-grid
4899
+ // ch-tabular-grid-column-set
4705
4900
  // - - - - - - - - - - - - - - - - - - - -
4706
4901
 
4707
- #{$tabular-grid__main-selector} {
4708
- @extend %tabular-grid__main;
4709
- gap: 1px;
4902
+ #{$tabular-grid-column-set} {
4903
+ @extend %tabular-grid-column-set;
4710
4904
  }
4711
4905
 
4712
4906
  // - - - - - - - - - - - - - - - - - - - -
4713
- // ch-grid-column
4907
+ // ch-tabular-grid-column
4714
4908
  // - - - - - - - - - - - - - - - - - - - -
4715
4909
 
4716
4910
  #{$tabular-grid-column__bar-selector} {
@@ -4742,10 +4936,6 @@ Dialog Footer
4742
4936
 
4743
4937
  &:focus {
4744
4938
  outline: none;
4745
-
4746
- &:before {
4747
- @include focus-outline();
4748
- }
4749
4939
  }
4750
4940
  }
4751
4941
 
@@ -4762,65 +4952,57 @@ Dialog Footer
4762
4952
  }
4763
4953
 
4764
4954
  // - - - - - - - - - - - - - - - - - - - -
4765
- // ch-grid-row
4955
+ // ch-tabular-grid-row
4766
4956
  // - - - - - - - - - - - - - - - - - - - -
4767
4957
 
4958
+ // row
4768
4959
  #{$tabular-grid-row-selector} {
4769
4960
  @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
- }
4961
+ }
4962
+ #{$tabular-grid-row--focused-selector} {
4963
+ @extend %tabular-grid-row--focused;
4964
+ }
4965
+ #{$tabular-grid-row--highlighted-selector} {
4966
+ @extend %tabular-grid-row--highlighted;
4967
+ }
4968
+ #{$tabular-grid-row--selected-selector} {
4969
+ @extend %tabular-grid-row--selected;
4970
+ }
4971
+ #{$tabular-grid-row--dragging-selector} {
4972
+ @extend %tabular-grid-row--dragging;
4973
+ }
4782
4974
 
4783
- &[dragging] {
4784
- box-shadow: var(--mer-box-shadow--01);
4785
- }
4975
+ // row[some-state] > cell
4976
+ #{$tabular-grid-row--highlighted__cell-selector} {
4977
+ @extend %tabular-grid-row--highlighted__cell;
4978
+ }
4979
+ #{$tabular-grid-row--selected__cell-selector} {
4980
+ @extend %tabular-grid-row--selected__cell;
4786
4981
  }
4787
4982
 
4788
4983
  // - - - - - - - - - - - - - - - - - - - -
4789
- // ch-grid-rowset
4984
+ // ch-tabular-grid-rowset
4790
4985
  // - - - - - - - - - - - - - - - - - - - -
4791
4986
 
4792
4987
  #{$tabular-grid-rowset-selector} {
4793
4988
  @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
- }
4989
+ }
4990
+ #{$tabular-grid-rowset--collapsed__legend-selector} {
4991
+ @extend %tabular-grid-rowset--collapsed__legend;
4811
4992
  }
4812
4993
 
4813
4994
  // - - - - - - - - - - - - - - - - - - - -
4814
- // ch-grid-rowset-legend
4995
+ // ch-tabular-grid-rowset-legend
4815
4996
  // - - - - - - - - - - - - - - - - - - - -
4816
- #{$tabular-grid-rowset-legend-selector} {
4817
- background-color: var(--mer-color__elevation--02);
4818
- @include grid-rowset-legend-padding-block();
4819
4997
 
4998
+ #{$tabular-grid-rowset-legend-selector} {
4820
4999
  @extend %tabular-grid-rowset-legend;
4821
- display: flex;
4822
- align-items: center;
4823
- gap: var(--grid-base__icon-gap);
5000
+ &:hover {
5001
+ @extend %tabular-grid-rowset-legend--hover;
5002
+ }
5003
+ &:active {
5004
+ @extend %tabular-grid-rowset-legend--active;
5005
+ }
4824
5006
  }
4825
5007
 
4826
5008
  #{$tabular-grid-rowset-legend__selector-label-selector} {
@@ -4833,27 +5015,24 @@ Dialog Footer
4833
5015
 
4834
5016
  #{$tabular-grid-rowset-legend__icon-selector} {
4835
5017
  @extend %tabular-grid-rowset-legend__icon;
4836
- @extend %icon-size--md;
5018
+ @extend %tabular-grid__icon-size;
4837
5019
  --icon-path: var(--icon__gemini-tools_category-group_on-surface--enabled);
4838
5020
  }
4839
5021
 
4840
5022
  // - - - - - - - - - - - - - - - - - - - -
4841
- // ch-grid-cell
5023
+ // ch-tabular-grid-cell
4842
5024
  // - - - - - - - - - - - - - - - - - - - -
4843
5025
 
4844
5026
  #{$tabular-grid-cell-selector} {
4845
5027
  @extend %tabular-grid-cell;
5028
+ }
4846
5029
 
4847
- &[selected] {
4848
- @include grid-cell-colors-selected();
4849
- }
5030
+ #{$tabular-grid-cell--focused-selector} {
5031
+ @extend %tabular-grid-cell--focused;
4850
5032
  }
4851
5033
 
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);
5034
+ #{$tabular-grid-cell--selected-selector} {
5035
+ @extend %tabular-grid-cell--selected;
4857
5036
  }
4858
5037
 
4859
5038
  // checkbox
@@ -4882,18 +5061,34 @@ Dialog Footer
4882
5061
  }
4883
5062
  }
4884
5063
 
4885
- // actions icon
5064
+ // Icons
4886
5065
  #{$tabular-grid-cell__actions-icon-selector} {
4887
5066
  width: 100%;
4888
- @extend %icon-size--md;
5067
+ @extend %tabular-grid__icon-size;
4889
5068
  --icon-path: var(
4890
5069
  --icon__gemini-tools_show-more-vertical_on-surface--enabled
4891
5070
  );
4892
5071
  border: none;
4893
5072
  }
4894
5073
 
5074
+ #{$tabular-grid-cell__drag-icon-selector} {
5075
+ @extend %tabular-grid__icon-size;
5076
+ --icon-path: var(--icon__navigation_drag_on-surface--enabled);
5077
+ margin-inline-end: var(--grid-common__gap);
5078
+ }
5079
+
5080
+ #{$tabular-grid-cell__node-icon-selector} {
5081
+ @extend %tabular-grid__icon-size;
5082
+ @extend %tabular-grid__icon-node;
5083
+ }
5084
+
5085
+ #{$tabular-grid-cell__node-leaf-icon-selector} {
5086
+ @extend %tabular-grid__icon-size;
5087
+ @extend %tabular-grid__icon-node--leaf;
5088
+ }
5089
+
4895
5090
  // - - - - - - - - - - - - - - - - - - - -
4896
- // ch-grid-row-actions
5091
+ // ch-tabular-grid-row-actions
4897
5092
  // - - - - - - - - - - - - - - - - - - - -
4898
5093
 
4899
5094
  #{$tabular-grid-row-actions-selector} {