@useinsider/guido 2.1.0-beta.d5b6dd6 → 2.1.0-beta.d770bbd

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 (161) hide show
  1. package/dist/components/organisms/base/Toaster.vue.js +4 -4
  2. package/dist/components/organisms/base/Toaster.vue2.js +12 -9
  3. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +5 -5
  4. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +2 -2
  5. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +15 -14
  6. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +1 -1
  7. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +19 -19
  8. package/dist/composables/useHtmlValidator.js +114 -104
  9. package/dist/composables/useRecommendation.js +54 -21
  10. package/dist/composables/useStripo.js +1 -1
  11. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  12. package/dist/config/compiler/utils/recommendationCompilerUtils.js +121 -0
  13. package/dist/config/{localePatch → i18n/en}/index.js +5 -7
  14. package/dist/config/{localePatch → i18n/en}/toasters.json.js +7 -2
  15. package/dist/config/i18n/index.js +7 -0
  16. package/dist/config/migrator/itemsBlockMigrator.js +127 -122
  17. package/dist/config/migrator/recommendationMigrator.js +2 -2
  18. package/dist/enums/extensions/recommendationBlock.js +1 -1
  19. package/dist/enums/recommendation.js +16 -15
  20. package/dist/extensions/Blocks/Recommendation/block.js +133 -9
  21. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  22. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  23. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +66 -0
  24. package/dist/extensions/Blocks/Recommendation/constants/layout.js +22 -0
  25. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +21 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +92 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +209 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +250 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +160 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +307 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +21 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  45. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  46. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  48. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  49. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
  51. package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
  52. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  53. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  54. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  55. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
  56. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +254 -207
  57. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +228 -0
  58. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  59. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +66 -0
  60. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  61. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +169 -0
  62. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  63. package/dist/extensions/Blocks/Recommendation/templates/utils.js +134 -0
  64. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  65. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  66. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
  67. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  68. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  69. package/dist/extensions/Blocks/Unsubscribe/block.js +29 -29
  70. package/dist/extensions/Blocks/Unsubscribe/control.js +12 -9
  71. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +13 -11
  72. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +31 -1
  73. package/dist/extensions/Blocks/controlFactories.js +125 -93
  74. package/dist/guido.css +1 -1
  75. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +242 -186
  76. package/dist/services/recommendationApi.js +11 -8
  77. package/dist/services/stripoApi.js +20 -17
  78. package/dist/services/templateLibraryApi.js +16 -13
  79. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  80. package/dist/src/composables/useRecommendation.d.ts +1 -0
  81. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  82. package/dist/src/config/i18n/en/index.d.ts +1 -0
  83. package/dist/src/config/i18n/index.d.ts +16 -0
  84. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  85. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  86. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
  87. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
  88. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  89. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +41 -0
  90. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +35 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  93. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
  94. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
  96. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +79 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +60 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +221 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +29 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +83 -0
  117. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  118. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  119. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  120. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +138 -468
  121. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  122. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
  123. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  124. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +41 -0
  125. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  126. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  127. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  128. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +66 -0
  129. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  130. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +166 -0
  131. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  132. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  133. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  134. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +1 -0
  135. package/dist/static/styles/components/notification.css.js +4 -0
  136. package/dist/static/styles/components/tools.css.js +6 -2
  137. package/dist/static/styles/customEditorStyle.css.js +35 -11
  138. package/dist/static/styles/variables.css.js +2 -1
  139. package/dist/static/templates/empty/index.html.js +74 -0
  140. package/dist/static/templates/empty/style.css.js +779 -0
  141. package/dist/stores/unsubscribe.js +37 -34
  142. package/dist/utils/pairProductVariables.js +57 -56
  143. package/dist/utils/templatePreparation.js +15 -14
  144. package/package.json +2 -2
  145. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
  146. package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
  147. package/dist/extensions/Blocks/Recommendation/control.js +0 -336
  148. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  149. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  150. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  151. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  152. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
  153. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  154. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  155. package/dist/src/config/localePatch/index.d.ts +0 -140
  156. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  157. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  158. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  159. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
  160. /package/dist/config/{localePatch → i18n/en}/labels.json.js +0 -0
  161. /package/dist/config/{localePatch → i18n/en}/tooltips.json.js +0 -0
