@sc-360-v2/storefront-cms-library 0.5.15 → 0.5.17
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 +68 -66
- package/dist/builder.js +1 -1
- package/dist/cart-summary.scss +12 -8
- package/dist/category-groups-element.scss +667 -93
- package/dist/category-groups-product-grid.scss +186 -0
- package/dist/category-groups-product-image.scss +2226 -0
- package/dist/category-groups-product-options.scss +826 -0
- package/dist/category-groups-product-price.scss +4944 -0
- package/dist/coupon.scss +91 -4
- package/dist/gallery-slider-temp.scss +5 -5
- package/dist/global-styles.scss +175 -86
- package/dist/login.scss +2 -1
- package/dist/product-image.scss +5 -5
- package/dist/quota-details.scss +2 -2
- package/dist/simple-list.scss +259 -259
- package/dist/social.scss +277 -276
- package/dist/types/builder/tools/element-edit/cartSummary.d.ts +11 -0
- package/dist/types/builder/tools/element-edit/categoryGroups.d.ts +2759 -7
- package/dist/types/builder/tools/element-edit/social.d.ts +7 -1
- package/package.json +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
@use "./functions.scss" as *;
|
|
2
|
+
@use "./repeater-embla-controls.scss" as *;
|
|
3
|
+
|
|
4
|
+
// Category Groups product grid — display styles (Grid / Cards / Slider) ported
|
|
5
|
+
// (light) from the Repeater, rebound to the productGridDesign.layout CSS-variable
|
|
6
|
+
// paths (--_ctm-catego-dn-pt-gd-dn-lt-*). Items-per-row / min-column-width /
|
|
7
|
+
// gaps are responsive (mob/tab/desktop var fallback). The container box
|
|
8
|
+
// (padding + fill/border/radius/shadow) stays on .cg_product_grid in
|
|
9
|
+
// category-groups-element.scss. @imported there within the categoryGroups scope.
|
|
10
|
+
//
|
|
11
|
+
// DOM: .cg_product_grid (root, gets grd|crds|sld + embla + data-control-type)
|
|
12
|
+
// > .cg_product_grid_wrapper (gets embla__container in slider mode)
|
|
13
|
+
// > .cg_product_card (grid / cards)
|
|
14
|
+
// > .embla__slide > .cg_product_card (slider)
|
|
15
|
+
// > slider arrows / dots (slider mode)
|
|
16
|
+
.cg_product_grid {
|
|
17
|
+
// Slider-control intermediate vars consumed by the embla-controls mixin.
|
|
18
|
+
--_sf-ic-sz-nn: var(
|
|
19
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-aw-in-se,
|
|
20
|
+
var(--_ctm-tab-catego-dn-pt-gd-dn-lt-aw-in-se, var(--_ctm-catego-dn-pt-gd-dn-lt-aw-in-se, 40px))
|
|
21
|
+
);
|
|
22
|
+
--_sf-ed-vl-sz: var(
|
|
23
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-dt-se,
|
|
24
|
+
var(--_ctm-tab-catego-dn-pt-gd-dn-lt-dt-se, var(--_ctm-catego-dn-pt-gd-dn-lt-dt-se, 10px))
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
// ---- Grid mode: auto-fit columns by min column width ----
|
|
28
|
+
&.grd {
|
|
29
|
+
& > .cg_product_grid_wrapper {
|
|
30
|
+
width: 100%;
|
|
31
|
+
display: grid;
|
|
32
|
+
grid-template-columns: repeat(
|
|
33
|
+
auto-fit,
|
|
34
|
+
minmax(
|
|
35
|
+
var(
|
|
36
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-mn-cn-wh,
|
|
37
|
+
var(
|
|
38
|
+
--_ctm-tab-catego-dn-pt-gd-dn-lt-mn-cn-wh,
|
|
39
|
+
var(--_ctm-catego-dn-pt-gd-dn-lt-mn-cn-wh, 200px)
|
|
40
|
+
)
|
|
41
|
+
),
|
|
42
|
+
1fr
|
|
43
|
+
)
|
|
44
|
+
);
|
|
45
|
+
grid-auto-rows: minmax(
|
|
46
|
+
var(
|
|
47
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-mn-rw-ht,
|
|
48
|
+
var(
|
|
49
|
+
--_ctm-tab-catego-dn-pt-gd-dn-lt-mn-rw-ht,
|
|
50
|
+
var(--_ctm-catego-dn-pt-gd-dn-lt-mn-rw-ht, auto)
|
|
51
|
+
)
|
|
52
|
+
),
|
|
53
|
+
auto
|
|
54
|
+
);
|
|
55
|
+
column-gap: #{prepareMediaVariable(--_ctm-catego-dn-pt-gd-dn-lt-cn-gp, 24px)};
|
|
56
|
+
row-gap: #{prepareMediaVariable(--_ctm-catego-dn-pt-gd-dn-lt-rw-gp, 24px)};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// ---- Cards mode: fixed items per row (flex calc) ----
|
|
61
|
+
&.crds {
|
|
62
|
+
& > .cg_product_grid_wrapper {
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-wrap: wrap;
|
|
65
|
+
width: 100%;
|
|
66
|
+
column-gap: #{prepareMediaVariable(--_ctm-catego-dn-pt-gd-dn-lt-cn-gp, 24px)};
|
|
67
|
+
row-gap: #{prepareMediaVariable(--_ctm-catego-dn-pt-gd-dn-lt-rw-gp, 24px)};
|
|
68
|
+
& > .cg_product_card {
|
|
69
|
+
--_col-count: var(
|
|
70
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-st-is-pr-rw,
|
|
71
|
+
var(
|
|
72
|
+
--_ctm-tab-catego-dn-pt-gd-dn-lt-st-is-pr-rw,
|
|
73
|
+
var(--_ctm-catego-dn-pt-gd-dn-lt-st-is-pr-rw, 3)
|
|
74
|
+
)
|
|
75
|
+
);
|
|
76
|
+
--_col-gap: #{prepareMediaVariable(--_ctm-catego-dn-pt-gd-dn-lt-cn-gp, 0px)};
|
|
77
|
+
width: calc(
|
|
78
|
+
(100% / var(--_col-count)) -
|
|
79
|
+
(((var(--_col-count) - 1) * var(--_col-gap)) / (var(--_col-count)))
|
|
80
|
+
);
|
|
81
|
+
flex: 0 0
|
|
82
|
+
calc(
|
|
83
|
+
(100% / var(--_col-count)) -
|
|
84
|
+
(((var(--_col-count) - 1) * var(--_col-gap)) / (var(--_col-count)))
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// ---- Slider mode (Embla) ----
|
|
91
|
+
&.sld {
|
|
92
|
+
position: relative;
|
|
93
|
+
overflow: clip;
|
|
94
|
+
--_sf-sl-ct-ic-dt-at-cl: var(
|
|
95
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-cl-ae-cr,
|
|
96
|
+
var(--_ctm-tab-catego-dn-pt-gd-dn-lt-cl-ae-cr, var(--_ctm-catego-dn-pt-gd-dn-lt-cl-ae-cr))
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
@for $i from 1 through 3 {
|
|
100
|
+
&:is([data-control-type="#{$i}"]) {
|
|
101
|
+
@if ($i == 3) {
|
|
102
|
+
overflow-y: visible;
|
|
103
|
+
}
|
|
104
|
+
@include CMSRepeaterEmblaControlStyles($i);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Template 3: place the arrows/dots ABOVE the product list (not over the
|
|
109
|
+
// images). bottom:100% puts the control's bottom edge at the grid's top
|
|
110
|
+
// edge; +8px adds a small gap. overflow-y:visible (set above) lets it
|
|
111
|
+
// show above the grid. (Repeater gets this from a saved template.)
|
|
112
|
+
&:is([data-control-type="3"]) {
|
|
113
|
+
--_sf-rp-ct-t3-top-vl: auto;
|
|
114
|
+
--_sf-rp-ct-t3-bottom-vl: calc(100% + 8px);
|
|
115
|
+
--_sf-rp-ct-t3-right-vl: 0px;
|
|
116
|
+
--_sf-rp-ct-t3-left-vl: auto;
|
|
117
|
+
--_sf-rp-ct-t3-transform-vl: none;
|
|
118
|
+
|
|
119
|
+
// Restyle template-3 pagination from the connected gray bar into
|
|
120
|
+
// separated circular dots + a capsule active indicator.
|
|
121
|
+
.pagination__v1 {
|
|
122
|
+
gap: 6px;
|
|
123
|
+
}
|
|
124
|
+
.pagination__v1 > button.embla__dot {
|
|
125
|
+
width: var(--_sf-ed-vl-sz, 10px);
|
|
126
|
+
height: var(--_sf-ed-vl-sz, 10px);
|
|
127
|
+
border-radius: 50%;
|
|
128
|
+
background: #d6d6d6;
|
|
129
|
+
}
|
|
130
|
+
.pagination__v1 > button.embla__dot.embla__dot--selected {
|
|
131
|
+
width: max(calc(var(--_sf-ed-vl-sz, 10px) * 2), 20px);
|
|
132
|
+
border-radius: 999px;
|
|
133
|
+
background: var(--_sf-sl-ct-ic-dt-at-cl, #7c3aed);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Pagination dots: never compress. With many pages the strip scrolls
|
|
138
|
+
// horizontally (scrollbar hidden) instead of squishing the dots.
|
|
139
|
+
.pagination__v1 {
|
|
140
|
+
flex-wrap: nowrap;
|
|
141
|
+
overflow-x: auto;
|
|
142
|
+
overflow-y: hidden;
|
|
143
|
+
scrollbar-width: none;
|
|
144
|
+
&::-webkit-scrollbar {
|
|
145
|
+
display: none;
|
|
146
|
+
}
|
|
147
|
+
& > button.embla__dot {
|
|
148
|
+
flex-shrink: 0;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
& > .cg_product_grid_wrapper.embla__container {
|
|
153
|
+
display: flex;
|
|
154
|
+
width: 100%;
|
|
155
|
+
min-height: 100px;
|
|
156
|
+
gap: #{prepareMediaVariable(--_ctm-catego-dn-pt-gd-dn-lt-im-gp, 0px)};
|
|
157
|
+
--_embla-slide-space: var(
|
|
158
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-im-gp,
|
|
159
|
+
var(--_ctm-tab-catego-dn-pt-gd-dn-lt-im-gp, var(--_ctm-catego-dn-pt-gd-dn-lt-im-gp, 0px))
|
|
160
|
+
);
|
|
161
|
+
--_embla-col-count: var(
|
|
162
|
+
--_ctm-mob-catego-dn-pt-gd-dn-lt-st-is-pr-se,
|
|
163
|
+
var(
|
|
164
|
+
--_ctm-tab-catego-dn-pt-gd-dn-lt-st-is-pr-se,
|
|
165
|
+
var(--_ctm-catego-dn-pt-gd-dn-lt-st-is-pr-se, 3)
|
|
166
|
+
)
|
|
167
|
+
);
|
|
168
|
+
& > .embla__slide {
|
|
169
|
+
--_sf-cl-vl: calc(
|
|
170
|
+
(100% / var(--_embla-col-count, 3)) -
|
|
171
|
+
(
|
|
172
|
+
((var(--_embla-col-count, 3) - 1) * (var(--_embla-slide-space, 10px))) /
|
|
173
|
+
(var(--_embla-col-count, 3))
|
|
174
|
+
)
|
|
175
|
+
);
|
|
176
|
+
flex: 0 0 var(--_sf-cl-vl);
|
|
177
|
+
width: var(--_sf-cl-vl);
|
|
178
|
+
grid-template-rows: minmax(50px, auto);
|
|
179
|
+
grid-template-columns: minmax(0px, 1fr);
|
|
180
|
+
img {
|
|
181
|
+
width: 100%;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|