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

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 (128) hide show
  1. package/dist/add-existing-form.scss +13 -5
  2. package/dist/add-order.scss +126 -236
  3. package/dist/add-products-tab-details.scss +1048 -2097
  4. package/dist/add-products-tab.scss +666 -1204
  5. package/dist/allocation-header-quota-details.scss +189 -407
  6. package/dist/allocationDetails.scss +1661 -2143
  7. package/dist/allocations-quota-details.scss +159 -323
  8. package/dist/allocations.scss +475 -793
  9. package/dist/amount-estimator.scss +405 -743
  10. package/dist/badge.scss +43 -18
  11. package/dist/brand-basic-elements.scss +76 -124
  12. package/dist/brand.scss +28 -55
  13. package/dist/breadcrumbs.scss +356 -718
  14. package/dist/builder.js +1 -1
  15. package/dist/bulk-variant-picker.scss +1128 -2027
  16. package/dist/bundle.scss +841 -1477
  17. package/dist/bundleCategories.scss +301 -301
  18. package/dist/bundleDetails.scss +3774 -5072
  19. package/dist/button.scss +79 -103
  20. package/dist/buy-for-tab-container.scss +77 -106
  21. package/dist/buyForHeaders.scss +1722 -2976
  22. package/dist/cart-details.scss +481 -1012
  23. package/dist/cart-summary.scss +2234 -2826
  24. package/dist/cart-wrapper.scss +37 -79
  25. package/dist/cart.scss +117 -225
  26. package/dist/cartAttributes.scss +1103 -1422
  27. package/dist/category-groups-element.scss +127 -108
  28. package/dist/category-groups-product-grid.scss +120 -147
  29. package/dist/category-groups-product-image.scss +1162 -1457
  30. package/dist/category-groups-product-options.scss +613 -680
  31. package/dist/category-groups-product-price.scss +1966 -3244
  32. package/dist/category-groups-quota-details.scss +210 -464
  33. package/dist/category.scss +26 -50
  34. package/dist/checkout.scss +24 -16
  35. package/dist/confirm-modal.scss +22 -2
  36. package/dist/container.scss +32 -54
  37. package/dist/countdown.scss +711 -899
  38. package/dist/coupon.scss +1160 -1519
  39. package/dist/default-dropdown.scss +12 -1
  40. package/dist/embroider-template-1-v2.scss +123 -172
  41. package/dist/embroider-template-1.scss +68 -104
  42. package/dist/embroidery.scss +30 -31
  43. package/dist/employee-bulk-order.scss +418 -142
  44. package/dist/faq.scss +228 -408
  45. package/dist/filter-results.scss +125 -265
  46. package/dist/filters.scss +2143 -3040
  47. package/dist/gallery-slider-temp.scss +1458 -1776
  48. package/dist/global-styles.scss +218 -198
  49. package/dist/grid.scss +25 -33
  50. package/dist/hotspot.scss +68 -115
  51. package/dist/image-temp.scss +21 -20
  52. package/dist/item-stock.scss +9 -16
  53. package/dist/kitDetails.scss +2719 -4299
  54. package/dist/kits.scss +24 -19
  55. package/dist/language-selector.scss +211 -361
  56. package/dist/last-x-orders.scss +95 -174
  57. package/dist/layouter-item.scss +75 -103
  58. package/dist/layouter-pro-item.scss +89 -95
  59. package/dist/layouter-pro.scss +87 -92
  60. package/dist/layouter.scss +383 -445
  61. package/dist/light-box-v2.scss +89 -104
  62. package/dist/login.scss +287 -566
  63. package/dist/map.scss +1212 -1359
  64. package/dist/marchandiserSets.scss +95 -104
  65. package/dist/mega-menu-container.scss +96 -109
  66. package/dist/mega-menu.scss +624 -731
  67. package/dist/menu-item.scss +2 -2
  68. package/dist/menu-v2.scss +507 -619
  69. package/dist/multi-select-dropdown.scss +27 -3
  70. package/dist/my-templates.scss +38 -9
  71. package/dist/option-bar.scss +215 -375
  72. package/dist/order-status.scss +1790 -2187
  73. package/dist/overflow-module.scss +6 -7
  74. package/dist/past-orders.scss +118 -149
  75. package/dist/payment-methods.scss +46 -30
  76. package/dist/pickup-locations.scss +558 -1118
  77. package/dist/position-module.scss +20 -17
  78. package/dist/prefix-list.scss +21 -10
  79. package/dist/product-actions.scss +1750 -2055
  80. package/dist/product-basic-elements.scss +108 -169
  81. package/dist/product-highlights.scss +303 -348
  82. package/dist/product-image-allocation.scss +1477 -1477
  83. package/dist/product-image-bundles.scss +337 -642
  84. package/dist/product-inventory.scss +673 -1357
  85. package/dist/product-labels.scss +84 -105
  86. package/dist/product-options.scss +1287 -1444
  87. package/dist/product-price.scss +1283 -2561
  88. package/dist/product-promotions.scss +1388 -2830
  89. package/dist/product-sizechart.scss +516 -905
  90. package/dist/product.scss +28 -61
  91. package/dist/productDetails.scss +19 -39
  92. package/dist/profile.scss +207 -447
  93. package/dist/quantity-selector.scss +837 -1074
  94. package/dist/quick-inventory-check.scss +95 -174
  95. package/dist/quick-links.scss +55 -133
  96. package/dist/quick-order-pad.scss +218 -271
  97. package/dist/quota-details.scss +152 -282
  98. package/dist/quotes.scss +814 -847
  99. package/dist/repeater-embla-controls.scss +35 -15
  100. package/dist/repeater-grid-toggle.scss +156 -166
  101. package/dist/repeater-item.scss +41 -64
  102. package/dist/repeater.scss +671 -814
  103. package/dist/request-for-quotes.scss +66 -16
  104. package/dist/responsive-behaviour.scss +3 -1
  105. package/dist/rfqs.scss +118 -181
  106. package/dist/scroll.scss +93 -172
  107. package/dist/search-results-heading.scss +309 -309
  108. package/dist/search.scss +179 -326
  109. package/dist/section.scss +27 -51
  110. package/dist/shipping-payments.scss +198 -58
  111. package/dist/simple-list.scss +74 -164
  112. package/dist/social.scss +80 -145
  113. package/dist/sort.scss +168 -176
  114. package/dist/stack.scss +23 -34
  115. package/dist/static-global.scss +44 -26
  116. package/dist/stockStatus.scss +11 -19
  117. package/dist/store-locations.scss +577 -1105
  118. package/dist/tab-container.scss +81 -108
  119. package/dist/table-common.scss +217 -408
  120. package/dist/table.scss +271 -502
  121. package/dist/text-temp.scss +8 -7
  122. package/dist/theme-classes.scss +17 -13
  123. package/dist/uom-selector.scss +489 -949
  124. package/dist/user-elements.scss +2588 -2896
  125. package/dist/variant-picker.scss +1281 -2555
  126. package/dist/volume-pricing.scss +541 -1037
  127. package/dist/widget.scss +153 -153
  128. package/package.json +1 -1
