@sc-360-v2/storefront-cms-library 0.5.73 → 0.5.75

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 (141) hide show
  1. package/dist/add-existing-form.scss +5 -13
  2. package/dist/add-order.scss +236 -126
  3. package/dist/add-products-tab-details.scss +2097 -1048
  4. package/dist/add-products-tab.scss +1204 -666
  5. package/dist/allocation-header-quota-details.scss +407 -189
  6. package/dist/allocationDetails.scss +2143 -1661
  7. package/dist/allocations-quota-details.scss +323 -159
  8. package/dist/allocations.scss +793 -475
  9. package/dist/amount-estimator.scss +743 -405
  10. package/dist/badge.scss +18 -43
  11. package/dist/brand-basic-elements.scss +124 -76
  12. package/dist/brand.scss +55 -28
  13. package/dist/breadcrumbs.scss +718 -356
  14. package/dist/builder.js +1 -1
  15. package/dist/builderLite.js +1 -1
  16. package/dist/bulk-variant-picker.scss +2027 -1128
  17. package/dist/bundle.scss +1477 -841
  18. package/dist/bundleDetails.scss +5072 -3774
  19. package/dist/button.scss +103 -79
  20. package/dist/buy-for-tab-container.scss +106 -77
  21. package/dist/buyForHeaders.scss +2976 -1722
  22. package/dist/cart-details.scss +1012 -481
  23. package/dist/cart-summary.scss +1149 -557
  24. package/dist/cart-wrapper.scss +79 -37
  25. package/dist/cart.scss +225 -117
  26. package/dist/cartAttributes.scss +735 -416
  27. package/dist/category-groups-element.scss +108 -127
  28. package/dist/category-groups-product-grid.scss +147 -120
  29. package/dist/category-groups-product-image.scss +1457 -1162
  30. package/dist/category-groups-product-options.scss +680 -613
  31. package/dist/category-groups-product-price.scss +3244 -1966
  32. package/dist/category-groups-quota-details.scss +464 -210
  33. package/dist/category.scss +50 -26
  34. package/dist/checkout.scss +16 -24
  35. package/dist/confirm-modal.scss +2 -22
  36. package/dist/container.scss +54 -32
  37. package/dist/countdown.scss +443 -255
  38. package/dist/coupon.scss +710 -351
  39. package/dist/default-dropdown.scss +1 -12
  40. package/dist/embroider-template-1-v2.scss +172 -123
  41. package/dist/embroider-template-1.scss +104 -68
  42. package/dist/embroidery.scss +31 -30
  43. package/dist/employee-bulk-order.scss +142 -418
  44. package/dist/faq.scss +408 -228
  45. package/dist/filter-results.scss +265 -125
  46. package/dist/filters.scss +1797 -900
  47. package/dist/gallery-slider-temp.scss +750 -432
  48. package/dist/global-styles.scss +7 -23
  49. package/dist/grid.scss +33 -25
  50. package/dist/hotspot.scss +115 -68
  51. package/dist/icons-builder.js +1 -1
  52. package/dist/icons-website.js +1 -1
  53. package/dist/icons.js +1 -1
  54. package/dist/image-temp.scss +20 -21
  55. package/dist/index.js +1 -1
  56. package/dist/item-stock.scss +16 -9
  57. package/dist/kitDetails.scss +4301 -2721
  58. package/dist/kits.scss +19 -24
  59. package/dist/language-selector.scss +361 -211
  60. package/dist/last-x-orders.scss +174 -95
  61. package/dist/layouter-item.scss +103 -75
  62. package/dist/layouter-pro-item.scss +95 -89
  63. package/dist/layouter-pro.scss +92 -87
  64. package/dist/layouter.scss +445 -383
  65. package/dist/light-box-v2.scss +104 -89
  66. package/dist/login.scss +566 -287
  67. package/dist/map.scss +368 -221
  68. package/dist/marchandiserSets.scss +104 -95
  69. package/dist/mega-menu-container.scss +109 -96
  70. package/dist/mega-menu.scss +731 -624
  71. package/dist/menu-item.scss +2 -2
  72. package/dist/menu-v2.scss +619 -507
  73. package/dist/multi-select-dropdown.scss +3 -27
  74. package/dist/my-templates.scss +9 -38
  75. package/dist/option-bar.scss +375 -215
  76. package/dist/option-families.scss +252 -0
  77. package/dist/order-status.scss +1117 -646
  78. package/dist/overflow-module.scss +7 -6
  79. package/dist/past-orders.scss +149 -118
  80. package/dist/payment-methods.scss +30 -46
  81. package/dist/pickup-locations.scss +1118 -558
  82. package/dist/position-module.scss +17 -20
  83. package/dist/prefix-list.scss +10 -21
  84. package/dist/product-actions.scss +2425 -1625
  85. package/dist/product-basic-elements.scss +169 -108
  86. package/dist/product-highlights.scss +152 -107
  87. package/dist/product-image-bundles.scss +642 -337
  88. package/dist/product-inventory.scss +1357 -673
  89. package/dist/product-labels.scss +105 -84
  90. package/dist/product-options.scss +1274 -1117
  91. package/dist/product-price.scss +2561 -1283
  92. package/dist/product-promotions.scss +2830 -1388
  93. package/dist/product-sizechart.scss +905 -516
  94. package/dist/product.scss +61 -28
  95. package/dist/productDetails.scss +39 -19
  96. package/dist/profile.scss +447 -207
  97. package/dist/quantity-selector.scss +550 -313
  98. package/dist/quick-inventory-check.scss +174 -95
  99. package/dist/quick-links.scss +133 -55
  100. package/dist/quick-order-pad.scss +271 -218
  101. package/dist/quota-details.scss +282 -152
  102. package/dist/quotes.scss +122 -89
  103. package/dist/repeater-embla-controls.scss +15 -35
  104. package/dist/repeater-grid-toggle.scss +166 -156
  105. package/dist/repeater-item.scss +64 -41
  106. package/dist/repeater.scss +814 -671
  107. package/dist/request-for-quotes.scss +16 -66
  108. package/dist/responsive-behaviour.scss +1 -3
  109. package/dist/rfqs.scss +181 -118
  110. package/dist/scroll.scss +172 -93
  111. package/dist/search.scss +326 -179
  112. package/dist/section.scss +51 -27
  113. package/dist/shipping-payments.scss +58 -198
  114. package/dist/simple-list.scss +164 -74
  115. package/dist/social.scss +145 -80
  116. package/dist/sort.scss +19 -11
  117. package/dist/stack.scss +34 -23
  118. package/dist/static-global.scss +26 -44
  119. package/dist/stockStatus.scss +19 -11
  120. package/dist/store-locations.scss +1105 -577
  121. package/dist/tab-container.scss +108 -81
  122. package/dist/table-common.scss +408 -217
  123. package/dist/table.scss +502 -271
  124. package/dist/text-temp.scss +7 -8
  125. package/dist/theme-classes.scss +13 -17
  126. package/dist/types/builder/enums/data-connectors.d.ts +3 -1
  127. package/dist/types/builder/enums/index.d.ts +3 -1
  128. package/dist/types/builder/tools/element-edit/index.d.ts +2 -1
  129. package/dist/types/builder/tools/element-edit/optionFamilies.d.ts +20 -0
  130. package/dist/types/builder/tools/element-edit/productActions.d.ts +3 -0
  131. package/dist/types/website/constants/data-connector-souces.d.ts +40 -8
  132. package/dist/types/website/constants/data-connectors.d.ts +12 -1
  133. package/dist/types/website/helper/ssr-functions.d.ts +8 -0
  134. package/dist/uom-selector.scss +949 -489
  135. package/dist/uploadMedia.js +1 -1
  136. package/dist/user-elements.scss +837 -529
  137. package/dist/variant-picker.scss +2555 -1281
  138. package/dist/volume-pricing.scss +1037 -541
  139. package/dist/website.js +1 -1
  140. package/dist/widget.scss +1 -0
  141. package/package.json +1 -1
