@sc-360-v2/storefront-cms-library 0.5.64 → 0.5.66

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.
@@ -103,63 +103,61 @@
103
103
  .item {
104
104
  width: prepareMediaVariable(--_ctm-lt-im-wh);
105
105
  height: prepareMediaVariable(--_ctm-lt-im-ht);
106
- padding: var(--_ctm-mob-lt-im-pg, var(--_ctm-tab-lt-im-pg, var(--_ctm-lt-im-pg)));
107
106
 
108
- background-color: var(
109
- --_ctm-mob-dn-im-se-bd-cr,
110
- var(--_ctm-tab-dn-im-se-bd-cr, var(--_ctm-dn-im-se-bd-cr))
111
- );
107
+ position: relative;
108
+ img {
109
+ object-fit: cover;
110
+ display: block;
111
+ height: 100%;
112
+ width: 100%;
113
+ box-sizing: border-box;
112
114
 
113
- border-color: var(
114
- --_ctm-mob-dn-im-se-br-cr,
115
- var(--_ctm-tab-dn-im-se-br-cr, var(--_ctm-dn-im-se-br-cr))
116
- );
115
+ padding: var(--_ctm-mob-lt-im-pg, var(--_ctm-tab-lt-im-pg, var(--_ctm-lt-im-pg)));
117
116
 
118
- border-style: var(
119
- --_ctm-mob-dn-im-se-br-se,
120
- var(--_ctm-tab-dn-im-se-br-se, var(--_ctm-dn-im-se-br-se))
121
- );
117
+ background-color: var(
118
+ --_ctm-mob-dn-im-se-bd-cr,
119
+ var(--_ctm-tab-dn-im-se-bd-cr, var(--_ctm-dn-im-se-bd-cr))
120
+ );
122
121
 
123
- border-width: var(
124
- --_ctm-mob-dn-im-se-br-wh,
125
- var(--_ctm-tab-dn-im-se-br-wh, var(--_ctm-dn-im-se-br-wh))
126
- );
122
+ border-color: var(
123
+ --_ctm-mob-dn-im-se-br-cr,
124
+ var(--_ctm-tab-dn-im-se-br-cr, var(--_ctm-dn-im-se-br-cr))
125
+ );
127
126
 
128
- border-radius: var(
129
- --_ctm-mob-dn-im-se-br-rs,
130
- var(--_ctm-tab-dn-im-se-br-rs, var(--_ctm-dn-im-se-br-rs))
131
- );
127
+ border-style: var(
128
+ --_ctm-mob-dn-im-se-br-se,
129
+ var(--_ctm-tab-dn-im-se-br-se, var(--_ctm-dn-im-se-br-se))
130
+ );
132
131
 
133
- box-shadow: var(
134
- --_show-shadow,
135
- var(
136
- --_ctm-mob-dn-im-se-sw-ae,
137
- var(--_ctm-tab-dn-im-se-sw-ae, var(--_ctm-dn-im-se-sw-ae))
138
- )
139
- var(
140
- --_ctm-mob-dn-im-se-sw-br,
141
- var(--_ctm-tab-dn-im-se-sw-br, var(--_ctm-dn-im-se-sw-br))
142
- )
143
- var(
144
- --_ctm-mob-dn-im-se-sw-sd,
145
- var(--_ctm-tab-dn-im-se-sw-sd, var(--_ctm-dn-im-se-sw-sd))
146
- )
147
- var(
148
- --_ctm-mob-dn-im-se-sw-cr,
149
- var(--_ctm-tab-dn-im-se-sw-cr, var(--_ctm-dn-im-se-sw-cr))
150
- )
151
- );
132
+ border-width: var(
133
+ --_ctm-mob-dn-im-se-br-wh,
134
+ var(--_ctm-tab-dn-im-se-br-wh, var(--_ctm-dn-im-se-br-wh))
135
+ );
152
136
 
153
- position: relative;
154
- img {
155
- object-fit: cover;
156
- height: 100%;
157
- width: 100%;
158
- // Item Style > Border Radius rounds the item box, but the image is painted
159
- // over its corners. `overflow: hidden` on the item would clip it, except the
160
- // divider ::before sits outside the box (see dividerGapOffset) and would go
161
- // with it — so round the image itself instead.
162
- border-radius: inherit;
137
+ border-radius: var(
138
+ --_ctm-mob-dn-im-se-br-rs,
139
+ var(--_ctm-tab-dn-im-se-br-rs, var(--_ctm-dn-im-se-br-rs))
140
+ );
141
+
142
+ box-shadow: var(
143
+ --_show-shadow,
144
+ var(
145
+ --_ctm-mob-dn-im-se-sw-ae,
146
+ var(--_ctm-tab-dn-im-se-sw-ae, var(--_ctm-dn-im-se-sw-ae))
147
+ )
148
+ var(
149
+ --_ctm-mob-dn-im-se-sw-br,
150
+ var(--_ctm-tab-dn-im-se-sw-br, var(--_ctm-dn-im-se-sw-br))
151
+ )
152
+ var(
153
+ --_ctm-mob-dn-im-se-sw-sd,
154
+ var(--_ctm-tab-dn-im-se-sw-sd, var(--_ctm-dn-im-se-sw-sd))
155
+ )
156
+ var(
157
+ --_ctm-mob-dn-im-se-sw-cr,
158
+ var(--_ctm-tab-dn-im-se-sw-cr, var(--_ctm-dn-im-se-sw-cr))
159
+ )
160
+ );
163
161
  }
164
162
  }
165
163
  .items__container {
@@ -512,23 +512,20 @@
512
512
  margin-top: 10px;
513
513
  }
514
514
  }
