@genexus/mercury 0.9.18 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mercury.scss CHANGED
@@ -5131,11 +5131,68 @@
5131
5131
  @include control-font-size-regular();
5132
5132
  @include control-padding-inline-block();
5133
5133
 
5134
- &:hover {
5134
+ &--hover {
5135
5135
  @include control-colors-hover();
5136
5136
  }
5137
5137
 
5138
+ &--focus {
5139
+ @include focus-border();
5140
+ }
5141
+
5142
+ &--disabled {
5143
+ @include control-colors-disabled();
5144
+ }
5145
+
5146
+ &--error {
5147
+ @include control-colors-error();
5148
+ }
5149
+
5150
+ &__window {
5151
+ @include items-container-border();
5152
+ @include items-container-border-radius();
5153
+ @include items-container-colors();
5154
+ @include items-container-padding();
5155
+ @include items-container-gap();
5156
+ @include items-container-max-height();
5157
+ @include items-container-dropdown();
5158
+ }
5159
+
5160
+ &-group__header {
5161
+ @include item-colors-enabled();
5162
+ @include item-font-header();
5163
+ @include item-padding();
5164
+
5165
+ &--expandable {
5166
+ @include item-colors-enabled();
5167
+ @include item-font-header();
5168
+ @include item-padding();
5169
+ @include item-border-radius();
5170
+
5171
+ &-hover {
5172
+ @include item-colors-hover();
5173
+ }
5174
+ }
5175
+
5176
+ &--disabled {
5177
+ @include item-colors-disabled();
5178
+ }
5179
+ }
5180
+
5181
+ &-group {
5182
+ @include items-container-gap();
5183
+
5184
+ &__content {
5185
+ @include items-container-gap();
5186
+ }
5187
+ }
5188
+
5138
5189
  &__item {
5190
+ @include item-colors-enabled();
5191
+ @include item-border();
5192
+ @include item-border-radius();
5193
+ @include item-font();
5194
+ @include item-padding();
5195
+
5139
5196
  &--nested {
5140
5197
  padding-inline-start: calc(
5141
5198
  var(--ch-combo-box-item-gap) +
@@ -5143,6 +5200,14 @@
5143
5200
  var(--mer-spacing--2xs)
5144
5201
  );
5145
5202
  }
5203
+
5204
+ &--selected {
5205
+ @include item-colors-selected();
5206
+ }
5207
+
5208
+ &--disabled {
5209
+ @include item-colors-disabled();
5210
+ }
5146
5211
  }
5147
5212
  }
5148
5213
 
@@ -5163,13 +5228,13 @@
5163
5228
  /// @param {String} $item--selected-selector [".combo-box::part(item selected)"] -
5164
5229
  /// @param {Boolean} $add--disabled [true] -
5165
5230
  /// @param {Boolean} $add--placeholder [true] -
5166
- /// @param {Boolean} $add--placeholder-var [true] -
5167
5231
  /// @param {Boolean} $add--error [true] -
5168
5232
  @mixin combo-box(
5169
5233
  $combo-box-selector: ".combo-box",
5170
5234
  $combo-box--disabled-selector: ".combo-box[disabled]",
5171
5235
  $combo-box--error-selector: ".combo-box-error",
5172
- $combo-box__placeholder-selector: ".combo-box::part(placeholder)",
5236
+ $combo-box__placeholder-selector:
5237
+ ".combo-box[part='ch-combo-box--empty-value']",
5173
5238
  $window-selector: ".combo-box::part(window)",
5174
5239
  $group-selector: ".combo-box::part(group)",
5175
5240
  $group__content-selector: ".combo-box::part(group__content)",
@@ -5183,17 +5248,17 @@
5183
5248
  $item--selected-selector: ".combo-box::part(item selected)",
5184
5249
  $add--disabled: true,
5185
5250
  $add--placeholder: true,
5186
- $add--placeholder-var: true,
5187
5251
  $add--error: true
5188
5252
  ) {
5189
5253
  #{$combo-box-selector} {
5190
5254
  @extend %combo-box;
5191
5255
 
5192
- &:focus {
5193
- @include focus-border();
5256
+ &:hover {
5257
+ @extend %combo-box--hover;
5194
5258
  }
5195
5259
 
5196
- @if $add--placeholder-var {
5260
+ &:focus {
5261
+ @extend %combo-box--focus;
5197
5262
  }
5198
5263
  }
5199
5264
 
@@ -5203,74 +5268,41 @@
5203
5268
  }
5204
5269
  }
5205
5270
 
5206
- @if $add--disabled {
5207
- #{$combo-box--disabled-selector} {
5208
- @include control-colors-disabled();
5209
- }
5210
-
5211
- #{$group__header--disabled-selector} {
5212
- @include item-colors-disabled();
5213
- }
5214
-
5215
- #{$item--disabled-selector} {
5216
- @include item-colors-disabled();
5217
- }
5218
- }
5219
-
5220
- @if $add--error {
5221
- #{$combo-box--error-selector} {
5222
- @include control-colors-error();
5223
- }
5224
- }
5225
-
5226
5271
  // - - - - - - - - - - - - - - - - - - - -
5227
5272
  // Window
5228
5273
  // - - - - - - - - - - - - - - - - - - - -
5229
5274
  #{$window-selector} {
5230
- @include items-container-border();
5231
- @include items-container-border-radius();
5232
- @include items-container-colors();
5233
- @include items-container-padding();
5234
- @include items-container-gap();
5235
- @include items-container-max-height();
5236
- @include items-container-dropdown();
5275
+ @extend %combo-box__window;
5237
5276
  }
5238
5277
 
5239
5278
  // - - - - - - - - - - - - - - - - - - - -
5240
5279
  // Group
5241
5280
  // - - - - - - - - - - - - - - - - - - - -
5242
5281
  #{$group__header-selector} {
5243
- @include item-colors-enabled();
5244
- @include item-font-header();
5245
- @include item-padding();
5282
+ @extend %combo-box-group__header;
5246
5283
  }
5247
5284
 
5248
5285
  #{$group__header--expandable-selector} {
5249
- @include item-colors-enabled();
5250
- @include item-font-header();
5251
- @include item-padding();
5252
- @include item-border-radius();
5286
+ @extend %combo-box-group__header--expandable;
5253
5287
 
5254
5288
  &:hover {
5255
- @include item-colors-hover();
5289
+ @extend %combo-box-group__header--expandable-hover;
5256
5290
  }
5257
5291
  }
5292
+
5258
5293
  #{$group-selector} {
5259
- @include items-container-gap();
5294
+ @extend %combo-box-group;
5260
5295
  }
5296
+
5261
5297
  #{$group__content-selector} {
5262
- @include items-container-gap();
5298
+ @extend %combo-box-group__content;
5263
5299
  }
5264
5300
 
5265
5301
  // - - - - - - - - - - - - - - - - - - - -
5266
5302
  // Item
5267
5303
  // - - - - - - - - - - - - - - - - - - - -
5268
5304
  #{$item-selector} {
5269
- @include item-colors-enabled();
5270
- @include item-border();
5271
- @include item-border-radius();
5272
- @include item-font();
5273
- @include item-padding();
5305
+ @extend %combo-box__item;
5274
5306
  }
5275
5307
 
5276
5308
  #{$item--nested-selector} {