@@ -3,26 +3,22 @@
3
3
  @use "./functions.scss" as *;
4
4
 
5
5
  @mixin CMSRepeaterEmblaControlStyles($type: 1) {
6
- @if ($type ==1) {
7
-
6
+ @if ($type == 1) {
8
7
  &:is(body[data-iframe-body="true"] *),
9
8
  &:hover {
10
9
  --_sf-nv-ic-vt: visible;
11
10
  --_sf-nv-ic-op: 1;
12
11
  }
13
12
  }
14
-
15
13
  @include emblaBtnStylesV1($type);
16
14
  @include emblaDotsStylesV1($type);
17
15
 
18
- @if ($type ==2 or $type ==3) {
19
-
16
+ @if ($type == 2 or $type == 3) {
20
17
  &:is(body[data-iframe-body="true"] *),
21
18
  &:hover {
22
19
  --_sf-pg-ic-vt: visible;
23
20
  --_sf-pg-ic-op: 1;
24
21
  }
25
-
26
22
  .repeater__control__element {
27
23
  position: absolute;
28
24
  bottom: var(--_sf-t3-bt-bl-v2, 20px);
@@ -30,14 +26,11 @@
30
26
  transform: var(--_sf-t3-tr-bl-v2, translateX(-50%));
31
27
  // z-index: calc(var(--_higher-zIndex, 99999) - 2);
32
28
  z-index: 2;
33
-
34
- @if ($type !=3) {
29
+ @if ($type != 3) {
35
30
  visibility: var(--_sf-pg-ic-vt, hidden);
36
31
  opacity: var(--_sf-pg-ic-op, 0);
37
32
  transition: all 0.45s ease;
38
- }
39
-
40
- @else {
33
+ } @else {
41
34
  // min-height: var(
42
35
  // --_ctm-mob-rep-lt-aw-in-se,
43
36
  // var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
@@ -60,11 +53,10 @@
60
53
  }
61
54
 
62
55
  @mixin emblaBtnStylesV1($type: 1) {
63
-
64
56
  // Navigation
65
57
  button {
66
58
  &.embla__btn {
67
- @if ($type ==1) {
59
+ @if ($type == 1) {
68
60
  position: absolute;
69
61
  // z-index: calc(var(--_higher-zIndex, 99999) - 2);
70
62
  z-index: 2;
@@ -73,16 +65,13 @@
73
65
  visibility: var(--_sf-nv-ic-vt, hidden);
74
66
  opacity: var(--_sf-nv-ic-op, 0);
75
67
  transition: all 0.45s ease;
76
-
77
68
  &.embla__prev {
78
69
  left: var(--_sf-nv-lt-vl, 10px);
79
70
  }
80
-
81
71
  &.embla__next {
82
72
  right: var(--_sf-nv-lt-vl, 10px);
83
73
  }
84
74
  }
85
-
86
75
  // --_sf-ic-sz-nn: var(
87
76
  // --_ctm-mob-rep-lt-aw-in-se,
88
77
  // var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
@@ -92,14 +81,12 @@
92
81
  height: var(--_sf-ic-sz-nn);
93
82
  border-radius: var(--_sf-nv-ic-br, 50%);
94
83
 
95
- @if ($type ==3) {
84
+ @if ($type == 3) {
96
85
  --_sf-dd-vl-bg-t3: transparent;
97
-
98
86
  &:is(body[data-iframe-body="true"] *) {
99
87
  pointer-events: none !important;
100
88
  }
101
89
  }
102
-
103
90
  background: var(--_sf-nv-ic-bg, var(--_sf-dd-vl-bg-t3, #fff));
104
91
 
105
92
  &:hover:not(:disabled) {
@@ -112,7 +99,6 @@
112
99
  }
113
100
  }
114
101
  }
115
-
116
102
  &:disabled {
117
103
  opacity: 0.45;
118
104
  cursor: auto;
@@ -121,8 +107,8 @@
121
107
  // Custom (Sirv-hosted) arrow icons are fetched at runtime and land inside a
122
108
  // `.icon` span instead of directly on the button, so they need the same sizing
123
109
  // and stroke as the inlined built-in chevrons.
124
- &>svg,
125
- &>.icon>svg {
110
+ & > svg,
111
+ & > .icon > svg {
126
112
  width: calc(var(--_sf-ic-sz-nn) * 0.5);
127
113
  height: calc(var(--_sf-ic-sz-nn) * 0.5);
128
114
  display: flex;
@@ -135,7 +121,6 @@
135
121
  stroke: var(--_sf-sl-ct-aw-in-cl, #667085);
136
122
  }
137
123
  }
138
-
139
124
  display: flex;
140
125
  justify-content: center;
141
126
  align-items: center;
@@ -145,7 +130,7 @@
145
130
 
146
131
  @mixin emblaDotsStylesV1($type: 1) {
147
132
  :is(.pagination__v1) {
148
- @if ($type ==1) {
133
+ @if ($type == 1) {
149
134
  position: absolute;
150
135
  // z-index: calc(var(--_higher-zIndex, 99999) - 2);
151
136
  z-index: 2;
@@ -154,7 +139,7 @@
154
139
  bottom: var(--_sf-nv-tp-vl, 10px);
155
140
  }
156
141
 
157
- @if ($type ==3) {
142
+ @if ($type == 3) {
158
143
  --_sf-dt-wh-t3: 16px;
159
144
  --_sf-dt-ht-t3: 2px;
160
145
  // --_sf-dt-br-t3: 100px;
@@ -171,14 +156,13 @@
171
156
  gap: var(--_sf-dt-gp-vl, 8px);
172
157
  max-width: 200px;
173
158
 
174
- &>button {
159
+ & > button {
175
160
  &.embla__dot {
176
-
177
161
  // --_sf-ed-vl-sz: var(
178
162
  // --_ctm-mob-rep-lt-dt-se,
179
163
  // var(--_ctm-tab-rep-lt-dt-se, var(--_ctm-rep-lt-dt-se, 10px))
180
164
  // );
181
- @if ($type !=3) {
165
+ @if ($type != 3) {
182
166
  transition: all 0.45s ease;
183
167
  width: var(--_sf-nv-pg-sz-ac, var(--_sf-ed-vl-sz, 10px));
184
168
  height: var(--_sf-ed-vl-sz, 10px);
@@ -191,9 +175,7 @@
191
175
  &:not(.embla__dot--selected) {
192
176
  border: 1px solid color-mix(in srgb, var(--_sf-sl-ct-ic-dt-at-cl) 30%, transparent);
193
177
  }
194
- }
195
-
196
- @else if($type ==3) {
178
+ } @else if($type == 3) {
197
179
  width: var(--_sf-dt-at-wh-t3, var(--_sf-dt-wh-t3, 10px));
198
180
  height: var(--_sf-dt-at-ht-t3, var(--_sf-dt-ht-t3, 10px));
199
181
  border-radius: var(--_sf-dt-at-br-t3, var(--_sf-dt-bt-at, 0px));
@@ -201,11 +183,9 @@
201
183
 
202
184
  &:not(.embla__dot--selected) {
203
185
  --_sf-br-vl-t3: 16px;
204
-
205
186
  &:nth-of-type(1) {
206
187
  --_sf-dt-bt-at: var(--_sf-br-vl-t3) 0px 0px var(--_sf-br-vl-t3);
207
188
  }
208
-
209
189
  &:last-of-type {
210
190
  --_sf-dt-bt-at: 0px var(--_sf-br-vl-t3) var(--_sf-br-vl-t3) 0px;
211
191
  }
@@ -219,7 +199,7 @@
219
199
  --_sf-dt-bt-at: min(calc(var(--_sf-ed-vl-sz, 10px) * 0.5), 10px);
220
200
  --_sf-nv-pg-sz-ac: max(calc(var(--_sf-ed-vl-sz, 10px) * 2), 20px);
221
201
 
222
- @if ($type ==3) {
202
+ @if ($type == 3) {
223
203
  --_sf-dt-at-wh-t3: calc(2 * var(--_sf-dt-wh-t3));
224
204
  --_sf-dt-at-ht-t3: 6px;
225
205
  --_sf-dt-at-br-t3: var(--_sf-dt-at-ht-t3);
@@ -228,4 +208,4 @@
228
208
  }
229
209
  }
230
210
  }
231
- }
211
+ }
@@ -14,183 +14,193 @@ $wrapper: ".tgl__wrapper";
14
14
  bottom: var(--_sf-rp-gt-t3-bottom-vl, auto);
15
15
  top: var(--_sf-rp-gt-t3-top-vl, 0px);
16
16
 
17
- &>div {
17
+ & > div {
18
18
  &#{$wrapper} {
19
19
  display: var(--_d-flex);
20
20
  align-items: center;
21
-
22
21
  // border: 1px solid var(--_gray-200);
23
22
  // Gated on the Layout Style > Show Border switch; previously the border was
24
23
  // unconditional, so turning the switch off changed nothing.
25
24
  &[data-show-border="true"] {
26
25
  border-style: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-br-se, solid);
27
26
  border-width: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-br-wh, 1px);
28
- border-color: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-br-cr,
29
- var(--_gray-200));
27
+ border-color: prepareMediaVariable(
28
+ --_ctm-rep-dn-gd-vw-cl-se-lt-se-br-cr,
29
+ var(--_gray-200)
30
+ );
30
31
  }
31
-
32
32
  --_br-6: 6px;
33
33
  --_width-40: 40px;
34
34
  --_width-20: 20px;
35
35
  border-radius: 4px;
36
36
  // --_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-bd-cr,
37
- background-color: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-bd-cr,
38
- var(--_base-white));
37
+ background-color: prepareMediaVariable(
38
+ --_ctm-rep-dn-gd-vw-cl-se-lt-se-bd-cr,
39
+ var(--_base-white)
40
+ );
39
41
 
40
- &>button {
42
+ & > button {
41
43
  display: var(--_d-flex);
42
44
  // $size: var(--_width-40);
43
45
  $size: #{var(
44
- --_sf-at-btn-size,
45
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-in-se, var(--_width-20))})
46
+ --_sf-at-btn-size,
47
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-in-se, var(--_width-20))}
48
+ )};
49
+ width: var(
50
+ --_sf-at-btn-wh,
51
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-wh, calc(#{$size} * 2))}
52
+ );
53
+ height: calc(#{$size} * 2);
54
+ align-items: center;
55
+ justify-content: center;
56
+ background: var(
57
+ --_sf-at-btn-bd,
58
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-bd-cr)}
59
+ );
60
+
61
+ padding: var(
62
+ --_sf-at-btn-pg,
63
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-pg, 0px)}
64
+ );
65
+
66
+ // Border / radius / shadow now come from the button's own settings. The
67
+ // first/last radius overrides below only apply while no radius is configured,
68
+ // so the default pill shape survives an unconfigured toggle.
69
+ &[data-show-border="true"] {
70
+ border-color: var(
71
+ --_sf-at-btn-br-cr,
72
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-cr)}
73
+ );
74
+ border-style: var(
75
+ --_sf-at-btn-br-se,
76
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-se)}
77
+ );
78
+ border-width: var(
79
+ --_sf-at-btn-br-wh,
80
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-wh)}
81
+ );
82
+ }
83
+
84
+ // Show Shadow / Show Icon are per-state switches on the Button accordion; they
85
+ // reach the markup as data attributes and gate the two variables below.
86
+ &[data-show-shadow="false"] {
87
+ --_show-shadow: none;
88
+ }
89
+ &[data-show-icon="false"] {
90
+ --_show-icon: none;
91
+ }
92
+
93
+ box-shadow: var(
94
+ --_show-shadow,
95
+ var(
96
+ --_sf-at-btn-sw-ae,
97
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-ae, 0)}
98
+ )
99
+ var(
100
+ --_sf-at-btn-sw-br,
101
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-br, 0)}
102
+ )
103
+ var(
104
+ --_sf-at-btn-sw-sd,
105
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-sd, 0)}
106
+ )
107
+ var(
108
+ --_sf-at-btn-sw-cr,
109
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-cr, transparent)}
110
+ )
111
+ );
112
+
113
+ // Radius falls back to the pill geometry these two buttons have always had.
114
+ // It is NOT routed through an --_sf-at-btn-* variable: prepareMediaVariable
115
+ // tails with `inherit`, so the variable would always be "set" and the
116
+ // per-position fallback below would never fire, collapsing the pill to 0.
117
+ &:first-of-type {
118
+ border-radius: #{prepareMediaVariable(
119
+ --_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-rs,
120
+ 4px 0 0 4px
121
+ )};
122
+ }
123
+ &:last-of-type {
124
+ border-radius: #{prepareMediaVariable(
125
+ --_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-rs,
126
+ 0 4px 4px 0
127
+ )};
128
+ }
129
+
130
+ // Hover sits between default and selected: it overrides the same
131
+ // `--_sf-at-btn-*` layer, and the `[data-style-active="true"]` block below
132
+ // comes later in source order, so the selected button keeps its own styling
133
+ // while hovered rather than flipping to the hover look.
134
+ &:hover {
135
+ --_sf-at-btn-size: #{prepareMediaVariable(
136
+ --_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-in-se,
137
+ var(--_width-20)
138
+ )};
139
+ --_sf-at-pt-cl: #{prepareMediaVariable(
140
+ --_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-in-c1,
141
+ var(--_gray-700)
142
+ )};
143
+ --_sf-at-btn-bd: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-bd-cr)};
144
+ --_sf-at-btn-br-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-br-cr)};
145
+ --_sf-at-btn-br-se: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-br-se)};
146
+ --_sf-at-btn-br-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-br-wh)};
147
+ --_sf-at-btn-sw-ae: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-ae)};
148
+ --_sf-at-btn-sw-br: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-br)};
149
+ --_sf-at-btn-sw-sd: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-sd)};
150
+ --_sf-at-btn-sw-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-cr)};
151
+ --_sf-at-btn-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-wh)};
152
+ --_sf-at-btn-pg: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-pg)};
153
+ }
154
+
155
+ &[data-style-active="true"] {
156
+ // --_sf-at-pt-cl: var(--_gray-700);
157
+ --_sf-at-btn-size: #{prepareMediaVariable(
158
+ --_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-in-se,
159
+ var(--_width-20)
160
+ )};
161
+ --_sf-at-pt-cl: #{prepareMediaVariable(
162
+ --_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-in-c1,
163
+ var(--_gray-700)
164
+ )};
165
+ --_sf-at-btn-bd: #{prepareMediaVariable(
166
+ --_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-bd-cr,
167
+ var(--_gray-200)
168
+ )};
169
+ // background: var(--_gray-200);
170
+
171
+ // Selected state overrides the same properties via the --_sf-at-btn-* layer
172
+ // the default declarations above already read from.
173
+ --_sf-at-btn-br-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-br-cr)};
174
+ --_sf-at-btn-br-se: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-br-se)};
175
+ --_sf-at-btn-br-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-br-wh)};
176
+ --_sf-at-btn-sw-ae: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-ae)};
177
+ --_sf-at-btn-sw-br: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-br)};
178
+ --_sf-at-btn-sw-sd: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-sd)};
179
+ --_sf-at-btn-sw-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-cr)};
180
+ --_sf-at-btn-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-wh)};
181
+ --_sf-at-btn-pg: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-pg)};
182
+ }
183
+
184
+ // `img` covers custom uploaded toggle icons, which render as an <img>.
185
+ svg,
186
+ img {
187
+ display: var(--_show-icon, block);
188
+ width: calc(#{$size} * 1);
189
+ height: calc(#{$size} * 1);
190
+ }
191
+
192
+ svg {
193
+ path {
194
+ stroke: var(
195
+ --_sf-at-pt-cl,
196
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-in-c1, var(--_gray-500))}
197
+ );
198
+ // Overrides the stroke-width presentation attribute baked into the icon markup.
199
+ stroke-width: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-se-wh, 1.25);
200
+ }
201
+ }
46
202
  }