515
- &[data-control-type="Side"] {
516
- .left-button,
517
- .right-button {
518
- background-color: transparent;
515
+ // Background Shape, exactly as the Gallery Slider element does it: the button is
516
+ // a circle by default, "None" squares it off and "Square" gives it the 4px
517
+ // rounding. Keyed off the BUTTON rather than the `.embla` container, because
518
+ // that is the one place both carousel components publish the attribute.
519
+ .left-button,
520
+ .right-button {
521
+ &[data-background-shape="None"] {
522
+ border-radius: 0;
519
523
  }
520
- }
521
- &[data-background-shape="Round"] {
522
- .left-button,
523
- .right-button {
524
- // background-color: var(
525
- // --_ctm-mob-dn-ie-pn-as-bd-cr,
526
- // var(--_ctm-tab-dn-ie-pn-as-bd-cr, var(--_ctm-dn-ie-pn-as-bd-cr))
527
- // );
528
- &:not(:disabled):hover {
529
- @include BgColorLighter(var(--_thm-py-bs-hr-se-bd-cr), 5%);
530
- }
531
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
524
+ &[data-background-shape="Round"] {
525
+ border-radius: 50%;
526
+ }
527
+ &[data-background-shape="Square"] {
528
+ border-radius: 4px;
532
529
  }
533
530
  }
534
531
 
@@ -638,37 +635,16 @@
638
635
  }
639
636
  }
640
637
  }
641
- // Image > Pagination Arrows: the button's own box. Until now the arrows carried
642
- // only a glyph, a size and a colour, so the Border and Radius tabs of that panel
643
- // had nothing to write to and the box below was hardcoded. Declared once for both
644
- // buttons and placed after them so it wins on source order each still sets its
645
- // own margin and disabled state above.
646
- //
647
- // Every fallback is the value that was hardcoded here before (10px padding, a
648
- // 50% radius, no border), so an arrow nobody has styled looks exactly as it did.
649
- .left-button,
650
- .right-button {
651
- padding: prepareMediaVariable(--_ctm-dn-ie-pn-as-pg, 10px);
652
- background-color: prepareMediaVariable(--_ctm-dn-ie-pn-as-bd-cr, transparent);
653
- border-color: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-cr, transparent);
654
- border-style: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-se, solid);
655
- border-width: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-wh, 0);
656
- // Falls back to 50%, NOT prepareMediaVariable's `inherit` tail — an arrow with
657
- // no configured radius has always been a circle.
658
- border-radius: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-rs, 50%);
659
- // Shadow is opt-in: these arrows have never cast one, so it only appears once
660
- // Show Shadow is switched on.
661
- box-shadow: none;
662
-
663
- &[data-show-shadow="true"] {
664
- box-shadow: prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-ae, 0 0)
665
- prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-br, 0)
666
- prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-sd, 0)
667
- prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-cr, transparent);
668
- }
669
-
670
- &[data-show-border="false"] {
671
- border: none;
638
+ // Image > Pagination Arrows. Only what the panel offers: Background Color and
639
+ // Arrow Color (Background Shape is handled on the container above, Arrow Size by
640
+ // the two rules before this one). Same treatment the Gallery Slider element uses
641
+ // the chosen fill is mixed down to 10%, lifting to 20% on hover, so a solid
642
+ // colour reads as a tint behind the glyph rather than a hard disc.
643
+ :is(.left-button, .right-button) {
644
+ @include BgColorLighter(var(--_ctm-dn-ie-pn-as-bd-cr), 10%);
645
+
646
+ &:not(:disabled):hover {
647
+ @include BgColorLighter(var(--_ctm-dn-ie-pn-as-bd-cr), 20%);
672
648
  }
673
649
 
674
650
  // Arrow Color. Applied to the svg itself and to any descendant that carries a
@@ -686,15 +662,6 @@
686
662
  fill: prepareMediaVariable(--_ctm-dn-ie-pn-as-aw-cr, var(--_gray-500));
687
663
  }
688
664
  }
