@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.
Files changed (156) hide show
  1. package/dist/add-order.scss +2 -8
  2. package/dist/allocation-header-quota-details.scss +9 -4
  3. package/dist/allocationDetails.scss +167 -164
  4. package/dist/allocations-quota-details.scss +9 -4
  5. package/dist/allocations.scss +1 -4
  6. package/dist/animation-control.scss +23 -23
  7. package/dist/builder.js +1 -1
  8. package/dist/builderLite.js +1 -1
  9. package/dist/bulk-variant-picker.scss +24 -26
  10. package/dist/bundle copy.scss +235 -0
  11. package/dist/bundle.scss +10 -10
  12. package/dist/bundleCategories.scss +301 -0
  13. package/dist/bundleDetails.scss +10 -1
  14. package/dist/button copy.scss +28 -0
  15. package/dist/buy-for-tabs-container-item.scss +80 -80
  16. package/dist/buyForHeaders.scss +3 -12
  17. package/dist/cart-details.scss +23 -4
  18. package/dist/cart-products-sidebar.scss +211 -211
  19. package/dist/cart-summary.scss +82 -10
  20. package/dist/cart-wrapper.scss +127 -127
  21. package/dist/cart.scss +2 -2
  22. package/dist/cartDropdownOverlay.scss +10 -1
  23. package/dist/cartGrouping.scss +89 -89
  24. package/dist/category-groups-product-grid.scss +143 -155
  25. package/dist/category-groups-product-image.scss +1372 -2010
  26. package/dist/category-groups-product-options.scss +680 -1054
  27. package/dist/category-groups-product-price.scss +2742 -4997
  28. package/dist/category-groups-quota-details.scss +7 -2
  29. package/dist/categoryDetails.scss +61 -61
  30. package/dist/categoryWidget.scss +34 -34
  31. package/dist/checkbox-radio.scss +124 -124
  32. package/dist/checkout.scss +1850 -4170
  33. package/dist/common-element.scss +35 -35
  34. package/dist/confirmationModal.scss +139 -139
  35. package/dist/coupon.scss +352 -714
  36. package/dist/custom-fonts.scss +100 -100
  37. package/dist/embroider-preview-element.scss +94 -94
  38. package/dist/emtpy-templates.scss +165 -165
  39. package/dist/faq.scss +7 -11
  40. package/dist/flex-text-editor.scss +271 -271
  41. package/dist/functions.scss +36 -0
  42. package/dist/gallery-slider-temp.scss +42 -5
  43. package/dist/hotspot.scss +1 -4
  44. package/dist/icon-list.scss +30 -59
  45. package/dist/image-for-product.scss +21 -21
  46. package/dist/image-temp.scss +18 -3
  47. package/dist/language-selector.scss +29 -21
  48. package/dist/last-x-orders.scss +6 -13
  49. package/dist/layouter-item.scss +3 -1
  50. package/dist/layouter.scss +164 -29
  51. package/dist/lightbox.scss +78 -78
  52. package/dist/line.scss +29 -70
  53. package/dist/loader.scss +37 -37
  54. package/dist/login.scss +49 -41
  55. package/dist/map.scss +23 -9
  56. package/dist/mega-menu.scss +1 -4
  57. package/dist/menu-item.scss +19 -19
  58. package/dist/myTemplates.scss +3 -0
  59. package/dist/order-processing.scss +61 -61
  60. package/dist/overflow-module.scss +63 -63
  61. package/dist/pickup-locations.scss +6 -3
  62. package/dist/position-module.scss +95 -95
  63. package/dist/prefix-list.scss +86 -86
  64. package/dist/product-actions.scss +6 -9
  65. package/dist/product-highlights.scss +40 -12
  66. package/dist/product-image-bundles.scss +12 -33
  67. package/dist/product-image.scss +341 -724
  68. package/dist/product-labels.scss +10 -8
  69. package/dist/product-options.scss +270 -125
  70. package/dist/product-price.scss +8 -2
  71. package/dist/productDetails.scss +2 -1
  72. package/dist/profile.scss +28 -0
  73. package/dist/quick-inventory-check.scss +6 -13
  74. package/dist/quick-links.scss +4 -0
  75. package/dist/quick-order-pad.scss +2 -2
  76. package/dist/quota-details.scss +11 -15
  77. package/dist/repeater copy.scss +24 -0
  78. package/dist/repeater-embla-controls.scss +13 -4
  79. package/dist/repeater.scss +161 -7
  80. package/dist/responsive-behaviour.scss +29 -29
  81. package/dist/scroll.scss +31 -1
  82. package/dist/shareCartSideBar.scss +254 -254
  83. package/dist/shipping-estimator.scss +41 -41
  84. package/dist/simple-list.scss +67 -0
  85. package/dist/social.scss +2 -2
  86. package/dist/sort.scss +89 -89
  87. package/dist/static-text.scss +52 -52
  88. package/dist/store-locations.scss +10 -8
  89. package/dist/sub-category.scss +74 -74
  90. package/dist/submit-quote.scss +275 -275
  91. package/dist/tab-container-item.scss +80 -80
  92. package/dist/tab-v2.scss +277 -604
  93. package/dist/table-common.scss +2 -2
  94. package/dist/table.scss +2 -2
  95. package/dist/text-temp-v2.scss +12 -23
  96. package/dist/text-temp.scss +109 -109
  97. package/dist/toggle-button.scss +32 -32
  98. package/dist/transform-properties-module.scss +20 -20
  99. package/dist/types/builder/elements/bundle-categories/index.d.ts +30 -0
  100. package/dist/types/builder/enums/index.d.ts +1 -0
  101. package/dist/types/builder/index.d.ts +2 -1
  102. package/dist/types/builder/tools/element-edit/addProductsTab.d.ts +108 -0
  103. package/dist/types/builder/tools/element-edit/breadcrumbs.d.ts +6 -0
  104. package/dist/types/builder/tools/element-edit/bundle.d.ts +22 -0
  105. package/dist/types/builder/tools/element-edit/bundleCategories.d.ts +115 -0
  106. package/dist/types/builder/tools/element-edit/bundleDetails.d.ts +64 -0
  107. package/dist/types/builder/tools/element-edit/button.d.ts +1 -0
  108. package/dist/types/builder/tools/element-edit/buttonInstance.d.ts +10 -0
  109. package/dist/types/builder/tools/element-edit/buyForWithTab.d.ts +84 -0
  110. package/dist/types/builder/tools/element-edit/cart.d.ts +6 -0
  111. package/dist/types/builder/tools/element-edit/cartAttributes.d.ts +60 -0
  112. package/dist/types/builder/tools/element-edit/cartDetails.d.ts +16 -0
  113. package/dist/types/builder/tools/element-edit/cartSummary.d.ts +1325 -74
  114. package/dist/types/builder/tools/element-edit/categoryGroups.d.ts +158 -0
  115. package/dist/types/builder/tools/element-edit/checkout.d.ts +172 -0
  116. package/dist/types/builder/tools/element-edit/common.d.ts +2 -0
  117. package/dist/types/builder/tools/element-edit/countdown.d.ts +44 -0
  118. package/dist/types/builder/tools/element-edit/coupon.d.ts +28 -0
  119. package/dist/types/builder/tools/element-edit/embroidery.d.ts +37 -0
  120. package/dist/types/builder/tools/element-edit/filterResults.d.ts +4 -0
  121. package/dist/types/builder/tools/element-edit/icon-list.d.ts +11 -0
  122. package/dist/types/builder/tools/element-edit/index.d.ts +2 -1
  123. package/dist/types/builder/tools/element-edit/itemStock.d.ts +2 -0
  124. package/dist/types/builder/tools/element-edit/kitDetails.d.ts +66 -0
  125. package/dist/types/builder/tools/element-edit/kits.d.ts +4 -0
  126. package/dist/types/builder/tools/element-edit/layouter.d.ts +33 -1
  127. package/dist/types/builder/tools/element-edit/map.d.ts +5 -1
  128. package/dist/types/builder/tools/element-edit/marchandiserSets.d.ts +2 -0
  129. package/dist/types/builder/tools/element-edit/orderStatus.d.ts +17 -0
  130. package/dist/types/builder/tools/element-edit/paymentMethods.d.ts +6 -0
  131. package/dist/types/builder/tools/element-edit/productCustomizations.d.ts +14 -0
  132. package/dist/types/builder/tools/element-edit/productOptions.d.ts +3 -1
  133. package/dist/types/builder/tools/element-edit/productPrice.d.ts +1 -0
  134. package/dist/types/builder/tools/element-edit/quickLinks.d.ts +26 -0
  135. package/dist/types/builder/tools/element-edit/repeater.d.ts +45 -1
  136. package/dist/types/builder/tools/element-edit/scroll.d.ts +8 -11
  137. package/dist/types/builder/tools/element-edit/search.d.ts +1 -0
  138. package/dist/types/builder/tools/element-edit/searchResultsHeading.d.ts +6 -0
  139. package/dist/types/builder/tools/element-edit/shipping-payments.d.ts +72 -0
  140. package/dist/types/builder/tools/element-edit/shippingEstimator.d.ts +4 -0
  141. package/dist/types/builder/tools/element-edit/social.d.ts +2 -0
  142. package/dist/types/builder/tools/element-edit/spotlight.d.ts +2 -0
  143. package/dist/types/builder/tools/element-edit/table.d.ts +10 -0
  144. package/dist/types/builder/tools/element-edit/tabs.d.ts +6 -0
  145. package/dist/types/builder/tools/element-edit/typographyInstance.d.ts +110 -0
  146. package/dist/types/builder/tools/element-edit/userElements.d.ts +62 -22
  147. package/dist/types/builder/tools/element-edit/variantPicker.d.ts +4 -0
  148. package/dist/types/builder/tools/element-edit/video.d.ts +22 -0
  149. package/dist/uom-selector.scss +8 -2
  150. package/dist/user-elements.scss +133 -104
  151. package/dist/variant-picker.scss +1 -4
  152. package/dist/video.scss +147 -325
  153. package/dist/volume-pricing.scss +2 -2
  154. package/dist/website.js +1 -1
  155. package/dist/wishlist-overlay.scss +48 -48
  156. package/package.json +131 -131
