@sc-360-v2/storefront-cms-library 0.5.65 → 0.5.67
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/builder.js +1 -1
- package/dist/cart-summary.scss +12 -0
- package/dist/cartAttributes.scss +436 -68
- package/dist/category-groups-product-options.scss +36 -24
- package/dist/coupon.scss +739 -352
- package/dist/filters.scss +1 -1
- package/dist/map.scss +62 -8
- package/dist/product-options.scss +120 -24
- package/dist/search-results-heading.scss +4 -10
- package/dist/sort.scss +176 -89
- package/dist/types/builder/tools/element-edit/cartAttributes.d.ts +120 -5
- package/dist/types/builder/tools/element-edit/cartSummary.d.ts +11 -20
- package/dist/types/builder/tools/element-edit/coupon.d.ts +129 -20
- package/dist/types/builder/tools/element-edit/map.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/searchResultsHeading.d.ts +33 -59
- package/package.json +1 -1
package/dist/filters.scss
CHANGED
package/dist/map.scss
CHANGED
|
@@ -128,6 +128,18 @@ $data: (
|
|
|
128
128
|
)
|
|
129
129
|
);
|
|
130
130
|
|
|
131
|
+
// Tooltip Design > Horizontal Alignment, translated for `text-align`. The control is
|
|
132
|
+
// picked from the shared alignment list (flex-start | center | flex-end), and those
|
|
133
|
+
// keywords mean nothing to text-align, so the two ends have to be mapped. The last two
|
|
134
|
+
// entries are the pre-list values, still stored on pages saved before that fix.
|
|
135
|
+
$tooltipTextAlign: (
|
|
136
|
+
"flex-start": left,
|
|
137
|
+
"center": center,
|
|
138
|
+
"flex-end": right,
|
|
139
|
+
"left": left,
|
|
140
|
+
"right": right,
|
|
141
|
+
);
|
|
142
|
+
|
|
131
143
|
[data-div-type="element"] {
|
|
132
144
|
&[data-element-type="map"] {
|
|
133
145
|
// Half the pin as it actually renders, and the gap the tooltip keeps from the
|
|
@@ -266,6 +278,26 @@ $data: (
|
|
|
266
278
|
var(--_ctm-dn-tp-dn-sw-cr);
|
|
267
279
|
}
|
|
268
280
|
}
|
|
281
|
+
|
|
282
|
+
// Tooltip Design > Horizontal Alignment, applied to the tooltip text itself.
|
|
283
|
+
//
|
|
284
|
+
// .text_box re-applies the control as align-items further down, which moves the
|
|
285
|
+
// title and the description only while they are narrower than the tooltip. A title
|
|
286
|
+
// long enough to wrap fills that wrapper, and a flex container cannot move a child
|
|
287
|
+
// that is already full width — which is why the control looked dead on the title
|
|
288
|
+
// while the shorter description still followed it.
|
|
289
|
+
//
|
|
290
|
+
// The value reaches the DOM as a data attribute because align-items keywords are
|
|
291
|
+
// not text-align keywords; Map Widget Layout's alignment takes the same route to
|
|
292
|
+
// .gallery-header above. The tooltip-level control wins over the per-text Alignment
|
|
293
|
+
// in Tooltip Text Design — it is the one that positions the text block.
|
|
294
|
+
@each $key, $align in $tooltipTextAlign {
|
|
295
|
+
&[data-tooltip-text-alignment="#{$key}"] {
|
|
296
|
+
.map-element .hotspot__tooltip .text_box > * {
|
|
297
|
+
text-align: $align;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
269
301
|
&[data-hotspot-tooltip-image-style-show-border="true"] {
|
|
270
302
|
.tooltip__image {
|
|
271
303
|
border-style: var(--_ctm-dn-tp-ie-dn-br-se);
|
|
@@ -388,6 +420,13 @@ $data: (
|
|
|
388
420
|
// Text Container Width. 100% is the previous behaviour, so an unset width
|
|
389
421
|
// still spans the container.
|
|
390
422
|
width: prepareMediaVariable(--_ctm-dn-mp-wt-lt-tt-cr-wh, 100%);
|
|
423
|
+
// ...but never wider than the widget. The control accepts a percentage of the
|
|
424
|
+
// widget and a raw length, and either can be dialled past the widget's own
|
|
425
|
+
// width — a percentage over 100, or a length longer than the widget. Both used
|
|
426
|
+
// to push the header (and the text painted on it) out over whatever sits to the
|
|
427
|
+
// right of the map. Clamping here rather than only capping the control also
|
|
428
|
+
// covers pages already saved with an oversized width.
|
|
429
|
+
max-width: 100%;
|
|
391
430
|
// Lets it shrink to that width beside the map — a flex item defaults to
|
|
392
431
|
// min-width:auto and refuses to go below its longest word.
|
|
393
432
|
min-width: 0;
|
|
@@ -505,10 +544,7 @@ $data: (
|
|
|
505
544
|
);
|
|
506
545
|
word-wrap: var(
|
|
507
546
|
--_ctm-mob-dn-mp-wt-wd-wp-dc,
|
|
508
|
-
var(
|
|
509
|
-
--_ctm-tab-dn-mp-wt-wd-wp-dc,
|
|
510
|
-
var(--_ctm-dn-mp-wt-wd-wp-dc, break-word)
|
|
511
|
-
)
|
|
547
|
+
var(--_ctm-tab-dn-mp-wt-wd-wp-dc, var(--_ctm-dn-mp-wt-wd-wp-dc, break-word))
|
|
512
548
|
);
|
|
513
549
|
word-break: var(
|
|
514
550
|
--_ctm-mob-dn-mp-wt-wd-bk-dc,
|
|
@@ -800,6 +836,24 @@ $data: (
|
|
|
800
836
|
max-width: 100%;
|
|
801
837
|
width: 100%;
|
|
802
838
|
height: 100%;
|
|
839
|
+
// This wrapper fills the tooltip on both axes, so the justify-content /
|
|
840
|
+
// align-items set on .hotspot__tooltip above have nothing left to move —
|
|
841
|
+
// that is why both alignment controls looked dead. Same trap the image
|
|
842
|
+
// hotspot hit with .tooltip__image_with_text (hotspot.scss): the alignment
|
|
843
|
+
// has to be re-applied on the box that actually holds the title and the
|
|
844
|
+
// description. The stack is a column here, so the *vertical* control drives
|
|
845
|
+
// justify-content and the *horizontal* one drives align-items — the opposite
|
|
846
|
+
// mapping to the tooltip itself.
|
|
847
|
+
display: flex;
|
|
848
|
+
flex-direction: column;
|
|
849
|
+
justify-content: prepareMediaVariable(--_ctm-dn-tp-dn-vl-at);
|
|
850
|
+
align-items: prepareMediaVariable(--_ctm-dn-tp-dn-hl-at);
|
|
851
|
+
|
|
852
|
+
// align-items shrinks each child to its content width, so the text still
|
|
853
|
+
// needs a cap to wrap against instead of overflowing the tooltip.
|
|
854
|
+
> * {
|
|
855
|
+
max-width: 100%;
|
|
856
|
+
}
|
|
803
857
|
|
|
804
858
|
h6 {
|
|
805
859
|
font-size: prepareMediaVariable(--_ctm-dn-tp-tt-dn-ft-se);
|
|
@@ -980,8 +1034,8 @@ $data: (
|
|
|
980
1034
|
// --_ctm-mob-dn-pn-se-in-c1,
|
|
981
1035
|
// var(--_ctm-tab-dn-pn-se-in-c1, var(--_ctm-dn-pn-se-in-c1))
|
|
982
1036
|
// );
|
|
983
|
-
|
|
984
|
-
|
|
1037
|
+
// Overrides the stroke-width presentation attribute baked into the icon markup.
|
|
1038
|
+
stroke-width: prepareMediaVariable(--_ctm-dn-pn-se-se-wh, 1.25);
|
|
985
1039
|
// fill: var(
|
|
986
1040
|
// --_ctm-mob-dn-pn-se-in-c1,
|
|
987
1041
|
// var(--_ctm-tab-dn-pn-se-in-c1, var(--_ctm-dn-pn-se-in-c1))
|
|
@@ -1089,8 +1143,8 @@ $data: (
|
|
|
1089
1143
|
// --_ctm-mob-dn-pn-se-in-c1,
|
|
1090
1144
|
// var(--_ctm-tab-dn-pn-se-in-c1, var(--_ctm-dn-pn-se-in-c1))
|
|
1091
1145
|
// );
|
|
1092
|
-
|
|
1093
|
-
|
|
1146
|
+
// Overrides the stroke-width presentation attribute baked into the icon markup.
|
|
1147
|
+
stroke-width: prepareMediaVariable(--_ctm-dn-pn-se-se-wh, 1.25);
|
|
1094
1148
|
// }
|
|
1095
1149
|
// }
|
|
1096
1150
|
// }
|
|
@@ -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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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
|
-
#{
|
|
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.
|
|
@@ -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
|
-
|
|
308
|
-
|
|
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
|
}
|
package/dist/sort.scss
CHANGED
|
@@ -1,89 +1,176 @@
|
|
|
1
|
-
@use "sass:map";
|
|
2
|
-
@use "sass:list";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
$
|
|
6
|
-
[data-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "sass:list";
|
|
3
|
+
@use "./functions.scss" as *;
|
|
4
|
+
|
|
5
|
+
$resizerId: "[data-cms-tool='cms-element-resizer']";
|
|
6
|
+
$resizeActive: '[data-cms-element-resizer="true"]';
|
|
7
|
+
[data-div-type="element"] {
|
|
8
|
+
&[data-element-type="sort"] {
|
|
9
|
+
width: var(
|
|
10
|
+
--_sf-el-wh-st-mx,
|
|
11
|
+
calc(
|
|
12
|
+
1% *
|
|
13
|
+
var(
|
|
14
|
+
--_ctm-mob-ele-nw-wh-vl,
|
|
15
|
+
var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh)))
|
|
16
|
+
)
|
|
17
|
+
)
|
|
18
|
+
);
|
|
19
|
+
margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
|
|
20
|
+
|
|
21
|
+
// The Design tab's Sort Button toggles. Both are CONTROLS with no CSS property of
|
|
22
|
+
// their own, so the element publishes them as data attributes and the styling has
|
|
23
|
+
// to act on them here — an unhandled toggle stores a value that never reaches the
|
|
24
|
+
// page, which is what the whole Design tab did before these variables were wired.
|
|
25
|
+
&[data-sort-button-shadow="false"] {
|
|
26
|
+
--_show-shadow-sort-button: none;
|
|
27
|
+
}
|
|
28
|
+
&[data-sort-button-border="false"] {
|
|
29
|
+
.est__dropdown {
|
|
30
|
+
border: none;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
& > div {
|
|
35
|
+
&.wrapper {
|
|
36
|
+
width: 100%;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//Dropdown
|
|
40
|
+
.est__dropdown__main {
|
|
41
|
+
position: relative;
|
|
42
|
+
width: 100%;
|
|
43
|
+
|
|
44
|
+
label {
|
|
45
|
+
font-size: 14px;
|
|
46
|
+
color: var(--_gray-700);
|
|
47
|
+
margin-bottom: 8px;
|
|
48
|
+
display: block;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.est__dropdown {
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
position: relative;
|
|
54
|
+
display: flex;
|
|
55
|
+
justify-content: space-between;
|
|
56
|
+
align-items: center;
|
|
57
|
+
gap: 8px;
|
|
58
|
+
width: 100%;
|
|
59
|
+
|
|
60
|
+
// Design > Sort Button. `--_ctm-dn-st-bn-*` is what the schema's
|
|
61
|
+
// design.sortButton scope emits: splitCamelCaseAndJoin("design") -> "dn",
|
|
62
|
+
// ("sortButton") -> "st-bn". The literals stay as the fallbacks so an element
|
|
63
|
+
// saved before the Design tab existed keeps the look it had.
|
|
64
|
+
background-color: prepareMediaVariable(--_ctm-dn-st-bn-bd-cr, #fff);
|
|
65
|
+
border-color: prepareMediaVariable(--_ctm-dn-st-bn-br-cr, transparent);
|
|
66
|
+
border-style: prepareMediaVariable(--_ctm-dn-st-bn-br-se, solid);
|
|
67
|
+
border-width: prepareMediaVariable(--_ctm-dn-st-bn-br-wh, 0);
|
|
68
|
+
border-radius: prepareMediaVariable(--_ctm-dn-st-bn-br-rs, 6px);
|
|
69
|
+
box-shadow: var(
|
|
70
|
+
--_show-shadow-sort-button,
|
|
71
|
+
prepareMediaVariable(--_ctm-dn-st-bn-sw-ae, 0 0)
|
|
72
|
+
prepareMediaVariable(--_ctm-dn-st-bn-sw-br, 0)
|
|
73
|
+
prepareMediaVariable(--_ctm-dn-st-bn-sw-sd, 0)
|
|
74
|
+
prepareMediaVariable(--_ctm-dn-st-bn-sw-cr, transparent)
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
.value__selected {
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: baseline;
|
|
80
|
+
gap: 4px;
|
|
81
|
+
// The title and the value are laid out side by side, so the pair has to be
|
|
82
|
+
// allowed to shrink — without min-width the flex item keeps its content
|
|
83
|
+
// width and pushes the chevron out of a narrow element instead of clamping.
|
|
84
|
+
min-width: 0;
|
|
85
|
+
flex: 1;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Text Overflow is a CONTROL, not CSS: the element adds this class and
|
|
89
|
+
// publishes the line count inline, one variable per typography scope.
|
|
90
|
+
.sort__title.flex__overflow {
|
|
91
|
+
white-space: normal;
|
|
92
|
+
@include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
|
|
93
|
+
}
|
|
94
|
+
.selected__option.flex__overflow {
|
|
95
|
+
white-space: normal;
|
|
96
|
+
@include restrictToLinesShow(#{var(--_sf-line-clamp-desc, 1)});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Design > Sort Title (design.sortTitle -> "dn-st-te")
|
|
100
|
+
.sort__title {
|
|
101
|
+
color: prepareMediaVariable(--_ctm-dn-st-te-cr, var(--_gray-700));
|
|
102
|
+
font-family: var(--_sf-hr-ff, prepareMediaVariable(--_ctm-dn-st-te-ft-fy, inherit));
|
|
103
|
+
font-size: prepareMediaVariable(--_ctm-dn-st-te-ft-se, inherit);
|
|
104
|
+
font-weight: prepareMediaVariable(--_ctm-dn-st-te-ft-wt, inherit);
|
|
105
|
+
font-style: prepareMediaVariable(--_ctm-dn-st-te-ft-se-ic, normal);
|
|
106
|
+
text-align: prepareMediaVariable(--_ctm-dn-st-te-tt-an, left);
|
|
107
|
+
letter-spacing: prepareMediaVariable(--_ctm-dn-st-te-lr-sg, normal);
|
|
108
|
+
line-height: prepareMediaVariable(--_ctm-dn-st-te-le-ht, normal);
|
|
109
|
+
text-decoration: prepareMediaVariable(--_ctm-dn-st-te-ue, none);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Design > Selected Option (design.selectedOption -> "dn-sd-on")
|
|
113
|
+
.selected__option {
|
|
114
|
+
color: prepareMediaVariable(--_ctm-dn-sd-on-cr, var(--_gray-700));
|
|
115
|
+
font-family: var(--_sf-hr-ff, prepareMediaVariable(--_ctm-dn-sd-on-ft-fy, inherit));
|
|
116
|
+
font-size: prepareMediaVariable(--_ctm-dn-sd-on-ft-se, inherit);
|
|
117
|
+
font-weight: prepareMediaVariable(--_ctm-dn-sd-on-ft-wt, inherit);
|
|
118
|
+
font-style: prepareMediaVariable(--_ctm-dn-sd-on-ft-se-ic, normal);
|
|
119
|
+
text-align: prepareMediaVariable(--_ctm-dn-sd-on-tt-an, left);
|
|
120
|
+
letter-spacing: prepareMediaVariable(--_ctm-dn-sd-on-lr-sg, normal);
|
|
121
|
+
line-height: prepareMediaVariable(--_ctm-dn-sd-on-le-ht, normal);
|
|
122
|
+
text-decoration: prepareMediaVariable(--_ctm-dn-sd-on-ue, none);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&.open .list {
|
|
126
|
+
display: flex;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.list {
|
|
130
|
+
display: none;
|
|
131
|
+
flex-direction: column;
|
|
132
|
+
border: 1px solid var(--_gray-200);
|
|
133
|
+
border-radius: 6px;
|
|
134
|
+
position: absolute;
|
|
135
|
+
top: 100%;
|
|
136
|
+
left: 0;
|
|
137
|
+
width: 100%;
|
|
138
|
+
background-color: #fff;
|
|
139
|
+
border-radius: 4px;
|
|
140
|
+
z-index: var(--_higher-zIndex);
|
|
141
|
+
max-height: 200px;
|
|
142
|
+
overflow-y: auto;
|
|
143
|
+
|
|
144
|
+
&.top {
|
|
145
|
+
bottom: 100%;
|
|
146
|
+
top: auto;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.list__option {
|
|
150
|
+
padding: 12px;
|
|
151
|
+
cursor: pointer;
|
|
152
|
+
// The list has no design scope of its own. It borrows the Selected
|
|
153
|
+
// Option's type so the open list matches the closed control — colour and
|
|
154
|
+
// alignment are left to the list's own resting/hover rules below, which
|
|
155
|
+
// are what make an option look clickable.
|
|
156
|
+
font-family: var(--_sf-hr-ff, prepareMediaVariable(--_ctm-dn-sd-on-ft-fy, inherit));
|
|
157
|
+
font-size: prepareMediaVariable(--_ctm-dn-sd-on-ft-se, inherit);
|
|
158
|
+
font-weight: prepareMediaVariable(--_ctm-dn-sd-on-ft-wt, inherit);
|
|
159
|
+
letter-spacing: prepareMediaVariable(--_ctm-dn-sd-on-lr-sg, normal);
|
|
160
|
+
color: var(--_gray-700);
|
|
161
|
+
|
|
162
|
+
&:hover {
|
|
163
|
+
background-color: var(--_primary-25);
|
|
164
|
+
color: var(--_primary-400);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
&[aria-selected="true"] {
|
|
168
|
+
background-color: var(--_primary-25);
|
|
169
|
+
color: var(--_primary-400);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|