@@ -3,22 +3,26 @@
3
3
  @use "./functions.scss" as *;
4
4
 
5
5
  @mixin CMSRepeaterEmblaControlStyles($type: 1) {
6
- @if ($type == 1) {
6
+ @if ($type ==1) {
7
+
7
8
  &:is(body[data-iframe-body="true"] *),
8
9
  &:hover {
9
10
  --_sf-nv-ic-vt: visible;
10
11
  --_sf-nv-ic-op: 1;
11
12
  }
12
13
  }
14
+
13
15
  @include emblaBtnStylesV1($type);
14
16
  @include emblaDotsStylesV1($type);
15
17
 
16
- @if ($type == 2 or $type == 3) {
18
+ @if ($type ==2 or $type ==3) {
19
+
17
20
  &:is(body[data-iframe-body="true"] *),
18
21
  &:hover {
19
22
  --_sf-pg-ic-vt: visible;
20
23
  --_sf-pg-ic-op: 1;
21
24
  }
25
+
22
26
  .repeater__control__element {
23
27
  position: absolute;
24
28
  bottom: var(--_sf-t3-bt-bl-v2, 20px);
@@ -26,11 +30,14 @@
26
30
  transform: var(--_sf-t3-tr-bl-v2, translateX(-50%));
27
31
  // z-index: calc(var(--_higher-zIndex, 99999) - 2);
28
32
  z-index: 2;
29
- @if ($type != 3) {
33
+
34
+ @if ($type !=3) {
30
35
  visibility: var(--_sf-pg-ic-vt, hidden);
31
36
  opacity: var(--_sf-pg-ic-op, 0);
32
37
  transition: all 0.45s ease;
33
- } @else {
38
+ }
39
+
40
+ @else {
34
41
  // min-height: var(
35
42
  // --_ctm-mob-rep-lt-aw-in-se,
36
43
  // var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
@@ -53,10 +60,11 @@
53
60
  }
54
61
 
55
62
  @mixin emblaBtnStylesV1($type: 1) {
63
+
56
64
  // Navigation
57
65
  button {
58
66
  &.embla__btn {
59
- @if ($type == 1) {
67
+ @if ($type ==1) {
60
68
  position: absolute;
61
69
  // z-index: calc(var(--_higher-zIndex, 99999) - 2);
62
70
  z-index: 2;
@@ -65,13 +73,16 @@
65
73
  visibility: var(--_sf-nv-ic-vt, hidden);
66
74
  opacity: var(--_sf-nv-ic-op, 0);
67
75
  transition: all 0.45s ease;
76
+
68
77
  &.embla__prev {
69
78
  left: var(--_sf-nv-lt-vl, 10px);
70
79
  }
80
+
71
81
  &.embla__next {
72
82
  right: var(--_sf-nv-lt-vl, 10px);
73
83
  }
74
84
  }
85
+
75
86
  // --_sf-ic-sz-nn: var(
76
87
  // --_ctm-mob-rep-lt-aw-in-se,
77
88
  // var(--_ctm-tab-rep-lt-aw-in-se, var(--_ctm-rep-lt-aw-in-se, 40px))
@@ -81,12 +92,14 @@
81
92
  height: var(--_sf-ic-sz-nn);
82
93
  border-radius: var(--_sf-nv-ic-br, 50%);
83
94
 
84
- @if ($type == 3) {
95
+ @if ($type ==3) {
85
96
  --_sf-dd-vl-bg-t3: transparent;
97
+
86
98
  &:is(body[data-iframe-body="true"] *) {
87
99
  pointer-events: none !important;
88
100
  }
89
101
  }
102
+
90
103
  background: var(--_sf-nv-ic-bg, var(--_sf-dd-vl-bg-t3, #fff));
91
104
 
92
105
  &:hover:not(:disabled) {
@@ -99,6 +112,7 @@
99
112
  }
100
113
  }
101
114
  }
115
+
102
116
  &:disabled {
103
117
  opacity: 0.45;
104
118
  cursor: auto;
@@ -107,8 +121,8 @@
107
121
  // Custom (Sirv-hosted) arrow icons are fetched at runtime and land inside a
108
122
  // `.icon` span instead of directly on the button, so they need the same sizing
109
123
  // and stroke as the inlined built-in chevrons.
110
- & > svg,
111
- & > .icon > svg {
124
+ &>svg,
125
+ &>.icon>svg {
112
126
  width: calc(var(--_sf-ic-sz-nn) * 0.5);
113
127
  height: calc(var(--_sf-ic-sz-nn) * 0.5);
114
128
  display: flex;
@@ -121,6 +135,7 @@
121
135
  stroke: var(--_sf-sl-ct-aw-in-cl, #667085);
122
136
  }
123
137
  }
138
+
124
139
  display: flex;
125
140
  justify-content: center;
126
141
  align-items: center;
@@ -130,7 +145,7 @@
130
145
 
131
146
  @mixin emblaDotsStylesV1($type: 1) {
132
147
  :is(.pagination__v1) {
133
- @if ($type == 1) {
148
+ @if ($type ==1) {
134
149
  position: absolute;
135
150
  // z-index: calc(var(--_higher-zIndex, 99999) - 2);
136
151
  z-index: 2;
@@ -139,7 +154,7 @@
139
154
  bottom: var(--_sf-nv-tp-vl, 10px);
140
155
  }
141
156
 
142
- @if ($type == 3) {
157
+ @if ($type ==3) {
143
158
  --_sf-dt-wh-t3: 16px;
144
159
  --_sf-dt-ht-t3: 2px;
145
160
  // --_sf-dt-br-t3: 100px;
@@ -156,13 +171,14 @@
156
171
  gap: var(--_sf-dt-gp-vl, 8px);
157
172
  max-width: 200px;
158
173
 
159
- & > button {
174
+ &>button {
160
175
  &.embla__dot {
176
+
161
177
  // --_sf-ed-vl-sz: var(
162
178
  // --_ctm-mob-rep-lt-dt-se,
163
179
  // var(--_ctm-tab-rep-lt-dt-se, var(--_ctm-rep-lt-dt-se, 10px))
164
180
  // );
165
- @if ($type != 3) {
181
+ @if ($type !=3) {
166
182
  transition: all 0.45s ease;
167
183
  width: var(--_sf-nv-pg-sz-ac, var(--_sf-ed-vl-sz, 10px));
168
184
  height: var(--_sf-ed-vl-sz, 10px);
@@ -175,7 +191,9 @@
175
191
  &:not(.embla__dot--selected) {
176
192
  border: 1px solid color-mix(in srgb, var(--_sf-sl-ct-ic-dt-at-cl) 30%, transparent);
177
193
  }
178
- } @else if($type == 3) {
194
+ }
195
+
196
+ @else if($type ==3) {
179
197
  width: var(--_sf-dt-at-wh-t3, var(--_sf-dt-wh-t3, 10px));
180
198
  height: var(--_sf-dt-at-ht-t3, var(--_sf-dt-ht-t3, 10px));
181
199
  border-radius: var(--_sf-dt-at-br-t3, var(--_sf-dt-bt-at, 0px));
@@ -183,9 +201,11 @@
183
201
 
184
202
  &:not(.embla__dot--selected) {
185
203
  --_sf-br-vl-t3: 16px;
204
+
186
205
  &:nth-of-type(1) {
187
206
  --_sf-dt-bt-at: var(--_sf-br-vl-t3) 0px 0px var(--_sf-br-vl-t3);
188
207
  }
208
+
189
209
  &:last-of-type {
190
210
  --_sf-dt-bt-at: 0px var(--_sf-br-vl-t3) var(--_sf-br-vl-t3) 0px;
191
211
  }
@@ -199,7 +219,7 @@
199
219
  --_sf-dt-bt-at: min(calc(var(--_sf-ed-vl-sz, 10px) * 0.5), 10px);
200
220
  --_sf-nv-pg-sz-ac: max(calc(var(--_sf-ed-vl-sz, 10px) * 2), 20px);
201
221
 
202
- @if ($type == 3) {
222
+ @if ($type ==3) {
203
223
  --_sf-dt-at-wh-t3: calc(2 * var(--_sf-dt-wh-t3));
204
224
  --_sf-dt-at-ht-t3: 6px;
205
225
  --_sf-dt-at-br-t3: var(--_sf-dt-at-ht-t3);
@@ -208,4 +228,4 @@
208
228
  }
209
229
  }
210
230
  }
211
- }
231
+ }
@@ -14,193 +14,183 @@ $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
+
21
22
  // border: 1px solid var(--_gray-200);
22
23
  // Gated on the Layout Style > Show Border switch; previously the border was
23
24
  // unconditional, so turning the switch off changed nothing.
24
25
  &[data-show-border="true"] {
25
26
  border-style: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-br-se, solid);
26
27
  border-width: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-br-wh, 1px);
27
- border-color: prepareMediaVariable(
28
- --_ctm-rep-dn-gd-vw-cl-se-lt-se-br-cr,
29
- var(--_gray-200)
30
- );
28
+ border-color: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-br-cr,
29
+ var(--_gray-200));
31
30
  }
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(
38
- --_ctm-rep-dn-gd-vw-cl-se-lt-se-bd-cr,
39
- var(--_base-white)
40
- );
37
+ background-color: prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-lt-se-bd-cr,
38
+ var(--_base-white));
41
39
 
42
- & > button {
40
+ &>button {
43
41
  display: var(--_d-flex);
44
42
  // $size: var(--_width-40);
45
43
  $size: #{var(
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
- }
44
+ --_sf-at-btn-size,
45
+ #{prepareMediaVariable(--_ctm-rep-dn-gd-vw-cl-se-bn-dt-se-in-se, var(--_width-20))})
202
46
  }
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)
203
98
  }
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)
204
107
  }
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))
205
120
  }
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
+ }
206
195
  }
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,22 +57,14 @@
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(
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
- );
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)));
76
68
  // The four shadow variables read `repe-se-*`, but the design section is
77
69
  // `design`, so the builder writes `repe-dn-*` (see default-templates.ts). No
78
70
  // `repe-se-*` variable is ever defined, which made the whole var() chain
@@ -87,23 +79,13 @@
87
79
  //
88
80
  // Per-part fallbacks match repeater.scss: without them a single unset part would
89
81
  // invalidate the whole declaration again.
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
- );
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))));
106
87
  }