@@ -92,15 +92,17 @@
92
92
  .items__container {
93
93
  &[data-show-divider="true"] {
94
94
  &[data-flex-direction="row"] {
95
+ // The divider is a pseudo-element and takes no space of its own, so a thick
96
+ // one grew back over the label beside it — see dividerGapReserve in functions.scss.
97
+ .item:not(:last-child) {
98
+ @include dividerGapReserve(--_ctm-dn-wt-se-dr-wt, right);
99
+ }
95
100
  .item:not(:last-child)::before {
96
101
  content: "";
97
102
  position: absolute;
98
103
  top: 0;
99
104
  bottom: 0; /* For full height divider */
100
- right: calc(
101
- -1 *
102
- (var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg))) / 2)
103
- ); /* Half of your gap + 1px offset */
105
+ right: dividerGapOffset(--_ctm-lt-im-sg, --_ctm-dn-wt-se-dr-wt);
104
106
  width: var(
105
107
  --_ctm-mob-dn-wt-se-dr-wt,
106
108
  var(--_ctm-tab-dn-wt-se-dr-wt, var(--_ctm-dn-wt-se-dr-wt))
@@ -112,15 +114,15 @@
112
114
  }
113
115
  }
114
116
  &[data-flex-direction="column"] {
117
+ .item:not(:last-child) {
118
+ @include dividerGapReserve(--_ctm-dn-wt-se-dr-wt);
119
+ }
115
120
  .item:not(:last-child)::before {
116
121
  content: "";
117
122
  position: absolute;
118
123
  left: 0;
119
124
  right: 0;
120
- bottom: calc(
121
- -1 *
122
- (var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg))) / 2)
123
- );
125
+ bottom: dividerGapOffset(--_ctm-lt-im-sg, --_ctm-dn-wt-se-dr-wt);
124
126
  height: var(
125
127
  --_ctm-mob-dn-wt-se-dr-wt,
126
128
  var(--_ctm-tab-dn-wt-se-dr-wt, var(--_ctm-dn-wt-se-dr-wt))
@@ -2,6 +2,15 @@
2
2
  @use "sass:list";
3
3
  @use "./functions.scss" as *;
4
4
 
5
+ // The value text inside a swatch moved out of design.optionValueStyle into its own
6
+ // schema, design.optionValueTextStyle, so the box and the text are edited from separate
7
+ // accordions. Pages saved before the split still carry the typography keys under the old
8
+ // section, so every value-text property resolves the new variable first and falls back to
9
+ // the old one — both across breakpoints.
10
+ @function optionValueTextVar($newVar, $legacyVar) {
11
+ @return prepareMediaVariable($newVar, prepareMediaVariable($legacyVar));
12
+ }
13
+
5
14
  [data-div-type="element"] {
6
15
  &[data-element-type="productOptions"] {
7
16
  width: var(
@@ -116,6 +125,28 @@
116
125
  --_ctm-mob-dn-on-te-ue,
117
126
  var(--_ctm-tab-dn-on-te-ue, var(--_ctm-dn-on-te-ue))
118
127
  );
128
+
129
+ // design.optionTitle container styling. The title is its own design schema, so it
130
+ // carries the same Fill / Border / Border Radius / Shadow set as the value box.
131
+ background-color: prepareMediaVariable(--_ctm-dn-on-te-bd-cr, transparent);
132
+ border-color: prepareMediaVariable(--_ctm-dn-on-te-br-cr);
133
+ border-style: prepareMediaVariable(--_ctm-dn-on-te-br-se);
134
+ border-width: prepareMediaVariable(--_ctm-dn-on-te-br-wh, 0px);
135
+ border-radius: prepareMediaVariable(--_ctm-dn-on-te-br-rs, 0px);
136
+ // Same --_show-shadow gate the widget container uses in this file.
137
+ box-shadow: var(
138
+ --_show-shadow,
139
+ prepareMediaVariable(--_ctm-dn-on-te-sw-ae) prepareMediaVariable(--_ctm-dn-on-te-sw-br)
140
+ prepareMediaVariable(--_ctm-dn-on-te-sw-sd) prepareMediaVariable(--_ctm-dn-on-te-sw-cr)
141
+ );
142
+
143
+ // Text Overflow is a `controls` property, not a CSS one, so it cannot travel as a
144
+ // variable — the renderer adds `.flex__overflow` and publishes the line count as
145
+ // `--_sf-line-clamp`.
146
+ &.flex__overflow {
147
+ white-space: normal;
148
+ @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
149
+ }
119
150
  }
120
151
 
121
152
  .product__option__element__swatch {
@@ -148,6 +179,10 @@
148
179
  &[data-overflow-items="Scroll"] {
149
180
  .swatch__list {
150
181
  overflow-x: auto;
182
+ // Gap (layout.swatchScrollGap): clearance between the swatches and the
183
+ // scrollbar this mode adds underneath. Padding inside the scrolling box, so
184
+ // it holds the items off the scrollbar rather than widening the element.
185
+ padding-bottom: prepareMediaVariable(--_ctm-lt-sh-sl-gp, 0px);
151
186
  // overflow-y: hidden;
152
187
  flex-wrap: nowrap;
153
188
  }
@@ -194,57 +229,57 @@
194
229
  var(--_ctm-tab-dn-on-ve-se-hr-se-sw-cr, var(--_ctm-dn-on-ve-se-hr-se-sw-cr))
195
230
  );
196
231
 
197
- // for font
198
-
199
- --_sf-hr-cr: var(
200
- --_ctm-mob-dn-on-ve-se-hr-se-cr,
201
- var(--_ctm-tab-dn-on-ve-se-hr-se-cr, var(--_ctm-dn-on-ve-se-hr-se-cr))
202
- );
203
- --_sf-hr-ft-fy: var(
204
- --_ctm-mob-dn-on-ve-se-hr-se-ft-fy,
205
- var(--_ctm-tab-dn-on-ve-se-hr-se-ft-fy, var(--_ctm-dn-on-ve-se-hr-se-ft-fy))
206
- );
207
- --_sf-hr-tt-tm: var(
208
- --_ctm-mob-dn-on-ve-se-hr-se-tt-tm,
209
- var(--_ctm-tab-dn-on-ve-se-hr-se-tt-tm, var(--_ctm-dn-on-ve-se-hr-se-tt-tm))
210
- );
211
- --_sf-hr-wd-wp: var(
212
- --_ctm-mob-dn-on-ve-se-hr-se-wd-wp,
213
- var(--_ctm-tab-dn-on-ve-se-hr-se-wd-wp, var(--_ctm-dn-on-ve-se-hr-se-wd-wp))
214
- );
215
- --_sf-hr-wd-bk: var(
216
- --_ctm-mob-dn-on-ve-se-hr-se-wd-bk,
217
- var(--_ctm-tab-dn-on-ve-se-hr-se-wd-bk, var(--_ctm-dn-on-ve-se-hr-se-wd-bk))
218
- );
219
- --_sf-hr-ft-se: var(
220
- --_ctm-mob-dn-on-ve-se-hr-se-ft-se,
221
- var(--_ctm-tab-dn-on-ve-se-hr-se-ft-se, var(--_ctm-dn-on-ve-se-hr-se-ft-se))
222
- );
223
- --_sf-hr-ft-wt: var(
224
- --_ctm-mob-dn-on-ve-se-hr-se-ft-wt,
225
- var(--_ctm-tab-dn-on-ve-se-hr-se-ft-wt, var(--_ctm-dn-on-ve-se-hr-se-ft-wt))
226
- );
227
- --_sf-hr-ft-se-ic: var(
228
- --_ctm-mob-dn-on-ve-se-hr-se-ft-se-ic,
229
- var(--_ctm-tab-dn-on-ve-se-hr-se-ft-se-ic, var(--_ctm-dn-on-ve-se-hr-se-ft-se-ic))
230
- );
231
- --_sf-hr-tt-an: var(
232
- --_ctm-mob-dn-on-ve-se-hr-se-tt-an,
233
- var(--_ctm-tab-dn-on-ve-se-hr-se-tt-an, var(--_ctm-dn-on-ve-se-hr-se-tt-an))
234
- );
235
- --_sf-hr-lr-sg: var(
236
- --_ctm-mob-dn-on-ve-se-hr-se-lr-sg,
237
- var(--_ctm-tab-dn-on-ve-se-hr-se-lr-sg, var(--_ctm-dn-on-ve-se-hr-se-lr-sg))
238
- );
239
- --_sf-hr-le-ht: var(
240
- --_ctm-mob-dn-on-ve-se-hr-se-le-ht,
241
- var(--_ctm-tab-dn-on-ve-se-hr-se-le-ht, var(--_ctm-dn-on-ve-se-hr-se-le-ht))
242
- );
243
-
244
- --_sf-hr-ue: var(
245
- --_ctm-mob-dn-on-ve-se-hr-se-ue,
246
- var(--_ctm-tab-dn-on-ve-se-hr-se-ue, var(--_ctm-dn-on-ve-se-hr-se-ue))
247
- );
232
+ // for font — from optionValueTextStyle.hoverState, falling back to the pre-split
233
+ // optionValueStyle.hoverState keys.
234
+ --_sf-hr-cr: #{optionValueTextVar(
235
+ --_ctm-dn-on-ve-tt-se-hr-se-cr,
236
+ --_ctm-dn-on-ve-se-hr-se-cr
237
+ )};
238
+ --_sf-hr-ft-fy: #{optionValueTextVar(
239
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-fy,
240
+ --_ctm-dn-on-ve-se-hr-se-ft-fy
241
+ )};
242
+ --_sf-hr-tt-tm: #{optionValueTextVar(
243
+ --_ctm-dn-on-ve-tt-se-hr-se-tt-tm,
244
+ --_ctm-dn-on-ve-se-hr-se-tt-tm
245
+ )};
246
+ --_sf-hr-wd-wp: #{optionValueTextVar(
247
+ --_ctm-dn-on-ve-tt-se-hr-se-wd-wp,
248
+ --_ctm-dn-on-ve-se-hr-se-wd-wp
249
+ )};
250
+ --_sf-hr-wd-bk: #{optionValueTextVar(
251
+ --_ctm-dn-on-ve-tt-se-hr-se-wd-bk,
252
+ --_ctm-dn-on-ve-se-hr-se-wd-bk
253
+ )};
254
+ --_sf-hr-ft-se: #{optionValueTextVar(
255
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-se,
256
+ --_ctm-dn-on-ve-se-hr-se-ft-se
257
+ )};
258
+ --_sf-hr-ft-wt: #{optionValueTextVar(
259
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-wt,
260
+ --_ctm-dn-on-ve-se-hr-se-ft-wt
261
+ )};
262
+ --_sf-hr-ft-se-ic: #{optionValueTextVar(
263
+ --_ctm-dn-on-ve-tt-se-hr-se-ft-se-ic,
264
+ --_ctm-dn-on-ve-se-hr-se-ft-se-ic
265
+ )};
266
+ --_sf-hr-tt-an: #{optionValueTextVar(
267
+ --_ctm-dn-on-ve-tt-se-hr-se-tt-an,
268
+ --_ctm-dn-on-ve-se-hr-se-tt-an
269
+ )};
270
+ --_sf-hr-lr-sg: #{optionValueTextVar(
271
+ --_ctm-dn-on-ve-tt-se-hr-se-lr-sg,
272
+ --_ctm-dn-on-ve-se-hr-se-lr-sg
273
+ )};
274
+ --_sf-hr-le-ht: #{optionValueTextVar(
275
+ --_ctm-dn-on-ve-tt-se-hr-se-le-ht,
276
+ --_ctm-dn-on-ve-se-hr-se-le-ht
277
+ )};
278
+
279
+ --_sf-hr-ue: #{optionValueTextVar(
280
+ --_ctm-dn-on-ve-tt-se-hr-se-ue,
281
+ --_ctm-dn-on-ve-se-hr-se-ue
282
+ )};
248
283
  }