47
-
48
- ;
49
- width: var(--_sf-at-btn-wh,
50
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-wh, calc(#{$size} * 2))
51
- });
52
- height: calc(#{$size} * 2);
53
- align-items: center;
54
- justify-content: center;
55
- background: var(--_sf-at-btn-bd,
56
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-bd-cr)});
57
-
58
- padding: var(--_sf-at-btn-pg,
59
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-pg, 0px)});
60
-
61
- // Border / radius / shadow now come from the button's own settings. The
62
- // first/last radius overrides below only apply while no radius is configured,
63
- // so the default pill shape survives an unconfigured toggle.
64
- &[data-show-border="true"] {
65
- border-color: var(--_sf-at-btn-br-cr,
66
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-cr)});
67
- border-style: var(--_sf-at-btn-br-se,
68
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-se)});
69
- border-width: var(--_sf-at-btn-br-wh,
70
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-wh)});
71
- }
72
-
73
- // Show Shadow / Show Icon are per-state switches on the Button accordion; they
74
- // reach the markup as data attributes and gate the two variables below.
75
- &[data-show-shadow="false"] {
76
- --_show-shadow: none;
77
- }
78
-
79
- &[data-show-icon="false"] {
80
- --_show-icon: none;
81
- }
82
-
83
- box-shadow: var(--_show-shadow,
84
- var(--_sf-at-btn-sw-ae,
85
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-ae, 0)}) var(--_sf-at-btn-sw-br,
86
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-br, 0)}) var(--_sf-at-btn-sw-sd,
87
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-sd, 0)}) var(--_sf-at-btn-sw-cr,
88
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-sw-cr, transparent)}));
89
-
90
- // Radius falls back to the pill geometry these two buttons have always had.
91
- // It is NOT routed through an --_sf-at-btn-* variable: prepareMediaVariable
92
- // tails with `inherit`, so the variable would always be "set" and the
93
- // per-position fallback below would never fire, collapsing the pill to 0.
94
- &:first-of-type {
95
- border-radius: #{prepareMediaVariable(
96
- --_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-rs,
97
- 4px 0 0 4px)
98
203
  }
