@sc-360-v2/storefront-cms-library 0.5.73 → 0.5.74
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.
- package/dist/add-existing-form.scss +5 -13
- package/dist/add-order.scss +236 -126
- package/dist/add-products-tab-details.scss +2097 -1048
- package/dist/add-products-tab.scss +1204 -666
- package/dist/allocation-header-quota-details.scss +407 -189
- package/dist/allocationDetails.scss +2143 -1661
- package/dist/allocations-quota-details.scss +323 -159
- package/dist/allocations.scss +793 -475
- package/dist/amount-estimator.scss +743 -405
- package/dist/badge.scss +18 -43
- package/dist/brand-basic-elements.scss +124 -76
- package/dist/brand.scss +55 -28
- package/dist/breadcrumbs.scss +718 -356
- package/dist/builder.js +1 -1
- package/dist/builderLite.js +1 -1
- package/dist/bulk-variant-picker.scss +2027 -1128
- package/dist/bundle.scss +1477 -841
- package/dist/bundleDetails.scss +5072 -3774
- package/dist/button.scss +103 -79
- package/dist/buy-for-tab-container.scss +106 -77
- package/dist/buyForHeaders.scss +2976 -1722
- package/dist/cart-details.scss +1012 -481
- package/dist/cart-summary.scss +1149 -557
- package/dist/cart-wrapper.scss +79 -37
- package/dist/cart.scss +225 -117
- package/dist/cartAttributes.scss +735 -416
- package/dist/category-groups-element.scss +108 -127
- package/dist/category-groups-product-grid.scss +147 -120
- package/dist/category-groups-product-image.scss +1457 -1162
- package/dist/category-groups-product-options.scss +680 -613
- package/dist/category-groups-product-price.scss +3244 -1966
- package/dist/category-groups-quota-details.scss +464 -210
- package/dist/category.scss +50 -26
- package/dist/checkout.scss +16 -24
- package/dist/confirm-modal.scss +2 -22
- package/dist/container.scss +54 -32
- package/dist/countdown.scss +443 -255
- package/dist/coupon.scss +710 -351
- package/dist/default-dropdown.scss +1 -12
- package/dist/embroider-template-1-v2.scss +172 -123
- package/dist/embroider-template-1.scss +104 -68
- package/dist/embroidery.scss +31 -30
- package/dist/employee-bulk-order.scss +142 -418
- package/dist/faq.scss +408 -228
- package/dist/filter-results.scss +265 -125
- package/dist/filters.scss +1797 -900
- package/dist/gallery-slider-temp.scss +750 -432
- package/dist/global-styles.scss +7 -23
- package/dist/grid.scss +33 -25
- package/dist/hotspot.scss +115 -68
- package/dist/image-temp.scss +20 -21
- package/dist/item-stock.scss +16 -9
- package/dist/kitDetails.scss +4301 -2721
- package/dist/kits.scss +19 -24
- package/dist/language-selector.scss +361 -211
- package/dist/last-x-orders.scss +174 -95
- package/dist/layouter-item.scss +103 -75
- package/dist/layouter-pro-item.scss +95 -89
- package/dist/layouter-pro.scss +92 -87
- package/dist/layouter.scss +445 -383
- package/dist/light-box-v2.scss +104 -89
- package/dist/login.scss +566 -287
- package/dist/map.scss +368 -221
- package/dist/marchandiserSets.scss +104 -95
- package/dist/mega-menu-container.scss +109 -96
- package/dist/mega-menu.scss +731 -624
- package/dist/menu-item.scss +2 -2
- package/dist/menu-v2.scss +619 -507
- package/dist/multi-select-dropdown.scss +3 -27
- package/dist/my-templates.scss +9 -38
- package/dist/option-bar.scss +375 -215
- package/dist/option-families.scss +252 -0
- package/dist/order-status.scss +1117 -646
- package/dist/overflow-module.scss +7 -6
- package/dist/past-orders.scss +149 -118
- package/dist/payment-methods.scss +30 -46
- package/dist/pickup-locations.scss +1118 -558
- package/dist/position-module.scss +17 -20
- package/dist/prefix-list.scss +10 -21
- package/dist/product-actions.scss +2316 -1610
- package/dist/product-basic-elements.scss +169 -108
- package/dist/product-highlights.scss +152 -107
- package/dist/product-image-bundles.scss +642 -337
- package/dist/product-inventory.scss +1357 -673
- package/dist/product-labels.scss +105 -84
- package/dist/product-options.scss +1274 -1117
- package/dist/product-price.scss +2561 -1283
- package/dist/product-promotions.scss +2830 -1388
- package/dist/product-sizechart.scss +905 -516
- package/dist/product.scss +61 -28
- package/dist/productDetails.scss +39 -19
- package/dist/profile.scss +447 -207
- package/dist/quantity-selector.scss +550 -313
- package/dist/quick-inventory-check.scss +174 -95
- package/dist/quick-links.scss +133 -55
- package/dist/quick-order-pad.scss +271 -218
- package/dist/quota-details.scss +282 -152
- package/dist/quotes.scss +122 -89
- package/dist/repeater-embla-controls.scss +15 -35
- package/dist/repeater-grid-toggle.scss +166 -156
- package/dist/repeater-item.scss +64 -41
- package/dist/repeater.scss +814 -671
- package/dist/request-for-quotes.scss +16 -66
- package/dist/responsive-behaviour.scss +1 -3
- package/dist/rfqs.scss +181 -118
- package/dist/scroll.scss +172 -93
- package/dist/search.scss +326 -179
- package/dist/section.scss +51 -27
- package/dist/shipping-payments.scss +58 -198
- package/dist/simple-list.scss +164 -74
- package/dist/social.scss +145 -80
- package/dist/sort.scss +19 -11
- package/dist/stack.scss +34 -23
- package/dist/static-global.scss +26 -44
- package/dist/stockStatus.scss +19 -11
- package/dist/store-locations.scss +1105 -577
- package/dist/tab-container.scss +108 -81
- package/dist/table-common.scss +408 -217
- package/dist/table.scss +502 -271
- package/dist/text-temp.scss +7 -8
- package/dist/theme-classes.scss +13 -17
- package/dist/types/builder/enums/data-connectors.d.ts +3 -1
- package/dist/types/builder/enums/index.d.ts +3 -1
- package/dist/types/builder/tools/element-edit/index.d.ts +2 -1
- package/dist/types/builder/tools/element-edit/optionFamilies.d.ts +20 -0
- package/dist/types/website/constants/data-connector-souces.d.ts +40 -8
- package/dist/types/website/constants/data-connectors.d.ts +12 -1
- package/dist/types/website/helper/ssr-functions.d.ts +8 -0
- package/dist/uom-selector.scss +949 -489
- package/dist/user-elements.scss +837 -529
- package/dist/variant-picker.scss +2555 -1281
- package/dist/volume-pricing.scss +1037 -541
- package/dist/website.js +1 -1
- package/dist/widget.scss +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
@use "./functions.scss" as *;
|
|
2
|
+
|
|
3
|
+
// Option Families — swatch tiles of option families ("Shop by Color"): every family, the ones
|
|
4
|
+
// picked in Choose Item, or one per row when repeated by a Repeater.
|
|
5
|
+
//
|
|
6
|
+
// Variable names come from the builderData keys in element-edit/optionFamilies.ts:
|
|
7
|
+
// layout.swatchHeight -> --_ctm-lt-sh-ht
|
|
8
|
+
// design.tile.* -> --_ctm-dn-te-*
|
|
9
|
+
// design.swatch.* -> --_ctm-dn-sh-*
|
|
10
|
+
// design.image.* -> --_ctm-dn-ie-*
|
|
11
|
+
// design.label.* -> --_ctm-dn-ll-*
|
|
12
|
+
// Keep this file in step with storefront-cms-library/src/components/css/widgets/option-families.scss.
|
|
13
|
+
|
|
14
|
+
[data-div-type="element"] {
|
|
15
|
+
&[data-element-type="optionFamilies"] {
|
|
16
|
+
// Reads the percentage the left/right resize handles write, same as Quota Details.
|
|
17
|
+
width: var(
|
|
18
|
+
--_sf-el-wh-st-mx,
|
|
19
|
+
calc(
|
|
20
|
+
1% * var(--_ctm-mob-ele-nw-wh-vl, var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl)))
|
|
21
|
+
)
|
|
22
|
+
);
|
|
23
|
+
min-width: 64px;
|
|
24
|
+
margin: prepareMediaVariable(--_ctm-lt-mn, 0);
|
|
25
|
+
|
|
26
|
+
& > .wrapper {
|
|
27
|
+
width: 100%;
|
|
28
|
+
height: auto;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Connected on its own the element holds every family shown in Choose Item, one tile each,
|
|
32
|
+
// side by side in a single row that shares the element's width. Inside a Repeater it holds one.
|
|
33
|
+
.option__families__list {
|
|
34
|
+
display: flex;
|
|
35
|
+
flex-wrap: nowrap;
|
|
36
|
+
gap: 12px;
|
|
37
|
+
width: 100%;
|
|
38
|
+
|
|
39
|
+
& > * {
|
|
40
|
+
flex: 1 1 0;
|
|
41
|
+
min-width: 0;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.option__families__tile {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
gap: prepareMediaVariable(--_ctm-dn-te-im-gp);
|
|
49
|
+
width: 100%;
|
|
50
|
+
box-sizing: border-box;
|
|
51
|
+
padding: prepareMediaVariable(--_ctm-lt-pg, 8px);
|
|
52
|
+
color: inherit;
|
|
53
|
+
text-decoration: none;
|
|
54
|
+
background-color: prepareMediaVariable(--_ctm-dn-te-bd-cr, #ffffff);
|
|
55
|
+
border-color: prepareMediaVariable(--_ctm-dn-te-br-cr, #eaecf0);
|
|
56
|
+
border-style: prepareMediaVariable(--_ctm-dn-te-br-se, solid);
|
|
57
|
+
border-width: prepareMediaVariable(--_ctm-dn-te-br-wh, 1px);
|
|
58
|
+
border-radius: prepareMediaVariable(--_ctm-dn-te-br-rs, 6px);
|
|
59
|
+
box-shadow: var(
|
|
60
|
+
--_sf-of-te-show-shadow,
|
|
61
|
+
prepareMediaVariable(--_ctm-dn-te-sw-ae, 0px 0px)
|
|
62
|
+
prepareMediaVariable(--_ctm-dn-te-sw-br, 0px)
|
|
63
|
+
prepareMediaVariable(--_ctm-dn-te-sw-sd, 0px)
|
|
64
|
+
prepareMediaVariable(--_ctm-dn-te-sw-cr, transparent)
|
|
65
|
+
);
|
|
66
|
+
transition: transform 0.15s ease;
|
|
67
|
+
|
|
68
|
+
&[data-has-link="true"] {
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
|
|
71
|
+
// &:hover {
|
|
72
|
+
// transform: translateY(-2px);
|
|
73
|
+
// }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&[data-tile-shadow="false"] .option__families__tile {
|
|
78
|
+
--_sf-of-te-show-shadow: none;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.option__families__swatch {
|
|
82
|
+
position: relative;
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: flex-end;
|
|
85
|
+
justify-content: center;
|
|
86
|
+
overflow: hidden;
|
|
87
|
+
width: 100%;
|
|
88
|
+
height: prepareMediaVariable(--_ctm-lt-sh-ht, 88px);
|
|
89
|
+
box-sizing: border-box;
|
|
90
|
+
// `--_sf-of-swatch` is the row's hex colour, set on the element by the renderer.
|
|
91
|
+
background-color: var(--_sf-of-swatch, #d0d5dd);
|
|
92
|
+
border-color: prepareMediaVariable(--_ctm-dn-sh-br-cr, #eaecf0);
|
|
93
|
+
border-style: prepareMediaVariable(--_ctm-dn-sh-br-se, solid);
|
|
94
|
+
border-width: prepareMediaVariable(--_ctm-dn-sh-br-wh, 0px);
|
|
95
|
+
border-radius: prepareMediaVariable(--_ctm-dn-sh-br-rs, 4px);
|
|
96
|
+
box-shadow: var(
|
|
97
|
+
--_sf-of-sh-show-shadow,
|
|
98
|
+
prepareMediaVariable(--_ctm-dn-sh-sw-ae, 0px 0px)
|
|
99
|
+
prepareMediaVariable(--_ctm-dn-sh-sw-br, 0px)
|
|
100
|
+
prepareMediaVariable(--_ctm-dn-sh-sw-sd, 0px)
|
|
101
|
+
prepareMediaVariable(--_ctm-dn-sh-sw-cr, transparent)
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
// Measured by SwatchImage (OptionFamilies.tsx) for the size it asks the CDN for.
|
|
105
|
+
.option__families__image-frame {
|
|
106
|
+
position: absolute;
|
|
107
|
+
inset: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.option__families__image {
|
|
111
|
+
position: absolute;
|
|
112
|
+
inset: 0;
|
|
113
|
+
width: 100%;
|
|
114
|
+
height: 100%;
|
|
115
|
+
box-sizing: border-box;
|
|
116
|
+
object-fit: cover;
|
|
117
|
+
object-position: center;
|
|
118
|
+
background-color: prepareMediaVariable(--_ctm-dn-ie-bd-cr, transparent);
|
|
119
|
+
border-color: prepareMediaVariable(--_ctm-dn-ie-br-cr, #eaecf0);
|
|
120
|
+
border-style: prepareMediaVariable(--_ctm-dn-ie-br-se, solid);
|
|
121
|
+
border-width: prepareMediaVariable(--_ctm-dn-ie-br-wh, 0px);
|
|
122
|
+
border-radius: prepareMediaVariable(--_ctm-dn-ie-br-rs, 0px);
|
|
123
|
+
transition: transform 0.3s ease-in-out;
|
|
124
|
+
// Fit Options and Image Position are applied by the image CDN (scale.option /
|
|
125
|
+
// canvas.position in the request URL, see OptionFamilies.tsx), which returns an
|
|
126
|
+
// image of exactly the swatch's size — so nothing to fit here.
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.option__families__label {
|
|
130
|
+
position: relative;
|
|
131
|
+
z-index: 2;
|
|
132
|
+
padding: 0 6px 8px;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Layout > Image Settings > On Hover. The swatch clips it (overflow: hidden), so the
|
|
137
|
+
// zoom stays inside the tile. Zoom Out is a visible 0.92 — the Image element's 0.9998
|
|
138
|
+
// is too small to see on a swatch this size.
|
|
139
|
+
.option__families__tile:hover .option__families__image {
|
|
140
|
+
&[data-on-hover="Zoom In"] {
|
|
141
|
+
transform: scale(1.08);
|
|
142
|
+
}
|
|
143
|
+
&[data-on-hover="Zoom Out"] {
|
|
144
|
+
transform: scale(0.92);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Layout > Swatch Shape. Rectangle is the default above: a full-width tile and swatch, with
|
|
149
|
+
// the Border Radius set in Design for each. Square and Circle make the swatch Swatch Height on
|
|
150
|
+
// each side and shrink the tile around it, so every border — tile, swatch and image — takes
|
|
151
|
+
// the shape: square corners for Square, round for Circle. There the shape decides the corners
|
|
152
|
+
// and the Design > Border Radius controls do not apply.
|
|
153
|
+
&[data-swatch-shape="square"],
|
|
154
|
+
&[data-swatch-shape="circle"] {
|
|
155
|
+
.option__families__tile {
|
|
156
|
+
flex: 0 1 auto;
|
|
157
|
+
width: fit-content;
|
|
158
|
+
max-width: 100%;
|
|
159
|
+
margin-inline: auto;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.option__families__swatch {
|
|
163
|
+
width: prepareMediaVariable(--_ctm-lt-sh-ht, 88px);
|
|
164
|
+
max-width: 100%;
|
|
165
|
+
align-self: center;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// &[data-swatch-shape="square"] {
|
|
170
|
+
// .option__families__tile,
|
|
171
|
+
// .option__families__swatch,
|
|
172
|
+
// .option__families__image {
|
|
173
|
+
// border-radius: 0;
|
|
174
|
+
// }
|
|
175
|
+
// }
|
|
176
|
+
|
|
177
|
+
&[data-swatch-shape="circle"] {
|
|
178
|
+
// The swatch and its image are square boxes, so 50% makes them round.
|
|
179
|
+
.option__families__swatch,
|
|
180
|
+
.option__families__image {
|
|
181
|
+
border-radius: 50%;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// With the name inside the swatch the tile is square too (swatch plus even padding) and
|
|
185
|
+
// 50% draws a circle. A name below makes it taller than wide, where 50% would draw an
|
|
186
|
+
// oval, so it becomes a pill instead.
|
|
187
|
+
&[data-label-position="inside"] .option__families__tile {
|
|
188
|
+
border-radius: 50%;
|
|
189
|
+
}
|
|
190
|
+
&[data-label-position="below"] .option__families__tile {
|
|
191
|
+
border-radius: 9999px;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
&[data-swatch-shadow="false"] .option__families__swatch {
|
|
196
|
+
--_sf-of-sh-show-shadow: none;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.option__families__label {
|
|
200
|
+
display: block;
|
|
201
|
+
min-width: 0;
|
|
202
|
+
overflow-wrap: anywhere;
|
|
203
|
+
color: prepareMediaVariable(--_ctm-dn-ll-cr, #ffffff);
|
|
204
|
+
font-family: prepareMediaVariable(--_ctm-dn-ll-ft-fy);
|
|
205
|
+
font-size: prepareMediaVariable(--_ctm-dn-ll-ft-se, 14px);
|
|
206
|
+
font-weight: prepareMediaVariable(--_ctm-dn-ll-ft-wt, bold);
|
|
207
|
+
font-style: prepareMediaVariable(--_ctm-dn-ll-ft-se-ic);
|
|
208
|
+
text-align: prepareMediaVariable(--_ctm-dn-ll-tt-an, center);
|
|
209
|
+
letter-spacing: prepareMediaVariable(--_ctm-dn-ll-lr-sg);
|
|
210
|
+
line-height: prepareMediaVariable(--_ctm-dn-ll-le-ht);
|
|
211
|
+
text-decoration: prepareMediaVariable(--_ctm-dn-ll-ue);
|
|
212
|
+
text-transform: prepareMediaVariable(--_ctm-dn-ll-tt-tm, uppercase);
|
|
213
|
+
box-sizing: border-box;
|
|
214
|
+
max-width: 100%;
|
|
215
|
+
|
|
216
|
+
// Design > Label > Typography > Text Overflow: N lines, then an ellipsis. `--_sf-line-clamp`
|
|
217
|
+
// is set on the label by the renderer. `overflow-wrap: anywhere` above would break a long
|
|
218
|
+
// word across lines before the ellipsis could apply, so the clamp restores normal wrapping.
|
|
219
|
+
&.flex__overflow {
|
|
220
|
+
@include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
|
|
221
|
+
overflow-wrap: normal;
|
|
222
|
+
word-break: normal;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// A Square or Circle tile is only as wide as its content. A label below the swatch would
|
|
227
|
+
// widen it to fit the whole name, leaving nothing to clamp; this makes the label take the
|
|
228
|
+
// tile's width (set by the swatch) without adding to it.
|
|
229
|
+
&[data-swatch-shape="square"],
|
|
230
|
+
&[data-swatch-shape="circle"] {
|
|
231
|
+
&[data-label-position="below"] .option__families__tile > .option__families__label {
|
|
232
|
+
width: 0;
|
|
233
|
+
min-width: 100%;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// Light swatches get a faint inner edge so they don't melt into a white tile. An
|
|
238
|
+
// outline, not the border: the border width holds four values and is the merchant's.
|
|
239
|
+
.option__families__swatch[data-light="true"] {
|
|
240
|
+
outline: 1px solid rgba(16, 24, 40, 0.12);
|
|
241
|
+
outline-offset: -1px;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// A white label disappears on white/cream swatches. Only while the label sits inside
|
|
245
|
+
// the swatch — below it, the label is on the tile and keeps its own colour.
|
|
246
|
+
&[data-label-position="inside"]
|
|
247
|
+
.option__families__swatch[data-light="true"]
|
|
248
|
+
.option__families__label {
|
|
249
|
+
color: #344054;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|