689
-
690
- // Background Shape overrides the configured radius when it is set to something
691
- // definite; "None" leaves the radius alone.
692
- &[data-background-shape="Round"] {
693
- border-radius: 50%;
694
- }
695
- &[data-background-shape="Square"] {
696
- border-radius: 0;
697
- }
698
665
  }
699
666
 
700
667
  .icon {
@@ -976,15 +943,24 @@
976
943
 
977
944
  border-color: var(
978
945
  --_show-im-border,
979
- var(--_ctm-mob-dn-ie-im-se-br-cr, var(--_ctm-tab-dn-ie-im-se-br-cr, var(--_ctm-dn-ie-im-se-br-cr)))
946
+ var(
947
+ --_ctm-mob-dn-ie-im-se-br-cr,
948
+ var(--_ctm-tab-dn-ie-im-se-br-cr, var(--_ctm-dn-ie-im-se-br-cr))
949
+ )
980
950
  );
981
951
  border-style: var(
982
952
  --_show-im-border,
983
- var(--_ctm-mob-dn-ie-im-se-br-se, var(--_ctm-tab-dn-ie-im-se-br-se, var(--_ctm-dn-ie-im-se-br-se)))
953
+ var(
954
+ --_ctm-mob-dn-ie-im-se-br-se,
955
+ var(--_ctm-tab-dn-ie-im-se-br-se, var(--_ctm-dn-ie-im-se-br-se))
956
+ )
984
957
  );
985
958
  border-width: var(
986
959
  --_show-im-border,
987
- var(--_ctm-mob-dn-ie-im-se-br-wh, var(--_ctm-tab-dn-ie-im-se-br-wh, var(--_ctm-dn-ie-im-se-br-wh)))
960
+ var(
961
+ --_ctm-mob-dn-ie-im-se-br-wh,
962
+ var(--_ctm-tab-dn-ie-im-se-br-wh, var(--_ctm-dn-ie-im-se-br-wh))
963
+ )
988
964
  );
989
965
  border-radius: var(
990
966
  --_ctm-mob-dn-ie-im-se-br-rs,
@@ -11,6 +11,18 @@
11
11
  @return prepareMediaVariable($newVar, prepareMediaVariable($legacyVar));
12
12
  }
13
13
 
14
+ // The value text's typography is not state-aware — the Option Value Text Style panel has
15
+ // no Default / Hover / Selected picker — so its keys sit flat on optionValueTextStyle
16
+ // rather than under defaultState. Three shapes can be on disk, so resolve in order: the
17
+ // flat variable, then the defaultState-nested one saved while the section still had the
18
+ // picker, then the pre-split optionValueStyle.defaultState one.
19
+ @function optionValueTextDefaultVar($flatVar, $stateVar, $legacyVar) {
20
+ @return prepareMediaVariable(
21
+ $flatVar,
22
+ prepareMediaVariable($stateVar, prepareMediaVariable($legacyVar))
23
+ );
24
+ }
25
+
14
26
  [data-div-type="element"] {
15
27
  &[data-element-type="productOptions"] {
16
28
  width: var(
@@ -558,46 +570,83 @@
558
570
  .option__value__text {
559
571
  color: var(
560
572
  --_sf-hr-cr,
561
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-cr, --_ctm-dn-on-ve-se-dt-se-cr)}
573
+ #{optionValueTextDefaultVar(
574
+ --_ctm-dn-on-ve-tt-se-cr,
575
+ --_ctm-dn-on-ve-tt-se-dt-se-cr,
576
+ --_ctm-dn-on-ve-se-dt-se-cr
577
+ )}
562
578
  );
563
579
  font-family: var(
564
580
  --_sf-hr-ft-fy,
565
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ft-fy, --_ctm-dn-on-ve-se-dt-se-ft-fy)}
581
+ #{optionValueTextDefaultVar(
582
+ --_ctm-dn-on-ve-tt-se-ft-fy,
583
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-fy,
584
+ --_ctm-dn-on-ve-se-dt-se-ft-fy
585
+ )}
566
586
  );
