@useinsider/guido 2.1.0 → 2.2.0-beta.49c8d1d

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 (145) hide show
  1. package/dist/@types/config/schemas.js +17 -17
  2. package/dist/components/organisms/header/HeaderWrapper.vue.js +9 -9
  3. package/dist/composables/useActionsApi.js +15 -13
  4. package/dist/config/migrator/itemsBlockMigrator.js +140 -123
  5. package/dist/extensions/Blocks/Items/block.js +19 -28
  6. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  7. package/dist/extensions/Blocks/Items/controls/cardComposition.js +137 -89
  8. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  9. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  10. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +35 -47
  11. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +49 -54
  12. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +42 -51
  13. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -36
  14. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  15. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -60
  16. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  17. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  18. package/dist/extensions/Blocks/Items/extension.js +8 -9
  19. package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
  20. package/dist/extensions/Blocks/Items/template.js +181 -175
  21. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  22. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  23. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  24. package/dist/extensions/Blocks/Recommendation/control.js +91 -61
  25. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  33. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  34. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  35. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  36. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  37. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  38. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  39. package/dist/extensions/Blocks/common-control.js +91 -92
  40. package/dist/guido.css +1 -1
  41. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +39 -44
  42. package/dist/package.json.js +1 -1
  43. package/dist/src/@types/config/schemas.d.ts +2 -2
  44. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  45. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  46. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  47. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  48. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  49. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  50. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  51. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  52. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  53. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  54. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  55. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  56. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  57. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  58. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  59. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  60. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  61. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  62. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  63. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  64. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  65. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  66. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  67. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  68. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  69. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  70. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  71. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  72. package/dist/static/styles/components/notification.css.js +1 -0
  73. package/dist/static/styles/components/wide-panel.css.js +15 -4
  74. package/dist/static/styles/customEditorStyle.css.js +13 -0
  75. package/package.json +2 -2
  76. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  77. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  94. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  95. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  96. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  97. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  98. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  99. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  100. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  101. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  102. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  103. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  104. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  105. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  106. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  107. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  108. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  109. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  110. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  111. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  113. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  114. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  115. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  117. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  118. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  121. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  122. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  139. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  140. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  141. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  142. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  143. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  144. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  145. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -1,4 +1,4 @@