@@ -5278,7 +5310,30 @@
5278
5310
  }
5279
5311
 
5280
5312
  #{$item--selected-selector} {
5281
- @include item-colors-selected();
5313
+ @extend %combo-box__item--selected;
5314
+ }
5315
+
5316
+ // - - - - - - - - - - - - - - - - - - - -
5317
+ // Disabled
5318
+ // - - - - - - - - - - - - - - - - - - - -
5319
+ @if $add--disabled {
5320
+ #{$combo-box--disabled-selector} {
5321
+ @extend %combo-box--disabled;
5322
+ }
5323
+
5324
+ #{$group__header--disabled-selector} {
5325
+ @extend %combo-box-group__header--disabled;
5326
+ }
5327
+
5328
+ #{$item--disabled-selector} {
5329
+ @extend %combo-box__item--disabled;
5330
+ }
5331
+ }
5332
+
5333
+ @if $add--error {
5334
+ #{$combo-box--error-selector} {
5335
+ @extend %combo-box--error;
5336
+ }
5282
5337
  }
5283
5338
  }
5284
5339
 
@@ -5461,45 +5516,189 @@
5461
5516
  }
5462
5517
 
5463
5518
  %flexible-layout {
5464
- --ch-tab-close-button__background-image-size: var(--mer-icon__size--md);
5465
- --ch-tab-close-button__image-size: var(--mer-icon__box--md);
5519
+ --flexible-layout--tab-list-block__background-color: var(
5520
+ --mer-surface__elevation--01
5521
+ );
5522
+ --flexible-layout--tab-list-inline__background-color: var(
5523
+ --mer-surface__elevation--02
5524
+ );
5466
5525
 
5467
- --spacing-body-block-start: var(--mer-spacing--md);
5468
- --spacing-body-block-end: var(--mer-spacing--md);
5469
- --spacing-body-inline-start: var(--mer-spacing--md);
5470
- --spacing-body-inline-end: var(--mer-spacing--md);
5526
+ --flexible-layout--tab-list-inline__inline-size: 48px;
5471
5527
 
5472
- &-tab-caption {
5473
- background-color: color-mix(
5474
- in srgb,
5475
- var(--colors-foundation__gray--300) 20%,
5476
- transparent
5528
+ --flexible-layout--tab-button-block-start__background-color: var(
5529
+ --flexible-layout--tab-list-block__background-color
5530
+ );
5531
+ --flexible-layout--tab-button-block-end__background-color: var(
5532
+ --flexible-layout--tab-list-block__background-color
5533
+ );
5534
+
5535
+ --flexible-layout--tab-button-inline-start__background-color: var(
5536
+ --flexible-layout--tab-list-inline__background-color
5537
+ );
5538
+ --flexible-layout--tab-button-inline-end__background-color: var(
5539
+ --flexible-layout--tab-list-inline__background-color
5540
+ );
5541
+
5542
+ --flexible-layout--tab-button-block-start__background-color--selected: var(
5543
+ --mer-surface
5544
+ );
5545
+ --flexible-layout--tab-button-block-end__background-color--selected: var(
5546
+ --mer-surface
5547
+ );
5548
+
5549
+ &-tab {
5550
+ --ch-tab-close-button__background-image-size: var(--mer-icon__size--md);
5551
+ --ch-tab-close-button__image-size: var(--mer-spacing--md);
5552
+ --ch-tab-image-size: var(--mer-icon__box--md);
5553
+
5554
+ --spacing-body-block-start: var(--mer-spacing--md);
5555
+ --spacing-body-block-end: var(--mer-spacing--md);
5556
+ --spacing-body-inline-start: var(--mer-spacing--md);
5557
+ --spacing-body-inline-end: var(--mer-spacing--md);
5558
+ }
5559
+
5560
+ &-tab-button-block {
5561
+ @include tab-button-colors-enabled();
5562
+ @include tab-button-font();
5563
+ @include tab-button-gap();
5564
+
5565
+ padding-inline: var(--tab-caption__padding-inline);
5566
+
5567
+ // Due to border-block-width: 1px;
5568
+ padding-block: calc(var(--tab-caption__padding-block) - 1px);
5569
+
5570
+ border-block: 1px solid transparent;
5571
+ }
5572
+
5573
+ &-tab-button-inline {
5574
+ @include tab-button-colors-enabled();
5575
+ @include tab-button-font();
5576
+ @include tab-button-gap();
5577
+
5578
+ padding-block: var(--tab-caption__padding-block);
5579
+
5580
+ // Due to border-inline-width: 1px;
5581
+ padding-inline: calc(var(--tab-caption__padding-inline) - 1px);
5582
+
5583
+ border-inline: 1px solid transparent;
5584
+ }
5585
+
5586
+ // Style for the button of the selected tab
5587
+ &-tab-button--selected-before {
5588
+ color: var(--mer-accent__primary);
5589
+ }
5590
+
5591
+ // Block Start
5592
+ &-tab-button-block-start {
5593
+ background-color: var(
5594
+ --flexible-layout--tab-button-block-start__background-color
5477
5595
  );
5596
+ }
5478
5597
 
5479
- &--selected {
5480
- background-color: color-mix(
5481
- in srgb,
5482
- var(--colors-foundation__gray--300) 50%,
5483
- transparent
5484
- );
5485
- }
5598
+ &-tab-button-block-start--hover {
5599
+ @include tab-button-colors-hover();
5600
+ }
5601
+
5602
+ &-tab-button-block-start--active {
5603
+ @include tab-button-colors-hover();
5604
+ }
5605
+
5606
+ &-tab-button-block-start--selected {
5607
+ border-block-start-color: var(--mer-accent__primary);
5608
+ background-color: var(
5609
+ --flexible-layout--tab-button-block-start__background-color--selected
5610
+ );
5611
+ }
5612
+
5613
+ // Block End
5614
+ &-tab-button-block-end {
5615
+ background-color: var(
5616
+ --flexible-layout--tab-button-block-end__background-color
5617
+ );
5618
+ }
5619
+
5620
+ &-tab-button-block-end--hover {
5621
+ @include tab-button-colors-hover();
5622
+ }
5623
+
5624
+ &-tab-button-block-end--active {
5625
+ @include tab-button-colors-hover();
5626
+ }
5627
+
5628
+ &-tab-button-block-end--selected {
5629
+ border-block-end-color: var(--mer-accent__primary);
5630
+ background-color: var(
5631
+ --flexible-layout--tab-button-block-end__background-color--selected
5632
+ );
5633
+ }
5634
+
5635
+ // Inline Start
5636
+ &-tab-button-inline-start {
5637
+ background-color: var(
5638
+ --flexible-layout--tab-button-inline-start__background-color
5639
+ );
5640
+ inline-size: var(--flexible-layout--tab-list-inline__inline-size);
5641
+ }
5642
+
5643
+ &-tab-button-inline-start--hover {
5644
+ @include tab-button-colors-hover();
5645
+ }
5646
+
5647
+ &-tab-button-inline-start--active {
5648
+ @include tab-button-colors-hover();
5649
+ }
5650
+
5651
+ &-tab-button-inline-start--selected {
5652
+ border-inline-start-color: var(--mer-accent__primary);
5653
+ color: var(--mer-accent__primary);
5654
+ }
5655
+
5656
+ // Inline End
5657
+ &-tab-button-inline-end {
5658
+ background-color: var(
5659
+ --flexible-layout--tab-button-inline-end__background-color
5660
+ );
5661
+ inline-size: var(--flexible-layout--tab-list-inline__inline-size);
5662
+ }
5663
+
5664
+ &-tab-button-inline-end--hover {
5665
+ @include tab-button-colors-hover();
5666
+ }
5667
+
5668
+ &-tab-button-inline-end--active {
5669
+ @include tab-button-colors-hover();
5670
+ }
5671
+
5672
+ &-tab-button-inline-end--selected {
5673
+ border-inline-end-color: var(--mer-accent__primary);
5674
+ color: var(--mer-accent__primary);
5675
+ }
5676
+
5677
+ // Disabled
5678
+ &-tab-button--disabled {
5679
+ @include tab-button-colors-disabled();
5486
5680
  }
5487
5681
 
5488
5682
  &-tab-list--inline {
5489
- background-color: var(--mer-color__neutral-gray--600);
5490
- inline-size: 48px;
5683
+ background-color: var(--flexible-layout--tab-list-inline__background-color);
5684
+ inline-size: var(--flexible-layout--tab-list-inline__inline-size);
5491
5685
  gap: 4px;
5492
5686
  }
5493
5687
 
5494
5688
  &-tab-list--block {
5495
- background-color: var(--mer-color__neutral-gray--650);
5689
+ background-color: var(--flexible-layout--tab-list-block__background-color);
5496
5690
  overflow: auto;
5497
5691
  }
5498
5692
 
5693
+ // Disabled
5694
+ &-tab-button--disabled {
5695
+ @include tab-button-colors-disabled();
5696
+ }
5697
+
5499
5698
  &-droppable-area {
5500
5699
  background-color: color-mix(
5501
5700
  in srgb,
5502
- var(--accents__secondary--hover) 25%,
5701
+ var(--mer-accent__primary) 25%,
5503
5702
  transparent
5504
5703
  );
5505
5704
  }
@@ -5511,48 +5710,202 @@
5511
5710
 
5512
5711
  @mixin flexible-layout(
5513
5712
  $flexible-layout-selector: ".flexible-layout",
5514
- $flexible-layout__bar-selector: ".flexible-layout::part(bar)",
5515
5713
  $tab-selector: ".flexible-layout::part(leaf)",
5516
- $tab-caption-selector: ".flexible-layout::part(button)",
5517
- $tab-caption--block-selector: ".flexible-layout::part(button block)",
5518
- $tab-caption--inline-selector: ".flexible-layout::part(button inline)",
5519
- $tab-caption--selected-selector: ".flexible-layout::part(button selected)",
5520
- $tab-caption--disabled-selector: ".flexible-layout::part(button disabled)",
5521
- $tab-caption__close-button-selector: ".flexible-layout::part(close-button)",
5714
+
5715
+ $tab-button-block-start-selector: ".flexible-layout::part(tab block-start)",
5716
+ $tab-button-block-start--selected-selector:
5717
+ ".flexible-layout::part(tab block-start selected)",
5718
+ $tab-button-block-start--disabled-selector:
5719
+ ".flexible-layout::part(tab block-start disabled)",
5720
+
5721
+ $tab-button-block-end-selector: ".flexible-layout::part(tab block-end)",
5722
+ $tab-button-block-end--selected-selector:
5723
+ ".flexible-layout::part(tab block-end selected)",
5724
+ $tab-button-block-end--disabled-selector:
5725
+ ".flexible-layout::part(tab block-end disabled)",
5726
+
5727
+ $tab-button-inline-start-selector: ".flexible-layout::part(tab inline-start)",
5728
+ $tab-button-inline-start--selected-selector:
5729
+ ".flexible-layout::part(tab inline-start selected)",
5730
+ $tab-button-inline-start--disabled-selector:
5731
+ ".flexible-layout::part(tab inline-start disabled)",
5732
+
5733
+ $tab-button-inline-end-selector: ".flexible-layout::part(tab inline-end)",
5734
+ $tab-button-inline-end--selected-selector:
5735
+ ".flexible-layout::part(tab inline-end selected)",
5736
+ $tab-button-inline-end--disabled-selector:
5737
+ ".flexible-layout::part(tab inline-end disabled)",
5738
+
5739
+ $tab-button-close-button-selector: ".flexible-layout::part(close-button)",
5740
+
5522
5741
  $tab-list--inline-selector: ".flexible-layout::part(tab-list inline)",
5523
5742
  $tab-list--block-selector: ".flexible-layout::part(tab-list block)",
5743
+
5744
+ $bar-selector: ".flexible-layout::part(bar)",
5524
5745
  $droppable-area-selector: ".flexible-layout::part(droppable-area)",
5746
+ $add--tab-button-block-start: true,
5747
+ $add--tab-button-block-end: true,
5748
+ $add--tab-button-inline-start: true,
5749
+ $add--tab-button-inline-end: true,
5525
5750
  $add--disabled: true
5526
5751
  ) {
5752
+ #{$flexible-layout-selector} {
5753
+ @extend %flexible-layout;
5754
+ }
5755
+
5527
5756
  @include tab(
5528
- $tab-selector: #{$tab-selector},
5529
- $tab-caption-selector: #{$tab-caption-selector},
5530
- $tab-caption--block-selector: #{$tab-caption--block-selector},
5531
- $tab-caption--inline-selector: #{$tab-caption--inline-selector},
5532
- $tab-caption--selected-selector: #{$tab-caption--selected-selector},
5533
- $tab-caption__close-button-selector: #{$tab-caption__close-button-selector},
5757
+ $tab-button-close-button-selector: #{$tab-button-close-button-selector},
5758
+ $add--tab-button-block-start: false,
5759
+ $add--tab-button-block-end: false,
5760
+ $add--tab-button-inline-start: false,
5761
+ $add--tab-button-inline-end: false,
5534
5762
  $add--tab: false,
5535
5763
  $add--tab-list: false,
5536
5764
  $add--disabled: $add--disabled
5537
5765
  );
5538
5766
 
5539
- #{$flexible-layout-selector} {
5540
- @extend %flexible-layout;
5767
+ #{$tab-selector} {
5768
+ @extend %flexible-layout-tab;
5541
5769
  }
5542
5770
 
5543
- #{$flexible-layout__bar-selector} {
5771
+ #{$bar-selector} {
5544
5772
  @extend %flexible-layout-bar;
5545
5773
  }
5546
5774
 
5547
5775
  // - - - - - - - - - - - - - - - - - - - -
5548
- // Tab Caption
5776
+ // Tab Button (block-start)
5777
+ // - - - - - - - - - - - - - - - - - - - -
5778
+ @if $add--tab-button-block-start {
5779
+ #{$tab-button-block-start-selector} {
5780
+ @extend %flexible-layout-tab-button-block;
5781
+ @extend %flexible-layout-tab-button-block-start;
5782
+
5783
+ &:hover {
5784
+ @extend %flexible-layout-tab-button-block-start--hover;
5785
+ }
5786
+
5787
+ &:active {
5788
+ @extend %flexible-layout-tab-button-block-start--active;
5789
+ }
5790
+
5791
+ &:focus-visible {
5792
+ @extend %tab-button--focus-visible;
5793
+ }
5794
+ }
5795
+
5796
+ #{$tab-button-block-start--selected-selector} {
5797
+ @extend %flexible-layout-tab-button-block-start--selected;
5798
+
5799
+ &::before {
5800
+ @extend %flexible-layout-tab-button--selected-before;
5801
+ }
5802
+ }
5803
+
5804
+ @if $add--disabled {
5805
+ #{$tab-button-block-start--disabled-selector} {
5806
+ @extend %flexible-layout-tab-button--disabled;
5807
+ }
5808
+ }
5809
+ }
5810
+
5811
+ // - - - - - - - - - - - - - - - - - - - -
5812
+ // Tab Button (block-end)
5813
+ // - - - - - - - - - - - - - - - - - - - -
5814
+ @if $add--tab-button-block-end {
5815
+ #{$tab-button-block-end-selector} {
5816
+ @extend %flexible-layout-tab-button-block;
5817
+ @extend %flexible-layout-tab-button-block-end;
5818
+
5819
+ &:hover {
5820
+ @extend %flexible-layout-tab-button-block-end--hover;
5821
+ }
5822
+
5823
+ &:active {
5824
+ @extend %flexible-layout-tab-button-block-end--active;
5825
+ }
5826
+
5827
+ &:focus-visible {
5828
+ @extend %tab-button--focus-visible;
5829
+ }
5830
+ }
5831
+
5832
+ #{$tab-button-block-end--selected-selector} {
5833
+ @extend %flexible-layout-tab-button-block-end--selected;
5834
+
5835
+ &::before {
5836
+ @extend %flexible-layout-tab-button--selected-before;
5837
+ }
5838
+ }
5839
+
5840
+ @if $add--disabled {
5841
+ #{$tab-button-block-end--disabled-selector} {
5842
+ @extend %flexible-layout-tab-button--disabled;
5843
+ }
5844
+ }
5845
+ }
5846
+
5847
+ // - - - - - - - - - - - - - - - - - - - -
5848
+ // Tab Button (inline-start)
5549
5849
  // - - - - - - - - - - - - - - - - - - - -