567
587
  text-transform: var(
568
588
  --_sf-hr-tt-tm,
569
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-tt-tm, --_ctm-dn-on-ve-se-dt-se-tt-tm)}
589
+ #{optionValueTextDefaultVar(
590
+ --_ctm-dn-on-ve-tt-se-tt-tm,
591
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-tm,
592
+ --_ctm-dn-on-ve-se-dt-se-tt-tm
593
+ )}
570
594
  );
571
595
  word-wrap: var(
572
596
  --_sf-hr-wd-wp,
573
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-wd-wp, --_ctm-dn-on-ve-se-dt-se-wd-wp)}
597
+ #{optionValueTextDefaultVar(
598
+ --_ctm-dn-on-ve-tt-se-wd-wp,
599
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-wp,
600
+ --_ctm-dn-on-ve-se-dt-se-wd-wp
601
+ )}
574
602
  );
575
603
  word-break: var(
576
604
  --_sf-hr-wd-bk,
577
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-wd-bk, --_ctm-dn-on-ve-se-dt-se-wd-bk)}
605
+ #{optionValueTextDefaultVar(
606
+ --_ctm-dn-on-ve-tt-se-wd-bk,
607
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-bk,
608
+ --_ctm-dn-on-ve-se-dt-se-wd-bk
609
+ )}
578
610
  );
579
611
  font-size: var(
580
612
  --_sf-hr-ft-se,
581
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ft-se, --_ctm-dn-on-ve-se-dt-se-ft-se)}
613
+ #{optionValueTextDefaultVar(
614
+ --_ctm-dn-on-ve-tt-se-ft-se,
615
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se,
616
+ --_ctm-dn-on-ve-se-dt-se-ft-se
617
+ )}
582
618
  );
583
619
  font-weight: var(
584
620
  --_sf-hr-ft-wt,
585
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ft-wt, --_ctm-dn-on-ve-se-dt-se-ft-wt)}
621
+ #{optionValueTextDefaultVar(
622
+ --_ctm-dn-on-ve-tt-se-ft-wt,
623
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-wt,
624
+ --_ctm-dn-on-ve-se-dt-se-ft-wt
625
+ )}
586
626
  );
587
627
  font-style: var(
588
628
  --_sf-hr-ft-se-ic,
589
- #{optionValueTextVar(
629
+ #{optionValueTextDefaultVar(
630
+ --_ctm-dn-on-ve-tt-se-ft-se-ic,
590
631
  --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
591
632
  --_ctm-dn-on-ve-se-dt-se-ft-se-ic
592
633
  )}
593
634
  );
594
635
  text-align: var(
595
636
  --_sf-hr-tt-an,
596
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-tt-an, --_ctm-dn-on-ve-se-dt-se-tt-an)}
637
+ #{optionValueTextDefaultVar(
638
+ --_ctm-dn-on-ve-tt-se-tt-an,
639
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-an,
640
+ --_ctm-dn-on-ve-se-dt-se-tt-an
641
+ )}
597
642
  );
598
643
  letter-spacing: var(
599
644
  --_sf-hr-lr-sg,
600
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-lr-sg, --_ctm-dn-on-ve-se-dt-se-lr-sg)}
645
+ #{optionValueTextDefaultVar(
646
+ --_ctm-dn-on-ve-tt-se-lr-sg,
647
+ --_ctm-dn-on-ve-tt-se-dt-se-lr-sg,
648
+ --_ctm-dn-on-ve-se-dt-se-lr-sg
649
+ )}
601
650
  );
602
651
  // The pre-split key is `le-ht-dc`; the new section is read under both spellings
603
652
  // so whichever one the converter writes resolves.
@@ -605,7 +654,8 @@
605
654
  --_sf-hr-le-ht,
606
655
  prepareMediaVariable(
607
656
  --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
608
- #{optionValueTextVar(
657
+ #{optionValueTextDefaultVar(
658
+ --_ctm-dn-on-ve-tt-se-le-ht-dc,
609
659
  --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
610
660
  --_ctm-dn-on-ve-se-dt-se-le-ht-dc
611
661
  )}
