@sc-360-v2/storefront-cms-library 0.5.63 → 0.5.65
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/allocationDetails.scss +34 -53
- package/dist/builder.js +1 -1
- package/dist/countdown.scss +47 -4
- package/dist/filters.scss +344 -83
- package/dist/icons-builder.js +1 -1
- package/dist/icons-website.js +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.js +1 -1
- package/dist/login.scss +6 -2
- package/dist/product-actions.scss +2872 -2585
- package/dist/product-highlights.scss +48 -50
- package/dist/product-image-allocation.scss +35 -59
- package/dist/quotes.scss +84 -3
- package/dist/table.scss +141 -39
- package/dist/types/builder/elements/bundle-categories/index.d.ts +35 -0
- package/dist/types/builder/index.d.ts +2 -1
- package/dist/types/builder/tools/element-edit/bundleCategories.d.ts +30 -0
- package/dist/types/builder/tools/element-edit/countdown.d.ts +8 -2
- package/dist/types/builder/tools/element-edit/filters.d.ts +3 -0
- package/dist/types/builder/tools/element-edit/index.d.ts +2 -1
- package/dist/types/builder/tools/element-edit/productActions.d.ts +3 -0
- package/dist/types/builder/tools/element-edit/quotes.d.ts +50 -0
- package/dist/types/builder/tools/element-edit/table.d.ts +14 -0
- package/dist/uploadMedia.js +1 -1
- package/package.json +1 -1
|
@@ -103,63 +103,61 @@
|
|
|
103
103
|
.item {
|
|
104
104
|
width: prepareMediaVariable(--_ctm-lt-im-wh);
|
|
105
105
|
height: prepareMediaVariable(--_ctm-lt-im-ht);
|
|
106
|
-
padding: var(--_ctm-mob-lt-im-pg, var(--_ctm-tab-lt-im-pg, var(--_ctm-lt-im-pg)));
|
|
107
106
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
position: relative;
|
|
108
|
+
img {
|
|
109
|
+
object-fit: cover;
|
|
110
|
+
display: block;
|
|
111
|
+
height: 100%;
|
|
112
|
+
width: 100%;
|
|
113
|
+
box-sizing: border-box;
|
|
112
114
|
|
|
113
|
-
|
|
114
|
-
--_ctm-mob-dn-im-se-br-cr,
|
|
115
|
-
var(--_ctm-tab-dn-im-se-br-cr, var(--_ctm-dn-im-se-br-cr))
|
|
116
|
-
);
|
|
115
|
+
padding: var(--_ctm-mob-lt-im-pg, var(--_ctm-tab-lt-im-pg, var(--_ctm-lt-im-pg)));
|
|
117
116
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
background-color: var(
|
|
118
|
+
--_ctm-mob-dn-im-se-bd-cr,
|
|
119
|
+
var(--_ctm-tab-dn-im-se-bd-cr, var(--_ctm-dn-im-se-bd-cr))
|
|
120
|
+
);
|
|
122
121
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
122
|
+
border-color: var(
|
|
123
|
+
--_ctm-mob-dn-im-se-br-cr,
|
|
124
|
+
var(--_ctm-tab-dn-im-se-br-cr, var(--_ctm-dn-im-se-br-cr))
|
|
125
|
+
);
|
|
127
126
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
border-style: var(
|
|
128
|
+
--_ctm-mob-dn-im-se-br-se,
|
|
129
|
+
var(--_ctm-tab-dn-im-se-br-se, var(--_ctm-dn-im-se-br-se))
|
|
130
|
+
);
|
|
132
131
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
var(--_ctm-tab-dn-im-se-sw-ae, var(--_ctm-dn-im-se-sw-ae))
|
|
138
|
-
)
|
|
139
|
-
var(
|
|
140
|
-
--_ctm-mob-dn-im-se-sw-br,
|
|
141
|
-
var(--_ctm-tab-dn-im-se-sw-br, var(--_ctm-dn-im-se-sw-br))
|
|
142
|
-
)
|
|
143
|
-
var(
|
|
144
|
-
--_ctm-mob-dn-im-se-sw-sd,
|
|
145
|
-
var(--_ctm-tab-dn-im-se-sw-sd, var(--_ctm-dn-im-se-sw-sd))
|
|
146
|
-
)
|
|
147
|
-
var(
|
|
148
|
-
--_ctm-mob-dn-im-se-sw-cr,
|
|
149
|
-
var(--_ctm-tab-dn-im-se-sw-cr, var(--_ctm-dn-im-se-sw-cr))
|
|
150
|
-
)
|
|
151
|
-
);
|
|
132
|
+
border-width: var(
|
|
133
|
+
--_ctm-mob-dn-im-se-br-wh,
|
|
134
|
+
var(--_ctm-tab-dn-im-se-br-wh, var(--_ctm-dn-im-se-br-wh))
|
|
135
|
+
);
|
|
152
136
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
137
|
+
border-radius: var(
|
|
138
|
+
--_ctm-mob-dn-im-se-br-rs,
|
|
139
|
+
var(--_ctm-tab-dn-im-se-br-rs, var(--_ctm-dn-im-se-br-rs))
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
box-shadow: var(
|
|
143
|
+
--_show-shadow,
|
|
144
|
+
var(
|
|
145
|
+
--_ctm-mob-dn-im-se-sw-ae,
|
|
146
|
+
var(--_ctm-tab-dn-im-se-sw-ae, var(--_ctm-dn-im-se-sw-ae))
|
|
147
|
+
)
|
|
148
|
+
var(
|
|
149
|
+
--_ctm-mob-dn-im-se-sw-br,
|
|
150
|
+
var(--_ctm-tab-dn-im-se-sw-br, var(--_ctm-dn-im-se-sw-br))
|
|
151
|
+
)
|
|
152
|
+
var(
|
|
153
|
+
--_ctm-mob-dn-im-se-sw-sd,
|
|
154
|
+
var(--_ctm-tab-dn-im-se-sw-sd, var(--_ctm-dn-im-se-sw-sd))
|
|
155
|
+
)
|
|
156
|
+
var(
|
|
157
|
+
--_ctm-mob-dn-im-se-sw-cr,
|
|
158
|
+
var(--_ctm-tab-dn-im-se-sw-cr, var(--_ctm-dn-im-se-sw-cr))
|
|
159
|
+
)
|
|
160
|
+
);
|
|
163
161
|
}
|
|
164
162
|
}
|
|
165
163
|
.items__container {
|
|
@@ -512,23 +512,20 @@
|
|
|
512
512
|
margin-top: 10px;
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
515
|
+
// Background Shape, exactly as the Gallery Slider element does it: the button is
|
|
516
|
+
// a circle by default, "None" squares it off and "Square" gives it the 4px
|
|
517
|
+
// rounding. Keyed off the BUTTON rather than the `.embla` container, because
|
|
518
|
+
// that is the one place both carousel components publish the attribute.
|
|
519
|
+
.left-button,
|
|
520
|
+
.right-button {
|
|
521
|
+
&[data-background-shape="None"] {
|
|
522
|
+
border-radius: 0;
|
|
519
523
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
// --_ctm-mob-dn-ie-pn-as-bd-cr,
|
|
526
|
-
// var(--_ctm-tab-dn-ie-pn-as-bd-cr, var(--_ctm-dn-ie-pn-as-bd-cr))
|
|
527
|
-
// );
|
|
528
|
-
&:not(:disabled):hover {
|
|
529
|
-
@include BgColorLighter(var(--_thm-py-bs-hr-se-bd-cr), 5%);
|
|
530
|
-
}
|
|
531
|
-
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
524
|
+
&[data-background-shape="Round"] {
|
|
525
|
+
border-radius: 50%;
|
|
526
|
+
}
|
|
527
|
+
&[data-background-shape="Square"] {
|
|
528
|
+
border-radius: 4px;
|
|
532
529
|
}
|
|
533
530
|
}
|
|
534
531
|
|
|
@@ -638,37 +635,16 @@
|
|
|
638
635
|
}
|
|
639
636
|
}
|
|
640
637
|
}
|
|
641
|
-
// Image > Pagination Arrows
|
|
642
|
-
//
|
|
643
|
-
//
|
|
644
|
-
//
|
|
645
|
-
//
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
padding: prepareMediaVariable(--_ctm-dn-ie-pn-as-pg, 10px);
|
|
652
|
-
background-color: prepareMediaVariable(--_ctm-dn-ie-pn-as-bd-cr, transparent);
|
|
653
|
-
border-color: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-cr, transparent);
|
|
654
|
-
border-style: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-se, solid);
|
|
655
|
-
border-width: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-wh, 0);
|
|
656
|
-
// Falls back to 50%, NOT prepareMediaVariable's `inherit` tail — an arrow with
|
|
657
|
-
// no configured radius has always been a circle.
|
|
658
|
-
border-radius: prepareMediaVariable(--_ctm-dn-ie-pn-as-br-rs, 50%);
|
|
659
|
-
// Shadow is opt-in: these arrows have never cast one, so it only appears once
|
|
660
|
-
// Show Shadow is switched on.
|
|
661
|
-
box-shadow: none;
|
|
662
|
-
|
|
663
|
-
&[data-show-shadow="true"] {
|
|
664
|
-
box-shadow: prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-ae, 0 0)
|
|
665
|
-
prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-br, 0)
|
|
666
|
-
prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-sd, 0)
|
|
667
|
-
prepareMediaVariable(--_ctm-dn-ie-pn-as-sw-cr, transparent);
|
|
668
|
-
}
|
|
669
|
-
|
|
670
|
-
&[data-show-border="false"] {
|
|
671
|
-
border: none;
|
|
638
|
+
// Image > Pagination Arrows. Only what the panel offers: Background Color and
|
|
639
|
+
// Arrow Color (Background Shape is handled on the container above, Arrow Size by
|
|
640
|
+
// the two rules before this one). Same treatment the Gallery Slider element uses
|
|
641
|
+
// — the chosen fill is mixed down to 10%, lifting to 20% on hover, so a solid
|
|
642
|
+
// colour reads as a tint behind the glyph rather than a hard disc.
|
|
643
|
+
:is(.left-button, .right-button) {
|
|
644
|
+
@include BgColorLighter(var(--_ctm-dn-ie-pn-as-bd-cr), 10%);
|
|
645
|
+
|
|
646
|
+
&:not(:disabled):hover {
|
|
647
|
+
@include BgColorLighter(var(--_ctm-dn-ie-pn-as-bd-cr), 20%);
|
|
672
648
|
}
|
|
673
649
|
|
|
674
650
|
// Arrow Color. Applied to the svg itself and to any descendant that carries a
|
|
@@ -686,15 +662,6 @@
|
|
|
686
662
|
fill: prepareMediaVariable(--_ctm-dn-ie-pn-as-aw-cr, var(--_gray-500));
|
|
687
663
|
}
|
|
688
664
|
}
|
|
689
|
-
|
|
690
|
-
// Background Shape overrides the configured radius when it is set to something
|
|
691
|
-
// definite; "None" leaves the radius alone.
|
|
692
|
-
&[data-background-shape="Round"] {
|
|
693
|
-
border-radius: 50%;
|
|
694
|
-
}
|
|
695
|
-
&[data-background-shape="Square"] {
|
|
696
|
-
border-radius: 0;
|
|
697
|
-
}
|
|
698
665
|
}
|
|
699
666
|
|
|
700
667
|
.icon {
|
|
@@ -976,15 +943,24 @@
|
|
|
976
943
|
|
|
977
944
|
border-color: var(
|
|
978
945
|
--_show-im-border,
|
|
979
|
-
var(
|
|
946
|
+
var(
|
|
947
|
+
--_ctm-mob-dn-ie-im-se-br-cr,
|
|
948
|
+
var(--_ctm-tab-dn-ie-im-se-br-cr, var(--_ctm-dn-ie-im-se-br-cr))
|
|
949
|
+
)
|
|
980
950
|
);
|
|
981
951
|
border-style: var(
|
|
982
952
|
--_show-im-border,
|
|
983
|
-
var(
|
|
953
|
+
var(
|
|
954
|
+
--_ctm-mob-dn-ie-im-se-br-se,
|
|
955
|
+
var(--_ctm-tab-dn-ie-im-se-br-se, var(--_ctm-dn-ie-im-se-br-se))
|
|
956
|
+
)
|
|
984
957
|
);
|
|
985
958
|
border-width: var(
|
|
986
959
|
--_show-im-border,
|
|
987
|
-
var(
|
|
960
|
+
var(
|
|
961
|
+
--_ctm-mob-dn-ie-im-se-br-wh,
|
|
962
|
+
var(--_ctm-tab-dn-ie-im-se-br-wh, var(--_ctm-dn-ie-im-se-br-wh))
|
|
963
|
+
)
|
|
988
964
|
);
|
|
989
965
|
border-radius: var(
|
|
990
966
|
--_ctm-mob-dn-ie-im-se-br-rs,
|
package/dist/quotes.scss
CHANGED
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
$resizerId: "[data-cms-tool='cms-element-resizer']";
|
|
6
6
|
$resizeActive: '[data-cms-element-resizer="true"]';
|
|
7
|
+
|
|
8
|
+
// Design > Icon Actions: the CSS-variable scope of each quick action's sub-section,
|
|
9
|
+
// keyed by the class its span carries. `splitCamelCaseAndJoin` turns the schema's
|
|
10
|
+
// selector keys into these codes, e.g. `sendMessageIcon` -> `sd-me-in`.
|
|
11
|
+
$quote-action-icons: (
|
|
12
|
+
"quotes_send": "sd-me-in",
|
|
13
|
+
"quotes_download": "dd-in",
|
|
14
|
+
"quotes_print": "pt-in",
|
|
15
|
+
"quotes_view": "vw-in",
|
|
16
|
+
"quotes_cancel": "cl-in",
|
|
17
|
+
);
|
|
7
18
|
[data-div-type="element"] {
|
|
8
19
|
&[data-element-type="quotes"] {
|
|
9
20
|
width: var(
|
|
@@ -20,7 +31,7 @@ $resizeActive: '[data-cms-element-resizer="true"]';
|
|
|
20
31
|
|
|
21
32
|
& > div {
|
|
22
33
|
&.wrapper {
|
|
23
|
-
width:
|
|
34
|
+
width: prepareMediaVariable(--_ctm-lt-wh);
|
|
24
35
|
padding: var(--_ctm-mob-lt-pg, var(--_ctm-tab-lt-pg, var(--_ctm-lt-pg)));
|
|
25
36
|
&[data-divider-type="true"] .metric_item {
|
|
26
37
|
border: 0px !important;
|
|
@@ -291,6 +302,34 @@ $resizeActive: '[data-cms-element-resizer="true"]';
|
|
|
291
302
|
flex: 1 0 0;
|
|
292
303
|
align-self: stretch;
|
|
293
304
|
font-size: 14px;
|
|
305
|
+
& > span {
|
|
306
|
+
display: inline-flex;
|
|
307
|
+
align-items: center;
|
|
308
|
+
cursor: pointer;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
// Design > Icons gives each action a tab of its own, so each reads its
|
|
312
|
+
// own size / color / stroke width rather than one shared set. The
|
|
313
|
+
// suffixes match the tabs in quotes-element-data.ts: Send, Download,
|
|
314
|
+
// Print, View, Cancel.
|
|
315
|
+
// Design > Icon Actions gives each action a sub-section of its own, so
|
|
316
|
+
// each reads its own size / color / stroke width rather than one shared
|
|
317
|
+
// set. The codes are what `splitCamelCaseAndJoin` makes of those
|
|
318
|
+
// sub-sections: sendMessageIcon -> sd-me-in, downloadIcon -> dd-in, and
|
|
319
|
+
// so on. The fallbacks keep quotes saved before this section looking as
|
|
320
|
+
// they always have.
|
|
321
|
+
@each $class, $scope in $quote-action-icons {
|
|
322
|
+
.#{$class} span svg {
|
|
323
|
+
width: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-in-se, 20px);
|
|
324
|
+
height: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-in-se, 20px);
|
|
325
|
+
|
|
326
|
+
path {
|
|
327
|
+
stroke: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-in-cr, #667085);
|
|
328
|
+
// Overrides the stroke-width presentation attribute baked into the icon markup.
|
|
329
|
+
stroke-width: prepareMediaVariable(--_ctm-dn-in-as-#{$scope}-se-wh, 1.67);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
294
333
|
}
|
|
295
334
|
}
|
|
296
335
|
}
|
|
@@ -475,8 +514,43 @@ $resizeActive: '[data-cms-element-resizer="true"]';
|
|
|
475
514
|
&[data-background-shape="Round"] {
|
|
476
515
|
.left-button,
|
|
477
516
|
.right-button {
|
|
478
|
-
|
|
479
|
-
|
|
517
|
+
// Pagination Arrows > Background Color, tinted rather than applied flat:
|
|
518
|
+
// 10% of the picked color at rest and 20% on hover, so the arrow reads as
|
|
519
|
+
// a soft chip over the card and the hover is a visible step up. Falls back
|
|
520
|
+
// to the grey these buttons have always used when no color is picked.
|
|
521
|
+
@include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 10%);
|
|
522
|
+
|
|
523
|
+
// Disabled arrows keep the resting tint — a hover response there would
|
|
524
|
+
// suggest a slide that cannot be reached.
|
|
525
|
+
&:not(:disabled):hover {
|
|
526
|
+
@include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 20%);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
// Square and None carry the same tint; only the corners differ. The 50% radius
|
|
531
|
+
// that rounds these buttons is set on `.left-button` / `.right-button` below,
|
|
532
|
+
// so both shapes have to state their own — 6px for Square, square corners for
|
|
533
|
+
// None.
|
|
534
|
+
&[data-background-shape="Square"] {
|
|
535
|
+
.left-button,
|
|
536
|
+
.right-button {
|
|
537
|
+
border-radius: 4px;
|
|
538
|
+
@include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 10%);
|
|
539
|
+
|
|
540
|
+
&:not(:disabled):hover {
|
|
541
|
+
@include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 20%);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
&[data-background-shape="None"] {
|
|
546
|
+
.left-button,
|
|
547
|
+
.right-button {
|
|
548
|
+
border-radius: 0;
|
|
549
|
+
@include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 10%);
|
|
550
|
+
|
|
551
|
+
&:not(:disabled):hover {
|
|
552
|
+
@include BgColorLighter(prepareMediaVariable(--_ctm-dn-pn-as-bd-cr, #f2f5f5), 20%);
|
|
553
|
+
}
|
|
480
554
|
}
|
|
481
555
|
}
|
|
482
556
|
&[data-control-type="Bottom-Overflow"] {
|
|
@@ -487,6 +561,13 @@ $resizeActive: '[data-cms-element-resizer="true"]';
|
|
|
487
561
|
top: unset;
|
|
488
562
|
bottom: 6px;
|
|
489
563
|
}
|
|
564
|
+
// Side-Overflow keeps the cards full width and lays an arrow over each edge,
|
|
565
|
+
// which is what the base rules above already do. Stated as its own block so the
|
|
566
|
+
// option is anchored to a rule rather than working by falling through — the
|
|
567
|
+
// reason the "Left" and "Right" it replaces were indistinguishable.
|
|
568
|
+
&[data-control-type="Side-Overflow"] {
|
|
569
|
+
justify-content: space-between;
|
|
570
|
+
}
|
|
490
571
|
&[data-control-type="Bottom"] {
|
|
491
572
|
transform: unset;
|
|
492
573
|
position: static;
|
package/dist/table.scss
CHANGED
|
@@ -26,9 +26,10 @@
|
|
|
26
26
|
& > .wrapper {
|
|
27
27
|
width: 100%;
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
// No `.pagination:hover` fill rule: hovering anywhere on the strip used to
|
|
30
|
+
// recolour the whole thing from the hover background key. The row's colour comes
|
|
31
|
+
// from Default Page Style now, and Hover State colours the page chip under the
|
|
32
|
+
// pointer rather than the entire bar.
|
|
32
33
|
|
|
33
34
|
.pagination .active:hover {
|
|
34
35
|
cursor: pointer;
|
|
@@ -46,9 +47,24 @@
|
|
|
46
47
|
--_sf-hr-lh: var(--_ctm-dn-pn-hr-se-le-ht, var(--_tst-dn-pn-hr-se-le-ht));
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
// Table Widget > Box Shadow, as an opt-in on the attribute rather than through the
|
|
51
|
+
// inherited `--_show-shadow` sentinel it used to use.
|
|
52
|
+
//
|
|
53
|
+
// `--_show-shadow` is a custom property, so it INHERITS. 69 element stylesheets
|
|
54
|
+
// set it to `none` on themselves when their own shadow is off, and any one of them
|
|
55
|
+
// wrapping a Table passed that `none` straight down — `var(--_show-shadow, …)`
|
|
56
|
+
// then resolved to `none` and never reached its fallback, so the Table's own Box
|
|
57
|
+
// Shadow did nothing. Keying off the element's own attribute cannot be inherited
|
|
58
|
+
// into. This is the same shape the Load More button in this file already uses.
|
|
59
|
+
&[data-widget-shadow="true"] {
|
|
50
60
|
.table__wrapper {
|
|
51
|
-
|
|
61
|
+
box-shadow: var(
|
|
62
|
+
--_ctm-mob-dn-te-wt-sw-ae,
|
|
63
|
+
var(--_ctm-tab-dn-te-wt-sw-ae, var(--_ctm-dn-te-wt-sw-ae))
|
|
64
|
+
)
|
|
65
|
+
var(--_ctm-mob-dn-te-wt-sw-br, var(--_ctm-tab-dn-te-wt-sw-br, var(--_ctm-dn-te-wt-sw-br)))
|
|
66
|
+
var(--_ctm-mob-dn-te-wt-sw-sd, var(--_ctm-tab-dn-te-wt-sw-sd, var(--_ctm-dn-te-wt-sw-sd)))
|
|
67
|
+
var(--_ctm-mob-dn-te-wt-sw-cr, var(--_ctm-tab-dn-te-wt-sw-cr, var(--_ctm-dn-te-wt-sw-cr)));
|
|
52
68
|
}
|
|
53
69
|
}
|
|
54
70
|
&[data-widget-border="true"] {
|
|
@@ -241,13 +257,8 @@
|
|
|
241
257
|
var(--_ctm-tab-dn-te-wt-br-rs, var(--_ctm-dn-te-wt-br-rs, var(--_tst-dn-te-wt-br-rs)))
|
|
242
258
|
);
|
|
243
259
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
var(--_ctm-mob-dn-te-wt-sw-ae, var(--_ctm-tab-dn-te-wt-sw-ae, var(--_ctm-dn-te-wt-sw-ae)))
|
|
247
|
-
var(--_ctm-mob-dn-te-wt-sw-br, var(--_ctm-tab-dn-te-wt-sw-br, var(--_ctm-dn-te-wt-sw-br)))
|
|
248
|
-
var(--_ctm-mob-dn-te-wt-sw-sd, var(--_ctm-tab-dn-te-wt-sw-sd, var(--_ctm-dn-te-wt-sw-sd)))
|
|
249
|
-
var(--_ctm-mob-dn-te-wt-sw-cr, var(--_ctm-tab-dn-te-wt-sw-cr, var(--_ctm-dn-te-wt-sw-cr)))
|
|
250
|
-
);
|
|
260
|
+
// Off by default; the `[data-widget-shadow="true"]` rule above turns it on.
|
|
261
|
+
box-shadow: none;
|
|
251
262
|
|
|
252
263
|
width: 100%;
|
|
253
264
|
|
|
@@ -375,11 +386,26 @@
|
|
|
375
386
|
}
|
|
376
387
|
tbody {
|
|
377
388
|
.tbody__row__divider {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
389
|
+
// Table Rows carries Default / Hover states now. The default state falls
|
|
390
|
+
// back to the old flat `te-rw-bd-cr`, which is what tables saved before
|
|
391
|
+
// the split still paint from.
|
|
392
|
+
background-color: prepareMediaVariable(
|
|
393
|
+
--_ctm-dn-te-rw-dt-se-bd-cr,
|
|
394
|
+
prepareMediaVariable(--_ctm-dn-te-rw-bd-cr)
|
|
381
395
|
);
|
|
382
396
|
|
|
397
|
+
// Hover falls back to the default state, so a row with no hover colour
|
|
398
|
+
// set simply keeps its own.
|
|
399
|
+
&:hover {
|
|
400
|
+
background-color: prepareMediaVariable(
|
|
401
|
+
--_ctm-dn-te-rw-hr-se-bd-cr,
|
|
402
|
+
prepareMediaVariable(
|
|
403
|
+
--_ctm-dn-te-rw-dt-se-bd-cr,
|
|
404
|
+
prepareMediaVariable(--_ctm-dn-te-rw-bd-cr)
|
|
405
|
+
)
|
|
406
|
+
);
|
|
407
|
+
}
|
|
408
|
+
|
|
383
409
|
height: var(--_ctm-mob-lt-rw-ht, var(--_ctm-tab-lt-rw-ht, var(--_ctm-lt-rw-ht)));
|
|
384
410
|
|
|
385
411
|
.td__col__divider {
|
|
@@ -484,33 +510,112 @@
|
|
|
484
510
|
align-items: var(--_align-center);
|
|
485
511
|
justify-content: var(--_ctm-mob-lt-pn-at, var(--_ctm-tab-lt-pn-at, var(--_ctm-lt-pn-at)));
|
|
486
512
|
margin-top: 10px;
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
)
|
|
493
|
-
);
|
|
513
|
+
// Default Page Style > Background Color fills the whole pagination row.
|
|
514
|
+
// Note this is the PAGE key, not the arrows' `pn-dt-se-bd-cr` — the bar used
|
|
515
|
+
// to read that one, which is why colouring the arrows flooded the strip.
|
|
516
|
+
background-color: prepareMediaVariable(--_ctm-dn-pn-dt-se-pe-bd-cr, transparent);
|
|
517
|
+
gap: 12px;
|
|
494
518
|
&.pagination__center {
|
|
495
519
|
justify-content: var(justify-center);
|
|
496
520
|
}
|
|
497
521
|
|
|
522
|
+
// Pagination arrows, styled the way the Gallery Slider and Allocation Details
|
|
523
|
+
// elements style theirs: a plain 10px-padded button sized by Arrow Size, whose
|
|
524
|
+
// only fill is the chosen Background Color mixed down to 10% (20% on hover),
|
|
525
|
+
// with Background Shape deciding the corner.
|
|
498
526
|
button {
|
|
527
|
+
padding: 10px;
|
|
528
|
+
border: none;
|
|
529
|
+
border-radius: 50%;
|
|
530
|
+
display: flex;
|
|
531
|
+
align-items: center;
|
|
532
|
+
justify-content: center;
|
|
533
|
+
cursor: pointer;
|
|
534
|
+
outline: none;
|
|
535
|
+
width: prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-se, 20px);
|
|
536
|
+
height: prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-se, 20px);
|
|
537
|
+
|
|
538
|
+
@include BgColorLighter(var(--_ctm-dn-pn-dt-se-bd-cr), 10%);
|
|
539
|
+
// Hover. Pagination offers a Default state only, so there are no hover-state
|
|
540
|
+
// variables to read — the button simply lifts its own fill, which is what it
|
|
541
|
+
// did before the state existed.
|
|
542
|
+
&:not(:disabled):hover {
|
|
543
|
+
@include BgColorLighter(var(--_ctm-dn-pn-dt-se-bd-cr), 20%);
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
// Background Shape. Keyed off the button, which is where the renderer
|
|
547
|
+
// publishes the attribute alongside the copy on the container.
|
|
548
|
+
&[data-background-shape="None"] {
|
|
549
|
+
border-radius: 0;
|
|
550
|
+
}
|
|
551
|
+
&[data-background-shape="Round"] {
|
|
552
|
+
border-radius: 50%;
|
|
553
|
+
}
|
|
554
|
+
&[data-background-shape="Square"] {
|
|
555
|
+
border-radius: 4px;
|
|
556
|
+
}
|
|
557
|
+
|
|
499
558
|
svg {
|
|
500
|
-
width:
|
|
501
|
-
height:
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
559
|
+
width: calc(#{prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-se, 20px)} * 0.5);
|
|
560
|
+
height: calc(#{prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-se, 20px)} * 0.5);
|
|
561
|
+
|
|
562
|
+
// Arrow Color. A library glyph paints with `stroke` on its paths while an
|
|
563
|
+
// uploaded one may use `fill`, or set either on the root.
|
|
564
|
+
&[stroke]:not([stroke="none"]),
|
|
565
|
+
[stroke]:not([stroke="none"]) {
|
|
566
|
+
stroke: prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-cr, var(--_gray-500));
|
|
567
|
+
}
|
|
568
|
+
&[fill]:not([fill="none"]),
|
|
569
|
+
[fill]:not([fill="none"]) {
|
|
570
|
+
fill: prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-cr, var(--_gray-500));
|
|
507
571
|
}
|
|
508
572
|
}
|
|
509
573
|
}
|
|
510
|
-
span
|
|
574
|
+
// The page chip. `> span` deliberately, not a bare `span`: the page markup is
|
|
575
|
+
// an outer span wrapping an inner one that holds the number, so a descendant
|
|
576
|
+
// selector matched BOTH — the inner span picked up the padding and the fill
|
|
577
|
+
// and painted a tight box around the digits instead of the chip being filled.
|
|
578
|
+
& > span {
|
|
511
579
|
float: left;
|
|
512
580
|
padding: var(--_pd-8) var(--_pd-16);
|
|
513
581
|
text-decoration: none;
|
|
582
|
+
|
|
583
|
+
// inline-flex so the fill covers the whole padded chip, and so the number
|
|
584
|
+
// sits centred in it once Background Shape rounds the corners.
|
|
585
|
+
display: inline-flex;
|
|
586
|
+
align-items: center;
|
|
587
|
+
justify-content: center;
|
|
588
|
+
box-sizing: border-box;
|
|
589
|
+
|
|
590
|
+
// No fill of its own: Default Page Style > Background Color paints the whole
|
|
591
|
+
// row (see `.pagination` above), so repeating it here would draw a second,
|
|
592
|
+
// tighter block of the same colour on top of it. The chip contributes its
|
|
593
|
+
// Shape, and takes the Hover state's colour while pointed at.
|
|
594
|
+
background-color: transparent;
|
|
595
|
+
&[data-page-shape="rectangle"] {
|
|
596
|
+
border-radius: 0;
|
|
597
|
+
}
|
|
598
|
+
&[data-page-shape="rounded"] {
|
|
599
|
+
border-radius: 4px;
|
|
600
|
+
}
|
|
601
|
+
&[data-page-shape="circle"] {
|
|
602
|
+
border-radius: 50%;
|
|
603
|
+
// A circle needs equal sides, so the chip is at least as wide as it is
|
|
604
|
+
// tall however few digits the number has.
|
|
605
|
+
aspect-ratio: 1;
|
|
606
|
+
padding: var(--_pd-8);
|
|
607
|
+
}
|
|
608
|
+
// No hover fill: Pagination offers a Default state only, so there is no
|
|
609
|
+
// hover-state colour to read. The chip's shape and the row's fill are the
|
|
610
|
+
// whole of Default Page Style.
|
|
611
|
+
|
|
612
|
+
// The inner span is the number itself — it carries the typography, never the
|
|
613
|
+
// chip's box, so it must not repeat the fill or the padding.
|
|
614
|
+
& > span {
|
|
615
|
+
float: none;
|
|
616
|
+
padding: 0;
|
|
617
|
+
background-color: transparent;
|
|
618
|
+
}
|
|
514
619
|
span {
|
|
515
620
|
// color: var(--_sf-hr-fc, var(--_ctm-dn-pn-bn-cr, var(--_tst-dn-pn-bn-cr)));
|
|
516
621
|
// font-size: var(--_sf-hr-fs, var(--_ctm-dn-pn-ft-se, var(--_tst-dn-pn-ft-se)));
|
|
@@ -632,16 +737,13 @@
|
|
|
632
737
|
);
|
|
633
738
|
}
|
|
634
739
|
}
|
|
740
|
+
// Arrow Color / Arrow Size for anything drawn as text in this button; the SVG
|
|
741
|
+
// itself is sized and coloured by the `button svg` rules above. These read the
|
|
742
|
+
// shared arrow keys now, not the `iconSize` / `iconColor` the section carried
|
|
743
|
+
// before it moved to the Slider Arrows shape.
|
|
635
744
|
.pagination__arrows {
|
|
636
|
-
color:
|
|
637
|
-
|
|
638
|
-
var(--_ctm-mob-dn-pn-in-c1, var(--_ctm-tab-dn-pn-in-c1, var(--_ctm-dn-pn-in-c1)))
|
|
639
|
-
);
|
|
640
|
-
|
|
641
|
-
font-size: var(
|
|
642
|
-
--_sf-hr-fs,
|
|
643
|
-
var(--_ctm-mob-dn-pn-in-se, var(--_ctm-tab-dn-pn-in-se, var(--_ctm-dn-pn-in-se)))
|
|
644
|
-
);
|
|
745
|
+
color: prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-cr);
|
|
746
|
+
font-size: prepareMediaVariable(--_ctm-dn-pn-dt-se-aw-se);
|
|
645
747
|
}
|
|
646
748
|
}
|
|
647
749
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CommonStyleProperties } from "../../../global/style-properties";
|
|
2
|
+
import { CMSHTMLAttributes } from "../../../global/attributes";
|
|
3
|
+
import { AlignSelfValue, BoxSizingValue, GlobalImageAttributes, GridAreaValue, HeightValue, ImageBuilderAttributes, JustifySelfValue, MarginValue, MaxHeightValue, MaxWidthValue, MinHeightValue, MinWidthValue, PaddingValue } from "../../../global/types";
|
|
4
|
+
import { BuilderAttributes, CMSElementInterface } from "../common";
|
|
5
|
+
export interface BundleCategoriesStyleProperties extends CommonStyleProperties {
|
|
6
|
+
minHeight?: MinHeightValue;
|
|
7
|
+
height?: HeightValue;
|
|
8
|
+
minWidth?: MinWidthValue;
|
|
9
|
+
maxWidth?: MaxWidthValue;
|
|
10
|
+
maxHeight?: MaxHeightValue;
|
|
11
|
+
gridArea?: GridAreaValue;
|
|
12
|
+
boxSizing?: BoxSizingValue;
|
|
13
|
+
padding?: PaddingValue;
|
|
14
|
+
marginLeft?: MarginValue;
|
|
15
|
+
marginTop?: MarginValue;
|
|
16
|
+
marginBottom?: MarginValue;
|
|
17
|
+
marginRight?: MarginValue;
|
|
18
|
+
justifySelf?: JustifySelfValue;
|
|
19
|
+
alignSelf?: AlignSelfValue;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Matches Bundle Details, the element this strip was pulled out of — a section
|
|
23
|
+
* composed from elements has to line up with the monolithic one it replaces.
|
|
24
|
+
* Height is auto because the strip is a single row of chips that sizes to them.
|
|
25
|
+
*/
|
|
26
|
+
export declare const getDefaultStyles: () => BundleCategoriesStyleProperties;
|
|
27
|
+
export interface CMSBundleCategoriesInterface extends Omit<CMSElementInterface, "attributes"> {
|
|
28
|
+
attributes: {
|
|
29
|
+
HTML: Pick<CMSHTMLAttributes, GlobalImageAttributes>;
|
|
30
|
+
BUILDER: Pick<BuilderAttributes, ImageBuilderAttributes>;
|
|
31
|
+
CUSTOM: any;
|
|
32
|
+
};
|
|
33
|
+
styles: BundleCategoriesStyleProperties;
|
|
34
|
+
childrenStyles?: CommonStyleProperties;
|
|
35
|
+
}
|
|
@@ -48,6 +48,7 @@ import * as brandSchema from "./elements/brand/index";
|
|
|
48
48
|
import * as brandImageSchema from "./elements/brand-image/index";
|
|
49
49
|
import * as bundleSchema from "./elements/bundle/index";
|
|
50
50
|
import * as bundleDetailsSchema from "./elements/bundle-details/index";
|
|
51
|
+
import * as bundleCategoriesSchema from "./elements/bundle-categories/index";
|
|
51
52
|
import * as lightBoxV2Schema from "./elements/light-box-v2/index";
|
|
52
53
|
import * as searchSchema from "./elements/search/index";
|
|
53
54
|
import * as layouterSchema from "./elements/layouter/index";
|
|
@@ -96,4 +97,4 @@ import embroideryVectors from "./embroidery-icons/index";
|
|
|
96
97
|
import * as pageSchema from "./elements/page";
|
|
97
98
|
import * as kitDetails from "./elements/kit-details";
|
|
98
99
|
import * as kitsSchema from "./elements/kits";
|
|
99
|
-
export { ElementEditSchema, amountEstimatorSchema, bulkVariantPickerSchema, buttonSchema, cmsTypes, codeSchema, commonFunctions, containerSchema, countdownSchema, embedSchema, enums, faqSchema, gallerySliderSchema, gridSchema, imageHotspotSchema, imageSchema, interfaces, mapSchema, paymentMethodsSchema, pickupLocationsSchema, priceSchema, productActionsSchema, productHighlightsSchema, productImageSchema, productInventorySchema, productPromotionsSchema, quantitySelectorSchema, scrollSchema, sectionSchema, shippingEstimatorSchema, socialIconsSchema, stackSchema, storeLocationsSchema, tabSchema, tableSchema, textSchema, uomSelectorSchema, variantPickerSchema, videoSChema, volumePricingSchema, lightboxSchema, cartSchema, profileSchema, productSchema, repeaterSchema, brandSchema, bundleSchema, bundleDetailsSchema, brandImageSchema, lightBoxV2Schema, searchSchema, layouterSchema, layouterItemSchema, categoryDetailsSchema, contactUsSchema, loginSchema, createFormSchema, resetPasswordSchema, searchResultsHeadingSchema, itemStockSchema, lineItemSchema, tabsV2Schema, tabsContainerSchema, marchandiserSetsSchema, formBuilder, quickLinksSchema, addOrderSchema, buyForTabsSchema, buyForTabsContainerSchema, checkoutSchema, cartSummarySchema, toasterSchema, spotlightSchema, productCustomizationsSchema, iconListSchema, orderStatusSchema, menuV2Schema, menuItemSchema, layouterProSchema, layouterProItemSchema, userElementsSchema, filterResultsSchema, productSizeChartSchema, badgeSchema, cartAttributesSchema, loaderSchema, addProductsTabSchema, shippingPaymentsSchema, couponSchema, megaMenuSchema, megaMenuContainerSchema, simpleListSchema, cartWrapperSchema, embroiderySchema, embroideryVectors, pageSchema, kitDetails, kitsSchema, };
|
|
100
|
+
export { ElementEditSchema, amountEstimatorSchema, bulkVariantPickerSchema, buttonSchema, cmsTypes, codeSchema, commonFunctions, containerSchema, countdownSchema, embedSchema, enums, faqSchema, gallerySliderSchema, gridSchema, imageHotspotSchema, imageSchema, interfaces, mapSchema, paymentMethodsSchema, pickupLocationsSchema, priceSchema, productActionsSchema, productHighlightsSchema, productImageSchema, productInventorySchema, productPromotionsSchema, quantitySelectorSchema, scrollSchema, sectionSchema, shippingEstimatorSchema, socialIconsSchema, stackSchema, storeLocationsSchema, tabSchema, tableSchema, textSchema, uomSelectorSchema, variantPickerSchema, videoSChema, volumePricingSchema, lightboxSchema, cartSchema, profileSchema, productSchema, repeaterSchema, brandSchema, bundleSchema, bundleDetailsSchema, bundleCategoriesSchema, brandImageSchema, lightBoxV2Schema, searchSchema, layouterSchema, layouterItemSchema, categoryDetailsSchema, contactUsSchema, loginSchema, createFormSchema, resetPasswordSchema, searchResultsHeadingSchema, itemStockSchema, lineItemSchema, tabsV2Schema, tabsContainerSchema, marchandiserSetsSchema, formBuilder, quickLinksSchema, addOrderSchema, buyForTabsSchema, buyForTabsContainerSchema, checkoutSchema, cartSummarySchema, toasterSchema, spotlightSchema, productCustomizationsSchema, iconListSchema, orderStatusSchema, menuV2Schema, menuItemSchema, layouterProSchema, layouterProItemSchema, userElementsSchema, filterResultsSchema, productSizeChartSchema, badgeSchema, cartAttributesSchema, loaderSchema, addProductsTabSchema, shippingPaymentsSchema, couponSchema, megaMenuSchema, megaMenuContainerSchema, simpleListSchema, cartWrapperSchema, embroiderySchema, embroideryVectors, pageSchema, kitDetails, kitsSchema, };
|