99
-
100
- ;
101
- }
102
-
103
- &:last-of-type {
104
- border-radius: #{prepareMediaVariable(
105
- --_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-br-rs,
106
- 0 4px 4px 0)
107
204
  }
108
-
109
- ;
110
- }
111
-
112
- // Hover sits between default and selected: it overrides the same
113
- // `--_sf-at-btn-*` layer, and the `[data-style-active="true"]` block below
114
- // comes later in source order, so the selected button keeps its own styling
115
- // while hovered rather than flipping to the hover look.
116
- &:hover {
117
- --_sf-at-btn-size: #{prepareMediaVariable(
118
- --_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-in-se,
119
- var(--_width-20))
120
205
  }
121
-
122
- ;
123
- --_sf-at-pt-cl: #{prepareMediaVariable(
124
- --_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-in-c1,
125
- var(--_gray-700))
126
- }
127
-
128
- ;
129
- --_sf-at-btn-bd: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-bd-cr)};
130
- --_sf-at-btn-br-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-br-cr)};
131
- --_sf-at-btn-br-se: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-br-se)};
132
- --_sf-at-btn-br-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-br-wh)};
133
- --_sf-at-btn-sw-ae: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-ae)};
134
- --_sf-at-btn-sw-br: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-br)};
135
- --_sf-at-btn-sw-sd: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-sd)};
136
- --_sf-at-btn-sw-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-sw-cr)};
137
- --_sf-at-btn-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-wh)};
138
- --_sf-at-btn-pg: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-hr-se-pg)};
139
- }
140
-
141
- &[data-style-active="true"] {
142
- // --_sf-at-pt-cl: var(--_gray-700);
143
- --_sf-at-btn-size: #{prepareMediaVariable(
144
- --_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-in-se,
145
- var(--_width-20))
146
- }
147
-
148
- ;
149
- --_sf-at-pt-cl: #{prepareMediaVariable(
150
- --_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-in-c1,
151
- var(--_gray-700))
152
- }
153
-
154
- ;
155
- --_sf-at-btn-bd: #{prepareMediaVariable(
156
- --_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-bd-cr,
157
- var(--_gray-200))
158
- }
159
-
160
- ;
161
- // background: var(--_gray-200);
162
-
163
- // Selected state overrides the same properties via the --_sf-at-btn-* layer
164
- // the default declarations above already read from.
165
- --_sf-at-btn-br-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-br-cr)};
166
- --_sf-at-btn-br-se: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-br-se)};
167
- --_sf-at-btn-br-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-br-wh)};
168
- --_sf-at-btn-sw-ae: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-ae)};
169
- --_sf-at-btn-sw-br: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-br)};
170
- --_sf-at-btn-sw-sd: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-sd)};
171
- --_sf-at-btn-sw-cr: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-sw-cr)};
172
- --_sf-at-btn-wh: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-wh)};
173
- --_sf-at-btn-pg: #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-sd-se-pg)};
174
- }
175
-
176
- // `img` covers custom uploaded toggle icons, which render as an <img>.
177
- svg,
178
- img {
179
- display: var(--_show-icon, block);
180
- width: calc(#{$size} * 1);
181
- height: calc(#{$size} * 1);
182
- }
183
-
184
- svg {
185
- path {
186
- stroke: var(--_sf-at-pt-cl,
187
- #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-in-c1, var(--_gray-500))});
188
- // Overrides the stroke-width presentation attribute baked into the icon markup.
189
- stroke-width: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-se-wh, 1.25);
190
- }
191
- }
192
- }
193
- }
194
- }
195
206
  }
