@sc-360-v2/storefront-cms-library 0.5.59 → 0.5.61
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/add-order.scss +2 -8
- package/dist/allocation-header-quota-details.scss +9 -4
- package/dist/allocationDetails.scss +167 -164
- package/dist/allocations-quota-details.scss +9 -4
- package/dist/allocations.scss +1 -4
- package/dist/animation-control.scss +23 -23
- package/dist/builder.js +1 -1
- package/dist/builderLite.js +1 -1
- package/dist/bulk-variant-picker.scss +24 -26
- package/dist/bundle copy.scss +235 -0
- package/dist/bundle.scss +10 -10
- package/dist/bundleCategories.scss +301 -0
- package/dist/bundleDetails.scss +10 -1
- package/dist/button copy.scss +28 -0
- package/dist/buy-for-tabs-container-item.scss +80 -80
- package/dist/buyForHeaders.scss +3 -12
- package/dist/cart-details.scss +23 -4
- package/dist/cart-products-sidebar.scss +211 -211
- package/dist/cart-summary.scss +82 -10
- package/dist/cart-wrapper.scss +127 -127
- package/dist/cart.scss +2 -2
- package/dist/cartDropdownOverlay.scss +10 -1
- package/dist/cartGrouping.scss +89 -89
- package/dist/category-groups-product-grid.scss +143 -155
- package/dist/category-groups-product-image.scss +1372 -2010
- package/dist/category-groups-product-options.scss +680 -1054
- package/dist/category-groups-product-price.scss +2742 -4997
- package/dist/category-groups-quota-details.scss +7 -2
- package/dist/categoryDetails.scss +61 -61
- package/dist/categoryWidget.scss +34 -34
- package/dist/checkbox-radio.scss +124 -124
- package/dist/checkout.scss +1850 -4170
- package/dist/common-element.scss +35 -35
- package/dist/confirmationModal.scss +139 -139
- package/dist/coupon.scss +352 -714
- package/dist/custom-fonts.scss +100 -100
- package/dist/embroider-preview-element.scss +94 -94
- package/dist/emtpy-templates.scss +165 -165
- package/dist/faq.scss +7 -11
- package/dist/flex-text-editor.scss +271 -271
- package/dist/functions.scss +36 -0
- package/dist/gallery-slider-temp.scss +42 -5
- package/dist/hotspot.scss +1 -4
- package/dist/icon-list.scss +30 -59
- package/dist/image-for-product.scss +21 -21
- package/dist/image-temp.scss +18 -3
- package/dist/language-selector.scss +29 -21
- package/dist/last-x-orders.scss +6 -13
- package/dist/layouter-item.scss +3 -1
- package/dist/layouter.scss +164 -29
- package/dist/lightbox.scss +78 -78
- package/dist/line.scss +29 -70
- package/dist/loader.scss +37 -37
- package/dist/login.scss +49 -41
- package/dist/map.scss +23 -9
- package/dist/mega-menu.scss +1 -4
- package/dist/menu-item.scss +19 -19
- package/dist/myTemplates.scss +3 -0
- package/dist/order-processing.scss +61 -61
- package/dist/overflow-module.scss +63 -63
- package/dist/pickup-locations.scss +6 -3
- package/dist/position-module.scss +95 -95
- package/dist/prefix-list.scss +86 -86
- package/dist/product-actions.scss +6 -9
- package/dist/product-highlights.scss +40 -12
- package/dist/product-image-bundles.scss +12 -33
- package/dist/product-image.scss +341 -724
- package/dist/product-labels.scss +10 -8
- package/dist/product-options.scss +270 -125
- package/dist/product-price.scss +8 -2
- package/dist/productDetails.scss +2 -1
- package/dist/profile.scss +28 -0
- package/dist/quick-inventory-check.scss +6 -13
- package/dist/quick-links.scss +4 -0
- package/dist/quick-order-pad.scss +2 -2
- package/dist/quota-details.scss +11 -15
- package/dist/repeater copy.scss +24 -0
- package/dist/repeater-embla-controls.scss +13 -4
- package/dist/repeater.scss +161 -7
- package/dist/responsive-behaviour.scss +29 -29
- package/dist/scroll.scss +31 -1
- package/dist/shareCartSideBar.scss +254 -254
- package/dist/shipping-estimator.scss +41 -41
- package/dist/simple-list.scss +67 -0
- package/dist/social.scss +2 -2
- package/dist/sort.scss +89 -89
- package/dist/static-text.scss +52 -52
- package/dist/store-locations.scss +10 -8
- package/dist/sub-category.scss +74 -74
- package/dist/submit-quote.scss +275 -275
- package/dist/tab-container-item.scss +80 -80
- package/dist/tab-v2.scss +277 -604
- package/dist/table-common.scss +2 -2
- package/dist/table.scss +2 -2
- package/dist/text-temp-v2.scss +12 -23
- package/dist/text-temp.scss +109 -109
- package/dist/toggle-button.scss +32 -32
- package/dist/transform-properties-module.scss +20 -20
- package/dist/types/builder/elements/bundle-categories/index.d.ts +30 -0
- package/dist/types/builder/enums/index.d.ts +1 -0
- package/dist/types/builder/index.d.ts +2 -1
- package/dist/types/builder/tools/element-edit/addProductsTab.d.ts +108 -0
- package/dist/types/builder/tools/element-edit/breadcrumbs.d.ts +6 -0
- package/dist/types/builder/tools/element-edit/bundle.d.ts +22 -0
- package/dist/types/builder/tools/element-edit/bundleCategories.d.ts +115 -0
- package/dist/types/builder/tools/element-edit/bundleDetails.d.ts +64 -0
- package/dist/types/builder/tools/element-edit/button.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/buttonInstance.d.ts +10 -0
- package/dist/types/builder/tools/element-edit/buyForWithTab.d.ts +84 -0
- package/dist/types/builder/tools/element-edit/cart.d.ts +6 -0
- package/dist/types/builder/tools/element-edit/cartAttributes.d.ts +60 -0
- package/dist/types/builder/tools/element-edit/cartDetails.d.ts +16 -0
- package/dist/types/builder/tools/element-edit/cartSummary.d.ts +1325 -74
- package/dist/types/builder/tools/element-edit/categoryGroups.d.ts +158 -0
- package/dist/types/builder/tools/element-edit/checkout.d.ts +172 -0
- package/dist/types/builder/tools/element-edit/common.d.ts +2 -0
- package/dist/types/builder/tools/element-edit/countdown.d.ts +44 -0
- package/dist/types/builder/tools/element-edit/coupon.d.ts +28 -0
- package/dist/types/builder/tools/element-edit/embroidery.d.ts +37 -0
- package/dist/types/builder/tools/element-edit/filterResults.d.ts +4 -0
- package/dist/types/builder/tools/element-edit/icon-list.d.ts +11 -0
- package/dist/types/builder/tools/element-edit/index.d.ts +2 -1
- package/dist/types/builder/tools/element-edit/itemStock.d.ts +2 -0
- package/dist/types/builder/tools/element-edit/kitDetails.d.ts +66 -0
- package/dist/types/builder/tools/element-edit/kits.d.ts +4 -0
- package/dist/types/builder/tools/element-edit/layouter.d.ts +33 -1
- package/dist/types/builder/tools/element-edit/map.d.ts +5 -1
- package/dist/types/builder/tools/element-edit/marchandiserSets.d.ts +2 -0
- package/dist/types/builder/tools/element-edit/orderStatus.d.ts +17 -0
- package/dist/types/builder/tools/element-edit/paymentMethods.d.ts +6 -0
- package/dist/types/builder/tools/element-edit/productCustomizations.d.ts +14 -0
- package/dist/types/builder/tools/element-edit/productOptions.d.ts +3 -1
- package/dist/types/builder/tools/element-edit/productPrice.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/quickLinks.d.ts +26 -0
- package/dist/types/builder/tools/element-edit/repeater.d.ts +45 -1
- package/dist/types/builder/tools/element-edit/scroll.d.ts +8 -11
- package/dist/types/builder/tools/element-edit/search.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/searchResultsHeading.d.ts +6 -0
- package/dist/types/builder/tools/element-edit/shipping-payments.d.ts +72 -0
- package/dist/types/builder/tools/element-edit/shippingEstimator.d.ts +4 -0
- package/dist/types/builder/tools/element-edit/social.d.ts +2 -0
- package/dist/types/builder/tools/element-edit/spotlight.d.ts +2 -0
- package/dist/types/builder/tools/element-edit/table.d.ts +10 -0
- package/dist/types/builder/tools/element-edit/tabs.d.ts +6 -0
- package/dist/types/builder/tools/element-edit/typographyInstance.d.ts +110 -0
- package/dist/types/builder/tools/element-edit/userElements.d.ts +62 -22
- package/dist/types/builder/tools/element-edit/variantPicker.d.ts +4 -0
- package/dist/types/builder/tools/element-edit/video.d.ts +22 -0
- package/dist/uom-selector.scss +8 -2
- package/dist/user-elements.scss +133 -104
- package/dist/variant-picker.scss +1 -4
- package/dist/video.scss +147 -325
- package/dist/volume-pricing.scss +2 -2
- package/dist/website.js +1 -1
- package/dist/wishlist-overlay.scss +48 -48
- package/package.json +131 -131
package/dist/add-order.scss
CHANGED
|
@@ -175,10 +175,7 @@
|
|
|
175
175
|
// default-state values, which is why the Hover state's text properties appeared
|
|
176
176
|
// dead. Publishing the hover values as those custom properties is what `.txt`
|
|
177
177
|
// is written to consume, and matches how product-actions.scss does it.
|
|
178
|
-
--_sf-hr-cr: var(
|
|
179
|
-
--_ctm-mob-dn-hr-se-cr,
|
|
180
|
-
var(--_ctm-tab-dn-hr-se-cr, var(--_ctm-dn-hr-se-cr))
|
|
181
|
-
);
|
|
178
|
+
--_sf-hr-cr: var(--_ctm-mob-dn-hr-se-cr, var(--_ctm-tab-dn-hr-se-cr, var(--_ctm-dn-hr-se-cr)));
|
|
182
179
|
--_sf-hr-ft-fy: var(
|
|
183
180
|
--_ctm-mob-dn-hr-se-ft-fy,
|
|
184
181
|
var(--_ctm-tab-dn-hr-se-ft-fy, var(--_ctm-dn-hr-se-ft-fy))
|
|
@@ -219,10 +216,7 @@
|
|
|
219
216
|
--_ctm-mob-dn-hr-se-le-ht,
|
|
220
217
|
var(--_ctm-tab-dn-hr-se-le-ht, var(--_ctm-dn-hr-se-le-ht))
|
|
221
218
|
);
|
|
222
|
-
--_sf-hr-ue: var(
|
|
223
|
-
--_ctm-mob-dn-hr-se-ue,
|
|
224
|
-
var(--_ctm-tab-dn-hr-se-ue, var(--_ctm-dn-hr-se-ue))
|
|
225
|
-
);
|
|
219
|
+
--_sf-hr-ue: var(--_ctm-mob-dn-hr-se-ue, var(--_ctm-tab-dn-hr-se-ue, var(--_ctm-dn-hr-se-ue)));
|
|
226
220
|
|
|
227
221
|
background-color: var(
|
|
228
222
|
--_ctm-mob-dn-hr-se-bd-cr,
|
|
@@ -113,22 +113,27 @@ $overflowSelector: ".flex__overflow";
|
|
|
113
113
|
|
|
114
114
|
.product__list__item {
|
|
115
115
|
position: relative;
|
|
116
|
+
// The rule is a pseudo-element and takes no space of its own, so a wide one grew
|
|
117
|
+
// back over the item beside it — see dividerGapReserve in functions.scss.
|
|
118
|
+
&:not(:last-child) {
|
|
119
|
+
@include dividerGapReserve($shapeSize, right);
|
|
120
|
+
}
|
|
116
121
|
&:not(:last-child)::after {
|
|
117
122
|
content: "";
|
|
118
123
|
width: $shapeSize;
|
|
119
124
|
height: 100%;
|
|
120
125
|
position: absolute;
|
|
121
|
-
right:
|
|
126
|
+
right: dividerGapOffset(var(--_sf-gp, 0px), $shapeSize);
|
|
122
127
|
background-color: $shapeColor;
|
|
123
128
|
}
|
|
124
129
|
|
|
125
130
|
// Divider item (Divider -> Item Style). Same geometry as the standalone
|
|
126
|
-
// element: the rule's centre sits at -(gap/2) from the item's right
|
|
127
|
-
// so the marker is pinned there and translated half its own width back.
|
|
131
|
+
// element: the rule's centre sits at -(gap/2) - (width/2) from the item's right
|
|
132
|
+
// edge, so the marker is pinned there and translated half its own width back.
|
|
128
133
|
.divider__marker {
|
|
129
134
|
position: absolute;
|
|
130
135
|
top: 50%;
|
|
131
|
-
right:
|
|
136
|
+
right: dividerMarkerOffset(var(--_sf-gp, 0px), $shapeSize);
|
|
132
137
|
transform: translate(50%, -50%);
|
|
133
138
|
display: flex;
|
|
134
139
|
align-items: center;
|
|
@@ -726,184 +726,187 @@ $ad-slider-arrows: "--_ctm-dn-sr-pn-as"; // design.slider.paginationArrows
|
|
|
726
726
|
display: flex;
|
|
727
727
|
gap: 12px;
|
|
728
728
|
margin-left: auto;
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
align-self: center;
|
|
734
|
-
&[data-vertical-align="top"] {
|
|
735
|
-
align-self: flex-start;
|
|
736
|
-
}
|
|
737
|
-
&[data-vertical-align="center"] {
|
|
729
|
+
// Grid View Control Style > Layout Style > Vertical Alignment. The
|
|
730
|
+
// renderer publishes the stored word (top / center / bottom); those are
|
|
731
|
+
// not align-self keywords, so the mapping is done here rather than
|
|
732
|
+
// written into every saved element.
|
|
738
733
|
align-self: center;
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
align-self: flex-end;
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
.product__views {
|
|
745
|
-
display: flex;
|
|
746
|
-
// background-color: #fff;
|
|
747
|
-
// border: 1px solid var(--_gray-300);
|
|
748
|
-
border-radius: 4px;
|
|
749
|
-
border-style: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-se, solid);
|
|
750
|
-
border-width: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-wh, 1px);
|
|
751
|
-
border-color: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-cr, var(--_gray-200));
|
|
752
|
-
background-color: prepareMediaVariable(
|
|
753
|
-
--_ctm-dn-gd-vw-cl-se-lt-se-bd-cr,
|
|
754
|
-
var(--_base-white)
|
|
755
|
-
);
|
|
756
|
-
// height: 40px;
|
|
757
|
-
// overflow: hidden;
|
|
758
|
-
|
|
759
|
-
// Hoisted out of `.btn` so the "Icon + Text" rules further down can size
|
|
760
|
-
// themselves off the same icon measurement.
|
|
761
|
-
$size: #{var(
|
|
762
|
-
--_sf-at-btn-size,
|
|
763
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-in-se, var(--_width-20))}
|
|
764
|
-
)};
|
|
765
|
-
|
|
766
|
-
.btn {
|
|
767
|
-
// display: inline-block;
|
|
768
|
-
// // padding: 8px;
|
|
769
|
-
// display: flex;
|
|
770
|
-
// align-items: center;
|
|
771
|
-
// justify-content: center;
|
|
772
|
-
|
|
773
|
-
display: var(--_d-flex);
|
|
774
|
-
--_width-20: 20px;
|
|
775
|
-
// $size: var(--_width-40);
|
|
776
|
-
// The 2x cell is now a floor rather than a fixed size: Padding is
|
|
777
|
-
// configurable, so the button grows past it once the padding needs more
|
|
778
|
-
// room than the icon left over. Untouched elements have no padding and
|
|
779
|
-
// stay exactly 2x, as they always were.
|
|
780
|
-
min-width: calc(#{$size} * 2);
|
|
781
|
-
min-height: calc(#{$size} * 2);
|
|
782
|
-
box-sizing: border-box;
|
|
783
|
-
padding: var(
|
|
784
|
-
--_sf-at-btn-pg,
|
|
785
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-pg, 0)}
|
|
786
|
-
);
|
|
787
|
-
align-items: center;
|
|
788
|
-
justify-content: center;
|
|
789
|
-
background: var(
|
|
790
|
-
--_sf-at-btn-bd,
|
|
791
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-bd-cr)}
|
|
792
|
-
);
|
|
793
|
-
box-shadow: var(
|
|
794
|
-
--_sf-at-btn-sw,
|
|
795
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-ae, 0 0)}
|
|
796
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-br, 0)}
|
|
797
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-sd, 0)}
|
|
798
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-cr, transparent)}
|
|
799
|
-
);
|
|
800
|
-
|
|
801
|
-
// The renderer reads Show Shadow off whichever state the button is in,
|
|
802
|
-
// so one attribute covers both.
|
|
803
|
-
&[data-show-shadow="false"] {
|
|
804
|
-
box-shadow: none;
|
|
734
|
+
&[data-vertical-align="top"] {
|
|
735
|
+
align-self: flex-start;
|
|
805
736
|
}
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
// padding and border, which pushed the glyph off the centre of its
|
|
812
|
-
// cell — that is what made the Grid and List icons sit unevenly
|
|
813
|
-
// beside each other. Filling the cell and centring here keeps them
|
|
814
|
-
// on one baseline at every icon size.
|
|
815
|
-
align-items: center;
|
|
816
|
-
justify-content: center;
|
|
817
|
-
width: 100%;
|
|
818
|
-
height: 100%;
|
|
819
|
-
padding: 0;
|
|
820
|
-
border: none;
|
|
821
|
-
background: transparent;
|
|
737
|
+
&[data-vertical-align="center"] {
|
|
738
|
+
align-self: center;
|
|
739
|
+
}
|
|
740
|
+
&[data-vertical-align="bottom"] {
|
|
741
|
+
align-self: flex-end;
|
|
822
742
|
}
|
|
743
|
+
}
|
|
744
|
+
.product__views {
|
|
745
|
+
display: flex;
|
|
746
|
+
// background-color: #fff;
|
|
747
|
+
// border: 1px solid var(--_gray-300);
|
|
748
|
+
border-radius: 4px;
|
|
749
|
+
border-style: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-se, solid);
|
|
750
|
+
border-width: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-wh, 1px);
|
|
751
|
+
border-color: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-cr, var(--_gray-200));
|
|
752
|
+
background-color: prepareMediaVariable(
|
|
753
|
+
--_ctm-dn-gd-vw-cl-se-lt-se-bd-cr,
|
|
754
|
+
var(--_base-white)
|
|
755
|
+
);
|
|
756
|
+
// height: 40px;
|
|
757
|
+
// overflow: hidden;
|
|
758
|
+
|
|
759
|
+
// Hoisted out of `.btn` so the "Icon + Text" rules further down can size
|
|
760
|
+
// themselves off the same icon measurement.
|
|
761
|
+
$size: #{var(
|
|
762
|
+
--_sf-at-btn-size,
|
|
763
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-in-se, var(--_width-20))}
|
|
764
|
+
)};
|
|
823
765
|
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
display: flex;
|
|
766
|
+
.btn {
|
|
767
|
+
// display: inline-block;
|
|
768
|
+
// // padding: 8px;
|
|
769
|
+
// display: flex;
|
|
770
|
+
// align-items: center;
|
|
771
|
+
// justify-content: center;
|
|
772
|
+
|
|
773
|
+
display: var(--_d-flex);
|
|
774
|
+
--_width-20: 20px;
|
|
775
|
+
// $size: var(--_width-40);
|
|
776
|
+
// The 2x cell is now a floor rather than a fixed size: Padding is
|
|
777
|
+
// configurable, so the button grows past it once the padding needs more
|
|
778
|
+
// room than the icon left over. Untouched elements have no padding and
|
|
779
|
+
// stay exactly 2x, as they always were.
|
|
780
|
+
min-width: calc(#{$size} * 2);
|
|
781
|
+
min-height: calc(#{$size} * 2);
|
|
782
|
+
box-sizing: border-box;
|
|
783
|
+
padding: var(--_sf-at-btn-pg, #{prepareMediaVariable(
|
|
784
|
+
--_ctm-dn-gd-vw-cl-se-bn-dt-se-pg,
|
|
785
|
+
0
|
|
786
|
+
)});
|
|
828
787
|
align-items: center;
|
|
829
788
|
justify-content: center;
|
|
830
|
-
|
|
789
|
+
background: var(
|
|
790
|
+
--_sf-at-btn-bd,
|
|
791
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-bd-cr)}
|
|
792
|
+
);
|
|
793
|
+
box-shadow: var(
|
|
794
|
+
--_sf-at-btn-sw,
|
|
795
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-ae, 0 0)}
|
|
796
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-br, 0)}
|
|
797
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-sd, 0)}
|
|
798
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-cr, transparent)}
|
|
799
|
+
);
|
|
831
800
|
|
|
832
|
-
//
|
|
833
|
-
//
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
img {
|
|
837
|
-
width: calc(#{$size} * 1);
|
|
838
|
-
height: calc(#{$size} * 1);
|
|
839
|
-
object-fit: contain;
|
|
801
|
+
// The renderer reads Show Shadow off whichever state the button is in,
|
|
802
|
+
// so one attribute covers both.
|
|
803
|
+
&[data-show-shadow="false"] {
|
|
804
|
+
box-shadow: none;
|
|
840
805
|
}
|
|
841
|
-
}
|
|
842
806
|
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
var(--_gray-200)
|
|
860
|
-
)};
|
|
861
|
-
// Same re-pointing trick as the icon vars above: the padding and
|
|
862
|
-
// shadow declarations stay written once and simply re-resolve
|
|
863
|
-
// against the selected state's values.
|
|
864
|
-
--_sf-at-btn-pg: #{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-pg, 0)};
|
|
865
|
-
--_sf-at-btn-sw: #{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-ae, 0 0)}
|
|
866
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-br, 0)}
|
|
867
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-sd, 0)}
|
|
868
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-cr, transparent)};
|
|
869
|
-
// background: var(--_gray-200);
|
|
870
|
-
}
|
|
871
|
-
// &.active {
|
|
872
|
-
// background-color: #ced4f6;
|
|
873
|
-
// button {
|
|
874
|
-
// svg {
|
|
875
|
-
// path {
|
|
876
|
-
// stroke: var(--_primary-500);
|
|
877
|
-
// }
|
|
878
|
-
// }
|
|
879
|
-
// }
|
|
880
|
-
// }
|
|
881
|
-
// &:first-child {
|
|
882
|
-
// border-right: 1px solid var(--_gray-200);
|
|
883
|
-
// }
|
|
884
|
-
|
|
885
|
-
svg {
|
|
886
|
-
width: calc(#{$size} * 1);
|
|
887
|
-
height: calc(#{$size} * 1);
|
|
807
|
+
cursor: pointer;
|
|
808
|
+
button {
|
|
809
|
+
display: flex;
|
|
810
|
+
// Until these are cleared the button keeps the browser's own
|
|
811
|
+
// padding and border, which pushed the glyph off the centre of its
|
|
812
|
+
// cell — that is what made the Grid and List icons sit unevenly
|
|
813
|
+
// beside each other. Filling the cell and centring here keeps them
|
|
814
|
+
// on one baseline at every icon size.
|
|
815
|
+
align-items: center;
|
|
816
|
+
justify-content: center;
|
|
817
|
+
width: 100%;
|
|
818
|
+
height: 100%;
|
|
819
|
+
padding: 0;
|
|
820
|
+
border: none;
|
|
821
|
+
background: transparent;
|
|
822
|
+
}
|
|
888
823
|
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
824
|
+
// The glyph gets its own flex box so the svg sits centred without the
|
|
825
|
+
// inline-baseline gap a bare `dangerouslySetInnerHTML` span would add.
|
|
826
|
+
.btn__icon {
|
|
827
|
+
display: flex;
|
|
828
|
+
align-items: center;
|
|
829
|
+
justify-content: center;
|
|
830
|
+
flex-shrink: 0;
|
|
831
|
+
|
|
832
|
+
// An uploaded icon comes through as an <img> sized to its box, so the
|
|
833
|
+
// box needs a size of its own — the svg rule further down only reaches
|
|
834
|
+
// library icons, and a percentage inside a shrink-to-fit parent would
|
|
835
|
+
// otherwise resolve to nothing.
|
|
836
|
+
img {
|
|
837
|
+
width: calc(#{$size} * 1);
|
|
838
|
+
height: calc(#{$size} * 1);
|
|
839
|
+
object-fit: contain;
|
|
840
|
+
}
|
|
896
841
|
}
|
|
897
|
-
}
|
|
898
842
|
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
843
|
+
// &:hover {
|
|
844
|
+
// background-color: var(--_gray-100);
|
|
845
|
+
// }
|
|
846
|
+
|
|
847
|
+
&.active {
|
|
848
|
+
// --_sf-at-pt-cl: var(--_gray-700);
|
|
849
|
+
--_sf-at-btn-size: #{prepareMediaVariable(
|
|
850
|
+
--_ctm-dn-gd-vw-cl-se-bn-sd-se-in-se,
|
|
851
|
+
var(--_width-20)
|
|
852
|
+
)};
|
|
853
|
+
--_sf-at-pt-cl: #{prepareMediaVariable(
|
|
854
|
+
--_ctm-dn-gd-vw-cl-se-bn-sd-se-in-c1,
|
|
855
|
+
var(--_gray-700)
|
|
856
|
+
)};
|
|
857
|
+
--_sf-at-btn-bd: #{prepareMediaVariable(
|
|
858
|
+
--_ctm-dn-gd-vw-cl-se-bn-sd-se-bd-cr,
|
|
859
|
+
var(--_gray-200)
|
|
860
|
+
)};
|
|
861
|
+
// Same re-pointing trick as the icon vars above: the padding and
|
|
862
|
+
// shadow declarations stay written once and simply re-resolve
|
|
863
|
+
// against the selected state's values.
|
|
864
|
+
--_sf-at-btn-pg: #{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-pg, 0)};
|
|
865
|
+
--_sf-at-btn-sw: #{prepareMediaVariable(
|
|
866
|
+
--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-ae,
|
|
867
|
+
0 0
|
|
868
|
+
)}
|
|
869
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-br, 0)}
|
|
870
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-sd, 0)}
|
|
871
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-cr, transparent)};
|
|
872
|
+
// background: var(--_gray-200);
|
|
873
|
+
}
|
|
874
|
+
// &.active {
|
|
875
|
+
// background-color: #ced4f6;
|
|
876
|
+
// button {
|
|
877
|
+
// svg {
|
|
878
|
+
// path {
|
|
879
|
+
// stroke: var(--_primary-500);
|
|
880
|
+
// }
|
|
881
|
+
// }
|
|
882
|
+
// }
|
|
883
|
+
// }
|
|
884
|
+
// &:first-child {
|
|
885
|
+
// border-right: 1px solid var(--_gray-200);
|
|
886
|
+
// }
|
|
887
|
+
|
|
888
|
+
svg {
|
|
889
|
+
width: calc(#{$size} * 1);
|
|
890
|
+
height: calc(#{$size} * 1);
|
|
891
|
+
|
|
892
|
+
path {
|
|
893
|
+
stroke: var(
|
|
894
|
+
--_sf-at-pt-cl,
|
|
895
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-in-c1, var(--_gray-500))}
|
|
896
|
+
);
|
|
897
|
+
// Overrides the stroke-width presentation attribute baked into the icon markup.
|
|
898
|
+
stroke-width: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-se-wh, 1.25);
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
&:first-of-type {
|
|
903
|
+
border-radius: 4px 0 0 4px;
|
|
904
|
+
}
|
|
905
|
+
&:last-of-type {
|
|
906
|
+
border-radius: 0 4px 4px 0;
|
|
907
|
+
}
|
|
904
908
|
}
|
|
905
909
|
}
|
|
906
|
-
}
|
|
907
910
|
// products header styles
|
|
908
911
|
.showcase__header {
|
|
909
912
|
display: flex;
|
|
@@ -112,22 +112,27 @@ $overflowSelector: ".flex__overflow";
|
|
|
112
112
|
|
|
113
113
|
.product__list__item {
|
|
114
114
|
position: relative;
|
|
115
|
+
// The rule is a pseudo-element and takes no space of its own, so a wide one grew
|
|
116
|
+
// back over the item beside it — see dividerGapReserve in functions.scss.
|
|
117
|
+
&:not(:last-child) {
|
|
118
|
+
@include dividerGapReserve($shapeSize, right);
|
|
119
|
+
}
|
|
115
120
|
&:not(:last-child)::after {
|
|
116
121
|
content: "";
|
|
117
122
|
width: $shapeSize;
|
|
118
123
|
height: 100%;
|
|
119
124
|
position: absolute;
|
|
120
|
-
right:
|
|
125
|
+
right: dividerGapOffset(var(--_sf-gp, 0px), $shapeSize);
|
|
121
126
|
background-color: $shapeColor;
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
// Divider item (Divider -> Item Style). Same geometry as the standalone
|
|
125
|
-
// element: the rule's centre sits at -(gap/2) from the item's right
|
|
126
|
-
// so the marker is pinned there and translated half its own width back.
|
|
130
|
+
// element: the rule's centre sits at -(gap/2) - (width/2) from the item's right
|
|
131
|
+
// edge, so the marker is pinned there and translated half its own width back.
|
|
127
132
|
.divider__marker {
|
|
128
133
|
position: absolute;
|
|
129
134
|
top: 50%;
|
|
130
|
-
right:
|
|
135
|
+
right: dividerMarkerOffset(var(--_sf-gp, 0px), $shapeSize);
|
|
131
136
|
transform: translate(50%, -50%);
|
|
132
137
|
display: flex;
|
|
133
138
|
align-items: center;
|
package/dist/allocations.scss
CHANGED
|
@@ -1602,10 +1602,7 @@ $resizeActive: '[data-cms-element-resizer="true"]';
|
|
|
1602
1602
|
background: transparent;
|
|
1603
1603
|
color: var(--_sf-bmm-cr, prepareMediaVariable(--_ctm-dn-dn-st-dt-se-cr));
|
|
1604
1604
|
font-family: var(--_sf-bmm-ft-fy, prepareMediaVariable(--_ctm-dn-dn-st-dt-se-ft-fy));
|
|
1605
|
-
text-transform: var(
|
|
1606
|
-
--_sf-bmm-tt-tm,
|
|
1607
|
-
prepareMediaVariable(--_ctm-dn-dn-st-dt-se-tt-tm)
|
|
1608
|
-
);
|
|
1605
|
+
text-transform: var(--_sf-bmm-tt-tm, prepareMediaVariable(--_ctm-dn-dn-st-dt-se-tt-tm));
|
|
1609
1606
|
word-wrap: var(--_sf-bmm-wd-wp, prepareMediaVariable(--_ctm-dn-dn-st-dt-se-wd-wp));
|
|
1610
1607
|
word-break: var(--_sf-bmm-wd-bk, prepareMediaVariable(--_ctm-dn-dn-st-dt-se-wd-bk));
|
|
1611
1608
|
font-size: var(--_sf-bmm-ft-se, prepareMediaVariable(--_ctm-dn-dn-st-dt-se-ft-se));
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
@use "sass:map";
|
|
2
|
-
@use "sass:list";
|
|
3
|
-
|
|
4
|
-
$animSelector: ".animate__animated";
|
|
5
|
-
$animCommonSelector: "[data-anim-id='flex-animation-element']";
|
|
6
|
-
|
|
7
|
-
@mixin FlexAnimationModuleStyles() {
|
|
8
|
-
@media (prefers-reduced-motion: reduce) {
|
|
9
|
-
#{$animSelector} {
|
|
10
|
-
animation: none !important;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
#{$animCommonSelector} {
|
|
14
|
-
&:not(#{$animSelector}) {
|
|
15
|
-
opacity: 0;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
&#{$animSelector} {
|
|
19
|
-
animation-fill-mode: backwards;
|
|
20
|
-
animation-delay: calc(1ms * var(--_ctm-flex-anim-delay, 1));
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "sass:list";
|
|
3
|
+
|
|
4
|
+
$animSelector: ".animate__animated";
|
|
5
|
+
$animCommonSelector: "[data-anim-id='flex-animation-element']";
|
|
6
|
+
|
|
7
|
+
@mixin FlexAnimationModuleStyles() {
|
|
8
|
+
@media (prefers-reduced-motion: reduce) {
|
|
9
|
+
#{$animSelector} {
|
|
10
|
+
animation: none !important;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
#{$animCommonSelector} {
|
|
14
|
+
&:not(#{$animSelector}) {
|
|
15
|
+
opacity: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&#{$animSelector} {
|
|
19
|
+
animation-fill-mode: backwards;
|
|
20
|
+
animation-delay: calc(1ms * var(--_ctm-flex-anim-delay, 1));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|