1
- import { object as o, number as b, optional as e, string as t, pipe as u, picklist as n, custom as d, boolean as c, array as a, minLength as p, literal as r, variant as S } from "../../node_modules/valibot/dist/index.js";
1
+ import { object as o, number as b, optional as e, string as t, pipe as u, picklist as n, custom as d, boolean as c, array as a, minLength as p, literal as r, variant as k } from "../../node_modules/valibot/dist/index.js";
2
2
  const m = {
3
3
  /** Promotional/marketing emails */
4
4
  PROMOTIONAL: 1,
@@ -11,7 +11,7 @@ const m = {
11
11
  ARCHITECT: 49,
12
12
  /** Unsubscribe page builder */
13
13
  UNSUBSCRIBE_PAGES: 97
14
- }, h = o({
14
+ }, S = o({
15
15
  /** Unique identifier for the template being edited */
16
16
  templateId: u(
17
17
  t(),
@@ -24,7 +24,7 @@ const m = {
24
24
  ),
25
25
  /** Optional variation ID for A/B testing */
26
26
  variationId: e(t())
27
- }), k = o({
27
+ }), h = o({
28
28
  /** Partner/organization name (required) */
29
29
  name: u(
30
30
  t(),
@@ -83,7 +83,7 @@ const m = {
83
83
  /** Locale for the editor UI */
84
84
  locale: e(t(), "en"),
85
85
  /** Path to translations object */
86
- translationsPath: e(t(), "window.trans.en"),
86
+ translationsPath: e(t(), "window.trans[Object.keys(window.trans)[0]]"),
87
87
  /** Migration date for template compatibility */
88
88
  migrationDate: e(b(), 1759696858),
89
89
  /** Email header settings */
@@ -130,7 +130,7 @@ const m = {
130
130
  "unsubscribe-block",
131
131
  "coupon-block",
132
132
  "items-block"
133
- ]), E = o({
133
+ ]), O = o({
134
134
  /** Default blocks to exclude from the editor */
135
135
  excludeDefaults: e(
136
136
  a(A),
@@ -148,7 +148,7 @@ const m = {
148
148
  description: e(t()),
149
149
  /** Priority for rule ordering (lower = earlier) */
150
150
  priority: b()
151
- }), N = o({
151
+ }), E = o({
152
152
  ...l.entries,
153
153
  type: r("replace"),
154
154
  /** String to search for */
@@ -157,7 +157,7 @@ const m = {
157
157
  replacement: t(),
158
158
  /** Replace all occurrences (default: false) */
159
159
  replaceAll: e(c())
160
- }), O = o({
160
+ }), N = o({
161
161
  ...l.entries,
162
162
  type: r("regex"),
163
163
  /** Regex pattern string */
@@ -179,9 +179,9 @@ const m = {
179
179
  (i) => typeof i == "function",
180
180
  "processor must be a function"
181
181
  )
182
- }), x = S("type", [
182
+ }), x = k("type", [
183
+ E,
183
184
  N,
184
- O,
185
185
  L,
186
186
  v
187
187
  ]), B = o({
@@ -203,9 +203,9 @@ const m = {
203
203
  }), D = o({
204
204
  // Required sections
205
205
  /** Identity configuration (required) */
206
- identity: h,
206
+ identity: S,
207
207
  /** Partner configuration (required) */
208
- partner: k,
208
+ partner: h,
209
209
  // Optional sections (with defaults)
210
210
  /** Template content and presets */
211
211
  template: e(R, {}),
@@ -216,14 +216,14 @@ const m = {
216
216
  /** Feature toggles */
217
217
  features: e(T, {}),
218
218
  /** Block configuration */
219
- blocks: e(E, {}),
219
+ blocks: e(O, {}),
220
220
  /** Compiler configuration */
221
221
  compiler: e(B, {}),
222
222
  /** Callbacks and event handlers */
223
223
  callbacks: e(P, {})
224
224
  });
225
225
  export {
226
- E as BlocksSchema,
226
+ O as BlocksSchema,
227
227
  P as CallbacksSchema,
228
228
  x as CompilerRuleSchema,
229
229
  B as CompilerSchema,
@@ -235,13 +235,13 @@ export {
235
235
  f as EmailHeaderSchema,
236
236
  T as FeaturesSchema,
237
237
  D as GuidoConfigSchema,
238
- h as IdentitySchema,
238
+ S as IdentitySchema,
239
239
  m as MessageType,
240
- k as PartnerSchema,
240
+ h as PartnerSchema,
241
241
  s as ProductType,
242
- O as RegexRuleSchema,
242
+ N as RegexRuleSchema,
243
243
  L as RemoveRuleSchema,
244
- N as ReplaceRuleSchema,
244
+ E as ReplaceRuleSchema,
245
245
  R as TemplateSchema,
246
246
  I as UISchema
247
247
  };
@@ -1,18 +1,18 @@
1
1
  import o from "./HeaderWrapper.vue2.js";
2
2
  /* empty css */
3
- import s from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var a = function() {
3
+ import a from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var s = function() {
5
5
  var t = this, r = t._self._c, e = t._self._setupProxy;
6
- return r(e.InContainer, { attrs: { border: "bor-w-0 bor-b-w-1 bor-s-s bor-c-6", "border-radius": "bor-r-0" } }, [r("div", { staticClass: "header-wrapper w-1 d-f a-i-c j-c-s-b p-3" }, [r(e.LeftSlot), r(e.MiddleSlot), r(e.RightSlot, { ref: "rightSlotRef" })], 1)]);
7
- }, n = [], _ = /* @__PURE__ */ s(
6
+ return r(e.InContainer, { attrs: { border: "bor-w-0 bor-b-w-1 bor-s-s bor-c-6", "border-radius": "bor-r-0", "data-testid": "guido-header" } }, [r("div", { staticClass: "header-wrapper w-1 d-f a-i-c j-c-s-b p-3" }, [r(e.LeftSlot), r(e.MiddleSlot), r(e.RightSlot, { ref: "rightSlotRef" })], 1)]);
7
+ }, d = [], i = /* @__PURE__ */ a(
8
8
  o,
9
- a,
10
- n,
9
+ s,
10
+ d,
11
11
  !1,
12
12
  null,
13
- "5df46e7a"
13
+ "5c02dcc7"
14
14
  );
15
- const c = _.exports;
15
+ const p = i.exports;
16
16
  export {
17
- c as default
17
+ p as default
18
18
  };
@@ -1,6 +1,6 @@
1
1
  import { useToaster as w } from "./useToaster.js";
2
2
  const v = () => {
3
- const { handleError: l } = w(), r = (t = {}) => new Promise((e, a) => {
3
+ const { handleError: n } = w(), m = (t = {}) => new Promise((e, a) => {
4
4
  const o = { ...{
5
5
  minimize: !0,
6
6
  utmEntity: {
@@ -21,9 +21,9 @@ const v = () => {
21
21
  resetDataSavedFlag: !1,
22
22
  disableLineHeightsReplace: !0
23
23
  }, ...t }, s = {
24
- callback: (n, p, d, c, u) => {
25
- n ? a(n) : e({
26
- html: p,
24
+ callback: (l, r, d, c, u) => {
25
+ l ? a(l) : e({
26
+ html: r,
27
27
  ampHtml: d,
28
28
  ampErrors: c,
29
29
  displayConditions: u
@@ -34,15 +34,15 @@ const v = () => {
34
34
  window.StripoEditorApi.actionsApi.compileEmail(s);
35
35
  });
36
36
  return {
37
- getCompiledEmail: r,
37
+ getCompiledEmail: m,
38
38
  getTemplateData: () => new Promise((t) => {
39
- const e = ({ html: a, css: i, width: o, height: m, utmParams: s, syncModulesIds: n }) => t({
39
+ const e = ({ html: a, css: i, width: o, height: p, utmParams: s, syncModulesIds: l }) => t({
40
40
  html: a,
41
41
  css: i,
42
42
  width: o,
43
- height: m,
43
+ height: p,
44
44
  utmParams: s,
45
- syncModulesIds: n
45
+ syncModulesIds: l
46
46
  });
47
47
  window.StripoEditorApi.actionsApi.getTemplateData(e);
48
48
  }),
@@ -56,7 +56,7 @@ const v = () => {
56
56
  displayConditions: a,
57
57
  ampHtml: i = "",
58
58
  ampErrors: o = []
59
- } = await r({ minimize: !1, resetDataSavedFlag: !1, ...t });
59
+ } = await m({ minimize: !1, resetDataSavedFlag: !1, ...t });
60
60
  return {
61
61
  html: e,
62
62
  ampHtml: i,
@@ -64,7 +64,7 @@ const v = () => {
64
64
  displayConditions: a
65
65
  };
66
66
  } catch (e) {
67
- return l(e, "Error loading preview"), {
67
+ return n(e, "Error loading preview"), {
68
68
  html: "",
69
69
  ampHtml: "",
70
70
  ampErrors: [],
@@ -80,17 +80,19 @@ const v = () => {
80
80
  }
81
81
  try {
82
82
  window.StripoEditorApi.actionsApi.updateTimerInClonedTemplate((i, o) => {
83
- i ? (l(i, "Failed to update timer in cloned template"), t(null)) : t(o || null);
83
+ i ? (n(i, "Failed to update timer in cloned template"), t(null)) : t(o || null);
84
84
  });
85
85
  } catch (i) {
86
- l(i, "Failed to call updateTimerInClonedTemplate"), t(null);
86
+ n(i, "Failed to call updateTimerInClonedTemplate"), t(null);
87
87
  }
88
88
  }),
89
89
  updateHtmlAndCss: (t, e) => {
90
90
  window.StripoEditorApi.actionsApi.updateHtmlAndCss(t, e);
91
91
  },
92
92
  editorSave: () => {
93
- window.StripoEditorApi.actionsApi.save();
93
+ window.StripoEditorApi.actionsApi.save((t) => {
94
+ t && n(t, "Failed to save template");
95
+ });
94
96
  }
95
97
  };
96
98
  };
@@ -1,9 +1,9 @@
1
- var L = Object.defineProperty;
2
- var K = (o, t, r) => t in o ? L(o, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[t] = r;
3
- var R = (o, t, r) => K(o, typeof t != "symbol" ? t + "" : t, r);
4
- import { productPairs as B } from "../../extensions/Blocks/Items/enums/productEnums.js";
5
- import { ItemInCartOptions as E, DefaultConfigValues as g, SETTINGS_ENUMS as _ } from "../../extensions/Blocks/Items/enums/settingsEnums.js";
6
- import { getDefaultTemplate as U } from "../../extensions/Blocks/Items/template.js";
1
+ var B = Object.defineProperty;
2
+ var U = (r, t, e) => t in r ? B(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var M = (r, t, e) => U(r, typeof t != "symbol" ? t + "" : t, e);
4
+ import { productPairs as v } from "../../extensions/Blocks/Items/enums/productEnums.js";
5
+ import { ItemInCartOptions as E, DefaultConfigValues as g, SETTINGS_ENUMS as d } from "../../extensions/Blocks/Items/enums/settingsEnums.js";
6
+ import { getDefaultTemplate as K } from "../../extensions/Blocks/Items/template.js";
7
7
  const w = {
8
8
  img: {
9
9
  pairsKey: "imageSrc",
@@ -74,102 +74,118 @@ const w = {
74
74
  function F() {
75
75
  return String(Date.now() + Math.floor(Math.random() * 1e3));
76
76
  }
77
- function q(o) {
78
- return o ? {
79
- CartItems: _.ITEMS_TYPE.CART_ITEMS,
80
- BrowsedItems: _.ITEMS_TYPE.BROWSED_ITEMS,
81
- PurchasedItems: _.ITEMS_TYPE.PURCHASED_ITEMS,
82
- CART_ITEMS: _.ITEMS_TYPE.CART_ITEMS,
83
- BROWSED_ITEMS: _.ITEMS_TYPE.BROWSED_ITEMS,
84
- PURCHASED_ITEMS: _.ITEMS_TYPE.PURCHASED_ITEMS
85
- }[o] || _.ITEMS_TYPE.CART_ITEMS : _.ITEMS_TYPE.CART_ITEMS;
77
+ function q(r) {
78
+ return r ? {
79
+ CartItems: d.ITEMS_TYPE.CART_ITEMS,
80
+ BrowsedItems: d.ITEMS_TYPE.BROWSED_ITEMS,
81
+ PurchasedItems: d.ITEMS_TYPE.PURCHASED_ITEMS,
82
+ CART_ITEMS: d.ITEMS_TYPE.CART_ITEMS,
83
+ BROWSED_ITEMS: d.ITEMS_TYPE.BROWSED_ITEMS,
84
+ PURCHASED_ITEMS: d.ITEMS_TYPE.PURCHASED_ITEMS
85
+ }[r] || d.ITEMS_TYPE.CART_ITEMS : d.ITEMS_TYPE.CART_ITEMS;
86
86
  }
87
- function M(o) {
88
- const t = (e, a) => e == null ? a : e === "1" || e === "true", r = (e, a) => e || a, c = o["data-type"] || o["data-source"], n = q(c);
89
- let i = o["data-cart_items_select_control_value"] || g.cartItemsSelectControlValue;
90
- if (i && !i.includes("{{") && /^\d+$/.test(i)) {
91
- const e = parseInt(i) - 1, a = E[n];
92
- a && a[e] && (i = a[e].value);
87
+ function R(r) {
88
+ const t = (a, o) => a == null ? o : a === "1" || a === "true", e = (a, o) => a || o, i = r["data-type"] || r["data-source"], l = q(i);
89
+ let n = r["data-cart_items_select_control_value"] || g.cartItemsSelectControlValue;
90
+ if (n && !n.includes("{{") && /^\d+$/.test(n)) {
91
+ const a = parseInt(n) - 1, o = E[l];
92
+ o && o[a] && (n = o[a].value);
93
93
  }
94
94
  return {
95
95
  initialized: !0,
96
- blockInstanceId: r(o["data-block-instance-id"], F()),
97
- source: n,
98
- type: n,
99
- itemsSelectValue: i,
100
- orientation: o["data-card_orientation_control_value"] || _.ORIENTATION.VERTICAL,
101
- nameTrimming: t(o["data-product_name_control_trim"], !0),
102
- priceHideDiscount: t(o["data-product_price_control_nodup"], !0),
103
- priceFormatted: t(o["data-product_price_control_formated"], !0),
104
- priceSinglePrice: t(o["data-product_price_control_single_price"], !1),
105
- priceCurrencySymbol: r(
106
- o["data-product_price_currency_symbol"],
96
+ blockInstanceId: e(r["data-block-instance-id"], F()),
97
+ source: l,
98
+ type: l,
99
+ itemsSelectValue: n,
100
+ orientation: r["data-card_orientation_control_value"] || d.ORIENTATION.VERTICAL,
101
+ nameTrimming: t(r["data-product_name_control_trim"], !0),
102
+ priceHideDiscount: t(r["data-product_price_control_nodup"], !0),
103
+ priceFormatted: t(r["data-product_price_control_formated"], !0),
104
+ priceSinglePrice: t(r["data-product_price_control_single_price"], !1),
105
+ priceCurrencySymbol: e(
106
+ r["data-product_price_control_currency_symbol"],
107
107
  g.productPriceCurrencySymbolControlValue
108
108
  ),
109
- priceCurrencyLocation: r(
110
- o["data-product_price_currency_location"],
109
+ priceCurrencyLocation: e(
110
+ r["data-product_price_currency_location"],
111
111
  g.productPriceCurrencyLocationControlValue
112
112
  ),
113
- priceOrientation: o["data-product_original_price_control_orientation"] || "horizontal",
114
- quantityControlEnabled: t(o["data-product_quantity_control_enabled"], !0),
115
- buttonLink: r(o["data-product_button_link"], g.productButtonLinkControlValue),
116
- imageLink: r(o["data-product_image_link"], g.productImageLinkControlValue),
117
- buttonLabel: r(o["data-product_button_control_label"], "Buy"),
118
- buttonFullWidth: t(o["data-product_button_control_atw"], !0),
119
- imageVisible: t(o["data-product_image_control_enabled"], !0),
120
- nameVisible: t(o["data-product_name_control_enabled"], !0),
121
- quantityVisible: t(o["data-product_quantity_control_enabled"], !0),
122
- priceVisible: t(o["data-product_price_control_enabled"], !0),
123
- originalPriceVisible: t(o["data-product_original_price_control_enabled"], !0),
124
- buttonVisible: t(o["data-product_button_control_enabled"], !0)
113
+ priceOrientation: r["data-product_original_price_control_orientation"] || "horizontal",
114
+ quantityControlEnabled: t(r["data-product_quantity_control_enabled"], !0),
115
+ buttonLink: e(r["data-product_button_link"], g.productButtonLinkControlValue),
116
+ imageLink: e(r["data-product_image_link"], g.productImageLinkControlValue),
117
+ buttonLabel: e(r["data-product_button_control_label"], "Buy"),
118
+ buttonFullWidth: t(r["data-product_button_control_atw"], !0),
119
+ imageVisible: t(r["data-product_image_control_enabled"], !0),
120
+ nameVisible: t(r["data-product_name_control_enabled"], !0),
121
+ quantityVisible: t(r["data-product_quantity_control_enabled"], !0),
122
+ priceVisible: t(r["data-product_price_control_enabled"], !0),
123
+ originalPriceVisible: t(r["data-product_original_price_control_enabled"], !0),
124
+ buttonVisible: t(r["data-product_button_control_enabled"], !0)
125
125
  };
126
126
  }
127
- const x = {
127
+ const $ = {
128
128
  ins_apr: "CART_ITEMS",
129
129
  browsed_item: "BROWSED_ITEMS",
130
130
  purchased_item: "PURCHASED_ITEMS"
131
131
  };
132
- class N {
132
+ function x(r, t) {
133
+ const e = {
134
+ CART_ITEMS: `{{Abandoned Cart Item (${t}) Image}}`,
135
+ BROWSED_ITEMS: `{{Browsed Item (${t}) Image}}`,
136
+ PURCHASED_ITEMS: `{{Purchased Item (${t}) Image}}`
137
+ };
138
+ return e[r] || e.CART_ITEMS;
139
+ }
140
+ function O(r, t) {
141
+ const e = {
142
+ CART_ITEMS: `{{Abandoned Cart Item (${t}) Url}}`,
143
+ BROWSED_ITEMS: `{{Browsed Item (${t}) Url}}`,
144
+ PURCHASED_ITEMS: `{{Purchased Item (${t}) Url}}`
145
+ };
146
+ return e[r] || e.CART_ITEMS;
147
+ }
148
+ class V {
133
149
  constructor() {
134
- R(this, "parser");
150
+ M(this, "parser");
135
151
  this.parser = new DOMParser();
136
152
  }
137
153
  migrate(t) {
138
154
  try {
139
- let r = this.removeJinjaConditionals(t);
140
- r = this.replaceTemplateVariables(r);
141
- const c = this.parser.parseFromString(r, "text/html"), n = c.querySelectorAll(
155
+ let e = this.removeJinjaConditionals(t);
156
+ e = this.replaceTemplateVariables(e);
157
+ const i = this.parser.parseFromString(e, "text/html"), l = i.querySelectorAll(
142
158
  "td.esd-cart-items-block, td.esd-browsed-items-block, td.esd-purchased-items-block"
143
159
  );
144
- return n.length === 0 ? (console.warn("ItemsBlockMigrator: No blocks found with items block selectors"), r) : (n.forEach((i) => {
145
- const e = this.extractConfiguration(i), a = U({
146
- orientation: e.orientation,
147
- itemsType: e.itemsType,
148
- itemId: e.itemId,
149
- currencySymbol: e.currencySymbol,
150
- currencyLocation: e.currencyLocation,
151
- formattedPrice: e.formattedPrice,
152
- configBlockAttributes: e.configBlockAttributes,
160
+ return l.length === 0 ? (console.warn("ItemsBlockMigrator: No blocks found with items block selectors"), e) : (l.forEach((n) => {
161
+ const a = this.extractConfiguration(n), o = K({
162
+ orientation: a.orientation,
163
+ itemsType: a.itemsType,
164
+ itemId: a.itemId,
165
+ currencySymbol: a.currencySymbol,
166
+ currencyLocation: a.currencyLocation,
167
+ formattedPrice: a.formattedPrice,
168
+ configBlockAttributes: a.configBlockAttributes,
153
169
  migrate: !0,
154
- nameStyles: e.nameStyles,
155
- buttonStyles: e.buttonStyles,
156
- priceStyles: e.priceStyles,
157
- originalPriceStyles: e.originalPriceStyles,
158
- quantityStyles: e.quantityStyles,
159
- nodeConfig: M(e.configBlockAttributes)
160
- }), l = this.parser.parseFromString(
161
- `<table><tbody><tr>${a}</tr></tbody></table>`,
170
+ nameStyles: a.nameStyles,
171
+ buttonStyles: a.buttonStyles,
172
+ priceStyles: a.priceStyles,
173
+ originalPriceStyles: a.originalPriceStyles,
174
+ quantityStyles: a.quantityStyles,
175
+ nodeConfig: R(a.configBlockAttributes)
176
+ }), c = this.parser.parseFromString(
177
+ `<table><tbody><tr>${o}</tr></tbody></table>`,
162
178
  "text/html"
163
179
  ).querySelector("td");
164
- if (l && i.parentNode) {
165
- const f = M(e.configBlockAttributes);
166
- l.setAttribute("esd-ext-config", JSON.stringify(f));
167
- const u = l.querySelector("esd-config-block");
168
- u && u.remove(), i.parentNode.replaceChild(l, i);
180
+ if (c && n.parentNode) {
181
+ const f = R(a.configBlockAttributes);
182
+ c.setAttribute("esd-ext-config", JSON.stringify(f));
183
+ const u = c.querySelector("esd-config-block");
184
+ u && u.remove(), n.parentNode.replaceChild(c, n);
169
185
  }
170
- }), c.documentElement.outerHTML);
171
- } catch (r) {
172
- return console.error("ItemsBlockMigrator failed:", r), t;
186
+ }), i.documentElement.outerHTML);
187
+ } catch (e) {
188
+ return console.error("ItemsBlockMigrator failed:", e), t;
173
189
  }
174
190
  }
175
191
  /**
@@ -180,23 +196,23 @@ class N {
180
196
  */
181
197
  extractConfiguration(t) {
182
198
  var C, D, P;
183
- const r = ((C = t.querySelector("[data-type]")) == null ? void 0 : C.getAttribute("data-type")) || "CART_ITEMS", c = ((D = t.querySelector("[data-number]")) == null ? void 0 : D.getAttribute("data-number")) || "1", n = parseInt(c) - 1, i = E[r], e = ((P = i == null ? void 0 : i[n]) == null ? void 0 : P.value) || i[0].value, a = t.querySelector('[product-attr="price"]'), d = (a == null ? void 0 : a.getAttribute("data-currency_symbol")) || "USD", f = ((a == null ? void 0 : a.getAttribute("data-curency")) || "before") === "after" ? "1" : "0", u = (a == null ? void 0 : a.getAttribute("data-formated")) !== "false", s = this.extractConfigBlockAttributes(t, r), b = s["data-card_orientation_control_value"];
199
+ const e = ((C = t.querySelector("[data-type]")) == null ? void 0 : C.getAttribute("data-type")) || "CART_ITEMS", i = ((D = t.querySelector("[data-number]")) == null ? void 0 : D.getAttribute("data-number")) || "1", l = parseInt(i) - 1, n = E[e], a = ((P = n == null ? void 0 : n[l]) == null ? void 0 : P.value) || n[0].value, o = t.querySelector('[product-attr="price"]'), _ = (o == null ? void 0 : o.getAttribute("data-currency_symbol")) || "USD", f = ((o == null ? void 0 : o.getAttribute("data-curency")) || "before") === "after" ? "1" : "0", u = (o == null ? void 0 : o.getAttribute("data-formated")) !== "false", s = this.extractConfigBlockAttributes(t, e, i), b = s["data-card_orientation_control_value"];
184
200
  let S;
185
201
  b ? S = b === "horizontal" ? "horizontal" : "vertical" : S = t.querySelector('[colspan="2"]') !== null ? "vertical" : "horizontal";
186
- const p = t.querySelector('a[product-attr="name"]'), T = (p == null ? void 0 : p.getAttribute("style")) || void 0, y = t.querySelector('a[product-attr="button"]'), m = (y == null ? void 0 : y.getAttribute("style")) || void 0, h = (a == null ? void 0 : a.getAttribute("style")) || void 0, A = t.querySelector("p.original-price"), k = (A == null ? void 0 : A.getAttribute("style")) || void 0, I = t.querySelector('[product-attr="quantity"]'), v = (I == null ? void 0 : I.getAttribute("style")) || void 0;
202
+ const p = t.querySelector('a[product-attr="name"]'), T = (p == null ? void 0 : p.getAttribute("style")) || void 0, y = t.querySelector('a[product-attr="button"]'), m = (y == null ? void 0 : y.getAttribute("style")) || void 0, k = (o == null ? void 0 : o.getAttribute("style")) || void 0, I = t.querySelector("p.original-price"), h = (I == null ? void 0 : I.getAttribute("style")) || void 0, A = t.querySelector('[product-attr="quantity"]'), L = (A == null ? void 0 : A.getAttribute("style")) || void 0;
187
203
  return {
188
204
  orientation: S,
189
- itemsType: r,
190
- itemId: e,
191
- currencySymbol: d,
205
+ itemsType: e,
206
+ itemId: a,
207
+ currencySymbol: _,
192
208
  currencyLocation: f,
193
209
  formattedPrice: u,
194
210
  configBlockAttributes: s,
195
211
  nameStyles: T,
196
212
  buttonStyles: m,
197
- priceStyles: h,
198
- originalPriceStyles: k,
199
- quantityStyles: v
213
+ priceStyles: k,
214
+ originalPriceStyles: h,
215
+ quantityStyles: L
200
216
  };
201
217
  }
202
218
  /**
@@ -204,28 +220,29 @@ class N {
204
220
  * Returns a key-value mapping of all configuration attributes
205
221
  * @param block - The block element containing the esd-config-block
206
222
  * @param itemsType - The type of items (CART_ITEMS, BROWSED_ITEMS, PURCHASED_ITEMS)
223
+ * @param itemNumber - The item number (1-based index)
207
224
  */
208
- extractConfigBlockAttributes(t, r) {
209
- const c = t.querySelector("esd-config-block"), n = {};
210
- if (!c)
225
+ extractConfigBlockAttributes(t, e, i) {
226
+ const l = t.querySelector("esd-config-block"), n = {};
227
+ if (!l)
211
228
  return this.getDefaultConfigBlockAttributes();
212
- if (Array.from(c.attributes).forEach((e) => {
213
- e.name.startsWith("data-") && (n[e.name] = e.value);
229
+ if (Array.from(l.attributes).forEach((o) => {
230
+ o.name.startsWith("data-") && (n[o.name] = o.value);
214
231
  }), n["data-cart_items_select_control_value"]) {
215
- const e = n["data-cart_items_select_control_value"];
216
- if (/^\d+$/.test(e)) {
217
- const a = parseInt(e) - 1, d = E[r];
218
- d && d[a] && (n["data-cart_items_select_control_value"] = d[a].value);
232
+ const o = n["data-cart_items_select_control_value"];
233
+ if (/^\d+$/.test(o)) {
234
+ const _ = parseInt(o) - 1, c = E[e];
235
+ c && c[_] && (n["data-cart_items_select_control_value"] = c[_].value);
219
236
  }
220
237
  }
221
238
  if (n["data-product_price_control_curency"]) {
222
- const e = n["data-product_price_control_curency"];
223
- let a = e;
224
- e === "before" ? a = "0" : e === "after" && (a = "1"), n["data-product_price_control_curency"] = a, n["data-product_price_currency_location"] = a;
239
+ const o = n["data-product_price_control_curency"];
240
+ let _ = o;
241
+ o === "before" ? _ = "0" : o === "after" && (_ = "1"), n["data-product_price_control_curency"] = _, n["data-product_price_currency_location"] = _;
225
242
  }
226
- (!n["data-product_price_currency_symbol"] || n["data-product_price_currency_symbol"].trim() === "") && (n["data-product_price_currency_symbol"] = "USD");
227
- const i = { ...this.getDefaultConfigBlockAttributes(), ...n };
228
- return i["data-type"] = r, i["data-source"] = r, i;
243
+ (!n["data-product_price_control_currency_symbol"] || n["data-product_price_control_currency_symbol"].trim() === "") && (n["data-product_price_control_currency_symbol"] = "USD");
244
+ const a = { ...this.getDefaultConfigBlockAttributes(), ...n };
245
+ return a["data-type"] = e, a["data-source"] = e, a["data-product_image_link"] = x(e, i), a["data-product_button_link"] = O(e, i), a;
229
246
  }
230
247
  /**
231
248
  * Returns default esd-config-block attributes based on the old template structure
@@ -254,7 +271,7 @@ class N {
254
271
  "data-product_price_control_color": "#060606",
255
272
  "data-product_price_control_curency": "0",
256
273
  "data-product_price_currency_location": "0",
257
- "data-product_price_currency_symbol": "USD",
274
+ "data-product_price_control_currency_symbol": "USD",
258
275
  "data-product_price_control_formated": "1",
259
276
  "data-product_price_control_nodup": "1",
260
277
  "data-product_price_control_single_price": "false",
@@ -282,16 +299,16 @@ class N {
282
299
  * - Purchased Items: purchased_item_total_product_kind, purchased_item_price_N, purchased_item_originalprice_N
283
300
  */
284
301
  removeJinjaConditionals(t) {
285
- let r = t.replace(
302
+ let e = t.replace(
286
303
  /\{%\s*if\s+(ins_apr|browsed_item|purchased_item)_total_product_kind\s*(&gt;|>)\s*\d+\s*%\}/g,
287
304
  ""
288
305
  );
289
- return r = r.replace(
306
+ return e = e.replace(
290
307
  /\{%\s*if\s+(ins_apr|browsed_item|purchased_item)_price_\d+\s*(!&#61;|!=)\s*\1_originalprice_\d+\s*%\}/g,
291
308
  ""
292
- ), r = r.replace(/\{%\s*endif\s*%\}/g, ""), r = r.replace(/\n\s*\n\s*\n/g, `
309
+ ), e = e.replace(/\{%\s*endif\s*%\}/g, ""), e = e.replace(/\n\s*\n\s*\n/g, `
293
310
 
294
- `), r;
311
+ `), e;
295
312
  }
296
313
  /**
297
314
  * Replaces template variables with default values from productPairs
@@ -303,32 +320,32 @@ class N {
303
320
  * - {{purchased_item_formattedprice_5}} → '1,490.49' (PURCHASED_ITEMS)
304
321
  */
305
322
  replaceTemplateVariables(t) {
306
- const { PAIRS_FOR_EXTENSION: r } = B;
307
- return t.replace(/{{([^}]+)}}/g, (c, n) => {
308
- const i = n.match(/^(ins_apr|browsed_item|purchased_item)_([a-z_]+)_(\d+)$/);
309
- if (!i)
310
- return c;
311
- const [, e, a, d] = i, l = x[e];
312
- if (!l)
313
- return console.warn(`Unknown variable prefix: ${e}`), c;
314
- const f = w[a];
323
+ const { PAIRS_FOR_EXTENSION: e } = v;
324
+ return t.replace(/{{([^}]+)}}/g, (i, l) => {
325
+ const n = l.match(/^(ins_apr|browsed_item|purchased_item)_([a-z_]+)_(\d+)$/);
326
+ if (!n)
327
+ return i;
328
+ const [, a, o, _] = n, c = $[a];
329
+ if (!c)
330
+ return console.warn(`Unknown variable prefix: ${a}`), i;
331
+ const f = w[o];
315
332
  if (!f)
316
- return console.warn(`Unknown variable suffix mapping for: ${a}`), c;
317
- const { pairsKey: u, defaultKey: s, isArray: b } = f, p = r[u][l];
333
+ return console.warn(`Unknown variable suffix mapping for: ${o}`), i;
334
+ const { pairsKey: u, defaultKey: s, isArray: b } = f, p = e[u][c];
318
335
  if (!p)
319
- return console.warn(`No data found for: ${u}.${l}`), c;
336
+ return console.warn(`No data found for: ${u}.${c}`), i;
320
337
  if (b) {
321
- const y = parseInt(d) - 1, m = p[s];
322
- return Array.isArray(m) && m[y] ? m[y] : (console.warn(`Array value not found: ${u}.${l}.${s}[${y}]`), c);
338
+ const y = parseInt(_) - 1, m = p[s];
339
+ return Array.isArray(m) && m[y] ? m[y] : (console.warn(`Array value not found: ${u}.${c}.${s}[${y}]`), i);
323
340
  }
324
341
  const T = p[s];
325
- return T !== void 0 ? String(T) : (console.warn(`Default value not found: ${u}.${l}.${s}`), c);
342
+ return T !== void 0 ? String(T) : (console.warn(`Default value not found: ${u}.${c}.${s}`), i);
326
343
  });
327
344
  }
328
345
  }
329
- function Y(o) {
330
- return new N().migrate(o);
346
+ function G(r) {
347
+ return new V().migrate(r);
331
348
  }
332
349
  export {
333
- Y as migrateItemsBlock
350
+ G as migrateItemsBlock
334
351
  };