196
- }
@@ -25,7 +25,7 @@
25
25
  --_sf-repe-show-shadow: none;
26
26
  }
27
27
 
28
- &>div {
28
+ & > div {
29
29
  &.wrapper {
30
30
  width: 100%;
31
31
  height: 100%;
@@ -57,14 +57,22 @@
57
57
  // --_ctm-mob-repe-dn-bd-se,
58
58
  // var(--_ctm-tab-repe-dn-bd-se, var(--_ctm-repe-dn-bd-se))
59
59
  // );
60
- border-radius: var(--_ctm-mob-repe-dn-br-rs,
61
- var(--_ctm-tab-repe-dn-br-rs, var(--_ctm-repe-dn-br-rs)));
62
- border-color: var(--_ctm-mob-repe-dn-br-cr,
63
- var(--_ctm-tab-repe-dn-br-cr, var(--_ctm-repe-dn-br-cr)));
64
- border-style: var(--_ctm-mob-repe-dn-br-se,
65
- var(--_ctm-tab-repe-dn-br-se, var(--_ctm-repe-dn-br-se)));
66
- border-width: var(--_ctm-mob-repe-dn-br-wh,
67
- var(--_ctm-tab-repe-dn-br-wh, var(--_ctm-repe-dn-br-wh)));
60
+ border-radius: var(
61
+ --_ctm-mob-repe-dn-br-rs,
62
+ var(--_ctm-tab-repe-dn-br-rs, var(--_ctm-repe-dn-br-rs))
63
+ );
64
+ border-color: var(
65
+ --_ctm-mob-repe-dn-br-cr,
66
+ var(--_ctm-tab-repe-dn-br-cr, var(--_ctm-repe-dn-br-cr))
67
+ );
68
+ border-style: var(
69
+ --_ctm-mob-repe-dn-br-se,
70
+ var(--_ctm-tab-repe-dn-br-se, var(--_ctm-repe-dn-br-se))
71
+ );
72
+ border-width: var(
73
+ --_ctm-mob-repe-dn-br-wh,
74
+ var(--_ctm-tab-repe-dn-br-wh, var(--_ctm-repe-dn-br-wh))
75
+ );
68
76
  // The four shadow variables read `repe-se-*`, but the design section is
69
77
  // `design`, so the builder writes `repe-dn-*` (see default-templates.ts). No
70
78
  // `repe-se-*` variable is ever defined, which made the whole var() chain
@@ -79,13 +87,23 @@
79
87
  //
80
88
  // Per-part fallbacks match repeater.scss: without them a single unset part would
81
89
  // invalidate the whole declaration again.
82
- box-shadow: var(--_sf-repe-show-shadow,
83
- var(--_ctm-mob-repe-dn-sw-ae, var(--_ctm-tab-repe-dn-sw-ae, var(--_ctm-repe-dn-sw-ae, 0))) var(--_ctm-mob-repe-dn-sw-br,
84
- var(--_ctm-tab-repe-dn-sw-br, var(--_ctm-repe-dn-sw-br, 0))) var(--_ctm-mob-repe-dn-sw-sd,
85
- var(--_ctm-tab-repe-dn-sw-sd, var(--_ctm-repe-dn-sw-sd, 0))) var(--_ctm-mob-repe-dn-sw-cr,
86
- var(--_ctm-tab-repe-dn-sw-cr, var(--_ctm-repe-dn-sw-cr, transparent))));
90
+ box-shadow: var(
91
+ --_sf-repe-show-shadow,
92
+ var(--_ctm-mob-repe-dn-sw-ae, var(--_ctm-tab-repe-dn-sw-ae, var(--_ctm-repe-dn-sw-ae, 0)))
93
+ var(
94
+ --_ctm-mob-repe-dn-sw-br,
95
+ var(--_ctm-tab-repe-dn-sw-br, var(--_ctm-repe-dn-sw-br, 0))
96
+ )
97
+ var(
98
+ --_ctm-mob-repe-dn-sw-sd,
99
+ var(--_ctm-tab-repe-dn-sw-sd, var(--_ctm-repe-dn-sw-sd, 0))
100
+ )
101
+ var(
102
+ --_ctm-mob-repe-dn-sw-cr,
103
+ var(--_ctm-tab-repe-dn-sw-cr, var(--_ctm-repe-dn-sw-cr, transparent))
104
+ )
105
+ );
87
106
  }
88
-
89
107
  &:is([data-background-type="color"] > *).wrapper {
90
108
  background-color: #{prepareMediaVariable(--_ctm-repe-dn-bd-cr)};
91
109
  }
@@ -93,37 +111,42 @@
93
111
  &:is([data-background-type="gradient"] > *).wrapper {
94
112
  --_sf-repe-gradient-angle: calc(#{prepareMediaVariable(--_ctm-repe-dn-gt-ae, 90)} * 1deg);
95
113
  --_sf-repe-gradient-start-color: #{prepareMediaVariable(
96
- --_ctm-repe-dn-gt-st-cr,
97
- transparent)
114
+ --_ctm-repe-dn-gt-st-cr,
115
+ transparent
116
+ )};
117
+ --_sf-repe-gradient-start-position: calc(
118
+ #{prepareMediaVariable(--_ctm-repe-dn-gt-st-pn, 0)} * 1%
119
+ );
120
+ --_sf-repe-gradient-end-color: #{prepareMediaVariable(--_ctm-repe-dn-gt-ed-cr, transparent)};
121
+ --_sf-repe-gradient-end-position: calc(
122
+ #{prepareMediaVariable(--_ctm-repe-dn-gt-ed-pn, 100)} * 1%
123
+ );
124
+ --_sf-repe-gradient-position: #{prepareMediaVariable(--_ctm-repe-dn-gt-pn, center)};
98
125
  }
