@sc-360-v2/storefront-cms-library 0.5.72 → 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 (124) 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/bundleDetails.scss +3774 -5072
  18. package/dist/button.scss +79 -103
  19. package/dist/buy-for-tab-container.scss +77 -106
  20. package/dist/buyForHeaders.scss +1722 -2976
  21. package/dist/cart-details.scss +481 -1012
  22. package/dist/cart-summary.scss +557 -1149
  23. package/dist/cart-wrapper.scss +37 -79
  24. package/dist/cart.scss +117 -225
  25. package/dist/cartAttributes.scss +416 -735
  26. package/dist/category-groups-element.scss +127 -108
  27. package/dist/category-groups-product-grid.scss +120 -147
  28. package/dist/category-groups-product-image.scss +1162 -1457
  29. package/dist/category-groups-product-options.scss +613 -680
  30. package/dist/category-groups-product-price.scss +1966 -3244
  31. package/dist/category-groups-quota-details.scss +210 -464
  32. package/dist/category.scss +26 -50
  33. package/dist/checkout.scss +24 -16
  34. package/dist/confirm-modal.scss +22 -2
  35. package/dist/container.scss +32 -54
  36. package/dist/countdown.scss +255 -443
  37. package/dist/coupon.scss +351 -710
  38. package/dist/default-dropdown.scss +12 -1
  39. package/dist/embroider-template-1-v2.scss +123 -172
  40. package/dist/embroider-template-1.scss +68 -104
  41. package/dist/embroidery.scss +30 -31
  42. package/dist/employee-bulk-order.scss +418 -142
  43. package/dist/faq.scss +228 -408
  44. package/dist/filter-results.scss +125 -265
  45. package/dist/filters.scss +900 -1797
  46. package/dist/gallery-slider-temp.scss +432 -750
  47. package/dist/global-styles.scss +218 -198
  48. package/dist/grid.scss +25 -33
  49. package/dist/hotspot.scss +68 -115
  50. package/dist/image-temp.scss +21 -20
  51. package/dist/item-stock.scss +9 -16
  52. package/dist/kitDetails.scss +2719 -4299
  53. package/dist/kits.scss +24 -19
  54. package/dist/language-selector.scss +211 -361
  55. package/dist/last-x-orders.scss +95 -174
  56. package/dist/layouter-item.scss +75 -103
  57. package/dist/layouter-pro-item.scss +89 -95
  58. package/dist/layouter-pro.scss +87 -92
  59. package/dist/layouter.scss +383 -445
  60. package/dist/light-box-v2.scss +89 -104
  61. package/dist/login.scss +287 -566
  62. package/dist/map.scss +221 -368
  63. package/dist/marchandiserSets.scss +95 -104
  64. package/dist/mega-menu-container.scss +96 -109
  65. package/dist/mega-menu.scss +624 -731
  66. package/dist/menu-item.scss +2 -2
  67. package/dist/menu-v2.scss +507 -619
  68. package/dist/multi-select-dropdown.scss +27 -3
  69. package/dist/my-templates.scss +38 -9
  70. package/dist/option-bar.scss +215 -375
  71. package/dist/order-status.scss +646 -1117
  72. package/dist/overflow-module.scss +6 -7
  73. package/dist/past-orders.scss +118 -149
  74. package/dist/payment-methods.scss +46 -30
  75. package/dist/pickup-locations.scss +558 -1118
  76. package/dist/position-module.scss +20 -17
  77. package/dist/prefix-list.scss +21 -10
  78. package/dist/product-actions.scss +1750 -2055
  79. package/dist/product-basic-elements.scss +108 -169
  80. package/dist/product-highlights.scss +107 -152
  81. package/dist/product-image-bundles.scss +337 -642
  82. package/dist/product-inventory.scss +673 -1357
  83. package/dist/product-labels.scss +84 -105
  84. package/dist/product-options.scss +1117 -1274
  85. package/dist/product-price.scss +1283 -2561
  86. package/dist/product-promotions.scss +1388 -2830
  87. package/dist/product-sizechart.scss +516 -905
  88. package/dist/product.scss +28 -61
  89. package/dist/productDetails.scss +19 -39
  90. package/dist/profile.scss +207 -447
  91. package/dist/quantity-selector.scss +837 -1074
  92. package/dist/quick-inventory-check.scss +95 -174
  93. package/dist/quick-links.scss +55 -133
  94. package/dist/quick-order-pad.scss +218 -271
  95. package/dist/quota-details.scss +152 -282
  96. package/dist/quotes.scss +89 -122
  97. package/dist/repeater-embla-controls.scss +35 -15
  98. package/dist/repeater-grid-toggle.scss +156 -166
  99. package/dist/repeater-item.scss +41 -64
  100. package/dist/repeater.scss +671 -814
  101. package/dist/request-for-quotes.scss +66 -16
  102. package/dist/responsive-behaviour.scss +3 -1
  103. package/dist/rfqs.scss +118 -181
  104. package/dist/scroll.scss +93 -172
  105. package/dist/search.scss +179 -326
  106. package/dist/section.scss +27 -51
  107. package/dist/shipping-payments.scss +198 -58
  108. package/dist/simple-list.scss +74 -164
  109. package/dist/social.scss +80 -145
  110. package/dist/sort.scss +11 -19
  111. package/dist/stack.scss +23 -34
  112. package/dist/static-global.scss +44 -26
  113. package/dist/stockStatus.scss +11 -19
  114. package/dist/store-locations.scss +577 -1105
  115. package/dist/tab-container.scss +81 -108
  116. package/dist/table-common.scss +217 -408
  117. package/dist/table.scss +271 -502
  118. package/dist/text-temp.scss +8 -7
  119. package/dist/theme-classes.scss +17 -13
  120. package/dist/uom-selector.scss +489 -949
  121. package/dist/user-elements.scss +529 -837
  122. package/dist/variant-picker.scss +1281 -2555
  123. package/dist/volume-pricing.scss +541 -1037
  124. 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
+ }