249
284
  .swatch__item[data-selected="true"] {
250
285
  --_sf-sd-bd-cr: var(
@@ -281,56 +316,57 @@
281
316
  var(--_ctm-tab-dn-on-ve-se-sd-se-sw-cr, var(--_ctm-dn-on-ve-se-sd-se-sw-cr))
282
317
  );
283
318
 
284
- // for font
285
- --_sf-hr-cr: var(
286
- --_ctm-mob-dn-on-ve-se-sd-se-cr,
287
- var(--_ctm-tab-dn-on-ve-se-sd-se-cr, var(--_ctm-dn-on-ve-se-sd-se-cr))
288
- );
289
- --_sf-hr-ft-fy: var(
290
- --_ctm-mob-dn-on-ve-se-sd-se-ft-fy,
291
- var(--_ctm-tab-dn-on-ve-se-sd-se-ft-fy, var(--_ctm-dn-on-ve-se-sd-se-ft-fy))
292
- );
293
- --_sf-hr-tt-tm: var(
294
- --_ctm-mob-dn-on-ve-se-sd-se-tt-tm,
295
- var(--_ctm-tab-dn-on-ve-se-sd-se-tt-tm, var(--_ctm-dn-on-ve-se-sd-se-tt-tm))
296
- );
297
- --_sf-hr-wd-wp: var(
298
- --_ctm-mob-dn-on-ve-se-sd-se-wd-wp,
299
- var(--_ctm-tab-dn-on-ve-se-sd-se-wd-wp, var(--_ctm-dn-on-ve-se-sd-se-wd-wp))
300
- );
301
- --_sf-hr-wd-bk: var(
302
- --_ctm-mob-dn-on-ve-se-sd-se-wd-bk,
303
- var(--_ctm-tab-dn-on-ve-se-sd-se-wd-bk, var(--_ctm-dn-on-ve-se-sd-se-wd-bk))
304
- );
305
- --_sf-hr-ft-se: var(
306
- --_ctm-mob-dn-on-ve-se-sd-se-ft-se,
307
- var(--_ctm-tab-dn-on-ve-se-sd-se-ft-se, var(--_ctm-dn-on-ve-se-sd-se-ft-se))
308
- );
309
- --_sf-hr-ft-wt: var(
310
- --_ctm-mob-dn-on-ve-se-sd-se-ft-wt,
311
- var(--_ctm-tab-dn-on-ve-se-sd-se-ft-wt, var(--_ctm-dn-on-ve-se-sd-se-ft-wt))
312
- );
313
- --_sf-hr-ft-se-ic: var(
314
- --_ctm-mob-dn-on-ve-se-sd-se-ft-se-ic,
315
- var(--_ctm-tab-dn-on-ve-se-sd-se-ft-se-ic, var(--_ctm-dn-on-ve-se-sd-se-ft-se-ic))
316
- );
317
- --_sf-hr-tt-an: var(
318
- --_ctm-mob-dn-on-ve-se-sd-se-tt-an,
319
- var(--_ctm-tab-dn-on-ve-se-sd-se-tt-an, var(--_ctm-dn-on-ve-se-sd-se-tt-an))
320
- );
321
- --_sf-hr-lr-sg: var(
322
- --_ctm-mob-dn-on-ve-se-sd-se-lr-sg,
323
- var(--_ctm-tab-dn-on-ve-se-sd-se-lr-sg, var(--_ctm-dn-on-ve-se-sd-se-lr-sg))
324
- );
325
- --_sf-hr-le-ht: var(
326
- --_ctm-mob-dn-on-ve-se-sd-se-le-ht,
327
- var(--_ctm-tab-dn-on-ve-se-sd-se-le-ht, var(--_ctm-dn-on-ve-se-sd-se-le-ht))
328
- );
329
-
330
- --_sf-hr-ue: var(
331
- --_ctm-mob-dn-on-ve-se-sd-se-ue,
332
- var(--_ctm-tab-dn-on-ve-se-sd-se-ue, var(--_ctm-dn-on-ve-se-sd-se-ue))
333
- );
319
+ // for font — from optionValueTextStyle.selectedState, falling back to the
320
+ // pre-split optionValueStyle.selectedState keys.
321
+ --_sf-hr-cr: #{optionValueTextVar(
322
+ --_ctm-dn-on-ve-tt-se-sd-se-cr,
323
+ --_ctm-dn-on-ve-se-sd-se-cr
324
+ )};
325
+ --_sf-hr-ft-fy: #{optionValueTextVar(
326
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-fy,
327
+ --_ctm-dn-on-ve-se-sd-se-ft-fy
328
+ )};
329
+ --_sf-hr-tt-tm: #{optionValueTextVar(
330
+ --_ctm-dn-on-ve-tt-se-sd-se-tt-tm,
331
+ --_ctm-dn-on-ve-se-sd-se-tt-tm
332
+ )};
333
+ --_sf-hr-wd-wp: #{optionValueTextVar(
334
+ --_ctm-dn-on-ve-tt-se-sd-se-wd-wp,
335
+ --_ctm-dn-on-ve-se-sd-se-wd-wp
336
+ )};
337
+ --_sf-hr-wd-bk: #{optionValueTextVar(
338
+ --_ctm-dn-on-ve-tt-se-sd-se-wd-bk,
339
+ --_ctm-dn-on-ve-se-sd-se-wd-bk
340
+ )};
341
+ --_sf-hr-ft-se: #{optionValueTextVar(
342
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-se,
343
+ --_ctm-dn-on-ve-se-sd-se-ft-se
344
+ )};
345
+ --_sf-hr-ft-wt: #{optionValueTextVar(
346
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-wt,
347
+ --_ctm-dn-on-ve-se-sd-se-ft-wt
348
+ )};
349
+ --_sf-hr-ft-se-ic: #{optionValueTextVar(
350
+ --_ctm-dn-on-ve-tt-se-sd-se-ft-se-ic,
351
+ --_ctm-dn-on-ve-se-sd-se-ft-se-ic
352
+ )};
353
+ --_sf-hr-tt-an: #{optionValueTextVar(
354
+ --_ctm-dn-on-ve-tt-se-sd-se-tt-an,
355
+ --_ctm-dn-on-ve-se-sd-se-tt-an
356
+ )};
357
+ --_sf-hr-lr-sg: #{optionValueTextVar(
358
+ --_ctm-dn-on-ve-tt-se-sd-se-lr-sg,
359
+ --_ctm-dn-on-ve-se-sd-se-lr-sg
360
+ )};
361
+ --_sf-hr-le-ht: #{optionValueTextVar(
362
+ --_ctm-dn-on-ve-tt-se-sd-se-le-ht,
363
+ --_ctm-dn-on-ve-se-sd-se-le-ht
364
+ )};
365
+
366
+ --_sf-hr-ue: #{optionValueTextVar(
367
+ --_ctm-dn-on-ve-tt-se-sd-se-ue,
368
+ --_ctm-dn-on-ve-se-sd-se-ue
369
+ )};
334
370
  }
