@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
@@ -9,6 +9,7 @@ $adSlotSliderSelector: ".repeater-ad-slot__inner";
9
9
  $sliderControlDragging: "[flex-slider-control-moving='true']";
10
10
  $rai: "repeater-advertise-item";
11
11
  $listViewSlector: '.lst_vw[data-element-type="repeater"]';
12
+
12
13
  [data-div-type="element"] {
13
14
  &[data-element-type="repeater"] {
14
15
  // width: var(--_sf-con-nw-wh);
@@ -20,6 +21,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
20
21
  var(--_ctm-tab-rep-ele-nw-wh-vl, var(--_ctm-rep-ele-nw-wh-vl, auto))
21
22
  )
22
23
  );
24
+
23
25
  // width: 100%;
24
26
  &:not([data-view-state="full"]) {
25
27
  min-height: var(
@@ -27,6 +29,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
27
29
  var(--_ctm-tab-rep-lt-ht, var(--_ctm-rep-lt-ht, var(--_ctm-lt-ht, var(--_tst-lt-ht))))
28
30
  );
29
31
  }
32
+
30
33
  min-height: var();
31
34
  margin: var(
32
35
  --_ctm-mob-rep-lt-mn,
@@ -119,6 +122,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
119
122
  var(--_ctm-tab-rep-dn-rr-wt-br-wh, var(--_ctm-rep-dn-rr-wt-br-wh))
120
123
  );
121
124
  }
125
+
122
126
  border-radius: var(
123
127
  --_ctm-mob-rep-dn-rr-wt-br-rs,
124
128
  var(--_ctm-tab-rep-dn-rr-wt-br-rs, var(--_ctm-rep-dn-rr-wt-br-rs))
@@ -130,6 +134,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
130
134
  &[data-show-shadow="false"] {
131
135
  --_show-shadow: none;
132
136
  }
137
+
133
138
  box-shadow: var(
134
139
  --_show-shadow,
135
140
  var(
@@ -192,6 +197,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
192
197
  }
193
198
  }
194
199
  }