5550
- #{$tab-caption-selector} {
5551
- @extend %flexible-layout-tab-caption;
5850
+ @if $add--tab-button-inline-start {
5851
+ #{$tab-button-inline-start-selector} {
5852
+ @extend %flexible-layout-tab-button-inline;
5853
+ @extend %flexible-layout-tab-button-inline-start;
5854
+
5855
+ &:hover {
5856
+ @extend %flexible-layout-tab-button-inline-start--hover;
5857
+ }
5858
+
5859
+ &:active {
5860
+ @extend %flexible-layout-tab-button-inline-start--active;
5861
+ }
5862
+
5863
+ &:focus-visible {
5864
+ @extend %tab-button--focus-visible;
5865
+ }
5866
+ }
5867
+
5868
+ #{$tab-button-inline-start--selected-selector} {
5869
+ @extend %flexible-layout-tab-button-inline-start--selected;
5870
+ }
5871
+
5872
+ @if $add--disabled {
5873
+ #{$tab-button-inline-start--disabled-selector} {
5874
+ @extend %flexible-layout-tab-button--disabled;
5875
+ }
5876
+ }
5552
5877
  }
5553
5878
 
5554
- #{$tab-caption--selected-selector} {
5555
- @extend %flexible-layout-tab-caption--selected;
5879
+ // - - - - - - - - - - - - - - - - - - - -
5880
+ // Tab Button (inline-end)
5881
+ // - - - - - - - - - - - - - - - - - - - -
5882
+ @if $add--tab-button-inline-end {
5883
+ #{$tab-button-inline-end-selector} {
5884
+ @extend %flexible-layout-tab-button-inline;
5885
+ @extend %flexible-layout-tab-button-inline-end;
5886
+
5887
+ &:hover {
5888
+ @extend %flexible-layout-tab-button-inline-end--hover;
5889
+ }
5890
+
5891
+ &:active {
5892
+ @extend %flexible-layout-tab-button-inline-end--active;
5893
+ }
5894
+
5895
+ &:focus-visible {
5896
+ @extend %tab-button--focus-visible;
5897
+ }
5898
+ }
5899
+
5900
+ #{$tab-button-inline-end--selected-selector} {
5901
+ @extend %flexible-layout-tab-button-inline-end--selected;
5902
+ }
5903
+
5904
+ @if $add--disabled {
5905
+ #{$tab-button-inline-end--disabled-selector} {
5906
+ @extend %flexible-layout-tab-button--disabled;
5907
+ }
5908
+ }
5556
5909
  }