@@ -1,15 +1,16 @@
1
- import { useRecommendation as u } from "../../composables/useRecommendation.js";
2
- import { DUMMY_IMAGE_MAPPINGS as P, REGEX as i, CSS as e, CONDITIONS as E, ATTRIBUTES as r, HTML as h } from "../../enums/recommendation.js";
3
- const H = [
1
+ import { useRecommendation as f } from "../../composables/useRecommendation.js";
2
+ import { DUMMY_IMAGE_MAPPINGS as P, REGEX as m, VerticalOrientation as g, CSS as e, ATTRIBUTES as a, CONDITIONS as A, HTML as h } from "../../enums/recommendation.js";
3
+ import { prepareRecommendationBlocks as D } from "./utils/recommendationCompilerUtils.js";
4
+ const G = [
4
5
  {
5
6
  id: "replace-images-with-variable-names",
6
7
  description: "Replacing dummy images with variable names in recommendation module",
7
8
  type: "custom",
8
- processor: (a) => {
9
- let t = a;
10
- return Object.entries(P).forEach(([, n]) => {
11
- Object.entries(n).forEach(([s, o]) => {
12
- t = t.replaceAll(o, `{{${s}}}`);
9
+ processor: (s) => {
10
+ let t = s;
11
+ return Object.entries(P).forEach(([, l]) => {
12
+ Object.entries(l).forEach(([n, o]) => {
13
+ t = t.replaceAll(o, `{{${n}}}`);
13
14
  });
14
15
  }), t;
15
16
  },
@@ -28,17 +29,17 @@ const H = [
28
29
  id: "add-recommendation-unresponsive-css",
29
30
  description: "Adding recommendation unresponsive css",
30
31
  type: "custom",
31
- processor: (a) => {
32
- const { getRecommendationCampaignData: t } = u();
33
- let n = a;
34
- const s = n.match(i.ID);
35
- if (s) {
36
- const o = [];
37
- if (s.forEach((c) => {
38
- const m = c.slice(35, c.length - 1).trim();
39
- t(m);
40
- }), o.length) {
41
- const c = `width:${Math.min(...o)}px!important;`;
32
+ processor: (s) => {
33
+ const { calculateCardWidth: t, getRecommendationCampaignData: l } = f();
34
+ let n = s;
35
+ const o = n.match(m.ID);
36
+ if (o) {
37
+ const d = [];
38
+ if (o.forEach((c) => {
39
+ const E = /recommendation-id="(.*?)"/i.exec(c), I = E ? E[1].trim() : "", p = l(I);
40
+ p.textTrimming && p.orientation === g && d.push(t(p));
41
+ }), d.length) {
42
+ const c = `width:${Math.min(...d)}px!important;`;
42
43
  n = n.replace(e.REGULAR_NAME_HEIGHT, `${e.TRIMMED_NAME_HEIGHT} ${c} ${e.ELLIPSIS}`).replace(e.REGULAR_NAME_CONTAINER_HEIGHT, e.TRIMMED_NAME_CONTAINER_CSS).replace(e.RESPONSIVE_NAME_SIZE, `${e.RESPONSIVE_NAME_HEIGHT} ${c} ${e.ELLIPSIS}`).replace(e.RESPONSIVE_NAME_CONTAINER_HEIGHT, e.TRIMMED_RESPONSIVE_NAME_CONTAINER_CSS);
43
44
  }
44
45
  }
@@ -46,32 +47,37 @@ const H = [
46
47
  },
47
48
  priority: 52
48
49
  },
49
- // TODO: prepareRecommendations
50
- // TODO: addRecommendationCustomFields
50
+ {
51
+ id: "prepare-recommendations",
52
+ description: "Replacing product data with template variables in recommendation blocks",
53
+ type: "custom",
54
+ processor: (s) => D(s),
55
+ priority: 48
56
+ },
51
57
  {
52
58
  id: "add-discount-conditions",
53
59
  description: "Adding discount conditions to the recommendation block",
54
60
  type: "custom",
55
- processor: (a) => {
56
- let t = a;
57
- const n = t.match(i.ATTRIBUTE_PARAGRAPH), { getRecommendationCampaignData: s } = u();
58
- return n !== null && n.forEach((o) => {
59
- const c = o.match(i.CUSTOM_FIELD);
60
- if (!c)
61
+ processor: (s) => {
62
+ let t = s;
63
+ const l = t.match(m.ATTRIBUTE_PARAGRAPH), { getRecommendationCampaignData: n } = f();
64
+ return l !== null && l.forEach((o) => {
65
+ const d = o.match(m.CUSTOM_FIELD);
66
+ if (!d)
61
67
  return;
62
- const [m] = c, p = m.match(i.CUSTOM_FIELD_INDEXES_PART), A = m.match(i.CUSTOM_FIELD_NAME_PART), _ = o.match(i.ATTRIBUTE_PARAGRAPH_START_TAG);
63
- if (!p || !A || !_)
68
+ const [c] = d, E = c.match(m.CUSTOM_FIELD_INDEXES_PART), I = c.match(m.CUSTOM_FIELD_NAME_PART), p = o.match(m.ATTRIBUTE_PARAGRAPH_START_TAG);
69
+ if (!E || !I || !p)
64
70
  return;
65
- const [l] = p, [T] = A, [d] = _, N = T.substring(1, T.length - 2), R = d.match(i.COMPOSITION) !== null;
66
- let O = m;
67
- if (R) {
68
- const M = l.substring(2, l.length - 3);
69
- s(M);
71
+ const [u] = E, [R] = I, [_] = p, T = R.substring(1, R.length - 2), S = _.match(m.COMPOSITION) !== null;
72
+ let i = c;
73
+ if (S) {
74
+ const $ = u.substring(2, u.length - 3), r = n($);
75
+ T === a.OMNIBUS_PRICE && (r.priceBeforeTextValue && (i = `${r.priceBeforeTextValue}${i}`), r.priceAfterTextValue && (i = `${i}${r.priceAfterTextValue}`)), T === a.OMNIBUS_DISCOUNT && (r.discountBeforeTextValue && (i = `${r.discountBeforeTextValue}${i}`), r.discountAfterTextValue && (i = `${i}${r.discountAfterTextValue}`));
70
76
  }
71
- const I = l.substring(2);
72
- let S = "";
73
- N in E.IF && (S = E.IF[N].replaceAll(`{${r.DISCOUNT}}`, `${I}${r.DISCOUNT}`).replaceAll(`{${r.OMNIBUS_DISCOUNT}}`, `${I}${r.OMNIBUS_DISCOUNT}`).replaceAll(`{${r.OMNIBUS_PRICE}}`, `${I}${r.OMNIBUS_PRICE}`));
74
- const $ = `${d}${O}${h.PARAGRAPH_END_TAG}`, C = `${S}${R ? $ : o}${E.ELSE}${d}${h.PARAGRAPH_END_TAG}${E.END_IF}`;
77
+ const N = u.substring(2);
78
+ let M = "";
79
+ T in A.IF && (M = A.IF[T].replaceAll(`{${a.DISCOUNT}}`, `${N}${a.DISCOUNT}`).replaceAll(`{${a.OMNIBUS_DISCOUNT}}`, `${N}${a.OMNIBUS_DISCOUNT}`).replaceAll(`{${a.OMNIBUS_PRICE}}`, `${N}${a.OMNIBUS_PRICE}`));
80
+ const O = `${_}${i}${h.PARAGRAPH_END_TAG}`, C = `${M}${S ? O : o}${A.ELSE}${_}${h.PARAGRAPH_END_TAG}${A.END_IF}`;
75
81
  t = t.replace(o, C);
76
82
  }), t;
77
83
  },
@@ -79,5 +85,5 @@ const H = [
79
85
  }
80
86
  ];
81
87
  export {
82
- H as recommendationCompilerRules
88
+ G as recommendationCompilerRules
83
89
  };
@@ -0,0 +1,121 @@
1
+ import { useRecommendation as _ } from "../../../composables/useRecommendation.js";
2
+ function b(e, u, r, o) {
3
+ const n = `{{${e}_${u}_${r}}}`, t = `{{${e}_${u}_currency}}`;
4
+ return o === "before" ? `${t} ${n}` : `${n} ${t}`;
5
+ }
6
+ function p(e, u, r, o, n) {
7
+ switch (u) {
8
+ case "productImage": {
9
+ const t = e.querySelector("img");
10
+ t && (t.setAttribute("src", `{{${r}_${o}_image_url}}`), t.setAttribute("alt", `{{${r}_${o}_name}}`));
11
+ const c = e.querySelector("a");
12
+ c && c.setAttribute("href", `{{${r}_${o}_url}}`);
13
+ break;
14
+ }
15
+ case "productName": {
16
+ const t = e.querySelector("p");
17
+ if (t) {
18
+ const c = t.querySelector("strong") || t;
19
+ c.textContent = `{{${r}_${o}_name}}`;
20
+ }
21
+ break;
22
+ }
23
+ case "productPrice": {
24
+ const t = e.querySelector("p");
25
+ if (t) {
26
+ const c = t.querySelector("strong") || t;
27
+ c.textContent = b(r, o, "price", n);
28
+ }
29
+ break;
30
+ }
31
+ case "productOldPrice": {
32
+ const t = e.querySelector("p");
33
+ if (t) {
34
+ const c = t.querySelector("strong") || t;
35
+ c.textContent = b(
36
+ r,
37
+ o,
38
+ "original_price",
39
+ n
40
+ ), t.setAttribute("product-attr", "discount");
41
+ }
42
+ break;
43
+ }
44
+ case "productButton": {
45
+ const t = e.querySelector("a");
46
+ t && t.setAttribute("href", `{{${r}_${o}_url}}`);
47
+ break;
48
+ }
49
+ case "productOmnibusPrice": {
50
+ const t = e.querySelector(".omnibus-price-value");
51
+ if (t) {
52
+ t.textContent = `{{${r}_${o}_omnibus_price}}`;
53
+ const c = t.closest("p");
54
+ c && (c.setAttribute("product-attr", "omnibus_price"), c.setAttribute("composition", "true"));
55
+ }
56
+ break;
57
+ }
58
+ case "productOmnibusDiscount": {
59
+ const t = e.querySelector(".omnibus-discount-value");
60
+ if (t) {
61
+ t.textContent = `{{${r}_${o}_omnibus_discount}}`;
62
+ const c = t.closest("p");
63
+ c && (c.setAttribute("product-attr", "omnibus_discount"), c.setAttribute("composition", "true"));
64
+ }
65
+ break;
66
+ }
67
+ }
68
+ }
69
+ function $(e, u, r) {
70
+ e.querySelectorAll(".recommendation-product-row").forEach((n, t) => {
71
+ n.querySelectorAll("[data-attribute-type]").forEach((s) => {
72
+ const i = s.getAttribute("data-attribute-type") || "", a = s.querySelectorAll(".attribute-cell");
73
+ a.length > 0 ? a.forEach((l) => {
74
+ p(l, i, u, t, r);
75
+ }) : p(s, i, u, t, r);
76
+ });
77
+ });
78
+ }
79
+ function S(e, u, r) {
80
+ const o = e.querySelectorAll(".recommendation-product-row");
81
+ if (!o.length)
82
+ return;
83
+ const [n] = o, t = n.querySelector("[data-attribute-type]"), c = t ? t.querySelectorAll(".attribute-cell").length : 1;
84
+ o.forEach((s, i) => {
85
+ s.querySelectorAll("[data-attribute-type]").forEach((l) => {
86
+ const f = l.getAttribute("data-attribute-type") || "";
87
+ l.querySelectorAll(".attribute-cell").forEach((y, m) => {
88
+ const A = i * c + m;
89
+ p(y, f, u, A, r);
90
+ });
91
+ });
92
+ });
93
+ }
94
+ function q(e, u, r) {
95
+ e.querySelectorAll(".ins-recommendation-product-container").forEach((n) => {
96
+ S(n, u, r);
97
+ });
98
+ }
99
+ function d(e, u) {
100
+ const r = e.getAttribute("data-layout") || "grid", o = e.getAttribute("currency-alignment") || "after";
101
+ r === "list" ? $(e, u, o) : q(e, u, o);
102
+ }
103
+ function h(e, u) {
104
+ const r = e.match(/<!DOCTYPE[^>]*>/i);
105
+ return (r ? `${r[0]}
106
+ ` : "") + u.documentElement.outerHTML;
107
+ }
108
+ function w(e) {
109
+ const u = e.replaceAll("{%", "<!--{%").replaceAll("%}", "%}-->"), r = new DOMParser().parseFromString(u, "text/html"), o = r.querySelectorAll(".ins-recommendation-v3-block-v2");
110
+ if (!o.length)
111
+ return e;
112
+ const { buildCampaignUrl: n } = _();
113
+ return o.forEach((c) => {
114
+ const s = c.getAttribute("recommendation-id");
115
+ s && (n(s), d(c, s));
116
+ }), h(u, r).replaceAll("<!--{%", "{%").replaceAll("%}-->", "%}").replaceAll("&lt;!--{%", "{%").replaceAll("%}--&gt;", "%}");
117
+ }
118
+ export {
119
+ b as formatPriceVariable,
120
+ w as prepareRecommendationBlocks
121
+ };
@@ -1,13 +1,11 @@
1
1
  import o from "./labels.json.js";
2
2
  import t from "./toasters.json.js";
3
3
  import r from "./tooltips.json.js";
4
- const p = {
5
- en: {
6
- ...o,
7
- ...r,
8
- ...t
9
- }
4
+ const e = {
5
+ ...o,
6
+ ...r,
7
+ ...t
10
8
  };
11
9
  export {
12
- p as localePatch
10
+ e as en
13
11
  };
@@ -1,4 +1,4 @@
1
- const e = "Your version has been restored successfully.", o = "Restore Image", t = {
1
+ const e = "Your version has been restored successfully.", o = "Restore Image", t = "Cancel", a = {
2
2
  "The image has been deleted.": "The image has been deleted successfully.",
3
3
  "Aim for the drop zone!": "Drag and drop your image inside the upload area to continue.",
4
4
  "Image processing": "The image upload is in progress. This may take some time.",
@@ -14,6 +14,7 @@ const e = "Your version has been restored successfully.", o = "Restore Image", t
14
14
  "Error message from image processing": "The Play Button couldn't be added to the Video Thumbnail right now. You can select another Play Button and try again.",
15
15
  "The AI is fine-tuning your result... Please wait! This may take up to 1 minute.": "AI content generation is in progress. This may take some time.",
16
16
  "Can not complete AI request. Try again later": "AI content generation couldn't be completed right now. You can reload the editor or wait for a while and try again.",
17
+ "Http failure response for https://plugins.stripo.email/api/v1/documents/v3/documents/link: 400 OK": "Upload a valid image to continue.",
17
18
  "Http failure response for https://plugins.stripo.email/api/v1/documents/v3/documents/base64: 400 OK": "The video thumbnail couldn’t be uploaded from the URL. Check and update your URL to continue.",
18
19
  "AI is processing your request": "AI content generation is in progress. This may take some time.",
19
20
  "Whoops, something went wrong. Our experts are working to resolve this issue. Try again later please": "Your action couldn't be done right now. You can reload the editor or wait for a while and try again.",
@@ -40,12 +41,16 @@ const e = "Your version has been restored successfully.", o = "Restore Image", t
40
41
  "Image recovery error": "The image couldn't be restored right now. You can wait for a while and try again.",
41
42
  "Image moved to trash": "The image has been deleted successfully.",
42
43
  Recover: o,
44
+ Stop: t,
45
+ "Can`t delete the image": "The image couldn’t be deleted right now. You can wait for a while and try again.",
46
+ "Can`t restore the image": "The image couldn’t be restored right now. You can wait for a while and try again.",
43
47
  "Image delete error": "The image couldn't be deleted right now. You can wait for a while and try again.",
44
48
  "The maximum number of users who can simultaneously work with the sheet has been exceeded. Maximum allowed number: {{max_users_per_model}}": "You can’t edit the design right now as the maximum number of users are currently editing it.",
45
49
  "The monthly limit of Timer basic block is reached. Please change the subscription pricing plan to activate new quotas": "You have reached your monthly limit of Timer Blocks. You can contact your Account Director for more information."
46
50
  };
47
51
  export {
48
52
  o as Recover,
49
- t as default,
53
+ t as Stop,
54
+ a as default,
50
55
  e as history_revert_to_patch
51
56
  };
@@ -0,0 +1,7 @@
1
+ import { en as o } from "./en/index.js";
2
+ const c = {
3
+ en: o
4
+ };
5
+ export {
6
+ c as localePatch
7
+ };