99
126
 
100
- ;
101
- --_sf-repe-gradient-start-position: calc(#{prepareMediaVariable(--_ctm-repe-dn-gt-st-pn, 0)} * 1%);
102
- --_sf-repe-gradient-end-color: #{prepareMediaVariable(--_ctm-repe-dn-gt-ed-cr, transparent)};
103
- --_sf-repe-gradient-end-position: calc(#{prepareMediaVariable(--_ctm-repe-dn-gt-ed-pn, 100)} * 1%);
104
- --_sf-repe-gradient-position: #{prepareMediaVariable(--_ctm-repe-dn-gt-pn, center)};
105
- }
106
-
107
- &:is([data-gradient-type="Linear Gradient"] > *).wrapper {
108
- background-image: linear-gradient(var(--_sf-repe-gradient-angle),
127
+ &:is([data-gradient-type="Linear Gradient"] > *).wrapper {
128
+ background-image: linear-gradient(
129
+ var(--_sf-repe-gradient-angle),
109
130
  var(--_sf-repe-gradient-start-color) var(--_sf-repe-gradient-start-position),
110
- var(--_sf-repe-gradient-end-color) var(--_sf-repe-gradient-end-position));
111
- }
131
+ var(--_sf-repe-gradient-end-color) var(--_sf-repe-gradient-end-position)
132
+ );
133
+ }
112
134
 
113
- &:is([data-gradient-type="Radial Gradient"] > *).wrapper {
114
- background-image: radial-gradient(circle at var(--_sf-repe-gradient-position),
135
+ &:is([data-gradient-type="Radial Gradient"] > *).wrapper {
136
+ background-image: radial-gradient(
137
+ circle at var(--_sf-repe-gradient-position),
115
138
  var(--_sf-repe-gradient-start-color) var(--_sf-repe-gradient-start-position),
116
- var(--_sf-repe-gradient-end-color) var(--_sf-repe-gradient-end-position));
117
- }
118
-
119
- &:is([data-background-type="image"] > *).wrapper {
120
- background-image: prepareMediaVariable(--_ctm-repe-dn-bd-ie);
121
- background-attachment: prepareMediaVariable(--_ctm-repe-dn-bd-at);
122
- background-position: prepareMediaVariable(--_ctm-repe-dn-bd-pn);
123
- background-position-y: prepareMediaVariable(--_ctm-repe-dn-bd-pn-y);
124
- background-repeat: prepareMediaVariable(--_ctm-repe-dn-bd-rt);
125
- background-size: prepareMediaVariable(--_ctm-repe-dn-bd-se);
139
+ var(--_sf-repe-gradient-end-color) var(--_sf-repe-gradient-end-position)
140
+ );
141
+ }
142
+ &:is([data-background-type="image"] > *).wrapper {
143
+ background-image: prepareMediaVariable(--_ctm-repe-dn-bd-ie);
144
+ background-attachment: prepareMediaVariable(--_ctm-repe-dn-bd-at);
145
+ background-position: prepareMediaVariable(--_ctm-repe-dn-bd-pn);
146
+ background-position-y: prepareMediaVariable(--_ctm-repe-dn-bd-pn-y);
147
+ background-repeat: prepareMediaVariable(--_ctm-repe-dn-bd-rt);
148
+ background-size: prepareMediaVariable(--_ctm-repe-dn-bd-se);
149
+ }
126
150
  }
127
151
  }
128
152
  }
129
- }