5557
5910
 
5558
5911
  // - - - - - - - - - - - - - - - - - - - -
@@ -5669,6 +6022,18 @@
5669
6022
  }
5670
6023
  }
5671
6024
 
6025
+ %layout-splitter {
6026
+ &-bar {
6027
+ color: var(--mer-border-color__on-surface);
6028
+ }
6029
+ }
6030
+
6031
+ @mixin layout-splitter($bar-selector: ".layout-splitter::part(bar)") {
6032
+ #{$bar-selector} {
6033
+ @extend %layout-splitter-bar;
6034
+ }
6035
+ }
6036
+
5672
6037
  %list-box {
5673
6038
  --ch-action-list-group__expandable-button-image-size: var(
5674
6039
  --mer-icon__box--md
@@ -6134,18 +6499,20 @@
6134
6499
  --ch-navigation-list-item__tooltip-separation-x: var(--mer-spacing--2xs);
6135
6500
 
6136
6501
  --ch-navigation-list-item-custom-padding-inline-start: calc(
6137
- var(--mer-spacing--xs) + var(--mer-spacing--3xs)
6502
+ var(--mer-spacing--xs) - 1px
6138
6503
  );
6139
6504
  --ch-navigation-list-item-gap: var(--mer-spacing--xs);
6140
6505
  --ch-navigation-list-item-expand-collapse-duration: 200ms;
6141
6506
 
6142
- --ch-navigation-list-item__image-size: 20px;
6507
+ --ch-navigation-list-item__image-size: var(--mer-spacing--md);
6143
6508
  --ch-navigation-list-item__expandable-button-size: 20px;
6144
6509
  --ch-navigation-list-item__expandable-button-image-size: calc(
6145
6510
  var(--mer-spacing--md) - var(--mer-spacing--3xs)
6146
6511
  );
6147
6512
 
6148
6513
  color: var(--item__color);
6514
+ line-height: var(--mer-spacing--md);
6515
+ gap: var(--mer-spacing--sm);
6149
6516
 
6150
6517
  &-item-action {
6151
6518
  padding-block: var(--mer-spacing--xs);
@@ -6155,8 +6522,9 @@
6155
6522
  &-item-tooltip {
6156
6523
  padding-block: var(--mer-spacing--2xs);
6157
6524
  padding-inline: var(--mer-spacing--xs);
6158
- background-color: var(--mer-color__neutral-gray--800);
6525
+ background-color: var(--mer-color__neutral-gray--1000);
6159
6526
  border-radius: var(--mer-border__radius--sm);
6527
+ box-shadow: 4px 4px 12px 0px #00000033;
6160
6528
  color: var(--mer-color__neutral-gray--300);
6161
6529
  font-size: var(--mer-font__size--xs);
6162
6530
  }
@@ -6175,12 +6543,19 @@
6175
6543
  }
6176
6544
 
6177
6545
  &-item-link {
6546
+ padding-inline-end: calc(var(--mer-spacing--xs) - 1px);
6547
+ padding-block: calc(var(--mer-spacing--xs) - 1px);
6548
+ border: 1px solid transparent;
6549
+ border-radius: 4px;
6550
+
6178
6551
  &--selected {
6179
- background-color: var(--item__bg-color--selected-hover);
6552
+ background-color: var(--item__bg-color--selected);
6553
+ border-color: var(--item__border-color--selected);
6554
+ color: var(--mer-accent__primary);
6180
6555
  }
6181
6556
 
6182
6557
  &--hover-not-selected {
6183
- background-color: var(--item__bg-color--hover);
6558
+ color: var(--mer-accent__primary);
6184
6559
  }
6185
6560
  }
6186
6561
  }
@@ -6189,6 +6564,7 @@
6189
6564
  $navigation-list-selector: ".navigation-list",
6190
6565
  $item-action-selector: ".navigation-list::part(item__action)",
6191
6566
  $item-button-selector: ".navigation-list::part(item__button)",
6567
+ $item-link-selector: ".navigation-list::part(item__link)",
6192
6568
  $item-link-not-selected-selector:
6193
6569
  ".navigation-list::part(item__link not-selected)",
6194
6570
  $item-link-selected-selector: ".navigation-list::part(item__link selected)",
@@ -6214,6 +6590,10 @@
6214
6590
  @extend %navigation-list-item-link--selected;
6215
6591
  }