335
371
 
336
372
  .swatch__item {
@@ -345,6 +381,18 @@
345
381
  width: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
346
382
  height: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
347
383
 
384
+ // A Single Select value is text, not a swatch image. `white-space: nowrap` on
385
+ // .option__value__text keeps it on one line, but this box is fixed-size with
386
+ // overflow:hidden, so a value wider than Swatch Item Size was clipped instead.
387
+ // Grow to the content and keep Swatch Item Size as the floor, so short values look
388
+ // exactly as before and only the ones that would have been cut off get wider.
389
+ &[data-display-style="Single Select"] {
390
+ width: auto;
391
+ height: auto;
392
+ min-width: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
393
+ min-height: prepareMediaVariable(--_ctm-lt-sh-im-se, 20px);
394
+ }
395
+
348
396
  // &[data-display-style="Swatch"] {
349
397
  // height: prepareMediaVariable(--_ctm-lt-sh-im-se);
350
398
  // width: prepareMediaVariable(--_ctm-lt-sh-im-se);
@@ -508,21 +556,68 @@
508
556
  }
509
557
 
510
558
  .option__value__text {
511
- color: var(--_sf-hr-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-cr));
512
- font-family: var(--_sf-hr-ft-fy, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-fy));
513
- text-transform: var(--_sf-hr-tt-tm, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-tt-tm));
514
- word-wrap: var(--_sf-hr-wd-wp, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-wd-wp));
515
- word-break: var(--_sf-hr-wd-bk, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-wd-bk));
516
- font-size: var(--_sf-hr-ft-se, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-se));
517
- font-weight: var(--_sf-hr-ft-wt, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-wt));
559
+ color: var(
560
+ --_sf-hr-cr,
561
+ #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-cr, --_ctm-dn-on-ve-se-dt-se-cr)}
562
+ );
563
+ font-family: var(
564
+ --_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)}
566
+ );
567
+ text-transform: var(
568
+ --_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)}
570
+ );
571
+ word-wrap: var(
572
+ --_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)}
574
+ );
575
+ word-break: var(
576
+ --_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)}
578
+ );
579
+ font-size: var(
580
+ --_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)}
582
+ );
583
+ font-weight: var(
584
+ --_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)}
586
+ );
518
587
  font-style: var(
519
588
  --_sf-hr-ft-se-ic,
520
- prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-se-ic)
589
+ #{optionValueTextVar(
590
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
591
+ --_ctm-dn-on-ve-se-dt-se-ft-se-ic
592
+ )}
593
+ );
594
+ text-align: var(
595
+ --_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)}
521
597
  );