@@ -613,7 +663,11 @@
613
663
  );
614
664
  text-decoration: var(
615
665
  --_sf-hr-ue,
616
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ue, --_ctm-dn-on-ve-se-dt-se-ue)}
666
+ #{optionValueTextDefaultVar(
667
+ --_ctm-dn-on-ve-tt-se-ue,
668
+ --_ctm-dn-on-ve-tt-se-dt-se-ue,
669
+ --_ctm-dn-on-ve-se-dt-se-ue
670
+ )}
617
671
  );
618
672
  // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
619
673
  // broke onto a second line inside it. Keep it on one line.
@@ -677,46 +731,83 @@
677
731
  .option__value__text {
678
732
  color: var(
679
733
  --_sf-hr-cr,
680
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-cr, --_ctm-dn-on-ve-se-dt-se-cr)}
734
+ #{optionValueTextDefaultVar(
735
+ --_ctm-dn-on-ve-tt-se-cr,
736
+ --_ctm-dn-on-ve-tt-se-dt-se-cr,
737
+ --_ctm-dn-on-ve-se-dt-se-cr
738
+ )}
681
739
  );
682
740
  font-family: var(
683
741
  --_sf-hr-ft-fy,
684
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ft-fy, --_ctm-dn-on-ve-se-dt-se-ft-fy)}
742
+ #{optionValueTextDefaultVar(
743
+ --_ctm-dn-on-ve-tt-se-ft-fy,
744
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-fy,
745
+ --_ctm-dn-on-ve-se-dt-se-ft-fy
746
+ )}
685
747
  );
686
748
  text-transform: var(
687
749
  --_sf-hr-tt-tm,
688
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-tt-tm, --_ctm-dn-on-ve-se-dt-se-tt-tm)}
750
+ #{optionValueTextDefaultVar(
751
+ --_ctm-dn-on-ve-tt-se-tt-tm,
752
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-tm,
753
+ --_ctm-dn-on-ve-se-dt-se-tt-tm
754
+ )}
689
755
  );
690
756
  word-wrap: var(
691
757
  --_sf-hr-wd-wp,
692
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-wd-wp, --_ctm-dn-on-ve-se-dt-se-wd-wp)}
758
+ #{optionValueTextDefaultVar(
759
+ --_ctm-dn-on-ve-tt-se-wd-wp,
760
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-wp,
761
+ --_ctm-dn-on-ve-se-dt-se-wd-wp
762
+ )}
693
763
  );
694
764
  word-break: var(
695
765
  --_sf-hr-wd-bk,
696
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-wd-bk, --_ctm-dn-on-ve-se-dt-se-wd-bk)}
766
+ #{optionValueTextDefaultVar(
767
+ --_ctm-dn-on-ve-tt-se-wd-bk,
768
+ --_ctm-dn-on-ve-tt-se-dt-se-wd-bk,
769
+ --_ctm-dn-on-ve-se-dt-se-wd-bk
770
+ )}
697
771
  );
698
772
  font-size: var(
699
773
  --_sf-hr-ft-se,
700
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ft-se, --_ctm-dn-on-ve-se-dt-se-ft-se)}
774
+ #{optionValueTextDefaultVar(
775
+ --_ctm-dn-on-ve-tt-se-ft-se,
776
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se,
777
+ --_ctm-dn-on-ve-se-dt-se-ft-se
778
+ )}
701
779
  );
702
780
  font-weight: var(
703
781
  --_sf-hr-ft-wt,
704
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ft-wt, --_ctm-dn-on-ve-se-dt-se-ft-wt)}
782
+ #{optionValueTextDefaultVar(
783
+ --_ctm-dn-on-ve-tt-se-ft-wt,
784
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-wt,
785
+ --_ctm-dn-on-ve-se-dt-se-ft-wt
786
+ )}
705
787
  );
706
788
  font-style: var(
707
789
  --_sf-hr-ft-se-ic,
708
- #{optionValueTextVar(
790
+ #{optionValueTextDefaultVar(
791
+ --_ctm-dn-on-ve-tt-se-ft-se-ic,
709
792
  --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
710
793
  --_ctm-dn-on-ve-se-dt-se-ft-se-ic
711
794
  )}
712
795
  );