6216
6592
 
6593
+ #{$item-link-selector} {
6594
+ @extend %navigation-list-item-link;
6595
+ }
6596
+
6217
6597
  #{$item-link-not-selected-selector}:hover {
6218
6598
  @extend %navigation-list-item-link--hover-not-selected;
6219
6599
  }
@@ -8177,6 +8557,7 @@
8177
8557
  ) / 2
8178
8558
  );
8179
8559
 
8560
+ // TODO: Remove this background-color. The elevation must determine the color
8180
8561
  background-color: var(--mer-color__neutral-gray--800);
8181
8562
  overflow: hidden;
8182
8563
 
@@ -8350,6 +8731,14 @@
8350
8731
  }
8351
8732
 
8352
8733
  %slider__thumb {
8734
+ &--hover {
8735
+ --ch-slider-thumb-background-color: var(--mer-color__primary--600);
8736
+ }
8737
+
8738
+ &--active-focus {
8739
+ --ch-slider-thumb-background-color: var(--mer-color__primary--600);
8740
+ @include focus-outline();
8741
+ }
8353
8742
  }
8354
8743
 
8355
8744
  /// @group Slider
@@ -8387,12 +8776,18 @@
8387
8776
  @mixin slider(
8388
8777
  $slider-selector: ".slider",
8389
8778
  $track-selector: ".slider::part(track)",
8390
- $thumb-selector: ".slider::part(thumb)",
8391
- $thumb-focus-selector: ".slider:focus-visible::part(thumb focus)"
8779
+ $thumb-active-selector: ".slider:active::part(thumb)",
8780
+ $thumb-focus-selector: ".slider:focus::part(thumb)"
8392
8781
  ) {
8393
8782
  #{$slider-selector} {
8394
8783
  @extend %slider__slider;
8784
+
8785
+ &:hover {
8786
+ @extend %slider__thumb--hover;
8787
+ }
8395
8788
  }
8789
+
8790
+ // TODO: TEST THIS
8396
8791
  #{$slider-selector}:disabled {
8397
8792
  @extend %slider__slider--disabled;
8398
8793
  }
@@ -8401,18 +8796,19 @@
8401
8796
  @extend %slider__track;
8402
8797
  }
8403
8798
 
8404
- #{$thumb-selector} {
8405
- @extend %slider__thumb;
8799
+ #{$thumb-active-selector} {
8800
+ @extend %slider__thumb--active-focus;
8406
8801
  }
8407
8802
 
8408
8803
  #{$thumb-focus-selector} {
8409
- @include focus-outline();
8804
+ @extend %slider__thumb--active-focus;
8410
8805
  }
8411
8806
  }
8412
8807
 
8413
8808
  %tab {
8414
8809
  --ch-tab-close-button__background-image-size: var(--mer-icon__size--md);
8415
- --ch-tab-close-button__image-size: var(--mer-icon__box--md);
8810
+ --ch-tab-close-button__image-size: var(--mer-spacing--md);
8811
+ --ch-tab-image-size: var(--mer-icon__box--md);
8416
8812
 
8417
8813
  --spacing-body-block-start: var(--mer-spacing--md);
8418
8814
  --spacing-body-block-end: var(--mer-spacing--md);
@@ -8423,76 +8819,176 @@
8423
8819
  @include items-container-colors();
8424
8820
  }
8425
8821
 