200
+
195
201
  &:not(.lst_vw) {
196
202
  &.grd {
197
203
  & > div {
@@ -240,11 +246,13 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
240
246
  // min-height: 100px !important;
241
247
  }
242
248
  }
249
+
243
250
  &:not(.stimsfrRws) {
244
251
  // we are not using
245
252
  & > div {
246
253
  &.wrapper {
247
254
  justify-content: center;
255
+
248
256
  & > div {
249
257
  &#{$childItemSelector},
250
258
  &#{$adSlotElementSelector},
@@ -272,6 +280,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
272
280
  & > div {
273
281
  &.wrapper {
274
282
  align-self: prepareMediaVariable(--_ctm-rep-lt-an-is) !important;
283
+
275
284
  & > div {
276
285
  &#{$childItemSelector},
277
286
  &#{$adSlotElementSelector},
@@ -321,33 +330,159 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
321
330
  }
322
331
  }
323
332
  }
333
+
324
334
  &.sld {
325
335
  &:is(:not(#{$sliderControlDragging} *)) {
326
336
  overflow: clip;
327
337
  }
338
+
328
339
  height: auto;
329
340
  --_sf-sl-ct-ic-dt-at-cl: var(
330
341
  --_ctm-mob-rep-lt-cl-ae-cr,
331
342
  var(--_ctm-tab-rep-lt-cl-ae-cr, var(--_ctm-rep-lt-cl-ae-cr))
332
343
  );
333
- // Resting arrow colour (Layout > Slider Settings > Arrow Icon Color). Fallback is
334
- // the colour baked into the chevron icons, so untouched repeaters look the same.
335
- --_sf-sl-ct-aw-in-cl: var(
336
- --_ctm-mob-rep-lt-aw-in-cr,
337
- var(--_ctm-tab-rep-lt-aw-in-cr, var(--_ctm-rep-lt-aw-in-cr, #667085))
338
- );
344
+
345
+ // Design > Pagination Arrows.
346
+ //
347
+ // Arrow Size and the layout tab's Arrow Icon Size drive the same button box, so the
348
+ // design value wins and the layout value is the fallback — a repeater saved before
349
+ // this section existed has no `dn-pn-as-aw-se` var and keeps its `lt-aw-in-se`
350
+ // size. Both schema defaults are 40px.
351
+ --_sf-ic-sz-nn: #{prepareMediaVariable(
352
+ --_ctm-rep-dn-pn-as-aw-se,
353
+ var(
354
+ --_ctm-mob-rep-lt-aw-in-se,
355
+ var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
356
+ )
357
+ )};
358
+ // Resting arrow colour. Design > Pagination Arrows > Arrow Color replaces the
359
+ // layout tab's Arrow Icon Color, which stays as the fallback; the last fallback is
360
+ // the colour baked into the chevron icons. Hover still switches to Control Active
361
+ // Color.
362
+ --_sf-sl-ct-aw-in-cl: #{prepareMediaVariable(
363
+ --_ctm-rep-dn-pn-as-aw-cr,
364
+ var(
365
+ --_ctm-mob-rep-lt-aw-in-cr,
366
+ var(--_ctm-tab-rep-lt-aw-in-cr, var(--_ctm-rep-lt-aw-in-cr, #667085))
367
+ )
368
+ )};
369
+ // Background Color, as the gallery slider and the layouter use it: the button is a
370
+ // 10% tint of the chosen colour and 20% on hover (see the hover rule further down),
371
+ // not the flat colour. Kept in its own variable so both tints read the same source.
372
+ --_sf-rep-as-bg-cr: #{prepareMediaVariable(--_ctm-rep-dn-pn-as-bd-cr, #fff)};
373
+ --_sf-nv-ic-bg: color-mix(in srgb, var(--_sf-rep-as-bg-cr) 10%, transparent);
374
+
375
+ // Design > Pagination Dots (control templates 1 and 2). Dot Size replaces the
376
+ // layout tab's Dot Size the same way Arrow Size replaces Arrow Icon Size, with the
377
+ // old var as fallback for repeaters saved before the section existed. The two
378
+ // colours had no layout equivalent: the selected dot used to follow Control Active
379
+ // Color, which still colours the arrow hover and the unselected dot border.
380
+ --_sf-ed-vl-sz: #{prepareMediaVariable(
381
+ --_ctm-rep-dn-pn-ds-dt-se,
382
+ var(
383
+ --_ctm-mob-rep-lt-dt-se,
384
+ var(--_ctm-tab-rep-lt-dt-se, var(--_ctm-rep-lt-dt-se, 10px))
385
+ )
386
+ )};
387
+ --_sf-dt-ae-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-ct-dt-cr, #162578)};
388
+ --_sf-dt-ie-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-or-dt-cr, #fff)};
389
+
390
+ // Background Shape of the arrow buttons, matching the gallery slider's mapping:
391
+ // Round is the mixin's own 50% default, None squares the button off and Square
392
+ // rounds the corners slightly. Repeaters without this section have no attribute at
393
+ // all and stay round.
394
+ button.embla__btn {
395
+ &[data-background-shape="None"] {
396
+ --_sf-nv-ic-br: 0px;
397
+ }
398
+
399
+ &[data-background-shape="Square"] {
400
+ --_sf-nv-ic-br: 4px;
401
+ }
402
+ }
403
+
339
404
  // &:is([data-control-type="1"]) {
340
405
  // @include CMSRepeaterEmblaControlStyles(1);
341
406
  // }
342
407
  @for $i from 1 through 3 {
343
408
  &:is([data-control-type="#{$i}"]) {
344
- @if ($i == 3) {
409
+ @if ($i ==3) {
345
410
  overflow-y: visible;
346
411
  }
412
+
347
413
  @include CMSRepeaterEmblaControlStyles($i);
348
414
  }
349
415
  }
350
416
 
417
+ // Overrides of the shared control mixin. `:is([data-control-type])` matches the
418
+ // specificity of the rules being replaced, and this block comes after the @include,
419
+ // so on the tie these win.
420
+ &:is([data-control-type]) {
421
+ // Hover of the arrow buttons. The mixin tints them with Control Active Color,
422
+ // which ignores the Background Color the Pagination Arrows section sets; the
423
+ // gallery slider instead deepens that same colour from 10% to 20%. The icon
424
+ // stroke still switches to Control Active Color — the mixin's own rule.
425
+ button.embla__btn:hover:not(:disabled) {
426
+ @include BgColorLighter(var(--_sf-rep-as-bg-cr), 20%);
427
+ }
428
+
429
+ // Design > Pagination Dots > Border and Shadow.
430
+ //
431
+ // Both are gated on the container attributes the control components publish from
432
+ // the Show Border / Show Shadow toggles: with the border off the dots keep the
433
+ // hairline the mixin derives from Control Active Color, and with it on these
434
+ // longhands take over.
435
+ .pagination__v1[data-show-border="true"] > button.embla__dot {
436
+ border-width: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-wh, 0px)};
437
+ border-style: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-se, solid)};
438
+ border-color: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-br-cr, transparent)};
439
+ }
440
+
441
+ .pagination__v1[data-show-shadow="true"] > button.embla__dot {
442
+ box-shadow: #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-ae, 0px 0px)}
443
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-br, 0px)}
444
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-sd, 0px)}
445
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-ds-sw-cr, transparent)};
446
+ }
447
+ }
448
+
449
+ // Design > Pagination Line — template 3 only, which draws the same pagination
450
+ // buttons as bars and so reads its own section instead of Pagination Dots.
451
+ &:is([data-control-type="3"]) {
452
+ // The type-3 sizes and the inactive grey are set on `.pagination__v1` by the
453
+ // shared control mixin, so they have to be overridden at that level rather than
454
+ // on the container. Same specificity, later in the file, so these win. Defaults
455
+ // are exactly what the mixin hardcodes.
456
+ .pagination__v1 {
457
+ --_sf-dt-wh-t3: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-le-wh, 16px)};
458
+ --_sf-dt-ht-t3: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-le-ht, 2px)};
459
+ // Also overrides the dots section's Other Dot Color, which the container sets
460
+ // on `--_sf-dt-ie-bg` and would otherwise take precedence over the grey.
461
+ --_sf-dt-ie-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-or-le-cr, #d6d6d6)};
462
+ --_sf-dt-ae-bg: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-ct-le-cr, #162578)};
463
+
464
+ // The mixin pins the active bar to 6px regardless of the others' height. Kept
465
+ // as a floor rather than a fixed value so Line Height above 6px applies to the
466
+ // active bar too, while the default (2px) leaves it at 6px as before.
467
+ > button.embla__dot.embla__dot--selected {
468
+ --_sf-dt-at-ht-t3: max(6px, var(--_sf-dt-ht-t3));
469
+ }
470
+ }
471
+
472
+ .pagination__v1[data-show-border="true"] > button.embla__dot {
473
+ border-width: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-wh, 0px)};
474
+ border-style: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-se, solid)};
475
+ border-color: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-br-cr, transparent)};
476
+ }
477
+
478
+ .pagination__v1[data-show-shadow="true"] > button.embla__dot {
479
+ box-shadow: #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-ae, 0px 0px)}
480
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-br, 0px)}
481
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-sd, 0px)}
482
+ #{prepareMediaVariable(--_ctm-rep-dn-pn-le-sw-cr, transparent)};
483
+ }
484
+ }
485
+
351
486
  & > div {
352
487
  &.wrapper {
353
488
  &.embla__container {
@@ -365,6 +500,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
365
500
  // margin-left: calc(var(--_embla-slide-space, 10px) * -1);
366
501
  width: 100%;
367
502
  height: 100%;
503
+
368
504
  & > .embla__slide {
369
505
  --_sf-cl-vl: calc(
370
506
  (100% / var(--_embla-col-count, 3)) -
@@ -394,11 +530,13 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
394
530
  }
395
531
  }
396
532
  }
533
+
397
534
  & > div {
398
535
  &.wrapper {
399
536
  &:is(.sld > *) {
400
537
  gap: #{prepareMediaVariable(--_ctm-rep-lt-im-gp, 0px)};
401
538
  }
539
+
402
540
  &:is(:not(.sld > *)) {
403
541
  column-gap: #{prepareMediaVariable(--_ctm-rep-lt-cn-gp, 0px)};
404
542
  row-gap: #{prepareMediaVariable(--_ctm-rep-lt-rw-gp, 0px)};
@@ -412,10 +550,12 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
412
550
  }
413
551
  }
414
552
  }
553
+
415
554
  .repeater-advertise-item {
416
555
  display: flex;
417
556
  justify-content: center;
418
557
  align-items: center;
558
+
419
559
  img {
420
560
  // width: 100%;
421
561
  // height: 100%;
@@ -437,6 +577,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
437
577
  justify-content: center;
438
578
  align-items: center;
439
579
  }
580
+
440
581
  img {
441
582
  max-width: 100%;
442
583
  max-height: 100%;
@@ -450,6 +591,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
450
591
  position: relative;
451
592
  width: 100%;
452
593
  height: 100%;
594
+
453
595
  & > button {
454
596
  position: absolute;
455
597
  top: 50%;
@@ -516,9 +658,11 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
516
658
  &[data-button-alignment-hover-state="flex-start"]:hover {
517
659
  justify-content: flex-start;
518
660
  }
661
+
519
662
  &[data-button-alignment-hover-state="center"]:hover {
520
663
  justify-content: center;
521
664
  }
665
+
522
666
  &[data-button-alignment-hover-state="flex-end"]:hover {
523
667
  justify-content: flex-end;
524
668
  }
@@ -526,18 +670,23 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
526
670
 
527
671
  .btn__with__text[data-btn-name="loadmoreButton"] {
528
672
  justify-content: center;
673
+
529
674
  &[data-show-shadow="false"] {
530
675
  --_show-shadow: none;
531
676
  }
677
+
532
678
  &[data-icon-position="left"] {
533
679
  --_sf-fd-bn: row;
534
680
  }
681
+
535
682
  &[data-icon-position="right"] {
536
683
  --_sf-fd-bn: row-reverse;
537
684
  }
685
+
538
686
  &[data-icon-position="center"] {
539
687
  --_sf-fd-bn: row;
540
688
  }
689
+
541
690
  // &:has(p) {
542
691
  // width: auto;
543
692
  // }
@@ -667,10 +816,12 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
667
816
  &[data-hover-show-shadow="false"] {
668
817
  --_hover-show-shadow: none;
669
818
  }
819
+
670
820
  &[data-hover-show-icon="false"] {
671
821
  --_hover-show-icon: none;
672
822
  }
673
823
  }
824
+
674
825
  background-color: var(--_sf-hr-bd-cr, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-bd-cr));
675
826
 
676
827
  padding: var(--_sf-hr-pg, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-pg));
@@ -714,6 +865,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
714
865
  text-transform: var(--_sf-hr-tt-tm, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-tt-tm));
715
866
  word-wrap: var(--_sf-hr-wd-wp, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wd-wp));
716
867
  word-break: var(--_sf-hr-wd-bk, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-wd-bk));