713
796
  text-align: var(
714
797
  --_sf-hr-tt-an,
715
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-tt-an, --_ctm-dn-on-ve-se-dt-se-tt-an)}
798
+ #{optionValueTextDefaultVar(
799
+ --_ctm-dn-on-ve-tt-se-tt-an,
800
+ --_ctm-dn-on-ve-tt-se-dt-se-tt-an,
801
+ --_ctm-dn-on-ve-se-dt-se-tt-an
802
+ )}
716
803
  );
717
804
  letter-spacing: var(
718
805
  --_sf-hr-lr-sg,
719
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-lr-sg, --_ctm-dn-on-ve-se-dt-se-lr-sg)}
806
+ #{optionValueTextDefaultVar(
807
+ --_ctm-dn-on-ve-tt-se-lr-sg,
808
+ --_ctm-dn-on-ve-tt-se-dt-se-lr-sg,
809
+ --_ctm-dn-on-ve-se-dt-se-lr-sg
810
+ )}
720
811
  );
721
812
  // The pre-split key is `le-ht-dc`; the new section is read under both spellings
722
813
  // so whichever one the converter writes resolves.
@@ -724,7 +815,8 @@
724
815
  --_sf-hr-le-ht,
725
816
  prepareMediaVariable(
726
817
  --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
727
- #{optionValueTextVar(
818
+ #{optionValueTextDefaultVar(
819
+ --_ctm-dn-on-ve-tt-se-le-ht-dc,
728
820
  --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
729
821
  --_ctm-dn-on-ve-se-dt-se-le-ht-dc
730
822
  )}
@@ -732,7 +824,11 @@
732
824
  );
733
825
  text-decoration: var(
734
826
  --_sf-hr-ue,
735
- #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ue, --_ctm-dn-on-ve-se-dt-se-ue)}
827
+ #{optionValueTextDefaultVar(
828
+ --_ctm-dn-on-ve-tt-se-ue,
829
+ --_ctm-dn-on-ve-tt-se-dt-se-ue,
830
+ --_ctm-dn-on-ve-se-dt-se-ue
831
+ )}
736
832
  );
737
833
  // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
738
834
  // broke onto a second line inside it. Keep it on one line.
package/dist/quotes.scss CHANGED
@@ -4,6 +4,17 @@
4
4
 
5
5
  $resizerId: "[data-cms-tool='cms-element-resizer']";
6
6
  $resizeActive: '[data-cms-element-resizer="true"]';
7
+
8
+ // Design > Icon Actions: the CSS-variable scope of each quick action's sub-section,
9
+ // keyed by the class its span carries. `splitCamelCaseAndJoin` turns the schema's
10
+ // selector keys into these codes, e.g. `sendMessageIcon` -> `sd-me-in`.
11
+ $quote-action-icons: (
12
+ "quotes_send": "sd-me-in",
13
+ "quotes_download": "dd-in",
14
+ "quotes_print": "pt-in",
15
+ "quotes_view": "vw-in",
16
+ "quotes_cancel": "cl-in",
17
+ );
7
18
  [data-div-type="element"] {
8
19
  &[data-element-type="quotes"] {
9
20
  width: var(
@@ -20,7 +31,7 @@ $resizeActive: '[data-cms-element-resizer="true"]';
20
31
 
21
32
  & > div {
22
33
  &.wrapper {
23
- width: 100%;
34
+ width: prepareMediaVariable(--_ctm-lt-wh);
24
35
  padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
25
36
  &[data-divider-type="true"] .metric_item {
26
37
  border: 0px !important;
@@ -291,6 +302,34 @@ $resizeActive: '[data-cms-element-resizer="true"]';
291
302
  flex: 1 0 0;
292
303
  align-self: stretch;
293
304
  font-size: 14px;
305
+ & > span {
306
+ display: inline-flex;
307
+ align-items: center;
308
+ cursor: pointer;
309
+ }
310
+
311
+ // Design > Icons gives each action a tab of its own, so each reads its
312
+ // own size / color / stroke width rather than one shared set. The
313
+ // suffixes match the tabs in quotes-element-data.ts: Send, Download,
314
+ // Print, View, Cancel.
315
+ // Design > Icon Actions gives each action a sub-section of its own, so
316
+ // each reads its own size / color / stroke width rather than one shared
317
+ // set. The codes are what `splitCamelCaseAndJoin` makes of those
318
+ // sub-sections: sendMessageIcon -> sd-me-in, downloadIcon -> dd-in, and
319
+ // so on. The fallbacks keep quotes saved before this section looking as
320
+ // they always have.
321
+ @each $class, $scope in $quote-action-icons {
322
+ .#{$class} span svg {
323
+ width: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-in-se, 20px);
324
+ height: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-in-se, 20px);
325
+
326
+ path {
327
+ stroke: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-in-cr, #667085);
328
+ // Overrides the stroke-width presentation attribute baked into the icon markup.
329
+ stroke-width: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-se-wh, 1.67);
330
+ }
331
+ }
332
+ }
294
333
  }
295
334
  }