8426
- %tab-caption {
8822
+ %tab-button-block {
8427
8823
  @include tab-button-colors-enabled();
8428
8824
  @include tab-button-font();
8429
8825
  @include tab-button-gap();
8430
8826
 
8431
- &--hover {
8432
- @include tab-button-colors-hover();
8433
- }
8827
+ @include tab-button-padding-inline();
8828
+ border-block: var(--tab-caption__border-width)
8829
+ var(--tab-caption__border-style) transparent;
8434
8830
 
8435
- &--focus-visible {
8436
- @include focus-outline();
8437
- }
8831
+ // TODO: Remove this mixin
8832
+ // @include tab-button-border-block-end();
8833
+ }
8438
8834
 
8439
- &--block {
8440
- @include tab-button-padding-inline();
8441
- @include tab-button-border-block-end();
8442
- }
8835
+ %tab-button-inline {
8836
+ @include tab-button-colors-enabled();
8837
+ @include tab-button-font();
8838
+ @include tab-button-gap();
8443
8839
 
8444
- &--inline {
8445
- @include tab-button-padding-stack();
8446
- @include tab-button-border-block();
8447
- }
8840
+ @include tab-button-padding-stack();
8841
+ border-inline: var(--tab-caption__border-width)
8842
+ var(--tab-caption__border-style) transparent;
8448
8843
 
8449
- &--selected {
8450
- &-inline {
8451
- @include tab-button-colors-selected-stack();
8452
- }
8453
- &-block {
8454
- @include tab-button-colors-selected-inline();
8455
- }
8456
- }
8844
+ // TODO: Remove this mixin
8845
+ // @include tab-button-border-block();
8846
+ }
8457
8847
 
8458
- &--disabled {
8459
- @include tab-button-colors-disabled();
8460
- --tab-caption__border-width: 0;
8848
+ // Block Start
8849
+ %tab-button-block-start--hover {
8850
+ @include tab-button-colors-hover();
8851
+ }
8852
+
8853
+ %tab-button-block-start--active {
8854
+ // TODO
8855
+ @include tab-button-colors-hover();
8856
+ }
8857
+
8858
+ %tab-button-block-start--selected {
8859
+ @include tab-button-colors-selected-inline();
8860
+ border-block-end-color: var(--tab-caption__border-color);
8861
+ }
8862
+
8863
+ // Block End
8864
+ %tab-button-block-end--hover {
8865
+ @include tab-button-colors-hover();
8866
+ }
8867
+
8868
+ %tab-button-block-end--active {
8869
+ // TODO
8870
+ @include tab-button-colors-hover();
8871
+ }
8872
+
8873
+ %tab-button-block-end--selected {
8874
+ @include tab-button-colors-selected-inline();
8875
+ border-block-start-color: var(--tab-caption__border-color);
8876
+ }
8877
+
8878
+ // Inline Start
8879
+ %tab-button-inline-start--hover {
8880
+ @include tab-button-colors-hover();
8881
+ }
8882
+
8883
+ %tab-button-inline-start--active {
8884
+ // TODO
8885
+ @include tab-button-colors-hover();
8886
+ }
8887
+
8888
+ %tab-button-inline-start--selected {
8889
+ @include tab-button-colors-selected-stack();
8890
+ border-inline-end-color: var(--tab-caption__border-color);
8891
+ }
8892
+
8893
+ // Inline End
8894
+ %tab-button-inline-end--hover {
8895
+ @include tab-button-colors-hover();
8896
+ }
8897
+
8898
+ %tab-button-inline-end--active {
8899
+ // TODO
8900
+ @include tab-button-colors-hover();
8901
+ }
8902
+
8903
+ %tab-button-inline-end--selected {
8904
+ @include tab-button-colors-selected-stack();
8905
+ border-inline-start-color: var(--tab-caption__border-color);
8906
+ }
8907
+
8908
+ // Focus
8909
+ %tab-button--focus-visible {
8910
+ @include focus-outline();
8911
+ }
8912
+
8913
+ // Disabled
8914
+ %tab-button--disabled {
8915
+ @include tab-button-colors-disabled();
8916
+ --tab-button__border-width: 0;
8917
+ }
8918
+
8919
+ %tab-button-close-button {
8920
+ margin-inline-start: 4px;
8921
+ border-radius: 4px;
8922
+
8923
+ &--hover {
8924
+ background-color: var(--mer-color__tinted-primary--20);
8461
8925
  }
8462
8926
 
8463
- &__close-button {
8464
- &--focus {
8465
- @include focus-outline();
8466
- }
8927
+ &--focus-visible {
8928
+ @include focus-outline();
8467
8929
  }
8468
8930
  }
8469
8931
 
8470
8932
  %tab-list {
8471
- &--block {
8933
+ &--block-start {
8472
8934
  border-block-end: var(--items-container__border-width)
8473
8935
  var(--items-container__border-style) var(--items-container__border-color);
8474
8936
  }
8475
8937
 
8476
- &--inline {
8938
+ &--block-end {
8939
+ border-block-start: var(--items-container__border-width)
8940
+ var(--items-container__border-style) var(--items-container__border-color);
8941
+ }
8942
+
8943
+ &--inline-start {
8477
8944
  border-inline-end: var(--items-container__border-width)
8478
8945
  var(--items-container__border-style) var(--items-container__border-color);
8479
8946
  }
8947
+
8948
+ &--inline-end {
8949
+ border-inline-start: var(--items-container__border-width)
8950
+ var(--items-container__border-style) var(--items-container__border-color);
8951
+ }
8480
8952
  }
8481
8953
 
8482
8954
  @mixin tab(
8483
8955
  $tab-selector: ".tab",
8484
- $tab-caption-selector: ".tab::part(button)",
8485
- $tab-caption--block-selector: ".tab::part(button block)",
8486
- $tab-caption--inline-selector: ".tab::part(button inline)",
8487
- $tab-caption--selected-selector: ".tab::part(button selected)",
8488
- $tab-caption--selected-inline-selector: ".tab::part(button inline selected)",
8489
- $tab-caption--selected-block-selector: ".tab::part(button block selected)",
8490
- $tab-caption--disabled-selector: ".tab::part(button disabled)",
8491
- $tab-caption__close-button-selector: ".tab::part(close-button)",
8492
- $tab-list-selector: ".tab::part(tab-list)",
8493
- $tab-list--block-selector: ".tab::part(tab-list block)",
8494
- $tab-list--inline-selector: ".tab::part(tab-list inline)",
8956
+
8957
+ $tab-button-block-start-selector: ".tab::part(tab block-start)",
8958
+ $tab-button-block-start--selected-selector:
8959
+ ".tab::part(tab block-start selected)",
8960
+ $tab-button-block-start--disabled-selector:
8961
+ ".tab::part(tab block-start disabled)",
8962
+
8963
+ $tab-button-block-end-selector: ".tab::part(tab block-end)",
8964
+ $tab-button-block-end--selected-selector: ".tab::part(tab block-end selected)",
8965
+ $tab-button-block-end--disabled-selector: ".tab::part(tab block-end disabled)",
8966
+
8967
+ $tab-button-inline-start-selector: ".tab::part(tab inline-start)",
8968
+ $tab-button-inline-start--selected-selector:
8969
+ ".tab::part(tab inline-start selected)",
8970
+ $tab-button-inline-start--disabled-selector:
8971
+ ".tab::part(tab inline-start disabled)",
8972
+
8973
+ $tab-button-inline-end-selector: ".tab::part(tab inline-end)",
8974
+ $tab-button-inline-end--selected-selector:
8975
+ ".tab::part(tab inline-end selected)",
8976
+ $tab-button-inline-end--disabled-selector:
8977
+ ".tab::part(tab inline-end disabled)",
8978
+
8979
+ $tab-button--disabled-selector: ".tab::part(tab disabled)",
8980
+ $tab-button-close-button-selector: ".tab::part(close-button)",
8981
+
8982
+ $tab-list--block-start-selector: ".tab::part(tab-list block-start)",
8983
+ $tab-list--block-end-selector: ".tab::part(tab-list block-end)",
8984
+ $tab-list--inline-start-selector: ".tab::part(tab-list inline-start)",
8985
+ $tab-list--inline-end-selector: ".tab::part(tab-list inline-end)",
8986
+
8495
8987
  $add--tab: true,
8988
+ $add--tab-button-block-start: true,
8989
+ $add--tab-button-block-end: true,
8990
+ $add--tab-button-inline-start: true,
8991
+ $add--tab-button-inline-end: true,
8496
8992
  $add--tab-list: true,
8497
8993
  $add--disabled: true
8498
8994
  ) {
@@ -8502,62 +8998,165 @@
8502
8998
  }
8503
8999
  }
8504
9000
 
8505
- #{$tab-caption-selector} {
8506
- // @extend %tab-text;
8507
- @extend %tab-caption;
9001
+ // - - - - - - - - - - - - - - - - - - - -
9002
+ // Tab Button (block-start)
9003
+ // - - - - - - - - - - - - - - - - - - - -
9004
+ @if ($add--tab-button-block-start) {
9005
+ #{$tab-button-block-start-selector} {
9006
+ @extend %tab-button-block;
8508
9007
 
8509
- &:hover {
8510
- @extend %tab-caption--hover;
9008
+ &:hover {
9009
+ @extend %tab-button-block-start--hover;
9010
+ }
9011
+
9012
+ &:active {
9013
+ @extend %tab-button-block-start--active;
9014
+ }
9015
+
9016
+ &:focus-visible {
9017
+ @extend %tab-button--focus-visible;
9018
+ }
8511
9019
  }
8512
9020
 
8513
- &:focus-visible {
8514
- @extend %tab-caption--focus-visible;
9021
+ #{$tab-button-block-start--selected-selector} {
9022
+ @extend %tab-button-block-start--selected;
8515
9023
  }
8516
- }
8517
9024
 
8518
- #{$tab-caption--block-selector} {
8519
- @extend %tab-caption--block;
9025
+ @if $add--disabled {
9026
+ #{$tab-button-block-start--disabled-selector} {
9027
+ @extend %tab-button--disabled;
9028
+ }
9029
+ }
8520
9030
  }
8521
9031
 
8522
- #{$tab-caption--inline-selector} {
8523
- @extend %tab-caption--inline;
9032
+ // - - - - - - - - - - - - - - - - - - - -
9033
+ // Tab Button (block-end)
9034
+ // - - - - - - - - - - - - - - - - - - - -
9035
+ @if ($add--tab-button-block-end) {
9036
+ #{$tab-button-block-end-selector} {
9037
+ @extend %tab-button-block;
9038
+
9039
+ &:hover {
9040
+ @extend %tab-button-block-end--hover;
9041
+ }
9042
+
9043
+ &:active {
9044
+ @extend %tab-button-block-end--active;
9045
+ }
9046
+
9047
+ &:focus-visible {
9048
+ @extend %tab-button--focus-visible;
9049
+ }
9050
+ }
9051
+
9052
+ #{$tab-button-block-end--selected-selector} {
9053
+ @extend %tab-button-block-end--selected;
9054
+ }
9055
+
9056
+ @if $add--disabled {
9057
+ #{$tab-button-block-end--disabled-selector} {
9058
+ @extend %tab-button--disabled;
9059
+ }
9060
+ }
8524
9061
  }