522
- text-align: var(--_sf-hr-tt-an, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-tt-an));
523
- letter-spacing: var(--_sf-hr-lr-sg, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-lr-sg));
524
- line-height: var(--_sf-hr-le-ht, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-le-ht-dc));
525
- text-decoration: var(--_sf-hr-ue, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ue));
598
+ letter-spacing: var(
599
+ --_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)}
601
+ );
602
+ // The pre-split key is `le-ht-dc`; the new section is read under both spellings
603
+ // so whichever one the converter writes resolves.
604
+ line-height: var(
605
+ --_sf-hr-le-ht,
606
+ prepareMediaVariable(
607
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
608
+ #{optionValueTextVar(
609
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
610
+ --_ctm-dn-on-ve-se-dt-se-le-ht-dc
611
+ )}
612
+ )
613
+ );
614
+ text-decoration: var(
615
+ --_sf-hr-ue,
616
+ #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ue, --_ctm-dn-on-ve-se-dt-se-ue)}
617
+ );
618
+ // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
619
+ // broke onto a second line inside it. Keep it on one line.
620
+ white-space: nowrap;
526
621
  }
527
622
  &.disabled {
528
623
  color: #aaa;
@@ -580,18 +675,68 @@
580
675
  // }
581
676
 
582
677
  .option__value__text {
583
- color: var(--_sf-hr-cr, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-cr));
584
- font-family: var(--_sf-hr-ft-fy, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-fy));
585
- text-transform: var(--_sf-hr-tt-tm, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-tt-tm));
586
- word-wrap: var(--_sf-hr-wd-wp, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-wd-wp));
587
- word-break: var(--_sf-hr-wd-bk, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-wd-bk));
588
- font-size: var(--_sf-hr-ft-se, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-se));
589
- font-weight: var(--_sf-hr-ft-wt, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-wt));
590
- font-style: var(--_sf-hr-ft-se-ic, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ft-se-ic));
591
- text-align: var(--_sf-hr-tt-an, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-tt-an));
592
- letter-spacing: var(--_sf-hr-lr-sg, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-lr-sg));
593
- line-height: var(--_sf-hr-le-ht, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-le-ht-dc));
594
- text-decoration: var(--_sf-hr-ue, prepareMediaVariable(--_ctm-dn-on-ve-se-dt-se-ue));
678
+ color: var(
679
+ --_sf-hr-cr,
680
+ #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-cr, --_ctm-dn-on-ve-se-dt-se-cr)}
681
+ );
682
+ font-family: var(
683
+ --_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)}
685
+ );
686
+ text-transform: var(
687
+ --_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)}
689
+ );
690
+ word-wrap: var(
691
+ --_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)}
693
+ );
694
+ word-break: var(
695
+ --_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)}
697
+ );
698
+ font-size: var(
699
+ --_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)}
701
+ );
702
+ font-weight: var(
703
+ --_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)}
705
+ );
706
+ font-style: var(
707
+ --_sf-hr-ft-se-ic,
708
+ #{optionValueTextVar(
709
+ --_ctm-dn-on-ve-tt-se-dt-se-ft-se-ic,
710
+ --_ctm-dn-on-ve-se-dt-se-ft-se-ic
711
+ )}
712
+ );
713
+ text-align: var(
714
+ --_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)}
716
+ );
717
+ letter-spacing: var(
718
+ --_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)}
720
+ );
721
+ // The pre-split key is `le-ht-dc`; the new section is read under both spellings
722
+ // so whichever one the converter writes resolves.
723
+ line-height: var(
724
+ --_sf-hr-le-ht,
725
+ prepareMediaVariable(
726
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht,
727
+ #{optionValueTextVar(
728
+ --_ctm-dn-on-ve-tt-se-dt-se-le-ht-dc,
729
+ --_ctm-dn-on-ve-se-dt-se-le-ht-dc
730
+ )}
731
+ )
732
+ );
733
+ text-decoration: var(
734
+ --_sf-hr-ue,
735
+ #{optionValueTextVar(--_ctm-dn-on-ve-tt-se-dt-se-ue, --_ctm-dn-on-ve-se-dt-se-ue)}
736
+ );
737
+ // The swatch item is a fixed box (Swatch Item Size), so a value like "Small"
738
+ // broke onto a second line inside it. Keep it on one line.
739
+ white-space: nowrap;
595
740
  }