88
+
107
89
  &:is([data-background-type="color"] > *).wrapper {
108
90
  background-color: #{prepareMediaVariable(--_ctm-repe-dn-bd-cr)};
109
91
  }
@@ -111,42 +93,37 @@
111
93
  &:is([data-background-type="gradient"] > *).wrapper {
112
94
  --_sf-repe-gradient-angle: calc(#{prepareMediaVariable(--_ctm-repe-dn-gt-ae, 90)} * 1deg);
113
95
  --_sf-repe-gradient-start-color: #{prepareMediaVariable(
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)};
96
+ --_ctm-repe-dn-gt-st-cr,
97
+ transparent)
125
98
  }
126
99
 
127
- &:is([data-gradient-type="Linear Gradient"] > *).wrapper {
128
- background-image: linear-gradient(
129
- var(--_sf-repe-gradient-angle),
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),
130
109
  var(--_sf-repe-gradient-start-color) var(--_sf-repe-gradient-start-position),
131
- var(--_sf-repe-gradient-end-color) var(--_sf-repe-gradient-end-position)
132
- );
133
- }
110
+ var(--_sf-repe-gradient-end-color) var(--_sf-repe-gradient-end-position));
111
+ }
134
112
 
135
- &:is([data-gradient-type="Radial Gradient"] > *).wrapper {
136
- background-image: radial-gradient(
137
- circle at var(--_sf-repe-gradient-position),
113
+ &:is([data-gradient-type="Radial Gradient"] > *).wrapper {
114
+ background-image: radial-gradient(circle at var(--_sf-repe-gradient-position),
138
115
  var(--_sf-repe-gradient-start-color) var(--_sf-repe-gradient-start-position),
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
- }
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);
150
126
  }
151
127
  }
152
128
  }
129
+ }