868
+
717
869
  &.flex__overflow {
718
870
  white-space: normal;
719
871
  @include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
@@ -739,6 +891,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
739
891
 
740
892
  .icon {
741
893
  display: var(--_hover-show-icon, var(--_show-icon, flex));
894
+
742
895
  svg {
743
896
  width: var(--_sf-hr-in-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-se));
744
897
  height: var(--_sf-hr-in-se, prepareMediaVariable(--_ctm-rep-dn-bn-se-dt-se-in-se));
@@ -750,6 +903,7 @@ $listViewSlector: '.lst_vw[data-element-type="repeater"]';
750
903
  }
751
904
  }
752
905
  }
906
+
753
907
  [data-element-style="Text"] {
754
908
  display: inline-block;
755
909
  width: 100%;
@@ -1,29 +1,29 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
-
4
- @use "./prefix-list.scss" as *;
5
- @use "./functions.scss" as *;
6
-
7
- $rb_cls: ".flx__rb__fxd";
8
- $elementSelector: '[data-div-type="element"]';
9
- $elementDragging: "[data-cms-new-element-dragging-v2='true']";
10
- $dataResizerTrue: '[data-cms-element-resizer="true"]';
11
- $fullView: '[data-view-state="full"]';
12
- $var: "--_sf-width-rb-vl";
13
- $selector: "[data-element-type='layouter-pro']";
14
-
15
- @mixin FlexElementResponsiveBehaviourStyles() {
16
- #{$elementSelector} {
17
- &#{$rb_cls} {
18
- &:not(#{$fullView, $elementDragging, $dataResizerTrue}) {
19
- @include FlexUpdatedPrefixCSSVariable(#{$var});
20
- &:is(#{$selector}) {
21
- width: min(var(#{$var}, #{prepareMediaVariable(--_ctm-lt-wh)}), 100%) !important;
22
- }
23
- &:is(:not(#{$selector})) {
24
- width: var(#{$var}, #{prepareMediaVariable(--_ctm-lt-wh)}) !important;
25
- }
26
- }
27
- }
28
- }
29
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ @use "./prefix-list.scss" as *;
5
+ @use "./functions.scss" as *;
6
+
7
+ $rb_cls: ".flx__rb__fxd";
8
+ $elementSelector: '[data-div-type="element"]';
9
+ $elementDragging: "[data-cms-new-element-dragging-v2='true']";
10
+ $dataResizerTrue: '[data-cms-element-resizer="true"]';
11
+ $fullView: '[data-view-state="full"]';
12
+ $var: "--_sf-width-rb-vl";
13
+ $selector: "[data-element-type='layouter-pro']";
14
+
15
+ @mixin FlexElementResponsiveBehaviourStyles() {
16
+ #{$elementSelector} {
17
+ &#{$rb_cls} {
18
+ &:not(#{$fullView, $elementDragging, $dataResizerTrue}) {
19
+ @include FlexUpdatedPrefixCSSVariable(#{$var});
20
+ &:is(#{$selector}) {
21
+ width: min(var(#{$var}, #{prepareMediaVariable(--_ctm-lt-wh)}), 100%) !important;
22
+ }
23
+ &:is(:not(#{$selector})) {
24
+ width: var(#{$var}, #{prepareMediaVariable(--_ctm-lt-wh)}) !important;
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
package/dist/scroll.scss CHANGED
@@ -177,7 +177,10 @@ $max-items: 20;
177
177
  #{prepareMediaVariable(--_ctm-dn-i1-in-c1)}
178
178
  );
179
179
  // Overrides the stroke-width presentation attribute baked into the icon markup.
180
- stroke-width: prepareMediaVariable(--_ctm-dn-i1-se-wh, 1.25);
180
+ stroke-width: prepareMediaVariable(
181
+ --_ctm-dn-i#{$i}-se-wh,
182
+ #{prepareMediaVariable(--_ctm-dn-i1-se-wh)}
183
+ );
181
184
  }
182
185
  }
183
186
  }
@@ -208,11 +211,29 @@ $max-items: 20;
208
211
 
209
212
  .scrolling {
210
213
  flex-direction: column;
214
+ // Full width so the items have room to sit left, centre or right inside the
215
+ // container. Left to size itself, the track is only as wide as its widest
216
+ // item and Horizontal Alignment would have no space to move anything in.
217
+ width: 100%;
211
218
  animation-name: marquee-vertical;
212
219
  padding-right: 0;
213
220
  padding-bottom: 10px;
214
221
  }
215
222
 
223
+ // Horizontal Alignment. The track is a column here, so its cross axis is the
224
+ // horizontal one and `align-items` is what places the items across it.
225
+ &[data-horizontal-alignment="left"] .scrolling {
226
+ align-items: flex-start;
227
+ }
228
+
229
+ &[data-horizontal-alignment="center"] .scrolling {
230
+ align-items: center;
231
+ }
232
+
233
+ &[data-horizontal-alignment="right"] .scrolling {
234
+ align-items: flex-end;
235
+ }
236
+
216
237
  // The container is sized with `min-height`, which is right for a row (content
217
238
  // never exceeds it) but wrong for a column: the stack would simply grow the box,
218
239
  // nothing would overflow, and the marquee would look frozen. Pin the height.
@@ -362,6 +383,15 @@ $max-items: 20;
362
383
  }
363
384
  }
364
385
 
386
+ // Divider Style > Stroke Width. Scoped to the dividers, which sit as direct
387
+ // children of the track — the items' own icons carry the same `.icon` class, so
388
+ // declaring this in the block above would let the divider's setting retune every
389
+ // item icon too. The value overrides the stroke-width baked into the icon markup;
390
+ // 1.25 matches the schema default.
391
+ > .scrolling > .icon svg path {
392
+ stroke-width: prepareMediaVariable(--_ctm-dn-dr-se-se-wh, 1.25);
393
+ }
394
+
365
395
  @keyframes marquee {
366
396
  0% {
367
397
  transform: translateX(0);