@useinsider/guido 2.0.0-beta.5ccd854 → 2.0.0-beta.689d09e

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.
Files changed (77) hide show
  1. package/README.md +2 -0
  2. package/dist/@types/config/schemas.js +55 -39
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +15 -17
  5. package/dist/components/organisms/header/LeftSlot.vue.js +12 -12
  6. package/dist/components/organisms/header/LeftSlot.vue2.js +6 -6
  7. package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
  8. package/dist/composables/useConfig.js +29 -27
  9. package/dist/composables/useSave.js +13 -11
  10. package/dist/composables/useStripo.js +42 -40
  11. package/dist/config/migrator/itemsBlockMigrator.js +184 -125
  12. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  13. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  14. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  15. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  16. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  17. package/dist/extensions/Blocks/Items/block.js +1 -1
  18. package/dist/extensions/Blocks/Items/controls/button/link.js +22 -29
  19. package/dist/extensions/Blocks/Items/controls/cardComposition.js +59 -36
  20. package/dist/extensions/Blocks/Items/controls/image/link.js +23 -30
  21. package/dist/extensions/Blocks/Items/controls/name/trimming.js +25 -25
  22. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +19 -17
  23. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +31 -29
  24. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +44 -38
  25. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +21 -19
  26. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +1 -1
  27. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +93 -0
  28. package/dist/extensions/Blocks/Items/controls/settingsControl.js +99 -95
  29. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  30. package/dist/extensions/Blocks/Items/enums/productEnums.js +43 -45
  31. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +2 -1
  32. package/dist/extensions/Blocks/Items/extension.js +7 -6
  33. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -1
  34. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -1
  35. package/dist/extensions/Blocks/Items/settingsPanel.js +27 -26
  36. package/dist/extensions/Blocks/Items/store/items-block.js +9 -5
  37. package/dist/extensions/Blocks/Items/template.js +285 -221
  38. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +94 -82
  39. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  40. package/dist/extensions/Blocks/common-control.js +45 -57
  41. package/dist/extensions/Blocks/controlFactories.js +139 -118
  42. package/dist/guido.css +1 -1
  43. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +53 -48
  44. package/dist/package.json.js +7 -0
  45. package/dist/services/stripoApi.js +6 -10
  46. package/dist/src/@types/config/index.d.ts +2 -2
  47. package/dist/src/@types/config/schemas.d.ts +30 -0
  48. package/dist/src/@types/config/types.d.ts +7 -1
  49. package/dist/src/composables/useConfig.d.ts +8 -0
  50. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  51. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  52. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  53. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -2
  54. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +9 -0
  55. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -2
  56. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +18 -0
  57. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +1 -0
  58. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +24 -26
  59. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +1 -0
  60. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +2 -0
  61. package/dist/src/extensions/Blocks/Items/template.d.ts +3 -1
  62. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +4 -2
  63. package/dist/src/extensions/Blocks/common-control.d.ts +1 -7
  64. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  65. package/dist/src/stores/config.d.ts +164 -1
  66. package/dist/static/styles/components/button.css.js +1 -1
  67. package/dist/stores/config.js +7 -0
  68. package/dist/utils/pairProductVariables.js +61 -58
  69. package/package.json +1 -1
  70. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  71. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  72. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  73. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -46
  74. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  75. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  76. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -50
  77. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