596
741
 
597
742
  .product-select-image {
@@ -1718,8 +1718,14 @@
1718
1718
  --_ctm-mob-dn-ss-tt-tm,
1719
1719
  var(--_ctm-tab-dn-ss-tt-tm, var(--_ctm-dn-ss-tt-tm))
1720
1720
  );
1721
- word-wrap: var(--_ctm-mob-dn-ss-wd-wp, var(--_ctm-tab-dn-ss-wd-wp, var(--_ctm-dn-ss-wd-wp)));
1722
- word-break: var(--_ctm-mob-dn-ss-wd-bk, var(--_ctm-tab-dn-ss-wd-bk, var(--_ctm-dn-ss-wd-bk)));
1721
+ word-wrap: var(
1722
+ --_ctm-mob-dn-ss-wd-wp,
1723
+ var(--_ctm-tab-dn-ss-wd-wp, var(--_ctm-dn-ss-wd-wp))
1724
+ );
1725
+ word-break: var(
1726
+ --_ctm-mob-dn-ss-wd-bk,
1727
+ var(--_ctm-tab-dn-ss-wd-bk, var(--_ctm-dn-ss-wd-bk))
1728
+ );
1723
1729
  font-size: var(--_ctm-mob-dn-ss-ft-se, var(--_ctm-tab-dn-ss-ft-se, var(--_ctm-dn-ss-ft-se)));
1724
1730
  font-weight: var(
1725
1731
  --_ctm-mob-dn-ss-ft-wt,
@@ -115,7 +115,8 @@ $resizeActive: '[data-cms-element-resizer="true"]';
115
115
 
116
116
  box-shadow: var(
117
117
  --_show-shadow,
118
- prepareMediaVariable(--_ctm-prod-dn-sw-ae, 0 0) prepareMediaVariable(--_ctm-prod-dn-sw-br, 0)
118
+ prepareMediaVariable(--_ctm-prod-dn-sw-ae, 0 0)
119
+ prepareMediaVariable(--_ctm-prod-dn-sw-br, 0)
119
120
  prepareMediaVariable(--_ctm-prod-dn-sw-sd, 0)
120
121
  prepareMediaVariable(--_ctm-prod-dn-sw-cr, transparent)
121
122
  );