@useinsider/guido 3.21.2-beta.4b0fed7 → 3.21.2-beta.4c14c74
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/composables/useSave.js +75 -68
- package/dist/composables/validators/useHtmlDocumentCountValidator.js +22 -0
- package/dist/config/compiler/utils/recommendationCompilerUtils.js +22 -22
- package/dist/config/migrator/recommendation/compositionMapper.js +49 -56
- package/dist/config/migrator/recommendation/extractors.js +29 -68
- package/dist/config/migrator/recommendation/htmlBuilder.js +200 -283
- package/dist/config/migrator/recommendation/settingsMapper.js +32 -35
- package/dist/config/migrator/recommendationMigrator.js +29 -32
- package/dist/extensions/Blocks/Items/controls/button/link.js +14 -17
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +14 -17
- package/dist/extensions/Blocks/Items/controls/image/link.js +14 -17
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +9 -10
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +24 -25
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +12 -13
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +29 -30
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +15 -16
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +25 -26
- package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +27 -28
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +75 -80
- package/dist/extensions/Blocks/Recommendation/block.js +24 -33
- package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +3 -3
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +7 -7
- package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +13 -13
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +229 -208
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +5 -5
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +8 -8
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +15 -15
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +12 -12
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +10 -10
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +1 -1
- package/dist/extensions/Blocks/Recommendation/utils/legacyStrategyMap.js +2 -1
- package/dist/extensions/Blocks/common-control.js +62 -55
- package/dist/services/templateLibraryApi.js +36 -31
- package/dist/src/composables/validators/useHtmlDocumentCountValidator.d.ts +3 -0
- package/dist/src/config/migrator/recommendation/compositionMapper.d.ts +1 -3
- package/dist/src/config/migrator/recommendation/extractors.d.ts +0 -20
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -1
- package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -1
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +11 -4
- package/dist/src/extensions/Blocks/Recommendation/utils/legacyStrategyMap.d.ts +2 -3
- package/dist/src/extensions/Blocks/common-control.d.ts +2 -0
- package/dist/src/utils/templatePreparation.d.ts +2 -1
- package/dist/utils/pairProductVariables.js +98 -90
- package/dist/utils/templatePreparation.js +30 -30
- package/package.json +1 -1
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { RecommendationBlockId as g } from "../../../extensions/Blocks/Recommendation/constants/blockIds.js";
|
|
2
|
-
import { CSS_CLASS_SKIP_COMPILE as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { compositionKeyToProductAttr as W, bareAttributeName as tt } from "../../../extensions/Blocks/Recommendation/utils/compositionKeys.js";
|
|
7
|
-
import { formatPrice as H } from "../../../extensions/Blocks/Recommendation/utils/priceFormatter.js";
|
|
2
|
+
import { CSS_CLASS_SKIP_COMPILE as st, ATTR_RECOMMENDATION_TITLE as lt, CURRENCY_ATTR as R, ATTR_PRODUCT_IMAGE as I, ATTR_PRODUCT_BUTTON as O, CSS_CLASS_RECO_BUTTON as H, ATTR_PRODUCT_NAME as j, ATTR_PRODUCT_PRICE as V, ATTR_PRODUCT_OLD_PRICE as Y, ATTR_PRODUCT_OMNIBUS_PRICE as M, ATTR_PRODUCT_OMNIBUS_DISCOUNT as F, ATTR_CUSTOM_PREFIX as K } from "../../../extensions/Blocks/Recommendation/constants/selectors.js";
|
|
3
|
+
import { buildTitleRows as it } from "../../../extensions/Blocks/Recommendation/templates/titleRows.js";
|
|
4
|
+
import { compositionKeyToProductAttr as J, bareAttributeName as X } from "../../../extensions/Blocks/Recommendation/utils/compositionKeys.js";
|
|
5
|
+
import { formatPrice as B } from "../../../extensions/Blocks/Recommendation/utils/priceFormatter.js";
|
|
8
6
|
import { escapeHtml as r } from "../../../utils/htmlEscape.js";
|
|
9
|
-
import { appendStyle as
|
|
10
|
-
const
|
|
11
|
-
function
|
|
7
|
+
import { appendStyle as $ } from "./themeMapper.js";
|
|
8
|
+
const q = "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png", Q = "attribute-cell", Z = "Buy", W = "border-width: 1px; background: rgb(217, 234, 211); border-color: rgb(106, 168, 79)", tt = "color: rgb(56, 118, 29); background: rgb(217, 234, 211); font-family: arial, 'helvetica neue', helvetica, sans-serif; font-size: 16px; font-weight: normal; line-height: 120%; mso-border-alt: 10px solid rgb(217, 234, 211); mso-padding-alt: 0", rt = "ins-recommendation-product-container ins-recommendation-desktop-container";
|
|
9
|
+
function ct(t) {
|
|
12
10
|
return t.replace(/>\s+</g, "><").trim();
|
|
13
11
|
}
|
|
14
12
|
function f(t) {
|
|
@@ -23,28 +21,25 @@ function _() {
|
|
|
23
21
|
textTrimming: !1
|
|
24
22
|
};
|
|
25
23
|
}
|
|
26
|
-
function
|
|
24
|
+
function et(t) {
|
|
27
25
|
return t ? { ...t, wrapBold: !0 } : { ..._(), wrapBold: !0 };
|
|
28
26
|
}
|
|
29
|
-
function
|
|
30
|
-
let
|
|
31
|
-
return
|
|
27
|
+
function N(t, o) {
|
|
28
|
+
let e = r(t);
|
|
29
|
+
return o.wrapBold && o.wrapItalic ? e = `<strong><em>${e}</em></strong>` : o.wrapBold ? e = `<strong>${e}</strong>` : o.wrapItalic && (e = `<em>${e}</em>`), e;
|
|
32
30
|
}
|
|
33
|
-
function
|
|
31
|
+
function u(t) {
|
|
34
32
|
return t ? ` style="${r(t)}"` : "";
|
|
35
33
|
}
|
|
36
|
-
function
|
|
37
|
-
return
|
|
34
|
+
function P(t, o) {
|
|
35
|
+
return `<td width="${t}%" class="${Q}" ${o}`;
|
|
38
36
|
}
|
|
39
|
-
function
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
function ft(t, e, o, n) {
|
|
43
|
-
const s = t.width ? ` width="${t.width}"` : "", l = t.height ? ` height="${t.height}"` : "", i = ["display: block", "max-width: 100%", "height: auto"];
|
|
37
|
+
function at(t, o, e, s) {
|
|
38
|
+
const l = t.width ? ` width="${t.width}"` : "", n = t.height ? ` height="${t.height}"` : "", i = ["display: block", "max-width: 100%", "height: auto"];
|
|
44
39
|
t.width && i.push(`width: ${t.width}px`), t.height && i.push(`height: ${t.height}px`);
|
|
45
|
-
const c = i.join("; "), a =
|
|
40
|
+
const c = i.join("; "), a = e ? ` style="background-color: ${r(e)}"` : "";
|
|
46
41
|
return `
|
|
47
|
-
${
|
|
42
|
+
${P(s, 'valign="top" style="padding: 0 5px; height: 100%"')}>
|
|
48
43
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
49
44
|
class="product-card-segment"${a}>
|
|
50
45
|
<tbody>
|
|
@@ -52,9 +47,9 @@ function ft(t, e, o, n) {
|
|
|
52
47
|
<td align="center"
|
|
53
48
|
class="esd-block-image product-image es-p5"
|
|
54
49
|
esd-extension-block-id="${g.IMAGE}">
|
|
55
|
-
<a target="_blank" href="https://example.com/product/${
|
|
56
|
-
<img src="${
|
|
57
|
-
class="adapt-img"${
|
|
50
|
+
<a target="_blank" href="https://example.com/product/${o + 1}">
|
|
51
|
+
<img src="${q}" alt="Product Name"
|
|
52
|
+
class="adapt-img"${l}${n}
|
|
58
53
|
style="${c}">
|
|
59
54
|
</a>
|
|
60
55
|
</td>
|
|
@@ -64,18 +59,18 @@ function ft(t, e, o, n) {
|
|
|
64
59
|
</td>
|
|
65
60
|
`;
|
|
66
61
|
}
|
|
67
|
-
function
|
|
68
|
-
const a = `table-layout: fixed${
|
|
62
|
+
function G(t, o, e, s, l, n, i) {
|
|
63
|
+
const a = `table-layout: fixed${n ? `; background-color: ${r(n)}` : ""}`, d = u(l.tdStyle), p = f(l.align), b = `esd-block-text ${o}`.trim(), m = $(s, l.pStyle);
|
|
69
64
|
return `
|
|
70
|
-
${
|
|
65
|
+
${P(i, 'valign="top" style="padding: 0 5px; height: 100%"')}>
|
|
71
66
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
72
67
|
class="product-card-segment" style="${a}">
|
|
73
68
|
<tbody>
|
|
74
69
|
<tr valign="top">
|
|
75
|
-
<td${
|
|
70
|
+
<td${p}
|
|
76
71
|
class="${b}"
|
|
77
72
|
esd-extension-block-id="${t}"${d}>
|
|
78
|
-
<p contenteditable="false"${
|
|
73
|
+
<p contenteditable="false"${u(m)}>${N(e, l)}</p>
|
|
79
74
|
</td>
|
|
80
75
|
</tr>
|
|
81
76
|
</tbody>
|
|
@@ -83,19 +78,19 @@ function F(t, e, o, n, s, l, i) {
|
|
|
83
78
|
</td>
|
|
84
79
|
`;
|
|
85
80
|
}
|
|
86
|
-
function
|
|
87
|
-
const
|
|
81
|
+
function dt(t, o, e, s) {
|
|
82
|
+
const l = o ? ` style="background-color: ${r(o)}"` : "", n = u(t.tdStyle), i = f(t.align), a = $("font-size: 14px; color: #999999", t.pStyle);
|
|
88
83
|
return `
|
|
89
|
-
${
|
|
84
|
+
${P(e, 'valign="top" style="padding: 0 5px; height: 100%"')}>
|
|
90
85
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
91
|
-
class="product-card-segment"${
|
|
86
|
+
class="product-card-segment"${l}>
|
|
92
87
|
<tbody>
|
|
93
88
|
<tr valign="top">
|
|
94
89
|
<td${i}
|
|
95
90
|
class="esd-block-text product-old-price es-p15l es-p15r"
|
|
96
|
-
esd-extension-block-id="${g.OLD_PRICE}"${
|
|
97
|
-
<p contenteditable="false"${
|
|
98
|
-
<s>${
|
|
91
|
+
esd-extension-block-id="${g.OLD_PRICE}"${n}>
|
|
92
|
+
<p contenteditable="false"${u(a)}>
|
|
93
|
+
<s>${N(s, t)}</s>
|
|
99
94
|
</p>
|
|
100
95
|
</td>
|
|
101
96
|
</tr>
|
|
@@ -104,21 +99,21 @@ function yt(t, e, o, n) {
|
|
|
104
99
|
</td>
|
|
105
100
|
`;
|
|
106
101
|
}
|
|
107
|
-
function
|
|
108
|
-
const c =
|
|
102
|
+
function z(t, o, e, s, l, n, i) {
|
|
103
|
+
const c = l ? `; background-color: ${r(l)}` : "", a = u(s.tdStyle), d = f(s.align), b = $("font-size: 12px; color: #666666", s.pStyle);
|
|
109
104
|
return `
|
|
110
|
-
${
|
|
105
|
+
${P(i, 'valign="top" style="padding: 0 5px; height: 100%"')}>
|
|
111
106
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
112
107
|
class="product-card-segment" style="table-layout: fixed${c}">
|
|
113
108
|
<tbody>
|
|
114
109
|
<tr valign="top">
|
|
115
110
|
<td${d}
|
|
116
111
|
data-text-before="" data-text-after=""
|
|
117
|
-
class="esd-block-text ${
|
|
112
|
+
class="esd-block-text ${n} es-p15l es-p15r"
|
|
118
113
|
esd-extension-block-id="${t}"${a}>
|
|
119
|
-
<p contenteditable="false"${
|
|
114
|
+
<p contenteditable="false"${u(b)}>
|
|
120
115
|
<span class="omnibus-text-before"></span>
|
|
121
|
-
<span class="${
|
|
116
|
+
<span class="${o}">${r(e)}</span>
|
|
122
117
|
<span class="omnibus-text-after"></span>
|
|
123
118
|
</p>
|
|
124
119
|
</td>
|
|
@@ -128,12 +123,12 @@ function K(t, e, o, n, s, l, i) {
|
|
|
128
123
|
</td>
|
|
129
124
|
`;
|
|
130
125
|
}
|
|
131
|
-
function
|
|
132
|
-
const
|
|
126
|
+
function pt(t, o, e, s) {
|
|
127
|
+
const l = e ? ` style="background-color: ${r(e)}"` : "", n = $("padding: 0 5px; height: 100%", o.tdStyle), i = f(o.align), c = o.text || Z, a = $(W, o.spanStyle), d = $(tt, o.aStyle);
|
|
133
128
|
return `
|
|
134
|
-
${
|
|
129
|
+
${P(s, `valign="top" style="${r(n)}"`)}>
|
|
135
130
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
136
|
-
class="product-card-segment"${
|
|
131
|
+
class="product-card-segment"${l}>
|
|
137
132
|
<tbody>
|
|
138
133
|
<tr valign="top">
|
|
139
134
|
<td${i}
|
|
@@ -141,7 +136,7 @@ function St(t, e, o, n) {
|
|
|
141
136
|
esd-extension-block-id="${g.BUTTON}">
|
|
142
137
|
<span class="es-button-border" style="${r(a)}">
|
|
143
138
|
<a href="https://example.com/product/${t + 1}" target="_blank"
|
|
144
|
-
class="es-button ${
|
|
139
|
+
class="es-button ${H}"
|
|
145
140
|
style="${r(d)}">${r(c)}</a>
|
|
146
141
|
</span>
|
|
147
142
|
</td>
|
|
@@ -151,53 +146,18 @@ function St(t, e, o, n) {
|
|
|
151
146
|
</td>
|
|
152
147
|
`;
|
|
153
148
|
}
|
|
154
|
-
function
|
|
155
|
-
const
|
|
149
|
+
function ut(t, o, e, s, l) {
|
|
150
|
+
const n = s ? `; background-color: ${r(s)}` : "", i = u(e.tdStyle), c = f(e.align), d = $("font-size: 12px; color: #666666; margin: 0", e.pStyle), p = o.replace(/_/g, " ").replace(/\b\w/g, (b) => b.toUpperCase());
|
|
156
151
|
return `
|
|
157
|
-
${
|
|
152
|
+
${P(l, 'valign="middle" style="padding: 0 5px; height: 100%"')}>
|
|
158
153
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
159
|
-
class="product-card-segment" style="table-layout: fixed${
|
|
154
|
+
class="product-card-segment" style="table-layout: fixed${n}">
|
|
160
155
|
<tbody>
|
|
161
156
|
<tr valign="top">
|
|
162
157
|
<td product-attr="${r(t)}"${c}
|
|
163
|
-
class="
|
|
158
|
+
class="esd-block-text product-custom-attribute es-p0t es-p0b es-p15l es-p15r"
|
|
164
159
|
esd-extension-block-id="${g.CUSTOM_ATTRIBUTE}"${i}>
|
|
165
|
-
<p contenteditable="false"${
|
|
166
|
-
</td>
|
|
167
|
-
</tr>
|
|
168
|
-
</tbody>
|
|
169
|
-
</table>
|
|
170
|
-
</td>
|
|
171
|
-
`;
|
|
172
|
-
}
|
|
173
|
-
function xt(t, e, o, n, s) {
|
|
174
|
-
const l = e ? ` style="background-color: ${r(e)}"` : "", i = M(t[h]), c = t[x] ?? _(), a = ($) => `
|
|
175
|
-
<td${f(i.align)} valign="middle"
|
|
176
|
-
class="esd-block-text product-price ${$}"
|
|
177
|
-
esd-extension-block-id="${g.PRICE}"${p(i.tdStyle)}>
|
|
178
|
-
<p contenteditable="false"${p(m(st, i.pStyle))}>${C(n.pricePlaceholder, i)}</p>
|
|
179
|
-
</td>
|
|
180
|
-
`, d = ($) => `
|
|
181
|
-
<td${f(c.align)} valign="middle"
|
|
182
|
-
class="esd-block-text product-old-price ${$}"
|
|
183
|
-
esd-extension-block-id="${g.OLD_PRICE}"${p(c.tdStyle)}>
|
|
184
|
-
<p contenteditable="false"${p(m(Y, c.pStyle))}>
|
|
185
|
-
<s>${C(n.oldPricePlaceholder, c)}</s>
|
|
186
|
-
</p>
|
|
187
|
-
</td>
|
|
188
|
-
`, u = s ? d("es-p15l es-p5r") : a("es-p15l es-p5r"), b = s ? a("es-p5l es-p15r") : d("es-p5l es-p15r");
|
|
189
|
-
return `
|
|
190
|
-
${I(o, 'valign="top" style="padding: 0 5px; height: 100%"')}>
|
|
191
|
-
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
192
|
-
class="product-card-segment"${l}>
|
|
193
|
-
<tbody>
|
|
194
|
-
<tr valign="top">
|
|
195
|
-
<td align="center">
|
|
196
|
-
<table cellpadding="0" cellspacing="0" border="0" align="center" style="margin: 0 auto">
|
|
197
|
-
<tbody>
|
|
198
|
-
<tr valign="middle">${u}${b}</tr>
|
|
199
|
-
</tbody>
|
|
200
|
-
</table>
|
|
160
|
+
<p contenteditable="false"${u(d)}>${r(p)}</p>
|
|
201
161
|
</td>
|
|
202
162
|
</tr>
|
|
203
163
|
</tbody>
|
|
@@ -205,127 +165,111 @@ function xt(t, e, o, n, s) {
|
|
|
205
165
|
</td>
|
|
206
166
|
`;
|
|
207
167
|
}
|
|
208
|
-
function
|
|
209
|
-
const c =
|
|
210
|
-
if (i.inlinePrice && t === i.inlinePrice.anchor)
|
|
211
|
-
return xt(e, n, l, i, i.inlinePrice.originalFirst);
|
|
168
|
+
function bt(t, o, e, s, l, n, i) {
|
|
169
|
+
const c = o[t], a = c ?? _();
|
|
212
170
|
switch (t) {
|
|
213
|
-
case
|
|
214
|
-
return
|
|
171
|
+
case I:
|
|
172
|
+
return at(
|
|
215
173
|
c ?? {},
|
|
174
|
+
l,
|
|
216
175
|
s,
|
|
217
|
-
n
|
|
218
|
-
l
|
|
176
|
+
n
|
|
219
177
|
);
|
|
220
|
-
case
|
|
221
|
-
return
|
|
178
|
+
case j:
|
|
179
|
+
return G(
|
|
222
180
|
g.NAME,
|
|
223
|
-
|
|
181
|
+
"product-name es-p10t es-p10b es-p15l es-p15r",
|
|
224
182
|
"Product Name",
|
|
225
183
|
"font-size: 16px; color: #333333",
|
|
226
184
|
a,
|
|
227
|
-
|
|
228
|
-
|
|
185
|
+
s,
|
|
186
|
+
n
|
|
229
187
|
);
|
|
230
|
-
case
|
|
231
|
-
return
|
|
188
|
+
case V:
|
|
189
|
+
return G(
|
|
232
190
|
g.PRICE,
|
|
233
191
|
"product-price es-p15l es-p15r",
|
|
234
192
|
i.pricePlaceholder,
|
|
235
193
|
"font-size: 16px; color: #333333",
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
194
|
+
et(c),
|
|
195
|
+
s,
|
|
196
|
+
n
|
|
239
197
|
);
|
|
240
|
-
case
|
|
241
|
-
return
|
|
242
|
-
case
|
|
243
|
-
return
|
|
198
|
+
case Y:
|
|
199
|
+
return dt(a, s, n, i.oldPricePlaceholder);
|
|
200
|
+
case M:
|
|
201
|
+
return z(
|
|
244
202
|
g.OMNIBUS_PRICE,
|
|
245
203
|
"omnibus-price-value",
|
|
246
204
|
i.omnibusPricePlaceholder,
|
|
247
205
|
a,
|
|
248
|
-
|
|
206
|
+
s,
|
|
249
207
|
"product-omnibus-price",
|
|
250
|
-
|
|
208
|
+
n
|
|
251
209
|
);
|
|
252
|
-
case
|
|
253
|
-
return
|
|
210
|
+
case F:
|
|
211
|
+
return z(
|
|
254
212
|
g.OMNIBUS_DISCOUNT,
|
|
255
213
|
"omnibus-discount-value",
|
|
256
214
|
"-10%",
|
|
257
215
|
a,
|
|
258
|
-
|
|
216
|
+
s,
|
|
259
217
|
"product-omnibus-discount",
|
|
260
|
-
|
|
218
|
+
n
|
|
261
219
|
);
|
|
262
|
-
case
|
|
263
|
-
return
|
|
264
|
-
|
|
220
|
+
case O:
|
|
221
|
+
return pt(
|
|
222
|
+
l,
|
|
265
223
|
c ?? {},
|
|
266
|
-
|
|
267
|
-
|
|
224
|
+
s,
|
|
225
|
+
n
|
|
268
226
|
);
|
|
269
227
|
default:
|
|
270
|
-
if (t.startsWith(
|
|
271
|
-
const d =
|
|
272
|
-
return
|
|
228
|
+
if (t.startsWith(K)) {
|
|
229
|
+
const d = e[t] ?? J(t), p = X(d);
|
|
230
|
+
return ut(d, p, a, s, n);
|
|
273
231
|
}
|
|
274
232
|
return null;
|
|
275
233
|
}
|
|
276
234
|
}
|
|
277
|
-
const
|
|
235
|
+
const ot = `
|
|
278
236
|
<tr>
|
|
279
237
|
<td class="spacer" style="height: 10px"></td>
|
|
280
238
|
</tr>
|
|
281
239
|
`;
|
|
282
|
-
function
|
|
240
|
+
function gt(t) {
|
|
283
241
|
return {
|
|
284
|
-
pricePlaceholder:
|
|
285
|
-
oldPricePlaceholder:
|
|
286
|
-
omnibusPricePlaceholder:
|
|
242
|
+
pricePlaceholder: B({ price: 18, currency: t }),
|
|
243
|
+
oldPricePlaceholder: B({ price: 20, currency: t }),
|
|
244
|
+
omnibusPricePlaceholder: B({ price: 20, currency: t })
|
|
287
245
|
};
|
|
288
246
|
}
|
|
289
|
-
function
|
|
290
|
-
const n =
|
|
291
|
-
if (t || !n || !l)
|
|
292
|
-
return null;
|
|
293
|
-
const i = e.indexOf(x) < e.indexOf(h);
|
|
294
|
-
return {
|
|
295
|
-
originalFirst: i,
|
|
296
|
-
anchor: i ? x : h,
|
|
297
|
-
skip: i ? h : x
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
function wt(t, e, o, n) {
|
|
301
|
-
const { composition: s, visibility: l, perElement: i, customAttrValues: c, cardBg: a } = n, d = (100 / o).toFixed(2), u = o - e, b = `<td class="${ot}" style="padding: 0 5px;" width="${d}%"></td>`, $ = u > 0 ? b.repeat(u) : "";
|
|
247
|
+
function mt(t, o, e, s) {
|
|
248
|
+
const { composition: l, visibility: n, perElement: i, customAttrValues: c, cardBg: a } = s, d = (100 / e).toFixed(2), p = e - o, b = `<td class="${Q}" style="padding: 0 5px;" width="${d}%"></td>`, m = p > 0 ? b.repeat(p) : "";
|
|
302
249
|
return `
|
|
303
250
|
<tr class="recommendation-product-row">
|
|
304
251
|
<td>
|
|
305
252
|
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"
|
|
306
253
|
class="product-card-wrapper" style="table-layout: fixed">
|
|
307
|
-
<tbody>${
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
for (let E = 0; E < e; E += 1) {
|
|
313
|
-
const v = Ct(
|
|
314
|
-
T,
|
|
254
|
+
<tbody>${l.map((w) => {
|
|
255
|
+
const C = n[w] !== !1, S = C ? "" : ' style="display: none"', A = C ? "1" : "0", x = [];
|
|
256
|
+
for (let T = 0; T < o; T += 1) {
|
|
257
|
+
const E = bt(
|
|
258
|
+
w,
|
|
315
259
|
i,
|
|
316
260
|
c,
|
|
317
261
|
a,
|
|
318
|
-
t +
|
|
262
|
+
t + T,
|
|
319
263
|
d,
|
|
320
|
-
|
|
264
|
+
s
|
|
321
265
|
);
|
|
322
|
-
|
|
266
|
+
E && x.push(E);
|
|
323
267
|
}
|
|
324
|
-
return
|
|
268
|
+
return x.length === 0 ? "" : `
|
|
325
269
|
<tr class="recommendation-attribute-row"
|
|
326
|
-
data-attribute-type="${r(
|
|
327
|
-
data-visibility="${
|
|
328
|
-
${
|
|
270
|
+
data-attribute-type="${r(w)}"
|
|
271
|
+
data-visibility="${A}"${S}>
|
|
272
|
+
${x.join("")}${m}
|
|
329
273
|
</tr>
|
|
330
274
|
`;
|
|
331
275
|
}).filter(Boolean).join("")}</tbody>
|
|
@@ -334,68 +278,50 @@ function wt(t, e, o, n) {
|
|
|
334
278
|
</tr>
|
|
335
279
|
`;
|
|
336
280
|
}
|
|
337
|
-
function
|
|
338
|
-
const
|
|
339
|
-
for (let
|
|
340
|
-
const
|
|
341
|
-
|
|
281
|
+
function $t(t, o, e) {
|
|
282
|
+
const s = [];
|
|
283
|
+
for (let l = 0; l < t; l += o) {
|
|
284
|
+
const n = Math.min(o, t - l);
|
|
285
|
+
l > 0 && s.push(ot), s.push(mt(l, n, o, e));
|
|
342
286
|
}
|
|
343
|
-
return
|
|
344
|
-
}
|
|
345
|
-
function _t(t, e, o) {
|
|
346
|
-
const n = M(t[h]), s = t[x] ?? _(), l = (c) => `
|
|
347
|
-
<td class="esd-block-text product-price" esd-extension-block-id="${g.PRICE}"
|
|
348
|
-
${f(n.align ?? "left")} valign="middle"
|
|
349
|
-
${p(m(`width: auto${c}`, n.tdStyle))}>
|
|
350
|
-
<p contenteditable="false"${p(m(`${st}; margin: 0`, n.pStyle))}>${C(e.pricePlaceholder, n)}</p>
|
|
351
|
-
</td>
|
|
352
|
-
`, i = (c) => `
|
|
353
|
-
<td class="esd-block-text product-old-price" esd-extension-block-id="${g.OLD_PRICE}"
|
|
354
|
-
${f(s.align ?? "left")} valign="middle"
|
|
355
|
-
${p(m(`width: auto${c}`, s.tdStyle))}>
|
|
356
|
-
<p contenteditable="false"${p(m(ct, s.pStyle))}>${`<s>${C(e.oldPricePlaceholder, s)}</s>`}</p>
|
|
357
|
-
</td>
|
|
358
|
-
`;
|
|
359
|
-
return o ? i("; padding-right: 8px") + l("") : l("; padding-right: 8px") + i("");
|
|
287
|
+
return s.join("");
|
|
360
288
|
}
|
|
361
|
-
function
|
|
362
|
-
const
|
|
363
|
-
if (
|
|
364
|
-
|
|
365
|
-
if (t === q) {
|
|
366
|
-
const l = s ?? _(), i = m("font-size: 16px; color: #333333; margin: 0", l.pStyle), c = f(l.align ?? "left");
|
|
289
|
+
function ft(t, o, e, s) {
|
|
290
|
+
const l = o[t];
|
|
291
|
+
if (t === j) {
|
|
292
|
+
const n = l ?? _(), i = $("font-size: 16px; color: #333333; margin: 0", n.pStyle), c = f(n.align ?? "left");
|
|
367
293
|
return `
|
|
368
|
-
<td class="esd-block-text product-name
|
|
369
|
-
esd-extension-block-id="${g.NAME}"${c}${
|
|
370
|
-
<p contenteditable="false"${
|
|
294
|
+
<td class="esd-block-text product-name"
|
|
295
|
+
esd-extension-block-id="${g.NAME}"${c}${u(n.tdStyle)}>
|
|
296
|
+
<p contenteditable="false"${u(i)}>${N("Product Name", n)}</p>
|
|
371
297
|
</td>
|
|
372
298
|
`;
|
|
373
299
|
}
|
|
374
|
-
if (t ===
|
|
375
|
-
const
|
|
300
|
+
if (t === V) {
|
|
301
|
+
const n = et(l), i = $("font-size: 16px; color: #333333; margin: 0", n.pStyle), c = f(n.align ?? "left");
|
|
376
302
|
return `
|
|
377
303
|
<td class="esd-block-text product-price"
|
|
378
|
-
esd-extension-block-id="${g.PRICE}"${c}${
|
|
379
|
-
<p contenteditable="false"${
|
|
304
|
+
esd-extension-block-id="${g.PRICE}"${c}${u(n.tdStyle)}>
|
|
305
|
+
<p contenteditable="false"${u(i)}>${N(s.pricePlaceholder, n)}</p>
|
|
380
306
|
</td>
|
|
381
307
|
`;
|
|
382
308
|
}
|
|
383
|
-
if (t ===
|
|
384
|
-
const
|
|
309
|
+
if (t === Y) {
|
|
310
|
+
const n = l ?? _(), c = $("font-size: 14px; color: #999999; text-decoration: line-through; margin: 0", n.pStyle), a = f(n.align ?? "left");
|
|
385
311
|
return `
|
|
386
312
|
<td class="esd-block-text product-old-price"
|
|
387
|
-
esd-extension-block-id="${g.OLD_PRICE}"${
|
|
388
|
-
<p contenteditable="false"${
|
|
313
|
+
esd-extension-block-id="${g.OLD_PRICE}"${a}${u(n.tdStyle)}>
|
|
314
|
+
<p contenteditable="false"${u(c)}><s>${N(s.oldPricePlaceholder, n)}</s></p>
|
|
389
315
|
</td>
|
|
390
316
|
`;
|
|
391
317
|
}
|
|
392
|
-
if (t ===
|
|
393
|
-
const
|
|
318
|
+
if (t === M || t === F) {
|
|
319
|
+
const n = t === M, i = n ? g.OMNIBUS_PRICE : g.OMNIBUS_DISCOUNT, c = n ? "omnibus-price-value" : "omnibus-discount-value", a = n ? s.omnibusPricePlaceholder : "-10%", d = n ? "product-omnibus-price" : "product-omnibus-discount", p = l ?? _(), b = $("font-size: 12px; color: #666666; margin: 0", p.pStyle), m = f(p.align ?? "left");
|
|
394
320
|
return `
|
|
395
321
|
<td class="esd-block-text ${d}"
|
|
396
322
|
data-text-before="" data-text-after=""
|
|
397
|
-
esd-extension-block-id="${i}"${
|
|
398
|
-
<p contenteditable="false"${
|
|
323
|
+
esd-extension-block-id="${i}"${m}${u(p.tdStyle)}>
|
|
324
|
+
<p contenteditable="false"${u(b)}>
|
|
399
325
|
<span class="omnibus-text-before"></span>
|
|
400
326
|
<span class="${c}">${r(a)}</span>
|
|
401
327
|
<span class="omnibus-text-after"></span>
|
|
@@ -403,59 +329,56 @@ function At(t, e, o, n) {
|
|
|
403
329
|
</td>
|
|
404
330
|
`;
|
|
405
331
|
}
|
|
406
|
-
if (t.startsWith(
|
|
407
|
-
const
|
|
332
|
+
if (t.startsWith(K)) {
|
|
333
|
+
const n = l ?? _(), i = e[t] ?? J(t), a = X(i).replace(/_/g, " ").replace(/\b\w/g, (m) => m.toUpperCase()), d = $("font-size: 12px; color: #666666; margin: 0", n.pStyle), p = f(n.align ?? "left"), b = g.CUSTOM_ATTRIBUTE;
|
|
408
334
|
return `
|
|
409
335
|
<td product-attr="${r(i)}"
|
|
410
|
-
class="esd-block-text product-custom-attribute
|
|
411
|
-
esd-extension-block-id="${b}"${
|
|
412
|
-
<p contenteditable="false"${
|
|
336
|
+
class="esd-block-text product-custom-attribute"
|
|
337
|
+
esd-extension-block-id="${b}"${p}${u(n.tdStyle)}>
|
|
338
|
+
<p contenteditable="false"${u(d)}>${r(a)}</p>
|
|
413
339
|
</td>
|
|
414
340
|
`;
|
|
415
341
|
}
|
|
416
342
|
return null;
|
|
417
343
|
}
|
|
418
|
-
function
|
|
419
|
-
const { composition:
|
|
344
|
+
function yt(t, o) {
|
|
345
|
+
const { composition: e, visibility: s, perElement: l, customAttrValues: n, cardBg: i } = o, c = i ? `background-color: ${r(i)}` : "", a = c ? `style="table-layout: fixed; ${c}"` : 'style="table-layout: fixed"', d = l[I] ?? {}, p = s[I] !== !1, b = d.width ? ` width="${d.width}"` : "", m = p ? "" : ' style="display: none"', h = `
|
|
420
346
|
<td width="120"
|
|
421
347
|
class="esd-block-image product-image-cell recommendation-attribute-row es-p5"
|
|
422
348
|
esd-extension-block-id="${g.IMAGE}"
|
|
423
|
-
data-attribute-type="${
|
|
424
|
-
data-visibility="${
|
|
425
|
-
align="center" valign="middle"${
|
|
349
|
+
data-attribute-type="${I}"
|
|
350
|
+
data-visibility="${p ? "1" : "0"}"
|
|
351
|
+
align="center" valign="middle"${m}>
|
|
426
352
|
<a target="_blank" href="https://example.com/product/${t + 1}">
|
|
427
|
-
<img src="${
|
|
353
|
+
<img src="${q}" alt="Product Name"
|
|
428
354
|
class="adapt-img product-image"${b}
|
|
429
355
|
style="display: block; max-width: 100%; height: auto">
|
|
430
356
|
</a>
|
|
431
357
|
</td>
|
|
432
|
-
`,
|
|
358
|
+
`, C = `
|
|
433
359
|
<td class="product-info-cell" valign="middle" style="padding: 15px">
|
|
434
360
|
<table cellpadding="0" cellspacing="0" role="presentation" width="100%"
|
|
435
361
|
style="table-layout: fixed">
|
|
436
|
-
<tbody>${
|
|
437
|
-
|
|
438
|
-
return
|
|
439
|
-
}).map((y) => {
|
|
440
|
-
const w = n[y] !== !1, G = w ? "" : ' style="display: none"', z = w ? "1" : "0", V = At(y, s, l, e);
|
|
441
|
-
return V ? `<tr class="recommendation-attribute-row"
|
|
362
|
+
<tbody>${e.filter((y) => y !== I && y !== O).map((y) => {
|
|
363
|
+
const v = s[y] !== !1, L = v ? "" : ' style="display: none"', nt = v ? "1" : "0", D = ft(y, l, n, o);
|
|
364
|
+
return D ? `<tr class="recommendation-attribute-row"
|
|
442
365
|
data-attribute-type="${r(y)}"
|
|
443
|
-
data-visibility="${
|
|
366
|
+
data-visibility="${nt}"${L}>${D}</tr>` : "";
|
|
444
367
|
}).filter(Boolean).join(`
|
|
445
368
|
`)}</tbody>
|
|
446
369
|
</table>
|
|
447
370
|
</td>
|
|
448
|
-
`,
|
|
371
|
+
`, S = l[O] ?? {}, A = s[O] !== !1, x = S.text || Z, T = $(W, S.spanStyle ?? ""), E = $(tt, S.aStyle ?? ""), U = A ? "" : ' style="display: none"', k = `
|
|
449
372
|
<td width="100"
|
|
450
373
|
class="esd-block-button button-cell recommendation-attribute-row product-button es-p5l es-p5r"
|
|
451
374
|
esd-extension-block-id="${g.BUTTON}"
|
|
452
|
-
data-attribute-type="${
|
|
453
|
-
data-visibility="${
|
|
454
|
-
align="${r(
|
|
455
|
-
<span class="es-button-border" style="${r(
|
|
375
|
+
data-attribute-type="${O}"
|
|
376
|
+
data-visibility="${A ? "1" : "0"}"
|
|
377
|
+
align="${r(S.align ?? "center")}" valign="middle"${U}>
|
|
378
|
+
<span class="es-button-border" style="${r(T)}">
|
|
456
379
|
<a href="https://example.com/product/${t + 1}" target="_blank"
|
|
457
|
-
class="es-button ${
|
|
458
|
-
style="${r(
|
|
380
|
+
class="es-button ${H}"
|
|
381
|
+
style="${r(E)}">${r(x)}</a>
|
|
459
382
|
</span>
|
|
460
383
|
</td>
|
|
461
384
|
`;
|
|
@@ -465,70 +388,64 @@ function Rt(t, e) {
|
|
|
465
388
|
<table width="100%" cellpadding="0" cellspacing="0" border="0"
|
|
466
389
|
class="product-card-wrapper" ${a}>
|
|
467
390
|
<tbody>
|
|
468
|
-
<tr>${
|
|
391
|
+
<tr>${h}${C}${k}</tr>
|
|
469
392
|
</tbody>
|
|
470
393
|
</table>
|
|
471
394
|
</td>
|
|
472
395
|
</tr>
|
|
473
396
|
`;
|
|
474
397
|
}
|
|
475
|
-
function
|
|
476
|
-
const
|
|
477
|
-
for (let
|
|
478
|
-
|
|
479
|
-
return
|
|
398
|
+
function St(t, o) {
|
|
399
|
+
const e = [];
|
|
400
|
+
for (let s = 0; s < t; s += 1)
|
|
401
|
+
s > 0 && e.push(ot), e.push(yt(s, o));
|
|
402
|
+
return e.join("");
|
|
480
403
|
}
|
|
481
|
-
function
|
|
482
|
-
var a, d,
|
|
483
|
-
const
|
|
484
|
-
(a =
|
|
485
|
-
const
|
|
486
|
-
return `<p${
|
|
404
|
+
function ht(t, o) {
|
|
405
|
+
var a, d, p, b, m, h;
|
|
406
|
+
const e = t == null ? void 0 : t.theme, s = [];
|
|
407
|
+
(a = e == null ? void 0 : e.textStyle) != null && a["font-family"] && s.push(`font-family: ${e.textStyle["font-family"]}`), s.push(`font-size: ${((d = e == null ? void 0 : e.textStyle) == null ? void 0 : d["font-size"]) ?? "28px"}`), s.push(`color: ${((p = e == null ? void 0 : e.textColor) == null ? void 0 : p.color) ?? "#333333"}`), (b = e == null ? void 0 : e.textStyle) != null && b["font-weight"] && s.push(`font-weight: ${e.textStyle["font-weight"]}`), (m = e == null ? void 0 : e.textStyle) != null && m["font-style"] && s.push(`font-style: ${e.textStyle["font-style"]}`);
|
|
408
|
+
const l = s.join("; "), n = ((h = e == null ? void 0 : e.textStyle) == null ? void 0 : h["font-weight"]) !== "normal", i = r(o), c = n ? `<strong>${i}</strong>` : i;
|
|
409
|
+
return `<p${u(l)}>${c}</p>`;
|
|
487
410
|
}
|
|
488
|
-
function
|
|
489
|
-
const
|
|
490
|
-
return ` ${
|
|
411
|
+
function xt(t) {
|
|
412
|
+
const o = t.alignment === "before" ? "0" : "1";
|
|
413
|
+
return ` ${R.CURRENCY}="${r(t.code)}" ${R.SYMBOL}="${r(t.symbol)}" ${R.ALIGNMENT}="${o}" ${R.THOUSAND_SEPARATOR}="${r(t.thousandSeparator)}" ${R.DECIMAL_SEPARATOR}="${r(t.decimalSeparator)}" ${R.DECIMAL_COUNT}="${t.decimalCount}"`;
|
|
491
414
|
}
|
|
492
|
-
function
|
|
415
|
+
function Et(t) {
|
|
493
416
|
const {
|
|
494
|
-
nodeConfig:
|
|
495
|
-
composition:
|
|
496
|
-
cardBg:
|
|
497
|
-
titleText:
|
|
498
|
-
extraClasses:
|
|
417
|
+
nodeConfig: o,
|
|
418
|
+
composition: e,
|
|
419
|
+
cardBg: s,
|
|
420
|
+
titleText: l,
|
|
421
|
+
extraClasses: n = "",
|
|
499
422
|
legacyId: i,
|
|
500
423
|
legacyBgColor: c,
|
|
501
424
|
preserveInnerHtml: a,
|
|
502
425
|
skipCompile: d = !1
|
|
503
|
-
} = t,
|
|
426
|
+
} = t, p = o.layout === "list" ? ' data-layout="list"' : "", b = o.layout === "list" ? " es-m-p0 ins-recommendation-list-layout" : "", m = e.composition.join(","), h = JSON.stringify(e.customAttributes), w = [
|
|
504
427
|
"recommendation-block-v2",
|
|
505
428
|
"esd-block-recommendation-v3-block",
|
|
506
429
|
`es-p20${b}`,
|
|
507
|
-
`ins-recommendation-v3-block-${
|
|
430
|
+
`ins-recommendation-v3-block-${o.recommendationId}`,
|
|
508
431
|
// Marker class Stripo's block infrastructure uses to identify recommendation
|
|
509
432
|
// blocks. Without it, certain Styles-panel controls (e.g. button "Fit to
|
|
510
433
|
// Container") are suppressed even though every other selector matches.
|
|
511
434
|
"esd-recommendation-block",
|
|
512
435
|
"esd-extension-block",
|
|
513
436
|
"esd-container-frame",
|
|
514
|
-
|
|
515
|
-
d ?
|
|
516
|
-
|
|
517
|
-
].filter(Boolean).join(" "),
|
|
518
|
-
const
|
|
519
|
-
composition:
|
|
520
|
-
visibility:
|
|
521
|
-
perElement:
|
|
522
|
-
customAttrValues:
|
|
523
|
-
cardBg:
|
|
524
|
-
...
|
|
525
|
-
|
|
526
|
-
e.priceMovedToNextLine,
|
|
527
|
-
o.composition,
|
|
528
|
-
o.visibility
|
|
529
|
-
)
|
|
530
|
-
}, w = e.layout === "list", G = w ? Et(N, y) : X(N, e.cardsInRow, y), z = e.mobileLayoutEnabled && !w ? `<td><table width="100%" cellpadding="0" cellspacing="0" border="0"
|
|
531
|
-
class="${gt}" style="display: none">${X(N, e.mobileCardsInRow, y)}</table></td>` : "";
|
|
437
|
+
"ins-recommendation-no-mobile-layout",
|
|
438
|
+
d ? st : "",
|
|
439
|
+
n
|
|
440
|
+
].filter(Boolean).join(" "), C = xt(o.currency), S = o.visibility[lt] !== !1, A = ` esd-ext-config="${r(JSON.stringify(o))}"`, x = i ? ` id="${r(i)}"` : "", T = c ? ` bgcolor="${r(c)}"` : "", U = a ?? (() => {
|
|
441
|
+
const k = parseInt(o.size) || 6, y = {
|
|
442
|
+
composition: e.composition,
|
|
443
|
+
visibility: e.visibility,
|
|
444
|
+
perElement: e.perElementStyles,
|
|
445
|
+
customAttrValues: e.customAttrValues,
|
|
446
|
+
cardBg: s,
|
|
447
|
+
...gt(o.currency)
|
|
448
|
+
}, v = o.layout === "list" ? St(k, y) : $t(k, o.cardsInRow, y);
|
|
532
449
|
return `
|
|
533
450
|
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
534
451
|
<tbody>
|
|
@@ -536,15 +453,15 @@ function zt(t) {
|
|
|
536
453
|
<td align="center">
|
|
537
454
|
<table class="container" width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
538
455
|
<tbody>
|
|
539
|
-
${
|
|
456
|
+
${S ? it(ht(e.titleVariable, l), !0, o.rowSpacing) : ""}
|
|
540
457
|
<tr>
|
|
541
458
|
<td>
|
|
542
459
|
<table width="100%" cellpadding="0" cellspacing="0" border="0"
|
|
543
|
-
class="${
|
|
460
|
+
class="${rt}">${v}
|
|
544
461
|
</table>
|
|
545
462
|
</td>
|
|
546
463
|
</tr>
|
|
547
|
-
<tr class="ins-recommendation-mobile-row"
|
|
464
|
+
<tr class="ins-recommendation-mobile-row"></tr>
|
|
548
465
|
</tbody>
|
|
549
466
|
</table>
|
|
550
467
|
</td>
|
|
@@ -552,22 +469,22 @@ function zt(t) {
|
|
|
552
469
|
</tbody>
|
|
553
470
|
</table>`;
|
|
554
471
|
})();
|
|
555
|
-
return
|
|
472
|
+
return ct(`
|
|
556
473
|
<td align="left"
|
|
557
474
|
esd-extension-block-id="recommendation-block"
|
|
558
475
|
width="520"
|
|
559
|
-
class="${
|
|
560
|
-
recommendation-id="${
|
|
561
|
-
data-card-composition="${r(
|
|
562
|
-
data-custom-attributes="${r(
|
|
563
|
-
data-column-spacing="${
|
|
564
|
-
data-row-spacing="${
|
|
565
|
-
data-mobile-column-spacing="${
|
|
566
|
-
data-mobile-row-spacing="${
|
|
567
|
-
hide-price="${
|
|
476
|
+
class="${w}"${x}${T}
|
|
477
|
+
recommendation-id="${o.recommendationId}"${C}
|
|
478
|
+
data-card-composition="${r(m)}"
|
|
479
|
+
data-custom-attributes="${r(h)}"
|
|
480
|
+
data-column-spacing="${o.columnSpacing}"
|
|
481
|
+
data-row-spacing="${o.rowSpacing}"
|
|
482
|
+
data-mobile-column-spacing="${o.mobileColumnSpacing}"
|
|
483
|
+
data-mobile-row-spacing="${o.mobileRowSpacing}"
|
|
484
|
+
hide-price="${o.priceHideIfSameAsDiscounted}"${p}${A}>${U}
|
|
568
485
|
</td>
|
|
569
486
|
`);
|
|
570
487
|
}
|
|
571
488
|
export {
|
|
572
|
-
|
|
489
|
+
Et as buildBlockHtml
|
|
573
490
|
};
|