8525
9062
 
8526
- #{$tab-caption--selected-selector} {
8527
- @extend %tab-caption--selected;
9063
+ // - - - - - - - - - - - - - - - - - - - -
9064
+ // Tab Button (inline-start)
9065
+ // - - - - - - - - - - - - - - - - - - - -
9066
+ @if ($add--tab-button-inline-start) {
9067
+ #{$tab-button-inline-start-selector} {
9068
+ @extend %tab-button-inline;
9069
+
9070
+ &:hover {
9071
+ @extend %tab-button-inline-start--hover;
9072
+ }
9073
+
9074
+ &:active {
9075
+ @extend %tab-button-inline-start--active;
9076
+ }
9077
+
9078
+ &:focus-visible {
9079
+ @extend %tab-button--focus-visible;
9080
+ }
9081
+ }
9082
+
9083
+ #{$tab-button-inline-start--selected-selector} {
9084
+ @extend %tab-button-inline-start--selected;
9085
+ }
9086
+
9087
+ @if $add--disabled {
9088
+ #{$tab-button-inline-start--disabled-selector} {
9089
+ @extend %tab-button--disabled;
9090
+ }
9091
+ }
8528
9092
  }
8529
9093
 
8530
- #{$tab-caption--selected-inline-selector} {
8531
- @extend %tab-caption--selected-inline;
9094
+ // - - - - - - - - - - - - - - - - - - - -
9095
+ // Tab Button (inline-end)
9096
+ // - - - - - - - - - - - - - - - - - - - -
9097
+ @if ($add--tab-button-inline-end) {
9098
+ #{$tab-button-inline-end-selector} {
9099
+ @extend %tab-button-inline;
9100
+
9101
+ &:hover {
9102
+ @extend %tab-button-inline-end--hover;
9103
+ }
9104
+
9105
+ &:active {
9106
+ @extend %tab-button-inline-end--active;
9107
+ }
9108
+
9109
+ &:focus-visible {
9110
+ @extend %tab-button--focus-visible;
9111
+ }
9112
+ }
9113
+
9114
+ #{$tab-button-inline-end--selected-selector} {
9115
+ @extend %tab-button-inline-end--selected;
9116
+ }
9117
+
9118
+ @if $add--disabled {
9119
+ #{$tab-button-inline-end--disabled-selector} {
9120
+ @extend %tab-button--disabled;
9121
+ }
9122
+ }
8532
9123
  }
8533
9124
 
8534
- #{$tab-caption--selected-block-selector} {
8535
- @extend %tab-caption--selected-block;
9125
+ #{$tab-button-close-button-selector} {
9126
+ @extend %tab-button-close-button;
9127
+
9128
+ &:focus-visible {
9129
+ @extend %tab-button-close-button--focus-visible;
9130
+ }
8536
9131
  }
8537
9132
 
8538
- #{$tab-caption__close-button-selector} {
9133
+ #{$tab-button-close-button-selector} {
9134
+ @extend %tab-button-close-button;
9135
+
9136
+ &:hover {
9137
+ @extend %tab-button-close-button--hover;
9138
+ }
9139
+
8539
9140
  &:focus-visible {
8540
- @extend %tab-caption__close-button--focus;
9141
+ @extend %tab-button-close-button--focus-visible;
8541
9142
  }
8542
9143
  }
8543
9144
 
8544
9145
  @if $add--tab-list {
8545
- #{$tab-list-selector} {
8546
- @extend %tab-list;
9146
+ #{$tab-list--block-start-selector} {
9147
+ @extend %tab-list--block-start;
8547
9148
  }
8548
- }
8549
9149
 
8550
- #{$tab-list--block-selector} {
8551
- @extend %tab-list--block;
8552
- }
9150
+ #{$tab-list--block-end-selector} {
9151
+ @extend %tab-list--block-end;
9152
+ }
8553
9153
 
8554
- #{$tab-list--inline-selector} {
8555
- @extend %tab-list--inline;
8556
- }
9154
+ #{$tab-list--inline-start-selector} {
9155
+ @extend %tab-list--inline-start;
9156
+ }
8557
9157
 
8558
- @if $add--disabled {
8559
- #{$tab-caption--disabled-selector} {
8560
- @extend %tab-caption--disabled;
9158
+ #{$tab-list--inline-end-selector} {
9159
+ @extend %tab-list--inline-end;
8561
9160
  }
8562
9161
  }
8563
9162
  }
@@ -9796,6 +10395,148 @@
9796
10395
  }
9797
10396
  }
9798
10397
 