296
335
  }
@@ -475,8 +514,43 @@ $resizeActive: '[data-cms-element-resizer="true"]';
475
514
  &[data-background-shape="Round"] {
476
515
  .left-button,
477
516
  .right-button {
478
- background-color: #f2f5f5;
479
- box-sizing: 0 4px 8px rgba(0, 0, 0, 0.1);
517
+ // Pagination Arrows > Background Color, tinted rather than applied flat:
518
+ // 10% of the picked color at rest and 20% on hover, so the arrow reads as
519
+ // a soft chip over the card and the hover is a visible step up. Falls back
520
+ // to the grey these buttons have always used when no color is picked.
521
+ @include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 10%);
522
+
523
+ // Disabled arrows keep the resting tint — a hover response there would
524
+ // suggest a slide that cannot be reached.
525
+ &:not(:disabled):hover {
526
+ @include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 20%);
527
+ }
528
+ }
529
+ }
530
+ // Square and None carry the same tint; only the corners differ. The 50% radius
531
+ // that rounds these buttons is set on `.left-button` / `.right-button` below,
532
+ // so both shapes have to state their own — 6px for Square, square corners for
533
+ // None.
534
+ &[data-background-shape="Square"] {
535
+ .left-button,
536
+ .right-button {
537
+ border-radius: 4px;
538
+ @include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 10%);
539
+
540
+ &:not(:disabled):hover {
541
+ @include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 20%);
542
+ }
543
+ }
544
+ }
545
+ &[data-background-shape="None"] {
546
+ .left-button,
547
+ .right-button {
548
+ border-radius: 0;
549
+ @include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 10%);
550
+
551
+ &:not(:disabled):hover {
552
+ @include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 20%);
553
+ }
480
554
  }
481
555
  }
482
556
  &[data-control-type="Bottom-Overflow"] {
@@ -487,6 +561,13 @@ $resizeActive: '[data-cms-element-resizer="true"]';
487
561
  top: unset;
488
562
  bottom: 6px;
489
563
  }
564
+ // Side-Overflow keeps the cards full width and lays an arrow over each edge,
565
+ // which is what the base rules above already do. Stated as its own block so the
566
+ // option is anchored to a rule rather than working by falling through — the
567
+ // reason the "Left" and "Right" it replaces were indistinguishable.
568
+ &[data-control-type="Side-Overflow"] {
569
+ justify-content: space-between;
570
+ }
490
571
  &[data-control-type="Bottom"] {
491
572
  transform: unset;
492
573
  position: static;
@@ -83,10 +83,6 @@
83
83
  --_ctm-mob-dn-sh-rs-nr-ue,
84
84
  var(--_ctm-tab-dn-sh-rs-nr-ue, var(--_ctm-dn-sh-rs-nr-ue))
85
85
  );
86
- border: var(
87
- --_ctm-mob-dn-sh-rs-nr-bd-cr,
88
- var(--_ctm-tab-dn-sh-rs-nr-bd-cr, var(--_ctm-dn-sh-rs-nr-bd-cr))
89
- );
90
86
  border-color: var(
91
87
  --_ctm-mob-dn-sh-rs-nr-br-cr,
92
88
  var(--_ctm-tab-dn-sh-rs-nr-br-cr, var(--_ctm-dn-sh-rs-nr-br-cr))
@@ -304,12 +300,10 @@
304
300
  }
305
301
  }
306
302
 
307
- &[data-widget-shadow="false"] {
308
- --_show-shadow: none;
309
- }
310
-
311
- &[data-show-shadow="false"] {
312
- --_show-shadow: none;
303
+ .search__results__count[data-show-shadow="false"],
304
+ .search__other__text[data-show-shadow="false"],
305
+ .search__keyword__text[data-show-shadow="false"] {
306
+ --_show-text-content-shadow: none;
313
307
  }
314
308
  }
315
309
  }