@useinsider/guido 3.17.0 → 3.18.0-beta.a0b94e0

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