10398
+ %toggle-basic {
10399
+ --ch-switch-track__unchecked-background-color: var(
10400
+ --mer-color__neutral-gray--650
10401
+ );
10402
+ --ch-switch-track__checked-background-color: var(
10403
+ --mer-color__tinted-primary--50
10404
+ );
10405
+ --ch-switch-thumb__unchecked-background-color: var(--mer-icon__neutral);
10406
+ --ch-switch-thumb__checked-background-color: var(--mer-icon__neutral);
10407
+ --ch-switch-thumb__state-transition-duration: 150ms;
10408
+
10409
+ &__track {
10410
+ border-radius: var(--ch-switch-track-block-size);
10411
+ margin-inline-end: var(--mer-spacing--xs);
10412
+
10413
+ &--disabled {
10414
+ --ch-switch-track__unchecked-background-color: var(
10415
+ --mer-accent__primary--disabled
10416
+ );
10417
+ --ch-switch-track__checked-background-color: var(
10418
+ --mer-accent__primary--disabled
10419
+ );
10420
+ --ch-switch-thumb__unchecked-background-color: var(
10421
+ --mer-icon__on-disabled
10422
+ );
10423
+ --ch-switch-thumb__checked-background-color: var(--mer-icon__on-disabled);
10424
+ }
10425
+ }
10426
+
10427
+ &__caption {
10428
+ &--checked {
10429
+ font-weight: 600;
10430
+ }
10431
+ }
10432
+ }
10433
+
10434
+ %toggle-small {
10435
+ --ch-switch-track-block-size: 16px;
10436
+ --ch-switch-track-inline-size: 31px;
10437
+ --ch-switch-thumb-size: 9px;
10438
+
10439
+ &__thumb {
10440
+ &--unchecked {
10441
+ inset-inline-start: 4px;
10442
+ }
10443
+
10444
+ &--checked {
10445
+ inset-inline-start: calc(100% - var(--ch-switch-thumb-size) - 4px);
10446
+ }
10447
+ }
10448
+ }
10449
+
10450
+ %toggle-large {
10451
+ --ch-switch-track-block-size: 26px;
10452
+ --ch-switch-track-inline-size: 50px;
10453
+ --ch-switch-thumb-size: 16px;
10454
+
10455
+ &__thumb {
10456
+ &--unchecked {
10457
+ inset-inline-start: 6px;
10458
+ }
10459
+
10460
+ &--checked {
10461
+ inset-inline-start: calc(100% - var(--ch-switch-thumb-size) - 6px);
10462
+ }
10463
+ }
10464
+ }
10465
+
10466
+ @mixin toggle-small(
10467
+ $toggle-selector: ".toggle-small",
10468
+ $track-selector: ".toggle-small::part(track)",
10469
+ $track--disabled-selector: ".toggle-small::part(track disabled)",
10470
+ $thumb--unchecked-selector: ".toggle-small::part(thumb unchecked)",
10471
+ $thumb--checked-selector: ".toggle-small::part(thumb checked)",
10472
+ $caption--checked-selector: ".toggle-small::part(caption checked)",
10473
+ $add--disabled: true
10474
+ ) {
10475
+ #{$toggle-selector} {
10476
+ @extend %toggle-basic;
10477
+ @extend %toggle-small;
10478
+ }
10479
+
10480
+ #{$track-selector} {
10481
+ @extend %toggle-basic__track;
10482
+ }
10483
+
10484
+ @if $add--disabled {
10485
+ #{$track--disabled-selector} {
10486
+ @extend %toggle-basic__track--disabled;
10487
+ }
10488
+ }
10489
+
10490
+ #{$thumb--unchecked-selector} {
10491
+ @extend %toggle-small__thumb--unchecked;
10492
+ }
10493
+
10494
+ #{$thumb--checked-selector} {
10495
+ @extend %toggle-small__thumb--checked;
10496
+ }
10497
+
10498
+ #{$caption--checked-selector} {
10499
+ @extend %toggle-basic__caption--checked;
10500
+ }
10501
+ }
10502
+
10503
+ @mixin toggle-large(
10504
+ $toggle-selector: ".toggle-large",
10505
+ $track-selector: ".toggle-large::part(track)",
10506
+ $track--disabled-selector: ".toggle-large::part(track disabled)",
10507
+ $thumb--unchecked-selector: ".toggle-large::part(thumb unchecked)",
10508
+ $thumb--checked-selector: ".toggle-large::part(thumb checked)",
10509
+ $caption--checked-selector: ".toggle-large::part(caption checked)",
10510
+ $add--disabled: true
10511
+ ) {
10512
+ #{$toggle-selector} {
10513
+ @extend %toggle-basic;
10514
+ @extend %toggle-large;
10515
+ }
10516
+
10517
+ #{$track-selector} {
10518
+ @extend %toggle-basic__track;
10519
+ }
10520
+
10521
+ @if $add--disabled {
10522
+ #{$track--disabled-selector} {
10523
+ @extend %toggle-basic__track--disabled;
10524
+ }
10525
+ }
10526
+
10527
+ #{$thumb--unchecked-selector} {
10528
+ @extend %toggle-large__thumb--unchecked;
10529
+ }
10530
+
10531
+ #{$thumb--checked-selector} {
10532
+ @extend %toggle-large__thumb--checked;
10533
+ }
10534
+
10535
+ #{$caption--checked-selector} {
10536
+ @extend %toggle-basic__caption--checked;
10537
+ }
10538
+ }
10539
+
9799
10540
  @mixin tooltip-tokens() {
9800
10541
  --tooltip__background-color: var(--mer-color__neutral-gray--1000);
9801
10542
  --tooltip__border-radius: var(--mer-border__radius--sm);
@@ -10223,6 +10964,7 @@
10223
10964
  $edit: true,
10224
10965
  $flexible-layout: true,
10225
10966
  $icon: true,
10967
+ $layout-splitter: true,
10226
10968
  $list-box: true,
10227
10969
  $markdown-viewer: true,
10228
10970
  $navigation-list: true,
@@ -10234,6 +10976,7 @@
10234
10976
  $tab: true,
10235
10977
  $tabular-grid: true,
10236
10978
  $ticket-list: true,
10979
+ $toggle: true,
10237
10980
  $tooltip: true,
10238
10981
  $tree-view: true,
10239
10982
  $widget: true
@@ -18550,6 +19293,10 @@
18550
19293
  @include icon();
18551
19294
  }
18552
19295
 
19296
+ @if $layout-splitter {
19297
+ @include layout-splitter();
19298
+ }
19299
+
18553
19300
  @if $list-box {
18554
19301
  @include list-box();
18555
19302
  }
@@ -18596,6 +19343,11 @@
18596
19343
  @include ticket-list();
18597
19344
  }
18598
19345
 
19346
+ @if $toggle {
19347
+ @include toggle-small();
19348
+ @include toggle-large();
19349
+ }
19350
+
18599
19351
  @if $tooltip {
18600
19352
  @include tooltip();
18601
19353
  }
@@ -18666,6 +19418,7 @@
18666
19418
  $edit: false,
18667
19419
  $flexible-layout: false,
18668
19420
  $icon: false,
19421
+ $layout-splitter: false,
18669
19422
  $list-box: false,
18670
19423
  $markdown-viewer: false,
18671
19424
  $navigation-list: false,
@@ -18677,6 +19430,7 @@
18677
19430
  $tab: false,
18678
19431
  $tabular-grid: false,
18679
19432
  $ticket-list: false,
19433
+ $toggle: false,
18680
19434
  $tooltip: false,
18681
19435
  $tree-view: false,
18682
19436
  $widget: false
@@ -18738,6 +19492,7 @@
18738
19492
  $edit: $edit,
18739
19493
  $flexible-layout: $flexible-layout,
18740
19494
  $icon: $icon,
19495
+ $layout-splitter: $layout-splitter,
18741
19496
  $list-box: $list-box,
18742
19497
  $markdown-viewer: $markdown-viewer,
18743
19498
  $navigation-list: $navigation-list,
@@ -18749,6 +19504,7 @@
18749
19504
  $tab: $tab,
18750
19505
  $tabular-grid: $tabular-grid,
18751
19506
  $ticket-list: $ticket-list,
19507
+ $toggle: $toggle,
18752
19508
  $tooltip: $tooltip,
18753
19509
  $tree-view: $tree-view,
18754
19510
  $widget: $widget