@sc-360-v2/storefront-cms-library 0.5.51 → 0.5.52
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-order.scss +62 -13
- package/dist/breadcrumbs.scss +13 -0
- package/dist/builder.js +1 -1
- package/dist/cart-details.scss +214 -0
- package/dist/cart.scss +57 -55
- package/dist/category-groups-product-image.scss +72 -21
- package/dist/hotspot.scss +141 -74
- package/dist/icon-library.scss +78 -74
- package/dist/image-temp.scss +2 -1
- package/dist/language-selector.scss +173 -55
- package/dist/light-box-v2.scss +4 -3
- package/dist/menu-v2.scss +51 -3
- package/dist/modal.scss +251 -28
- package/dist/product-basic-elements.scss +0 -246
- package/dist/product-image-allocation.scss +51 -15
- package/dist/product-image-bundles.scss +72 -15
- package/dist/product-image.scss +178 -19
- package/dist/repeater-embla-controls.scss +9 -1
- package/dist/repeater-grid-toggle.scss +42 -18
- package/dist/repeater.scss +69 -102
- package/dist/scroll.scss +52 -11
- package/dist/search.scss +1 -1
- package/dist/skeleton.scss +24 -35
- package/dist/tab-container.scss +14 -12
- package/dist/tab-v2.scss +178 -68
- package/dist/text-temp-v2.scss +11 -0
- package/dist/types/builder/tools/element-edit/breadcrumbs.d.ts +0 -5
- package/dist/types/builder/tools/element-edit/product-image.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/repeater.d.ts +1 -1
- package/dist/types/builder/tools/element-edit/tabsV2.d.ts +55 -1
- package/dist/types/builder/tools/element-edit/video.d.ts +32 -0
- package/dist/video.scss +548 -476
- package/package.json +1 -1
package/dist/icon-library.scss
CHANGED
|
@@ -1,74 +1,78 @@
|
|
|
1
|
-
@use "sass:map";
|
|
2
|
-
@use "sass:list";
|
|
3
|
-
|
|
4
|
-
$resizerId: "[data-cms-tool='cms-element-resizer']";
|
|
5
|
-
$resizeActive: '[data-cms-element-resizer="true"]';
|
|
6
|
-
|
|
7
|
-
[data-div-type="element"] {
|
|
8
|
-
&[data-element-type="iconLibrary"] {
|
|
9
|
-
width: var(
|
|
10
|
-
--_sf-el-wh-st-mx,
|
|
11
|
-
calc(
|
|
12
|
-
1% *
|
|
13
|
-
var(
|
|
14
|
-
--_ctm-mob-ele-nw-wh-vl,
|
|
15
|
-
var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh)))
|
|
16
|
-
)
|
|
17
|
-
)
|
|
18
|
-
);
|
|
19
|
-
margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
|
|
20
|
-
// height: var(--_ctm-lt-ht, --_tst-lt-ht);
|
|
21
|
-
|
|
22
|
-
& > .wrapper {
|
|
23
|
-
width: 100%;
|
|
24
|
-
height: var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) !important;
|
|
25
|
-
}
|
|
26
|
-
&[data-widget-border="true"] .icon__container {
|
|
27
|
-
border-color: var(--_ctm-mob-dn-br-cr, var(--_ctm-tab-dn-br-cr, var(--_ctm-dn-br-cr)));
|
|
28
|
-
border-style: var(--_ctm-mob-dn-br-se, var(--_ctm-tab-dn-br-se, var(--_ctm-dn-br-se)));
|
|
29
|
-
border-width: var(--_ctm-mob-dn-br-wh, var(--_ctm-tab-dn-br-wh, var(--_ctm-dn-br-wh)));
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&[data-widget-shadow="true"] .icon__container {
|
|
33
|
-
box-shadow: var(--_ctm-mob-dn-sw-ae, var(--_ctm-tab-dn-sw-ae, var(--_ctm-dn-sw-ae)))
|
|
34
|
-
var(--_ctm-mob-dn-sw-br, var(--_ctm-tab-dn-sw-br, var(--_ctm-dn-sw-br)))
|
|
35
|
-
var(--_ctm-mob-dn-sw-sd, var(--_ctm-tab-dn-sw-sd, var(--_ctm-dn-sw-sd)))
|
|
36
|
-
var(--_ctm-mob-dn-sw-cr, var(--_ctm-tab-dn-sw-cr, var(--_ctm-dn-sw-cr)));
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
&[data-widget-shadow="false"] .icon__container {
|
|
40
|
-
box-shadow: none;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.icon__container {
|
|
44
|
-
display: flex;
|
|
45
|
-
justify-content: center;
|
|
46
|
-
align-items: center;
|
|
47
|
-
width: 100%;
|
|
48
|
-
height: 100%;
|
|
49
|
-
padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
|
|
50
|
-
background-color: var(--_ctm-mob-dn-bd-cr, var(--_ctm-tab-dn-bd-cr, var(--_ctm-dn-bd-cr)));
|
|
51
|
-
border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
|
|
52
|
-
|
|
53
|
-
.icon {
|
|
54
|
-
display: inline-flex;
|
|
55
|
-
justify-content: center;
|
|
56
|
-
align-items: center;
|
|
57
|
-
|
|
58
|
-
width: var(--_ctm-mob-dn-in-se, var(--_ctm-tab-dn-in-se, var(--_ctm-dn-in-se)));
|
|
59
|
-
height: var(--_ctm-mob-dn-in-se, var(--_ctm-tab-dn-in-se, var(--_ctm-dn-in-se)));
|
|
60
|
-
|
|
61
|
-
svg {
|
|
62
|
-
width: 100%;
|
|
63
|
-
height: 100%;
|
|
64
|
-
path {
|
|
65
|
-
stroke: var(
|
|
66
|
-
--_ctm-mob-dn-in-c1,
|
|
67
|
-
var(--_ctm-tab-dn-in-c1, var(--_ctm-dn-in-c1))
|
|
68
|
-
) !important;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "sass:list";
|
|
3
|
+
|
|
4
|
+
$resizerId: "[data-cms-tool='cms-element-resizer']";
|
|
5
|
+
$resizeActive: '[data-cms-element-resizer="true"]';
|
|
6
|
+
|
|
7
|
+
[data-div-type="element"] {
|
|
8
|
+
&[data-element-type="iconLibrary"] {
|
|
9
|
+
width: var(
|
|
10
|
+
--_sf-el-wh-st-mx,
|
|
11
|
+
calc(
|
|
12
|
+
1% *
|
|
13
|
+
var(
|
|
14
|
+
--_ctm-mob-ele-nw-wh-vl,
|
|
15
|
+
var(--_ctm-tab-ele-nw-wh-vl, var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh)))
|
|
16
|
+
)
|
|
17
|
+
)
|
|
18
|
+
);
|
|
19
|
+
margin: var(--_ctm-mob-lt-mn, var(--_ctm-tab-lt-mn, var(--_ctm-lt-mn)));
|
|
20
|
+
// height: var(--_ctm-lt-ht, --_tst-lt-ht);
|
|
21
|
+
|
|
22
|
+
& > .wrapper {
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: var(--_ctm-mob-lt-ht, var(--_ctm-tab-lt-ht, var(--_ctm-lt-ht))) !important;
|
|
25
|
+
}
|
|
26
|
+
&[data-widget-border="true"] .icon__container {
|
|
27
|
+
border-color: var(--_ctm-mob-dn-br-cr, var(--_ctm-tab-dn-br-cr, var(--_ctm-dn-br-cr)));
|
|
28
|
+
border-style: var(--_ctm-mob-dn-br-se, var(--_ctm-tab-dn-br-se, var(--_ctm-dn-br-se)));
|
|
29
|
+
border-width: var(--_ctm-mob-dn-br-wh, var(--_ctm-tab-dn-br-wh, var(--_ctm-dn-br-wh)));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&[data-widget-shadow="true"] .icon__container {
|
|
33
|
+
box-shadow: var(--_ctm-mob-dn-sw-ae, var(--_ctm-tab-dn-sw-ae, var(--_ctm-dn-sw-ae)))
|
|
34
|
+
var(--_ctm-mob-dn-sw-br, var(--_ctm-tab-dn-sw-br, var(--_ctm-dn-sw-br)))
|
|
35
|
+
var(--_ctm-mob-dn-sw-sd, var(--_ctm-tab-dn-sw-sd, var(--_ctm-dn-sw-sd)))
|
|
36
|
+
var(--_ctm-mob-dn-sw-cr, var(--_ctm-tab-dn-sw-cr, var(--_ctm-dn-sw-cr)));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&[data-widget-shadow="false"] .icon__container {
|
|
40
|
+
box-shadow: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.icon__container {
|
|
44
|
+
display: flex;
|
|
45
|
+
justify-content: center;
|
|
46
|
+
align-items: center;
|
|
47
|
+
width: 100%;
|
|
48
|
+
height: 100%;
|
|
49
|
+
padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
|
|
50
|
+
background-color: var(--_ctm-mob-dn-bd-cr, var(--_ctm-tab-dn-bd-cr, var(--_ctm-dn-bd-cr)));
|
|
51
|
+
border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
|
|
52
|
+
|
|
53
|
+
.icon {
|
|
54
|
+
display: inline-flex;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
align-items: center;
|
|
57
|
+
|
|
58
|
+
width: var(--_ctm-mob-dn-in-se, var(--_ctm-tab-dn-in-se, var(--_ctm-dn-in-se)));
|
|
59
|
+
height: var(--_ctm-mob-dn-in-se, var(--_ctm-tab-dn-in-se, var(--_ctm-dn-in-se)));
|
|
60
|
+
|
|
61
|
+
svg {
|
|
62
|
+
width: 100%;
|
|
63
|
+
height: 100%;
|
|
64
|
+
path {
|
|
65
|
+
stroke: var(
|
|
66
|
+
--_ctm-mob-dn-in-c1,
|
|
67
|
+
var(--_ctm-tab-dn-in-c1, var(--_ctm-dn-in-c1))
|
|
68
|
+
) !important;
|
|
69
|
+
// Overrides the stroke-width presentation attribute baked into each icon's
|
|
70
|
+
// markup. A plain declaration is enough — presentation attributes lose to
|
|
71
|
+
// any CSS rule — so no !important is needed here.
|
|
72
|
+
stroke-width: var(--_ctm-mob-dn-se-wh, var(--_ctm-tab-dn-se-wh, var(--_ctm-dn-se-wh)));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
package/dist/image-temp.scss
CHANGED
|
@@ -107,6 +107,7 @@ $isFlexboxElementChild: ".flx > .wrapper > *";
|
|
|
107
107
|
// transform: scale(var(--_ctm-dn-zm-ie));
|
|
108
108
|
scale: var(--_ctm-mob-dn-zm-ie, var(--_ctm-tab-dn-zm-ie, var(--_ctm-dn-zm-ie)));
|
|
109
109
|
rotate: calc(var(--_ctm-dn-re) * 1deg);
|
|
110
|
+
overflow: hidden;
|
|
110
111
|
}
|
|
111
112
|
}
|
|
112
113
|
&[data-show-shadow="false"] {
|
|
@@ -129,7 +130,7 @@ $isFlexboxElementChild: ".flx > .wrapper > *";
|
|
|
129
130
|
row-gap: var(--_sf-gp);
|
|
130
131
|
width: 100%;
|
|
131
132
|
height: prepareMediaVariable(--_ctm-lt-ht);
|
|
132
|
-
border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
|
|
133
|
+
// border-radius: var(--_ctm-mob-dn-br-rs, var(--_ctm-tab-dn-br-rs, var(--_ctm-dn-br-rs)));
|
|
133
134
|
// height: 100%;
|
|
134
135
|
// &:is(:not(:has([class*="crop__main"]) *)) {
|
|
135
136
|
// padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
|
|
@@ -236,6 +236,18 @@
|
|
|
236
236
|
--_ctm-mob-dn-im-se-hr-se-ue,
|
|
237
237
|
var(--_ctm-tab-dn-im-se-hr-se-ue, var(--_ctm-dn-im-se-hr-se-ue))
|
|
238
238
|
);
|
|
239
|
+
--_sf-hr-tt-tm: var(
|
|
240
|
+
--_ctm-mob-dn-im-se-hr-se-tt-tm,
|
|
241
|
+
var(--_ctm-tab-dn-im-se-hr-se-tt-tm, var(--_ctm-dn-im-se-hr-se-tt-tm))
|
|
242
|
+
);
|
|
243
|
+
--_sf-hr-wd-wp: var(
|
|
244
|
+
--_ctm-mob-dn-im-se-hr-se-wd-wp,
|
|
245
|
+
var(--_ctm-tab-dn-im-se-hr-se-wd-wp, var(--_ctm-dn-im-se-hr-se-wd-wp))
|
|
246
|
+
);
|
|
247
|
+
--_sf-hr-wd-bk: var(
|
|
248
|
+
--_ctm-mob-dn-im-se-hr-se-wd-bk,
|
|
249
|
+
var(--_ctm-tab-dn-im-se-hr-se-wd-bk, var(--_ctm-dn-im-se-hr-se-wd-bk))
|
|
250
|
+
);
|
|
239
251
|
--_sf-hr-pg: var(
|
|
240
252
|
--_ctm-mob-dn-im-se-hr-se-pg,
|
|
241
253
|
var(--_ctm-tab-dn-im-se-hr-se-pg, var(--_ctm-dn-im-se-hr-se-pg))
|
|
@@ -259,6 +271,13 @@
|
|
|
259
271
|
--_ctm-mob-dn-im-se-sd-se-br-wh,
|
|
260
272
|
var(--_ctm-tab-dn-im-se-sd-se-br-wh, var(--_ctm-dn-im-se-sd-se-br-wh))
|
|
261
273
|
);
|
|
274
|
+
// Was missing entirely, so `border-radius: var(--_sf-sd-br-rs, <default state>)`
|
|
275
|
+
// always fell through to the default state and Selected > Border Radius did
|
|
276
|
+
// nothing. Every sibling state variable had one; this is the odd one out.
|
|
277
|
+
--_sf-sd-br-rs: var(
|
|
278
|
+
--_ctm-mob-dn-im-se-sd-se-br-rs,
|
|
279
|
+
var(--_ctm-tab-dn-im-se-sd-se-br-rs, var(--_ctm-dn-im-se-sd-se-br-rs))
|
|
280
|
+
);
|
|
262
281
|
// new
|
|
263
282
|
--_sf-sd-sw-ae: var(
|
|
264
283
|
--_ctm-mob-dn-im-se-sd-se-sw-ae,
|
|
@@ -316,29 +335,24 @@
|
|
|
316
335
|
--_ctm-mob-dn-im-se-sd-se-ue,
|
|
317
336
|
var(--_ctm-tab-dn-im-se-sd-se-ue, var(--_ctm-dn-im-se-sd-se-ue))
|
|
318
337
|
);
|
|
338
|
+
--_sf-sd-tt-tm: var(
|
|
339
|
+
--_ctm-mob-dn-im-se-sd-se-tt-tm,
|
|
340
|
+
var(--_ctm-tab-dn-im-se-sd-se-tt-tm, var(--_ctm-dn-im-se-sd-se-tt-tm))
|
|
341
|
+
);
|
|
342
|
+
--_sf-sd-wd-wp: var(
|
|
343
|
+
--_ctm-mob-dn-im-se-sd-se-wd-wp,
|
|
344
|
+
var(--_ctm-tab-dn-im-se-sd-se-wd-wp, var(--_ctm-dn-im-se-sd-se-wd-wp))
|
|
345
|
+
);
|
|
346
|
+
--_sf-sd-wd-bk: var(
|
|
347
|
+
--_ctm-mob-dn-im-se-sd-se-wd-bk,
|
|
348
|
+
var(--_ctm-tab-dn-im-se-sd-se-wd-bk, var(--_ctm-dn-im-se-sd-se-wd-bk))
|
|
349
|
+
);
|
|
319
350
|
--_sf-sd-pg: var(
|
|
320
351
|
--_ctm-mob-dn-im-se-sd-se-pg,
|
|
321
352
|
var(--_ctm-tab-dn-im-se-sd-se-pg, var(--_ctm-dn-im-se-sd-se-pg))
|
|
322
353
|
);
|
|
323
354
|
}
|
|
324
355
|
|
|
325
|
-
&[data-flag-style="Rounded"] {
|
|
326
|
-
.language__flag {
|
|
327
|
-
border-radius: 5px;
|
|
328
|
-
svg {
|
|
329
|
-
border-radius: 5px;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
&[data-flag-style="Circle"] {
|
|
334
|
-
.language__flag {
|
|
335
|
-
border-radius: 50%;
|
|
336
|
-
svg {
|
|
337
|
-
border-radius: 50%;
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
|
|
342
356
|
.option {
|
|
343
357
|
width: 100%;
|
|
344
358
|
display: flex;
|
|
@@ -348,6 +362,9 @@
|
|
|
348
362
|
|
|
349
363
|
position: relative;
|
|
350
364
|
box-sizing: border-box;
|
|
365
|
+
// Without this a flex item refuses to shrink below its content width, so a
|
|
366
|
+
// larger font size pushed the label straight out of the widget.
|
|
367
|
+
min-width: 0;
|
|
351
368
|
|
|
352
369
|
padding: var(--_sf-hr-pg, prepareMediaVariable(--_ctm-dn-im-se-dt-se-pg));
|
|
353
370
|
gap: var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg)));
|
|
@@ -364,6 +381,10 @@
|
|
|
364
381
|
var(--_sf-hr-sw-cr, prepareMediaVariable(--_ctm-dn-im-se-dt-se-sw-cr));
|
|
365
382
|
//
|
|
366
383
|
&[data-selected="true"] {
|
|
384
|
+
// `.option` only ever declared padding from the hover variable, so
|
|
385
|
+
// `--_sf-sd-pg` was set by the selected-state block but never read and
|
|
386
|
+
// Selected > Padding did nothing.
|
|
387
|
+
padding: var(--_sf-sd-pg, prepareMediaVariable(--_ctm-dn-im-se-dt-se-pg));
|
|
367
388
|
border-color: var(--_sf-sd-br-cr, prepareMediaVariable(--_ctm-dn-im-se-dt-se-br-cr));
|
|
368
389
|
|
|
369
390
|
background-color: var(--_sf-sd-bd-cr, prepareMediaVariable(--_ctm-dn-im-se-dt-se-bd-cr));
|
|
@@ -387,7 +408,17 @@
|
|
|
387
408
|
letter-spacing: var(--_sf-sd-lr-sg, prepareMediaVariable(--_ctm-dn-im-se-dt-se-lr-sg));
|
|
388
409
|
line-height: var(--_sf-sd-le-ht, prepareMediaVariable(--_ctm-dn-im-se-dt-se-le-ht-dc));
|
|
389
410
|
text-decoration: var(--_sf-sd-ue, prepareMediaVariable(--_ctm-dn-im-se-dt-se-ue));
|
|
390
|
-
|
|
411
|
+
text-transform: var(--_sf-sd-tt-tm, prepareMediaVariable(--_ctm-dn-im-se-dt-se-tt-tm));
|
|
412
|
+
word-wrap: var(
|
|
413
|
+
--_sf-sd-wd-wp,
|
|
414
|
+
prepareMediaVariable(--_ctm-dn-im-se-dt-se-wd-wp, normal)
|
|
415
|
+
);
|
|
416
|
+
word-break: var(
|
|
417
|
+
--_sf-sd-wd-bk,
|
|
418
|
+
prepareMediaVariable(--_ctm-dn-im-se-dt-se-wd-bk, normal)
|
|
419
|
+
);
|
|
420
|
+
-webkit-line-clamp: var(--_sf-it-clamp-sd, var(--_sf-it-clamp, 1));
|
|
421
|
+
white-space: var(--_sf-it-ws-sd, var(--_sf-it-ws, nowrap));
|
|
391
422
|
}
|
|
392
423
|
}
|
|
393
424
|
}
|
|
@@ -399,7 +430,55 @@
|
|
|
399
430
|
&[data-flex-direction="row"] {
|
|
400
431
|
overflow-x: auto;
|
|
401
432
|
}
|
|
402
|
-
|
|
433
|
+
// Matched when *either* state wants a divider, so the rules below exist and each
|
|
434
|
+
// state can then decide visibility for itself — gating on the default state alone
|
|
435
|
+
// meant a divider switched on only for hover could never appear.
|
|
436
|
+
&:is([data-show-divider="true"], [data-show-divider-hover="true"]) {
|
|
437
|
+
// Divider weight/colour resolve through these two, so the hover block below
|
|
438
|
+
// only has to re-point them. Previously the declarations read the default
|
|
439
|
+
// state's variables directly and the Widget Style > Hover > Divider controls
|
|
440
|
+
// wrote to `--_ctm-dn-wt-se-hr-se-dr-*`, which nothing ever read.
|
|
441
|
+
--_sf-dr-wt: var(
|
|
442
|
+
--_ctm-mob-dn-wt-se-dt-se-dr-wt,
|
|
443
|
+
var(--_ctm-tab-dn-wt-se-dt-se-dr-wt, var(--_ctm-dn-wt-se-dt-se-dr-wt))
|
|
444
|
+
);
|
|
445
|
+
--_sf-dr-cr: var(
|
|
446
|
+
--_ctm-mob-dn-wt-se-dt-se-dr-cr,
|
|
447
|
+
var(--_ctm-tab-dn-wt-se-dt-se-dr-cr, var(--_ctm-dn-wt-se-dt-se-dr-cr))
|
|
448
|
+
);
|
|
449
|
+
|
|
450
|
+
// Divider lives under Widget Style, so its hover state is the *widget* being
|
|
451
|
+
// hovered, not an individual option. Scoping this to `.option:hover` only
|
|
452
|
+
// repainted the hovered option's own divider, which read as "not working".
|
|
453
|
+
&:hover {
|
|
454
|
+
--_sf-dr-wt: var(
|
|
455
|
+
--_ctm-mob-dn-wt-se-hr-se-dr-wt,
|
|
456
|
+
var(
|
|
457
|
+
--_ctm-tab-dn-wt-se-hr-se-dr-wt,
|
|
458
|
+
var(
|
|
459
|
+
--_ctm-dn-wt-se-hr-se-dr-wt,
|
|
460
|
+
var(
|
|
461
|
+
--_ctm-mob-dn-wt-se-dt-se-dr-wt,
|
|
462
|
+
var(--_ctm-tab-dn-wt-se-dt-se-dr-wt, var(--_ctm-dn-wt-se-dt-se-dr-wt))
|
|
463
|
+
)
|
|
464
|
+
)
|
|
465
|
+
)
|
|
466
|
+
);
|
|
467
|
+
--_sf-dr-cr: var(
|
|
468
|
+
--_ctm-mob-dn-wt-se-hr-se-dr-cr,
|
|
469
|
+
var(
|
|
470
|
+
--_ctm-tab-dn-wt-se-hr-se-dr-cr,
|
|
471
|
+
var(
|
|
472
|
+
--_ctm-dn-wt-se-hr-se-dr-cr,
|
|
473
|
+
var(
|
|
474
|
+
--_ctm-mob-dn-wt-se-dt-se-dr-cr,
|
|
475
|
+
var(--_ctm-tab-dn-wt-se-dt-se-dr-cr, var(--_ctm-dn-wt-se-dt-se-dr-cr))
|
|
476
|
+
)
|
|
477
|
+
)
|
|
478
|
+
)
|
|
479
|
+
);
|
|
480
|
+
}
|
|
481
|
+
|
|
403
482
|
&[data-flex-direction="row"] {
|
|
404
483
|
.option:not(:last-child)::before {
|
|
405
484
|
content: "";
|
|
@@ -416,14 +495,8 @@
|
|
|
416
495
|
2
|
|
417
496
|
)
|
|
418
497
|
); /* Half of your gap, assuming divider is centered in the gap */
|
|
419
|
-
width: var(
|
|
420
|
-
|
|
421
|
-
var(--_ctm-tab-dn-wt-se-dt-se-dr-wt, var(--_ctm-dn-wt-se-dt-se-dr-wt))
|
|
422
|
-
); /* Divider thickness */
|
|
423
|
-
background-color: var(
|
|
424
|
-
--_ctm-mob-dn-wt-se-dt-se-dr-cr,
|
|
425
|
-
var(--_ctm-tab-dn-wt-se-dt-se-dr-cr, var(--_ctm-dn-wt-se-dt-se-dr-cr))
|
|
426
|
-
); /* Divider color */
|
|
498
|
+
width: var(--_sf-dr-wt); /* Divider thickness */
|
|
499
|
+
background-color: var(--_sf-dr-cr); /* Divider color */
|
|
427
500
|
}
|
|
428
501
|
}
|
|
429
502
|
&[data-flex-direction="column"] {
|
|
@@ -442,16 +515,23 @@
|
|
|
442
515
|
2
|
|
443
516
|
)
|
|
444
517
|
);
|
|
445
|
-
height: var(
|
|
446
|
-
|
|
447
|
-
var(--_ctm-tab-dn-wt-se-dt-se-dr-wt, var(--_ctm-dn-wt-se-dt-se-dr-wt))
|
|
448
|
-
);
|
|
449
|
-
background-color: var(
|
|
450
|
-
--_ctm-mob-dn-wt-se-dt-se-dr-cr,
|
|
451
|
-
var(--_ctm-tab-dn-wt-se-dt-se-dr-cr, var(--_ctm-dn-wt-se-dt-se-dr-cr))
|
|
452
|
-
);
|
|
518
|
+
height: var(--_sf-dr-wt);
|
|
519
|
+
background-color: var(--_sf-dr-cr);
|
|
453
520
|
}
|
|
454
521
|
}
|
|
522
|
+
|
|
523
|
+
// Each state's own Show Divider switch. Declared last so they win over the
|
|
524
|
+
// `::before` rules above, and split by state so turning the divider off for
|
|
525
|
+
// hover only affects the hovered widget.
|
|
526
|
+
&[data-show-divider="false"] .option::before {
|
|
527
|
+
display: none;
|
|
528
|
+
}
|
|
529
|
+
&[data-show-divider-hover="false"]:hover .option::before {
|
|
530
|
+
display: none;
|
|
531
|
+
}
|
|
532
|
+
&[data-show-divider-hover="true"]:hover .option:not(:last-child)::before {
|
|
533
|
+
display: block;
|
|
534
|
+
}
|
|
455
535
|
}
|
|
456
536
|
|
|
457
537
|
.option_select {
|
|
@@ -461,8 +541,12 @@
|
|
|
461
541
|
justify-content: var(--_ctm-mob-lt-at, var(--_ctm-tab-lt-at, var(--_ctm-lt-at)));
|
|
462
542
|
|
|
463
543
|
position: relative;
|
|
544
|
+
min-width: 0;
|
|
464
545
|
|
|
465
|
-
// padding
|
|
546
|
+
// Widget Placeholder Text > padding. It used to sit on `.value__selected__new`
|
|
547
|
+
// only, which is the *empty* state — as soon as an option was selected the
|
|
548
|
+
// markup switched to this branch and the padding appeared to do nothing.
|
|
549
|
+
padding: prepareMediaVariable(--_ctm-dn-wt-pr-tt-pg);
|
|
466
550
|
gap: var(--_ctm-mob-lt-im-sg, var(--_ctm-tab-lt-im-sg, var(--_ctm-lt-im-sg)));
|
|
467
551
|
.language__name {
|
|
468
552
|
width: 100%;
|
|
@@ -475,16 +559,9 @@
|
|
|
475
559
|
text-align: prepareMediaVariable(--_ctm-dn-wt-pr-tt-tt-an);
|
|
476
560
|
letter-spacing: prepareMediaVariable(--_ctm-dn-wt-pr-tt-lr-sg);
|
|
477
561
|
line-height: prepareMediaVariable(--_ctm-dn-wt-pr-tt-le-ht);
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
.language__flag {
|
|
482
|
-
width: var(--_ctm-mob-lt-fg-se, var(--_ctm-tab-lt-fg-se, var(--_ctm-lt-fg-se)));
|
|
483
|
-
height: var(--_ctm-mob-lt-fg-se, var(--_ctm-tab-lt-fg-se, var(--_ctm-lt-fg-se)));
|
|
484
|
-
object-fit: cover;
|
|
485
|
-
> svg {
|
|
486
|
-
width: 100%;
|
|
487
|
-
height: 100%;
|
|
562
|
+
text-transform: prepareMediaVariable(--_ctm-dn-wt-pr-tt-tt-tm);
|
|
563
|
+
word-wrap: prepareMediaVariable(--_ctm-dn-wt-pr-tt-wd-wp, normal);
|
|
564
|
+
word-break: prepareMediaVariable(--_ctm-dn-wt-pr-tt-wd-bk, normal);
|
|
488
565
|
}
|
|
489
566
|
}
|
|
490
567
|
|
|
@@ -498,8 +575,34 @@
|
|
|
498
575
|
letter-spacing: var(--_sf-hr-lr-sg, prepareMediaVariable(--_ctm-dn-im-se-dt-se-lr-sg));
|
|
499
576
|
line-height: var(--_sf-hr-le-ht, prepareMediaVariable(--_ctm-dn-im-se-dt-se-le-ht));
|
|
500
577
|
text-decoration: var(--_sf-hr-ue, prepareMediaVariable(--_ctm-dn-im-se-dt-se-ue));
|
|
501
|
-
|
|
502
|
-
|
|
578
|
+
text-transform: var(--_sf-hr-tt-tm, prepareMediaVariable(--_ctm-dn-im-se-dt-se-tt-tm));
|
|
579
|
+
word-wrap: var(--_sf-hr-wd-wp, prepareMediaVariable(--_ctm-dn-im-se-dt-se-wd-wp, normal));
|
|
580
|
+
word-break: var(--_sf-hr-wd-bk, prepareMediaVariable(--_ctm-dn-im-se-dt-se-wd-bk, normal));
|
|
581
|
+
|
|
582
|
+
// text-align only has room to act once the label owns the line box — as a
|
|
583
|
+
// content-sized flex item it hugged its text, so every alignment looked the
|
|
584
|
+
// same. `min-width: 0` keeps it shrinkable so a larger font size truncates
|
|
585
|
+
// instead of overflowing the widget.
|
|
586
|
+
flex: 1 1 auto;
|
|
587
|
+
min-width: 0;
|
|
588
|
+
max-width: 100%;
|
|
589
|
+
|
|
590
|
+
// Text Overflow is driven entirely by the two clamp custom properties the
|
|
591
|
+
// element sets per interaction state (see LanguageMenuElement/DropdownComponent):
|
|
592
|
+
// off resolves to 1 nowrap line, on to N wrapped lines. Keeping the box display
|
|
593
|
+
// constant means the hover and selected rules below only have to swap the pair,
|
|
594
|
+
// which a marker class could not express.
|
|
595
|
+
display: -webkit-box;
|
|
596
|
+
-webkit-box-orient: vertical;
|
|
597
|
+
overflow: hidden;
|
|
598
|
+
text-overflow: ellipsis;
|
|
599
|
+
-webkit-line-clamp: var(--_sf-it-clamp, 1);
|
|
600
|
+
white-space: var(--_sf-it-ws, nowrap);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
.option:hover .language__name {
|
|
604
|
+
-webkit-line-clamp: var(--_sf-it-clamp-hr, var(--_sf-it-clamp, 1));
|
|
605
|
+
white-space: var(--_sf-it-ws-hr, var(--_sf-it-ws, nowrap));
|
|
503
606
|
}
|
|
504
607
|
|
|
505
608
|
//Dropdown
|
|
@@ -518,7 +621,16 @@
|
|
|
518
621
|
letter-spacing: prepareMediaVariable(--_ctm-dn-wt-pr-tt-lr-sg);
|
|
519
622
|
line-height: prepareMediaVariable(--_ctm-dn-wt-pr-tt-le-ht);
|
|
520
623
|
padding: prepareMediaVariable(--_ctm-dn-wt-pr-tt-pg);
|
|
521
|
-
|
|
624
|
+
text-transform: prepareMediaVariable(--_ctm-dn-wt-pr-tt-tt-tm);
|
|
625
|
+
word-wrap: prepareMediaVariable(--_ctm-dn-wt-pr-tt-wd-wp, normal);
|
|
626
|
+
word-break: prepareMediaVariable(--_ctm-dn-wt-pr-tt-wd-bk, normal);
|
|
627
|
+
min-width: 0;
|
|
628
|
+
display: -webkit-box;
|
|
629
|
+
-webkit-box-orient: vertical;
|
|
630
|
+
overflow: hidden;
|
|
631
|
+
text-overflow: ellipsis;
|
|
632
|
+
-webkit-line-clamp: var(--_sf-it-clamp, 1);
|
|
633
|
+
white-space: var(--_sf-it-ws, nowrap);
|
|
522
634
|
}
|
|
523
635
|
.est__dropdown__main {
|
|
524
636
|
position: relative;
|
|
@@ -639,13 +751,10 @@
|
|
|
639
751
|
);
|
|
640
752
|
}
|
|
641
753
|
.option_select {
|
|
642
|
-
//
|
|
643
|
-
//
|
|
644
|
-
-
|
|
645
|
-
-webkit-box-orient: vertical;
|
|
754
|
+
// Truncation is handled by `.language__name` inside, which knows whether
|
|
755
|
+
// Text Overflow is on and how many lines to clamp to. A `white-space:
|
|
756
|
+
// nowrap` here inherited down and defeated the multi-line clamp.
|
|
646
757
|
overflow: hidden;
|
|
647
|
-
text-overflow: ellipsis;
|
|
648
|
-
white-space: nowrap;
|
|
649
758
|
}
|
|
650
759
|
}
|
|
651
760
|
|
|
@@ -655,6 +764,15 @@
|
|
|
655
764
|
width: 100%;
|
|
656
765
|
position: relative;
|
|
657
766
|
gap: 8px;
|
|
767
|
+
// Keeps the label shrinkable so a larger font size truncates instead of
|
|
768
|
+
// pushing the toggle icon out of the widget.
|
|
769
|
+
min-width: 0;
|
|
770
|
+
|
|
771
|
+
& > .option_select,
|
|
772
|
+
& > .value__selected__new {
|
|
773
|
+
flex: 1 1 auto;
|
|
774
|
+
min-width: 0;
|
|
775
|
+
}
|
|
658
776
|
}
|
|
659
777
|
|
|
660
778
|
.est__dropdown__icon {
|
package/dist/light-box-v2.scss
CHANGED
|
@@ -22,9 +22,9 @@ $activeElementSelector: "[data-has-clicked='true']";
|
|
|
22
22
|
0.00625 * (var(--_cms-scaling-factor) - var(--_cms-scrollbar-width))
|
|
23
23
|
);
|
|
24
24
|
|
|
25
|
-
&:has(#{$activeElementSelector}) {
|
|
26
|
-
|
|
27
|
-
}
|
|
25
|
+
// &:has(#{$activeElementSelector}) {
|
|
26
|
+
// // border: 1px solid var(--_accent-color-2-500);
|
|
27
|
+
// }
|
|
28
28
|
|
|
29
29
|
& > div {
|
|
30
30
|
&#{$mnwr} {
|
|
@@ -54,6 +54,7 @@ $activeElementSelector: "[data-has-clicked='true']";
|
|
|
54
54
|
);
|
|
55
55
|
max-width: 100%;
|
|
56
56
|
max-height: 9999px;
|
|
57
|
+
padding: prepareMediaVariable(--_ctm-lig-lt-pg);
|
|
57
58
|
&[data-background-type="color"] {
|
|
58
59
|
background-color: prepareMediaVariable(--_ctm-lig-dn-bd-cr);
|
|
59
60
|
}
|