@@ -1,46 +1,52 @@
1
- import { BlockType as $, BlockAttr as R } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { ItemsBlockId as b } from "./enums/controlEnums.js";
3
- import { productPairs as c, templateFirstLine as v } from "./enums/productEnums.js";
4
- import { ItemInCartOptions as X, SETTINGS_ENUMS as y, DefaultConfigValues as P } from "./enums/settingsEnums.js";
5
- import K from "./layouts/horizontal.html.js";
6
- import z from "./layouts/vertical.html.js";
7
- let [N] = c.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [A] = c.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [f] = c.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [k] = c.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [m] = c.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
8
- const S = (e) => e.split(";").map((t) => t.trim()).filter((t) => !t.toLowerCase().startsWith("text-align")).join("; ").replace(/;\s*$/, ""), G = (e, t, n) => {
9
- const a = n || P.productImageWidth;
1
+ import { BlockType as h, BlockAttr as y } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { ItemsBlockId as P } from "./enums/controlEnums.js";
3
+ import { productPairs as O, templateFirstLine as W } from "./enums/productEnums.js";
4
+ import { ItemInCartOptions as C, SETTINGS_ENUMS as w, DefaultConfigValues as F } from "./enums/settingsEnums.js";
5
+ import Q from "./layouts/horizontal.html.js";
6
+ import H from "./layouts/vertical.html.js";
7
+ let [g] = O.PAIRS_FOR_EXTENSION.imageSrc.CART_ITEMS.DEFAULT, [N] = O.PAIRS_FOR_EXTENSION.name.CART_ITEMS.DEFAULT, [x] = O.PAIRS_FOR_EXTENSION.price.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [S] = O.PAIRS_FOR_EXTENSION.originalPrice.CART_ITEMS.DEFAULT_PRICE_FORMATTED, [k] = O.PAIRS_FOR_EXTENSION.quantity.CART_ITEMS.DEFAULT;
8
+ const q = (a, t) => a.split(";").map((l) => l.trim()).filter((l) => !l.toLowerCase().startsWith(t.toLowerCase())).join("; ").replace(/;\s*$/, ""), D = (a) => q(a, "text-align"), m = (a, t) => {
9
+ const l = new RegExp(`${t}\\s*:\\s*([^;]+)`, "i"), e = a.match(l);
10
+ return e ? e[1].trim() : null;
11
+ }, U = (a, t, l) => new RegExp(`(${t}\\s*:\\s*)[^;]+`, "gi").test(a) ? a.replace(
12
+ new RegExp(`(${t}\\s*:\\s*)[^;]+`, "gi"),
13
+ `$1${l}`
14
+ ) : a, Y = (a, t, l, e) => {
15
+ const c = l || F.productImageHeight, n = (e == null ? void 0 : e.imageVisible) === !1 ? "display: none; " : "";
10
16
  return `
11
17
  <td class="esd-block-image document-node-component default-block-component selectable ng-star-inserted"
12
18
  align="center"
13
19
  esd-extension-block-id="items-block-image"
14
20
  data-slot-1=""
15
21
  product-attr="imageSrc"
16
- data-type="${e}"
22
+ data-type="${a}"
17
23
  data-number="${t}"
18
- style="font-size: 0px;">
24
+ style="${n}font-size: 0px;">
19
25
  <a class="document-node-component ng-star-inserted"
20
26
  target="_blank"
21
27
  href="#!">
22
28
  <img class="adapt-img document-node-component ng-star-inserted"
23
- src="${N}"
24
- alt="${A}"
25
- width="${a}">
29
+ src="${g}"
30
+ alt="${N}"
31
+ height="${c}">
26
32
  </a>
27
33
  </td>
28
34
  `;
29
- }, Q = (e, t) => `
30
- <${$.BLOCK_IMAGE}
31
- ${R.BLOCK_IMAGE.src}="${N}"
32
- ${R.BLOCK_IMAGE.alt}="${A}"
33
- ${R.BLOCK_IMAGE.href}="#!"
34
- ${R.BLOCK_IMAGE.width}="${P.productImageWidth}"
35
- ${R.BLOCK_IMAGE.height}="${P.productImageWidth}"
36
- esd-extension-block-id="${b.IMAGE}"
35
+ }, j = (a, t) => `
36
+ <${h.BLOCK_IMAGE}
37
+ ${y.BLOCK_IMAGE.src}="${g}"
38
+ ${y.BLOCK_IMAGE.alt}="${N}"
39
+ ${y.BLOCK_IMAGE.href}="#!"
40
+ ${y.BLOCK_IMAGE.width}="${F.productImageWidth}"
41
+ ${y.BLOCK_IMAGE.height}="${F.productImageWidth}"
42
+ esd-extension-block-id="${P.IMAGE}"
37
43
  data-slot-1
38
44
  product-attr="imageSrc"
39
- data-type="${e}"
45
+ data-type="${a}"
40
46
  data-number="${t}"
41
47
  />
42
- `, W = (e, t, n, a) => {
43
- const l = `
48
+ `, Z = (a, t, l, e, c) => {
49
+ const o = `
44
50
  text-decoration:none;
45
51
  font-size: inherit;
46
52
  font-weight: inherit;
@@ -50,37 +56,45 @@ const S = (e) => e.split(";").map((t) => t.trim()).filter((t) => !t.toLowerCase(
50
56
  display: block;
51
57
  word-wrap:break-word;
52
58
  white-space: nowrap;
53
- width: ${n === y.ORIENTATION.HORIZONTAL ? "130px" : "520px"};
59
+ width: ${l === w.ORIENTATION.HORIZONTAL ? "130px" : "520px"};
54
60
  overflow: hidden;
55
61
  text-overflow: ellipsis;
56
- `, o = a || l;
57
- return t ? `
62
+ `;
63
+ if (t) {
64
+ const i = m(e || "", "text-align") || "center", r = D(e || o), d = m(r, "color"), s = m(r, "font-size"), p = [
65
+ d ? `color: ${d}` : "",
66
+ s ? `font-size: ${s}` : ""
67
+ ].filter(Boolean).join("; "), E = U(
68
+ U(r, "color", "inherit"),
69
+ "font-size",
70
+ "inherit"
71
+ ), _ = (c == null ? void 0 : c.nameVisible) === !1 ? "display: none;" : "display: table-cell;";
72
+ return `
58
73
  <td class="esd-block-text es-p10"
59
- align="center"
74
+ align="${i}"
60
75
  width="100%"
61
- data-type="${e}"
62
- esd-extension-block-id="${b.NAME}"
63
- style="display: table-cell;">
64
- <div id="renderedContent" class="service-element text-block-input-area text-block-preview-area"
65
- style="outline: none;" contenteditable="">
66
- <p contenteditable="false" path="1">
67
- <a
68
- href="#!"
69
- style="${o}"
70
- product-attr="name"
71
- data-slot-2
72
- width="100%">
73
- ${A}
74
- </a>
75
- </p>
76
- </div>
76
+ data-type="${a}"
77
+ esd-extension-block-id="${P.NAME}"
78
+ style="${_}">
79
+ <p contenteditable="false" path="1"${p ? ` style="${p}"` : ""}>
80
+ <a
81
+ href="#!"
82
+ style="${E}"
83
+ product-attr="name"
84
+ data-slot-2
85
+ width="100%">
86
+ ${N}
87
+ </a>
88
+ </p>
77
89
  </td>
78
- ` : `<${$.BLOCK_TEXT}
90
+ `;
91
+ }
92
+ return `<${h.BLOCK_TEXT}
79
93
  width="100%"
80
94
  align="center"
81
95
  class="es-p10"
82
- data-type="${e}"
83
- esd-extension-block-id="${b.NAME}"
96
+ data-type="${a}"
97
+ esd-extension-block-id="${P.NAME}"
84
98
  >
85
99
  <p contenteditable="false">
86
100
  <a
@@ -102,267 +116,317 @@ const S = (e) => e.split(";").map((t) => t.trim()).filter((t) => !t.toLowerCase(
102
116
  product-attr="name"
103
117
  data-slot-2
104
118
  width="100%">
105
- ${A}
119
+ ${N}
106
120
  </a>
107
121
  </p>
108
- </${$.BLOCK_TEXT}>
122
+ </${h.BLOCK_TEXT}>
109
123
  `;
110
- }, q = (e, t, n, a, r, l, o) => {
111
- let d = f;
112
- if (a && a.trim()) {
113
- const u = `&nbsp;${a.trim()}&nbsp;`;
114
- d = (r || "0") === "1" ? `${f}${u}` : `${u}${f}`;
124
+ }, J = (a, t, l, e, c, n, o, i, r) => {
125
+ let d = x;
126
+ if (e && e.trim()) {
127
+ const $ = `&nbsp;${e.trim()}&nbsp;`;
128
+ d = (c || "0") === "1" ? `${x}${$}` : `${$}${x}`;
115
129
  }
116
- const s = r === "1" ? "after" : "before", T = `data-formated="${n ? "true" : "false"}"`, i = `data-curency="${s}"`, E = a ? `data-currency_symbol="${a}"` : "";
117
- if (l) {
118
- const p = S(o || "color: #060606; white-space: nowrap; font-size: 20px;");
130
+ const s = c === "1" ? "after" : "before", p = `data-formated="${l ? "true" : "false"}"`, E = `data-curency="${s}"`, _ = e ? `data-currency_symbol="${e}"` : "", b = `data-single_price="${i ? "true" : "false"}"`, I = r === w.ORIENTATION.VERTICAL ? " es-p10b es-p10t" : "";
131
+ if (n) {
132
+ const T = D(o || "color: #060606; white-space: nowrap; font-size: 20px;");
119
133
  return `
120
- <td class="esd-block-text items-block-price"
134
+ <td class="esd-block-text items-block-price${I}"
121
135
  align="center"
122
136
  esd-extension-block-id="items-block-price"
123
137
  width="100%">
124
138
  <p product-attr="price"
125
139
  contenteditable="false"
126
140
  data-slot-4
127
- data-type="${e}"
141
+ data-type="${a}"
128
142
  data-number="${t}"
129
- ${T}
130
- ${i}
143
+ ${p}
131
144
  ${E}
132
- style="${p}">
145
+ ${_}
146
+ ${b}
147
+ style="${T}">
133
148
  ${d}
134
149
  </p>
135
150
  </td>`;
136
151
  }
137
152
  return `
138
- <${$.BLOCK_TEXT}
139
- esd-extension-block-id="${b.PRICE}"
140
- class="items-block-price"
141
- width="100%"
142
- align="center"
143
- >
144
- <p
145
- product-attr="price"
146
- contenteditable="false"
147
- data-slot-4
148
- data-type="${e}"
149
- data-number="${t}"
150
- ${T}
151
- ${i}
152
- ${a ? `data-currency_symbol="${a}"` : ""}
153
+ <${h.BLOCK_TEXT}
154
+ esd-extension-block-id="${P.PRICE}"
155
+ class="items-block-price ${I}"
156
+ width="100%"
157
+ align="center"
153
158
  >
154
- ${d}
155
- </p>
156
- </${$.BLOCK_TEXT}>
157
- `;
158
- }, V = (e, t, n, a, r, l, o = !0, d) => {
159
- let s = k;
160
- if (a && a.trim()) {
161
- const p = `&nbsp;${a.trim()}&nbsp;`;
162
- s = (r || "0") === "1" ? `${k}${p}` : `${p}${k}`;
159
+ <p
160
+ product-attr="price"
161
+ contenteditable="false"
162
+ data-slot-4
163
+ data-type="${a}"
164
+ data-number="${t}"
165
+ ${p}
166
+ ${E}
167
+ ${e ? `data-currency_symbol="${e}"` : ""}
168
+ ${b}
169
+ >
170
+ ${d}
171
+ </p>
172
+ </${h.BLOCK_TEXT}>
173
+ `;
174
+ }, tt = (a, t, l, e, c, n, o = !0, i, r, d) => {
175
+ let s = S;
176
+ if (e && e.trim()) {
177
+ const T = `&nbsp;${e.trim()}&nbsp;`;
178
+ s = (c || "0") === "1" ? `${S}${T}` : `${T}${S}`;
163
179
  }
164
- const T = r === "1" ? "after" : "before", i = `data-formated="${n ? "true" : "false"}"`, E = `data-curency="${T}"`, u = o ? "" : ' style="display: none;"';
165
- if (l) {
166
- const O = S(d || "color: #cc0000; white-space: nowrap; font-size: 19px;");
180
+ const p = c === "1" ? "after" : "before", E = `data-formated="${l ? "true" : "false"}"`, _ = `data-curency="${p}"`, b = o ? "" : ' style="display: none;"', u = `data-single_price="${r ? "true" : "false"}"`, $ = d === w.ORIENTATION.VERTICAL ? " es-p10b es-p10t" : "";
181
+ if (n) {
182
+ const R = D(i || "color: #cc0000; white-space: nowrap; font-size: 19px;");
167
183
  return `
168
- <td class="esd-block-text items-block-price"
169
- esd-extension-block-id="items-block-original-price"
184
+ <td class="esd-block-text items-block-price${$}"
185
+ esd-extension-block-id="items-block-original-price"
186
+ width="100%"
187
+ align="center"${b}>
188
+ <p
189
+ product-attr="originalPrice"
190
+ contenteditable="false"
191
+ data-slot-5
192
+ data-type="${a}"
193
+ data-number="${t}"
194
+ ${E}
195
+ ${_}
196
+ ${e ? `data-currency_symbol="${e}"` : ""}
197
+ ${u}
198
+ style="${R}">
199
+ <s>${s}</s>
200
+ </p>
201
+ </td>
202
+ `;
203
+ }
204
+ return `
205
+ <${h.BLOCK_TEXT}
206
+ class="items-block-price ${$}"
207
+ esd-extension-block-id="${P.ORIGINAL_PRICE}"
170
208
  width="100%"
171
- align="center"${u}>
209
+ align="center"
210
+ ${o ? "" : 'style="display: none;"'}
211
+ >
172
212
  <p
173
213
  product-attr="originalPrice"
174
214
  contenteditable="false"
175
215
  data-slot-5
176
- data-type="${e}"
216
+ style="color: #cc0000"
217
+ data-type="${a}"
177
218
  data-number="${t}"
178
- ${i}
179
219
  ${E}
180
- ${a ? `data-currency_symbol="${a}"` : ""}
181
- style="${O}">
220
+ ${_}
221
+ ${e ? `data-currency_symbol="${e}"` : ""}
222
+ ${u}
223
+ >
182
224
  <s>${s}</s>
183
225
  </p>
184
- </td>`;
185
- }
186
- return `
187
- <${$.BLOCK_TEXT}
188
- class="items-block-price"
189
- esd-extension-block-id="${b.ORIGINAL_PRICE}"
190
- width="100%"
191
- align="center"
192
- ${o ? "" : 'style="display: none;"'}
193
- >
194
- <p
195
- product-attr="originalPrice"
196
- contenteditable="false"
197
- data-slot-5
198
- style="color: #cc0000"
199
- data-type="${e}"
200
- data-number="${t}"
201
- ${i}
202
- ${E}
203
- ${a ? `data-currency_symbol="${a}"` : ""}
204
- >
205
- <s>${s}</s>
206
- </p>
207
- </${$.BLOCK_TEXT}>
208
- `;
209
- }, H = (e = !0, t, n) => {
210
- const a = e ? "" : 'style="display: none;"';
226
+ </${h.BLOCK_TEXT}>
227
+ `;
228
+ }, et = (a = !0, t, l) => {
229
+ const e = a ? "" : 'style="display: none;"';
211
230
  return t ? `
212
231
  <td class="esd-block-text es-p10 document-node-component default-block-component selectable"
213
- width="100%" align="center" esd-extension-block-id="items-block-quantity" ${a}>
214
- <div class="service-element text-block-input-area text-block-preview-area"
215
- style="outline: none;" contenteditable="">
216
- <p product-attr="quantity" data-slot-3="" contenteditable="false" width="100%" path="1"
217
- style="${n || "text-align: center; font-size: 14px;"}">
218
- ${m}
219
- </p>
220
- </div>
232
+ width="100%" align="center" esd-extension-block-id="items-block-quantity" ${e}>
233
+ <p product-attr="quantity"
234
+ data-slot-3=""
235
+ contenteditable="false"
236
+ width="100%"
237
+ path="1"
238
+ style="${l || "text-align: center; font-size: 14px;"}">
239
+ ${k}
240
+ </p>
221
241
  </td>` : `
222
- <${$.BLOCK_TEXT}
242
+ <${h.BLOCK_TEXT}
223
243
  width="100%"
224
244
  align="center"
225
245
  class="es-p10"
226
- esd-extension-block-id="${b.QUANTITY}"
227
- ${e ? "" : 'style="display: none;"'}
246
+ esd-extension-block-id="${P.QUANTITY}"
247
+ ${a ? "" : 'style="display: none;"'}
228
248
  >
229
249
  <p
230
250
  product-attr="quantity"
231
251
  data-slot-3
232
252
  contenteditable="false"
233
253
  width="100%">
234
- ${m}
254
+ ${k}
235
255
  </p>
236
- </${$.BLOCK_TEXT}>
256
+ </${h.BLOCK_TEXT}>
237
257
  `;
238
- }, j = (e, t, n = "Buy", a, r) => a ? `
258
+ }, at = (a, t, l = "Buy", e, c, n = !0) => {
259
+ if (e) {
260
+ const o = m(c || "", "background") || m(c || "", "background-color"), i = o ? `border-width: 0px; background: ${o};` : "border-width: 0px;", r = n ? "es-fw" : "es-il", d = (c || "").replace("border-width: 0;", "");
261
+ return `
239
262
  <td class="esd-block-button ins-button default-block-component selectable"
240
- align="center" width="100%" name="buy-button" caption="${n}"
263
+ align="center" width="100%" name="buy-button" caption="${l}"
241
264
  esd-extension-block-id="items-block-button"
242
- product-attr="button" data-slot-6="" data-type="${e}" data-number="${t}">
243
- <span class="es-button-border" style="border-width: 0px;">
244
- <a class="es-button" href="#!" target="_blank" style="${r || ""}">
245
- ${n}
265
+ product-attr="button" data-slot-6="" data-type="${a}" data-number="${t}">
266
+ <span class="es-button-border ${r}" style="${i}">
267
+ <a
268
+ class="es-button"
269
+ href="#!"
270
+ target="_blank"
271
+ style="${d} padding: 5px 12px;">
272
+ ${l}
246
273
  </a>
247
274
  </span>
248
- </td>` : `
249
- <${$.BLOCK_BUTTON}
275
+ </td>`;
276
+ }
277
+ return `
278
+ <${h.BLOCK_BUTTON}
250
279
  width="100%"
251
280
  class="ins-button"
252
281
  name="buy-button"
253
- caption="${n}"
282
+ caption="${l}"
254
283
  align="center"
255
- esd-extension-block-id="${b.BUTTON}"
284
+ esd-extension-block-id="${P.BUTTON}"
256
285
  product-attr="button"
257
286
  data-slot-6
258
- data-type="${e}"
287
+ data-type="${a}"
259
288
  data-number="${t}"
260
- >${n}
261
- </${$.BLOCK_BUTTON}>
262
- `, Y = (e) => !e || Object.keys(e).length === 0 ? '<esd-config-block style="display: none;"></esd-config-block>' : `<esd-config-block style="display: none;" ${Object.entries(e).map(([n, a]) => `${n}="${a}"`).join(" ")}></esd-config-block>`, Z = (e, t, n) => {
263
- const a = t === y.ORIENTATION.VERTICAL, r = n === "horizontal";
264
- return a ? r ? e : e.replace(
265
- /<td\s+[^>]*class="[^"]*product-(?:original-)?price-class[^"]*"[^>]*>/gi,
266
- (l) => l.replace(/width="50%"/gi, 'width="100%"').replace(/width:\s*50%;/gi, "width: 100%;")
267
- ) : r ? e : e.replace(
289
+ >${l}
290
+ </${h.BLOCK_BUTTON}>
291
+ `;
292
+ }, st = (a, t, l, e = !0, c = !0) => {
293
+ const n = t === w.ORIENTATION.VERTICAL, o = l === "horizontal";
294
+ if (n) {
295
+ const i = !o, r = i || !c ? "100%" : "50%", d = i || !e ? "100%" : "50%";
296
+ let s = a.replace(
297
+ /<td\s+[^>]*class="([^"]*product-price-class[^"]*)"[^>]*>/gi,
298
+ (p) => p.replace(/width="[^"]*"/gi, `width="${r}"`).replace(/width:\s*[^;]+;/gi, `width: ${r};`)
299
+ );
300
+ return s = s.replace(
301
+ /<td\s+[^>]*class="([^"]*product-original-price-class[^"]*)"[^>]*>/gi,
302
+ (p) => p.replace(/width="[^"]*"/gi, `width="${d}"`).replace(/width:\s*[^;]+;/gi, `width: ${d};`)
303
+ ), s;
304
+ }
305
+ return o ? a : a.replace(
268
306
  /<td\s+[^>]*class="[^"]*horizontal-price[^"]*"[^>]*>/gi,
269
- (l) => /style\s*=\s*"/i.test(l) ? l.replace(/style\s*=\s*"([^"]*)"/i, 'style="display: none; $1"') : l.replace(/>$/, ' style="display: none;">')
307
+ (i) => /style\s*=\s*"/i.test(i) ? i.replace(/style\s*=\s*"([^"]*)"/i, 'style="display: none; $1"') : i.replace(/>$/, ' style="display: none;">')
270
308
  ).replace(
271
309
  /<td\s+[^>]*class="[^"]*vertical-price[^"]*"[^>]*>/gi,
272
- (l) => l.replace(/display:\s*none;?/gi, "display: table-cell;")
310
+ (i) => i.replace(/display:\s*none;?/gi, "display: table-cell;")
273
311
  );
274
- }, J = (e) => e ? `<td align="center"
312
+ }, lt = (a) => a ? `<td align="center"
275
313
  esd-extension-block-id="items-block" width="560"
276
314
  data-number="4"
277
- class="ins-product-td items-block items-block-v2 esd-items-block esd-extension-block esd-container-frame">` : v, g = (e, t, n, a, r, l, o, d, s, T, i, E, u, p = "horizontal", O, _, I) => {
278
- const x = `${`data-type="${t}" data-number="${n}"`} data-orientation="${a}"`, L = e.replace(
315
+ class="ins-product-td items-block items-block-v2 esd-items-block esd-extension-block esd-container-frame">` : W, f = (a, t, l, e, c, n, o, i, r, d, s, p, E, _ = "horizontal", b, u, I, $) => {
316
+ const L = `${`data-type="${t}" data-number="${l}"`} data-orientation="${e}"`, A = a.replace(
279
317
  /<td([^>]*class="[^"]*ins-product-td[^"]*"[^>]*)>/,
280
- `<td$1 ${x}>`
281
- ), F = s == null ? void 0 : s["data-product_image_control_image-width"], C = l ? G(t, n, F) : Q(t, n), M = (i == null ? void 0 : i.buttonLabel) || "Buy", U = (i == null ? void 0 : i.quantityControlEnabled) !== void 0 ? i.quantityControlEnabled : !0, D = (i == null ? void 0 : i.originalPriceVisible) !== void 0 ? i.originalPriceVisible : (s == null ? void 0 : s["data-product_original_price_control_enabled"]) !== "false", B = L.replace("{-{-TEMPLATE_FIRST_LINE-}-}", J(l)).replace("{-{-PRODUCT_IMAGE-}-}", C).replace("{-{-PRODUCT_NAME-}-}", W(t, l, a, E)).replaceAll(
318
+ `<td$1 ${L}>`
319
+ ), V = r == null ? void 0 : r["data-product_image_control_image-height"], v = n ? Y(t, l, V, s) : j(t, l), z = (s == null ? void 0 : s.buttonLabel) || "Buy", X = (s == null ? void 0 : s.buttonFullWidth) !== void 0 ? s.buttonFullWidth : !0, B = t === w.ITEMS_TYPE.BROWSED_ITEMS ? !1 : s == null ? void 0 : s.quantityControlEnabled, K = (s == null ? void 0 : s.priceVisible) !== void 0 ? s.priceVisible : (r == null ? void 0 : r["data-product_price_visible"]) !== "false", M = (s == null ? void 0 : s.originalPriceVisible) !== void 0 ? s.originalPriceVisible : (r == null ? void 0 : r["data-product_original_price_control_enabled"]) !== "false", G = A.replace("{-{-TEMPLATE_FIRST_LINE-}-}", lt(n)).replace("{-{-PRODUCT_IMAGE-}-}", v).replace("{-{-PRODUCT_NAME-}-}", Z(t, n, e, p, s)).replaceAll(
282
320
  "{-{-PRODUCT_PRICE-}-}",
283
- q(t, n, r, o, d, l, O)
321
+ J(
322
+ t,
323
+ l,
324
+ c,
325
+ o,
326
+ i,
327
+ n,
328
+ b,
329
+ $,
330
+ e
331
+ )
284
332
  ).replaceAll(
285
333
  "{-{-PRODUCT_ORIGINAL_PRICE-}-}",
286
- V(
334
+ tt(
287
335
  t,
288
- n,
289
- r,
290
- o,
291
- d,
292
336
  l,
293
- D,
294
- _
337
+ c,
338
+ o,
339
+ i,
340
+ n,
341
+ M,
342
+ u,
343
+ $,
344
+ e
295
345
  )
296
- ).replace("{-{-PRODUCT_QUANTITY-}-}", H(U, l, I)).replace("{-{-PRODUCT_BUTTON-}-}", j(t, n, M, l, u)).replace("{-{-CONFIG_BLOCK-}-}", Y(s));
297
- return Z(B, a, p);
346
+ ).replace("{-{-PRODUCT_QUANTITY-}-}", et(B, n, I)).replace(
347
+ "{-{-PRODUCT_BUTTON-}-}",
348
+ at(t, l, z, n, E, X)
349
+ );
350
+ return st(
351
+ G,
352
+ e,
353
+ _,
354
+ K,
355
+ M
356
+ );
298
357
  };
299
- function st({
300
- orientation: e,
301
- itemsType: t = y.ITEMS_TYPE.CART_ITEMS,
302
- itemId: n,
303
- currencySymbol: a,
304
- currencyLocation: r,
305
- migrate: l = !1,
358
+ function pt({
359
+ orientation: a,
360
+ itemsType: t = w.ITEMS_TYPE.CART_ITEMS,
361
+ itemId: l,
362
+ currencySymbol: e,
363
+ currencyLocation: c,
364
+ migrate: n = !1,
306
365
  formattedPrice: o = !0,
307
- configBlockAttributes: d,
308
- nodeConfig: s,
309
- nameStyles: T,
310
- buttonStyles: i,
311
- priceStyles: E,
312
- originalPriceStyles: u,
313
- quantityStyles: p,
314
- priceOrientation: O
366
+ configBlockAttributes: i,
367
+ nodeConfig: r,
368
+ nameStyles: d,
369
+ buttonStyles: s,
370
+ priceStyles: p,
371
+ originalPriceStyles: E,
372
+ quantityStyles: _,
373
+ priceOrientation: b
315
374
  }) {
316
- const _ = X[t].findIndex((h) => h.value === n);
375
+ const u = C[t].findIndex((A) => A.value === l);
317
376
  let I = "1";
318
- if (_ >= 0)
319
- I = String(_ + 1);
320
- else if (n) {
321
- const h = n.match(/\((\d+)\)/);
322
- h && h[1] && ([, I] = h);
377
+ if (u >= 0)
378
+ I = String(u + 1);
379
+ else if (l) {
380
+ const A = l.match(/\((\d+)\)/);
381
+ A && A[1] && ([, I] = A);
323
382
  }
324
- N = c.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[_ >= 0 ? _ : 0], A = c.PAIRS_FOR_EXTENSION.name[t].DEFAULT[_ >= 0 ? _ : 0], f = o ? c.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE_FORMATTED : c.PAIRS_FOR_EXTENSION.price[t].DEFAULT_PRICE, k = o ? c.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE_FORMATTED : c.PAIRS_FOR_EXTENSION.originalPrice[t].DEFAULT_PRICE, m = c.PAIRS_FOR_EXTENSION.quantity[t].DEFAULT;
325
- const w = O || (s == null ? void 0 : s.priceOrientation) || "horizontal";
326
- return e === y.ORIENTATION.VERTICAL ? g(
327
- z,
383
+ const $ = (r == null ? void 0 : r.priceSinglePrice) ?? (i == null ? void 0 : i["data-product_price_control_single_price"]) === "1" ?? !1;
384
+ g = O.PAIRS_FOR_EXTENSION.imageSrc[t].DEFAULT[u >= 0 ? u : 0], N = O.PAIRS_FOR_EXTENSION.name[t].DEFAULT[u >= 0 ? u : 0];
385
+ const T = O.PAIRS_FOR_EXTENSION.price[t], R = O.PAIRS_FOR_EXTENSION.originalPrice[t];
386
+ $ ? (x = o ? T.DEFAULT_SINGLE_PRICE_FORMATTED : T.DEFAULT_SINGLE_PRICE, S = o ? R.DEFAULT_SINGLE_PRICE_FORMATTED : R.DEFAULT_SINGLE_PRICE) : (x = o ? T.DEFAULT_PRICE_FORMATTED : T.DEFAULT_PRICE, S = o ? R.DEFAULT_PRICE_FORMATTED : R.DEFAULT_PRICE), k = O.PAIRS_FOR_EXTENSION.quantity[t].DEFAULT;
387
+ const L = b || (r == null ? void 0 : r.priceOrientation) || "horizontal";
388
+ return a === w.ORIENTATION.VERTICAL ? f(
389
+ H,
328
390
  t,
329
391
  I,
330
- e,
331
- o,
332
- l,
333
392
  a,
334
- r,
335
- d,
393
+ o,
394
+ n,
395
+ e,
396
+ c,
397
+ i,
336
398
  void 0,
337
399
  // nodup
400
+ r,
401
+ d,
338
402
  s,
339
- T,
340
- i,
341
- w,
403
+ L,
404
+ p,
342
405
  E,
343
- u,
344
- p
345
- ) : g(
346
- K,
406
+ _,
407
+ $
408
+ ) : f(
409
+ Q,
347
410
  t,
348
411
  I,
349
- e,
350
- o,
351
- l,
352
412
  a,
353
- r,
354
- d,
413
+ o,
414
+ n,
415
+ e,
416
+ c,
417
+ i,
355
418
  void 0,
356
419
  // nodup
420
+ r,
421
+ d,
357
422
  s,
358
- T,
359
- i,
360
- w,
423
+ L,
424
+ p,
361
425
  E,
362
- u,
363
- p
426
+ _,
427
+ $
364
428
  );
365
429
  }
366
430
  export {
367
- st as getDefaultTemplate
431
+ pt as getDefaultTemplate
368
432
  };