@useinsider/guido 1.0.3-beta.cc03cd5 → 1.0.3-beta.cc614d6

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/README.md +141 -3
  2. package/dist/components/Guido.vue.js +11 -9
  3. package/dist/components/Guido.vue2.js +70 -66
  4. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
  5. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
  6. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
  7. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
  8. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
  9. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
  10. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
  11. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
  12. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  13. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  14. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  15. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  16. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
  17. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
  18. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +19 -18
  19. package/dist/composables/useBlocksConfig.js +49 -0
  20. package/dist/composables/useStripo.js +39 -48
  21. package/dist/config/migrator/index.js +7 -6
  22. package/dist/config/migrator/recommendationMigrator.js +293 -0
  23. package/dist/enums/date.js +6 -0
  24. package/dist/enums/defaults.js +15 -8
  25. package/dist/enums/extensions/recommendationBlock.js +80 -0
  26. package/dist/enums/onboarding.js +2 -1
  27. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  28. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  29. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  30. package/dist/extensions/Blocks/Recommendation/block.js +30 -0
  31. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  32. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  33. package/dist/extensions/Blocks/Recommendation/control.js +306 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/extension.js +45 -0
  69. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
  70. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
  71. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -0
  72. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
  73. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  74. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  75. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  76. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
  77. package/dist/extensions/Blocks/common-control.js +184 -0
  78. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  79. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  80. package/dist/guido.css +1 -1
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +311 -93
  82. package/dist/package.json.js +1 -1
  83. package/dist/services/recommendationApi.js +43 -0
  84. package/dist/services/stripoApi.js +1 -1
  85. package/dist/src/@types/generic.d.ts +43 -4
  86. package/dist/src/components/Guido.vue.d.ts +3 -2
  87. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
  88. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +2 -0
  89. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +2 -0
  90. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
  91. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
  92. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
  93. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  94. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  95. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  96. package/dist/src/enums/date.d.ts +4 -0
  97. package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
  98. package/dist/src/enums/onboarding.d.ts +1 -0
  99. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +11 -0
  100. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  101. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  102. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  137. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +2 -0
  138. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
  139. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +4 -0
  140. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
  141. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  142. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  143. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  144. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
  145. package/dist/src/extensions/Blocks/common-control.d.ts +87 -0
  146. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
  147. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
  148. package/dist/src/mock/api/recommendation.d.ts +2 -0
  149. package/dist/src/services/recommendationApi.d.ts +6 -0
  150. package/dist/src/stores/config.d.ts +8 -1
  151. package/dist/src/stores/dynamic-content.d.ts +2 -2
  152. package/dist/src/stores/editor.d.ts +21 -0
  153. package/dist/src/utils/dateUtil.d.ts +21 -0
  154. package/dist/src/utils/genericUtil.d.ts +2 -0
  155. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  156. package/dist/static/styles/customEditorStyle.css.js +5 -0
  157. package/dist/stores/dynamic-content.js +1 -1
  158. package/dist/stores/editor.js +2 -1
  159. package/dist/utils/dateUtil.js +24 -3
  160. package/dist/utils/genericUtil.js +23 -11
  161. package/package.json +4 -4
@@ -1,17 +1,17 @@
1
- var F = /* @__PURE__ */ ((t) => (t.BLOCK = "BLOCK", t.STRUCTURE = "STRUCTURE", t.CONTAINER = "CONTAINER", t))(F || {}), A = class o {
1
+ var J = /* @__PURE__ */ ((t) => (t.BLOCK = "BLOCK", t.STRUCTURE = "STRUCTURE", t.CONTAINER = "CONTAINER", t))(J || {}), B = class u {
2
2
  /**
3
3
  * Validates that all required methods are properly implemented in the subclass.
4
4
  * @param requiredMethods - Array of method names that must be implemented
5
5
  * @param classRef - Reference to the class constructor for validation caching
6
6
  */
7
7
  constructor(e, r) {
8
- if (r !== o) {
9
- o.validatedClasses.has(r) || this.validateImplementation(e, r);
10
- const s = o.validationErrors.get(r);
8
+ if (r !== u) {
9
+ u.validatedClasses.has(r) || this.validateImplementation(e, r);
10
+ const s = u.validationErrors.get(r);
11
11
  if (s && s.length > 0)
12
12
  throw new Error(
13
13
  `${r.name} has validation errors:
14
- ${s.map((i) => ` - ${i}`).join(`
14
+ ${s.map((E) => ` - ${E}`).join(`
15
15
  `)}`
16
16
  );
17
17
  }
@@ -21,22 +21,22 @@ ${s.map((i) => ` - ${i}`).join(`
21
21
  * This validation runs only once per class type and results are cached.
22
22
  */
23
23
  validateImplementation(e, r) {
24
- var E;
25
- const s = [], i = r.name, l = Object.getPrototypeOf(this);
26
- e.forEach((a) => {
27
- if (typeof this[a] != "function") {
28
- s.push(`Method ${a}() is not defined`);
24
+ var O;
25
+ const s = [], E = r.name, T = Object.getPrototypeOf(this);
26
+ e.forEach((l) => {
27
+ if (typeof this[l] != "function") {
28
+ s.push(`Method ${l}() is not defined`);
29
29
  return;
30
30
  }
31
- l[a] === r.prototype[a] && s.push(`Method ${a}() must be implemented (currently using base class error-throwing implementation)`);
32
- }), o.validatedClasses.add(r), s.length > 0 ? (o.validationErrors.set(r, s), console.error(`[${i} Validation] ${i} validation failed:`, s)) : typeof process < "u" && ((E = process.env) == null ? void 0 : E.NODE_ENV) === "development" && console.log(`[${i} Validation] ✅ ${i} validated successfully`);
31
+ T[l] === r.prototype[l] && s.push(`Method ${l}() must be implemented (currently using base class error-throwing implementation)`);
32
+ }), u.validatedClasses.add(r), s.length > 0 ? (u.validationErrors.set(r, s), console.error(`[${E} Validation] ${E} validation failed:`, s)) : typeof process < "u" && ((O = process.env) == null ? void 0 : O.NODE_ENV) === "development" && console.log(`[${E} Validation] ✅ ${E} validated successfully`);
33
33
  }
34
34
  };
35
- A.validatedClasses = /* @__PURE__ */ new Set();
36
- A.validationErrors = /* @__PURE__ */ new Map();
37
- var n = A, M = class d extends n {
35
+ B.validatedClasses = /* @__PURE__ */ new Set();
36
+ B.validationErrors = /* @__PURE__ */ new Map();
37
+ var i = B, x = class c extends i {
38
38
  constructor() {
39
- super(d.REQUIRED_METHODS, d);
39
+ super(c.REQUIRED_METHODS, c);
40
40
  }
41
41
  /**
42
42
  * Determines if the block should be available for use in the editor.
@@ -185,10 +185,10 @@ var n = A, M = class d extends n {
185
185
  throw new Error("Method getDescription() must be implemented by the subclass");
186
186
  }
187
187
  };
188
- M.REQUIRED_METHODS = ["getId", "getTemplate", "getIcon", "getName", "getDescription"];
189
- var Ct = M, k = class h extends n {
188
+ x.REQUIRED_METHODS = ["getId", "getTemplate", "getIcon", "getName", "getDescription"];
189
+ var wt = x, tt = class _ extends i {
190
190
  constructor() {
191
- super(h.REQUIRED_METHODS, h);
191
+ super(_.REQUIRED_METHODS, _);
192
192
  }
193
193
  /**
194
194
  * @deprecated - use {@link getPreviewInnerHtml} instead
@@ -203,10 +203,10 @@ var Ct = M, k = class h extends n {
203
203
  throw new Error("Method getPreviewInnerHtml() must be implemented by the subclass");
204
204
  }
205
205
  };
206
- k.REQUIRED_METHODS = ["getPreviewInnerHtml"];
207
- var Q = class u extends n {
206
+ tt.REQUIRED_METHODS = ["getPreviewInnerHtml"];
207
+ var et = class R extends i {
208
208
  constructor() {
209
- super(u.REQUIRED_METHODS, u);
209
+ super(R.REQUIRED_METHODS, R);
210
210
  }
211
211
  getId() {
212
212
  throw new Error("Method getId() must be implemented by the subclass");
@@ -221,31 +221,170 @@ var Q = class u extends n {
221
221
  throw new Error("Method onClick() must be implemented by the subclass");
222
222
  }
223
223
  };
224
- Q.REQUIRED_METHODS = ["getId", "getIcon", "getLabel", "onClick"];
225
- var V = "esd-block-button", $ = "esd-block-text", X = "esd-block-image", G = "esd-structure", f = "esd-block-video", Y = "esd-block-social", W = "esd-block-banner", j = "esd-block-timer", z = "esd-block-menu", q = "esd-block-html", Z = "esd-block-spacer", J = "esd-container-frame", tt = "esd-stripe", et = "esd-amp-form", rt = ((t) => (t.BUTTON = `.${V}`, t.TEXT = `.${$}`, t.IMAGE = `.${X}`, t.STRUCTURE = `.${G}`, t.VIDEO = `.${f}`, t.SOCIAL = `.${Y}`, t.BANNER = `.${W}`, t.TIMER = `.${j}`, t.MENU = `.${z}`, t.HTML = `.${q}`, t.SPACER = `.${Z}`, t.CONTAINER = `.${J}`, t.STRIPE = `.${tt}`, t.FORM = `.${et}`, t))(rt || {}), st = /* @__PURE__ */ ((t) => (t.BLOCK_IMAGE = "BLOCK_IMAGE", t.BLOCK_TEXT = "BLOCK_TEXT", t.BLOCK_BUTTON = "BLOCK_BUTTON", t.BLOCK_SPACER = "BLOCK_SPACER", t.BLOCK_VIDEO = "BLOCK_VIDEO", t.BLOCK_SOCIAL = "BLOCK_SOCIAL", t.BLOCK_BANNER = "BLOCK_BANNER", t.BLOCK_TIMER = "BLOCK_TIMER", t.BLOCK_MENU = "BLOCK_MENU", t.BLOCK_MENU_ITEM = "BLOCK_MENU_ITEM", t.BLOCK_HTML = "BLOCK_HTML", t.BLOCK_AMP_CAROUSEL = "BLOCK_AMP_CAROUSEL", t.BLOCK_AMP_ACCORDION = "BLOCK_AMP_ACCORDION", t.BLOCK_AMP_FORM = "BLOCK_AMP_FORM", t.CONTAINER = "CONTAINER", t.FORM_CONTAINER = "FORM_CONTAINER", t.STRUCTURE = "STRUCTURE", t.STRIPE = "STRIPE", t.EMPTY_CONTAINER = "EMPTY_CONTAINER", t.CUSTOM_BLOCK_LINK = "CUSTOM_BLOCK_LINK", t.CUSTOM_BLOCK_IMAGE = "CUSTOM_BLOCK_IMAGE", t.CUSTOM_BLOCK_TEXT = "CUSTOM_BLOCK_TEXT", t))(st || {}), nt = /* @__PURE__ */ ((t) => (t.HIDDEN_NODE = "hiddenNodeText", t.PARAGRAPH_STYLE = "paragraphStyleForm", t.ALIGN = "textAlignmentForm", t.ANCHOR_CONTAINER = "textAnchorForm", t.FONT_BACKGROUND_COLOR = "textBlockFontBackgroundColor", t.TEXT_BLOCK_BACKGROUND_COLOR = "textBlockBackgroundColor", t.FONT_COLOR = "textBlockFontColor", t.TEXT_BLOCK_FONT_FAMILY = "textBlockFontFamily", t.FONT_FAMILY = "textFontFamily", t.FONT_SIZE = "textBlockFontSize", t.DIRECTION = "textBlockDirectionForm", t.INSERT_FORM = "textBlockInsertForm", t.LINK_DATA = "textBlockLinkDataForm", t.FORMAT = "textBlockTextFormatForm", t.FIXED_HEIGHT_CONTAINER = "textFixedHeightContainerForm", t.INTERNAL_INDENTS = "textInternalIndents", t.LINE_HEIGHT = "textLineHeightForm", t.LINKS_COLOR = "textLinksFontColorForm", t.MIME_TYPE = "textMimeTypeForm", t.NO_LINE_WRAPS = "textNoLineWrapsForm", t))(nt || {}), it = /* @__PURE__ */ ((t) => (t.BACKGROUND_COLOR = "containerBackgroundColorForm", t.BORDER_FORM = "containerBorderForm", t.BORDER_RADIUS = "containerBorderRadiusForm", t.EXTERNAL_INDENTS = "containerExternalIndentsForm", t.IMAGE_CONTAINER = "containerImageContainerForm", t.MIME_TYPE = "containerMimeTypeForm", t.DISPLAY_CONDITIONS = "displayConditions", t.HIDDEN_NODE = "containerHiddenNodeForm", t))(it || {}), at = /* @__PURE__ */ ((t) => (t.SETTINGS = "settings", t.STYLES = "styles", t.DATA = "data", t))(at || {}), D = {
224
+ et.REQUIRED_METHODS = ["getId", "getIcon", "getLabel", "onClick"];
225
+ var rt = {
226
+ src: "src",
227
+ alt: "alt",
228
+ href: "href"
229
+ }, nt = {
230
+ href: "href"
231
+ }, Pt = {
232
+ BLOCK_IMAGE: rt,
233
+ BLOCK_BUTTON: nt
234
+ }, U = "esd-block-button", y = "esd-block-text", K = "esd-block-image", st = "esd-structure", it = "esd-block-video", at = "esd-block-social", ot = "esd-block-banner", Et = "esd-block-timer", lt = "esd-block-menu", dt = "esd-block-html", ut = "esd-block-spacer", Ot = "esd-container-frame", It = "esd-stripe", Tt = "esd-amp-form", I = ((t) => (t.BUTTON = `.${U}`, t.TEXT = `.${y}`, t.IMAGE = `.${K}`, t.STRUCTURE = `.${st}`, t.VIDEO = `.${it}`, t.SOCIAL = `.${at}`, t.BANNER = `.${ot}`, t.TIMER = `.${Et}`, t.MENU = `.${lt}`, t.HTML = `.${dt}`, t.SPACER = `.${ut}`, t.CONTAINER = `.${Ot}`, t.STRIPE = `.${It}`, t.FORM = `.${Tt}`, t))(I || {}), ct = /* @__PURE__ */ ((t) => (t.BLOCK_IMAGE = "BLOCK_IMAGE", t.BLOCK_TEXT = "BLOCK_TEXT", t.BLOCK_BUTTON = "BLOCK_BUTTON", t.BLOCK_SPACER = "BLOCK_SPACER", t.BLOCK_VIDEO = "BLOCK_VIDEO", t.BLOCK_SOCIAL = "BLOCK_SOCIAL", t.BLOCK_BANNER = "BLOCK_BANNER", t.BLOCK_TIMER = "BLOCK_TIMER", t.BLOCK_MENU = "BLOCK_MENU", t.BLOCK_MENU_ITEM = "BLOCK_MENU_ITEM", t.BLOCK_HTML = "BLOCK_HTML", t.BLOCK_AMP_CAROUSEL = "BLOCK_AMP_CAROUSEL", t.BLOCK_AMP_ACCORDION = "BLOCK_AMP_ACCORDION", t.BLOCK_AMP_FORM = "BLOCK_AMP_FORM", t.CONTAINER = "CONTAINER", t.FORM_CONTAINER = "FORM_CONTAINER", t.STRUCTURE = "STRUCTURE", t.STRIPE = "STRIPE", t.EMPTY_CONTAINER = "EMPTY_CONTAINER", t.CUSTOM_BLOCK_LINK = "CUSTOM_BLOCK_LINK", t.CUSTOM_BLOCK_IMAGE = "CUSTOM_BLOCK_IMAGE", t.CUSTOM_BLOCK_TEXT = "CUSTOM_BLOCK_TEXT", t))(ct || {}), p = /* @__PURE__ */ ((t) => (t.ANCHOR_LINK_CONTAINER = "anchorLinkFormContainer", t.APPLY_CONDITION = "applyCondition", t.APPLY_CONDITION_SWITCHER = "applyConditionSwitcher", t.BACKGROUND_COLOR = "backgroundColor", t.BACKGROUND_IMAGE = "generalImageContainer", t.TEXT_COLOR = "textColor", t.TEXT_STYLE = "textStyle", t.TEXT_SIZE = "textSize", t.TEXT_LINE_SPACING = "textLineSpacing", t.TEXT_ALIGN = "textAlign", t.FIXED_HEIGHT_SWITCHER = "fixedHeightSwitcherForm", t.HIDDEN_NODE = "hiddenNode", t.SMART_BLOCK = "smartBlock", t.SYNCHRONIZED_MODULE = "synchronizedModuleForm", t.FONT_FAMILY = "generalFontFamilyForm", t.BLOCK_INTERNAL_INDENTS = "generalBlockInternalIndents", t.STRUCTURE_INTERNAL_INDENTS = "generalStructureInternalIndents", t))(p || {}), F = /* @__PURE__ */ ((t) => (t.ADJUST_TO_WIDTH = "adjustToWidth", t.ALIGNMENT = "buttonAlignment", t.BORDER = "buttonBorder", t.BORDER_RADIUS = "buttonBorderRadius", t.COLOR = "buttonColor", t.BUTTON_BLOCK_BACKGROUND_COLOR = "buttonBlockBackgroundColor", t.EXTERNAL_INDENTS = "buttonExternalIndents", t.FIXED_HEIGHT = "buttonFixedHeightForm", t.FONT_COLOR = "buttonFontColor", t.FONT_FAMILY = "buttonFontFamily", t.FONT_SIZE = "buttonFontSize", t.ICON = "buttonIconContainer", t.ICON_ALIGN = "buttonIconAlign", t.ICON_INDENT = "buttonIconIndent", t.ICON_WIDTH = "buttonIconWidth", t.IMAGE = "buttonImageForm", t.INTERNAL_INDENTS = "buttonInternalIndents", t.LINK = "buttonLink", t.MIME_TYPE = "buttonMimeTypeForm", t.SWITCHER_HOVERED_STYLES = "buttonSwitcherHoveredStylesForm", t.TEXT = "buttonText", t.TEXT_STYLE_AND_COLOR = "buttonTextStyleAndColorForm", t.HOVERED_BORDER_COLOR = "hoveredStyleBorderButtonForm", t.HOVERED_COLOR = "hoveredButtonColorForm", t.HOVERED_TEXT_COLOR = "hoveredButtonTextColorForm", t))(F || {}), w = /* @__PURE__ */ ((t) => (t.HIDDEN_NODE = "hiddenNodeText", t.PARAGRAPH_STYLE = "paragraphStyleForm", t.ALIGN = "textAlignmentForm", t.ANCHOR_CONTAINER = "textAnchorForm", t.FONT_BACKGROUND_COLOR = "textBlockFontBackgroundColor", t.TEXT_BLOCK_BACKGROUND_COLOR = "textBlockBackgroundColor", t.FONT_COLOR = "textBlockFontColor", t.TEXT_BLOCK_FONT_FAMILY = "textBlockFontFamily", t.FONT_FAMILY = "textFontFamily", t.FONT_SIZE = "textBlockFontSize", t.DIRECTION = "textBlockDirectionForm", t.INSERT_FORM = "textBlockInsertForm", t.LINK_DATA = "textBlockLinkDataForm", t.FORMAT = "textBlockTextFormatForm", t.FIXED_HEIGHT = "textFixedHeightForm", t.INTERNAL_INDENTS = "textInternalIndents", t.LINE_HEIGHT = "textLineHeightForm", t.LINKS_COLOR = "textLinksFontColorForm", t.MIME_TYPE = "textMimeTypeForm", t.NO_LINE_WRAPS = "textNoLineWrapsForm", t))(w || {}), P = /* @__PURE__ */ ((t) => (t.ALT_TEXT = "altText", t.LINK = "blockLink", t.ALIGNMENT = "imageAlignment", t.ANCHOR_LINK_CONTAINER = "imageAnchorLinkContainerForm", t.BORDER_RADIUS = "imageBorderRadiusForm", t.IMAGE = "imageImageForm", t.EXTERNAL_INDENTS = "imageExternalIndents", t.MIME_TYPE = "imageMimeTypeForm", t.RESPONSIVE = "imageResponsive", t.ROLLOVER_IMAGE = "imageRolloverImageForm", t.ROLLOVER_SWITCHER = "imageRolloverSwitcherForm", t.SIZE = "imageSizeContainer", t))(P || {}), _t = /* @__PURE__ */ ((t) => (t.BACKGROUND_COLOR = "containerBackgroundColorForm", t.BORDER_FORM = "containerBorderForm", t.BORDER_RADIUS = "containerBorderRadiusForm", t.EXTERNAL_INDENTS = "containerExternalIndentsForm", t.IMAGE_CONTAINER = "containerImageContainerForm", t.MIME_TYPE = "containerMimeTypeForm", t.DISPLAY_CONDITIONS = "displayConditions", t.HIDDEN_NODE = "containerHiddenNodeForm", t))(_t || {}), n = {
235
+ BLOCK_BUTTON: F,
236
+ BLOCK_TEXT: w,
237
+ BLOCK_IMAGE: P,
238
+ GENERAL: p
239
+ }, Rt = /* @__PURE__ */ ((t) => (t.SETTINGS = "settings", t.STYLES = "styles", t.DATA = "data", t))(Rt || {}), a = {
226
240
  name: "name",
227
241
  disabled: "disabled"
228
- }, ot = {
229
- ...D,
242
+ }, ht = {
243
+ ...a,
244
+ caption: "caption",
245
+ icon: "icon"
246
+ }, Ct = {
247
+ ...a,
230
248
  caption: "caption"
231
- }, Et = {
232
- ...D,
249
+ }, Lt = {
250
+ ...a,
251
+ minValue: "min-value",
252
+ maxValue: "max-value",
253
+ step: "step"
254
+ }, gt = {
255
+ ...a,
233
256
  text: "text"
234
- }, lt = {
235
- ...D,
257
+ }, mt = {
258
+ ...a
259
+ }, H = {
260
+ ...a,
261
+ searchable: "searchable",
262
+ multiSelect: "multi-select",
236
263
  placeholder: "placeholder",
237
264
  items: "items"
238
- }, dt = {
265
+ }, At = {
266
+ ...H
267
+ }, Nt = {
239
268
  text: "text",
240
269
  value: "value"
241
- }, gt = {
242
- BUTTON: ot,
243
- LABEL: Et,
244
- SELECTPICKER: lt,
245
- SELECT_ITEM: dt
246
- }, ht = /* @__PURE__ */ ((t) => (t.BUTTON = "UE-BUTTON", t.CHECKBOX = "UE-CHECKBOX", t.CHECK_BUTTONS = "UE-CHECK-BUTTONS", t.COLOR = "UE-COLOR", t.COUNTER = "UE-COUNTER", t.DATEPICKER = "UE-DATEPICKER", t.LABEL = "UE-LABEL", t.MESSAGE = "UE-MESSAGE", t.RADIO_BUTTONS = "UE-RADIO-BUTTONS", t.SELECTPICKER = "UE-SELECT", t.SWITCHER = "UE-SWITCHER", t.TEXT = "UE-TEXT", t.TEXTAREA = "UE-TEXTAREA", t.CHECK_ITEM = "UE-CHECK-ITEM", t.RADIO_ITEM = "UE-RADIO-ITEM", t.SELECT_ITEM = "UE-SELECT-ITEM", t.ICON = "UE-ICON", t.MERGETAGS = "UE-MERGETAGS", t.FONT_FAMILY_SELECT = "UE-FONT-FAMILY-SELECT", t.NESTED_CONTROL = "UE-NESTED-CONTROL", t.EXPANDABLE = "UE-EXPANDABLE", t.EXPANDABLE_HEADER = "UE-EXPANDABLE_HEADER", t.EXPANDABLE_CONTENT = "UE-EXPANDABLE_CONTENT", t))(ht || {}), S = class c extends n {
270
+ }, bt = {
271
+ text: "text",
272
+ value: "value"
273
+ }, Dt = {
274
+ ...a
275
+ }, St = {
276
+ controlId: "control-id"
277
+ }, Bt = {
278
+ ...a,
279
+ icon: "icon",
280
+ position: "position"
281
+ }, Mt = {
282
+ ...a
283
+ }, Ht = {
284
+ BUTTON: ht,
285
+ CHECKBOX: Ct,
286
+ COLOR: a,
287
+ COUNTER: Lt,
288
+ LABEL: gt,
289
+ RADIO_BUTTONS: mt,
290
+ SELECTPICKER: H,
291
+ FONT_FAMILY_SELECT: At,
292
+ SWITCHER: a,
293
+ TEXT: Dt,
294
+ SELECT_ITEM: Nt,
295
+ RADIO_ITEM: bt,
296
+ NESTED_CONTROL: St,
297
+ ORDERABLE: Bt,
298
+ ORDERABLE_ITEM: Mt
299
+ }, vt = /* @__PURE__ */ ((t) => (t.BUTTON = "UE-BUTTON", t.CHECKBOX = "UE-CHECKBOX", t.CHECK_BUTTONS = "UE-CHECK-BUTTONS", t.COLOR = "UE-COLOR", t.COUNTER = "UE-COUNTER", t.DATEPICKER = "UE-DATEPICKER", t.LABEL = "UE-LABEL", t.MESSAGE = "UE-MESSAGE", t.RADIO_BUTTONS = "UE-RADIO-BUTTONS", t.SELECTPICKER = "UE-SELECT", t.SWITCHER = "UE-SWITCHER", t.TEXT = "UE-TEXT", t.TEXTAREA = "UE-TEXTAREA", t.CHECK_ITEM = "UE-CHECK-ITEM", t.RADIO_ITEM = "UE-RADIO-ITEM", t.SELECT_ITEM = "UE-SELECT-ITEM", t.ICON = "UE-ICON", t.MERGETAGS = "UE-MERGETAGS", t.FONT_FAMILY_SELECT = "UE-FONT-FAMILY-SELECT", t.NESTED_CONTROL = "UE-NESTED-CONTROL", t.EXPANDABLE = "UE-EXPANDABLE", t.EXPANDABLE_HEADER = "UE-EXPANDABLE_HEADER", t.EXPANDABLE_CONTENT = "UE-EXPANDABLE_CONTENT", t.ORDERABLE = "UE-ORDERABLE", t.ORDERABLE_ITEM = "UE-ORDERABLE-ITEM", t.ORDERABLE_ICON = "UE-ORDERABLE-ICON", t))(vt || {}), M = class {
300
+ /**
301
+ * @description returns map of nodes parent control operates on
302
+ */
303
+ getTargetNodes(t) {
304
+ return [t];
305
+ }
306
+ /**
307
+ * @description returns map of labels used by parent control UI
308
+ */
309
+ getLabels() {
310
+ }
311
+ /**
312
+ * @description returns custom description for parent modifications
313
+ */
314
+ getModificationDescription() {
315
+ }
316
+ /**
317
+ * @description returns custom modifications to be included in the parent control patch
318
+ */
319
+ getAdditionalModifications(t) {
320
+ }
321
+ /**
322
+ * Determines whether the specified HTML node is visible.
323
+ *
324
+ * @param _node - The HTML node to evaluate for visibility, provided as an immutable object.
325
+ * @return A boolean value indicating whether the node is visible. Returns `true` if the node is visible, otherwise `false`.
326
+ */
327
+ isVisible(t) {
328
+ return !0;
329
+ }
330
+ }, o = class extends M {
331
+ getTargetNodes(t) {
332
+ const e = t.querySelectorAll(I.BUTTON), r = t.asElement().hasClass(U) ? [t] : [];
333
+ return e.length ? e : r;
334
+ }
335
+ }, Xt = class extends o {
336
+ getParentControlId() {
337
+ return n.BLOCK_BUTTON.BORDER_RADIUS;
338
+ }
339
+ getLabels() {
340
+ }
341
+ }, kt = class extends o {
342
+ getParentControlId() {
343
+ return n.BLOCK_BUTTON.ALIGNMENT;
344
+ }
345
+ }, Vt = class extends o {
346
+ getParentControlId() {
347
+ return n.BLOCK_BUTTON.BORDER;
348
+ }
349
+ getLabels() {
350
+ }
351
+ }, Gt = class extends o {
352
+ getParentControlId() {
353
+ return n.BLOCK_BUTTON.COLOR;
354
+ }
355
+ }, ft = class extends o {
356
+ getParentControlId() {
357
+ return n.BLOCK_BUTTON.ADJUST_TO_WIDTH;
358
+ }
359
+ }, Qt = class extends o {
360
+ getParentControlId() {
361
+ return n.BLOCK_BUTTON.FONT_FAMILY;
362
+ }
363
+ }, Yt = class extends o {
364
+ getParentControlId() {
365
+ return n.BLOCK_BUTTON.EXTERNAL_INDENTS;
366
+ }
367
+ }, $t = class extends o {
368
+ getParentControlId() {
369
+ return n.BLOCK_BUTTON.INTERNAL_INDENTS;
370
+ }
371
+ }, Wt = class extends o {
372
+ getParentControlId() {
373
+ return n.BLOCK_BUTTON.TEXT;
374
+ }
375
+ }, zt = class extends o {
376
+ getParentControlId() {
377
+ return n.BLOCK_BUTTON.FONT_SIZE;
378
+ }
379
+ }, Zt = class extends o {
380
+ getParentControlId() {
381
+ return n.BLOCK_BUTTON.TEXT_STYLE_AND_COLOR;
382
+ }
383
+ getLabels() {
384
+ }
385
+ }, X = class h extends i {
247
386
  constructor() {
248
- super(c.REQUIRED_METHODS, c);
387
+ super(h.REQUIRED_METHODS, h);
249
388
  }
250
389
  /**
251
390
  * @description Allows to determine if control should be visible or hidden in control panel.
@@ -290,18 +429,38 @@ var V = "esd-block-button", $ = "esd-block-text", X = "esd-block-image", G = "es
290
429
  */
291
430
  onTemplateNodeUpdated(e) {
292
431
  }
432
+ /**
433
+ * Lifecycle hook called when any part of the document template has changed.
434
+ * This can be frequent; use cautiously for performance-sensitive operations.
435
+ * @param _node - The immutable HTML node representing current node instance
436
+ */
437
+ onDocumentChanged(e) {
438
+ }
293
439
  };
294
- S.REQUIRED_METHODS = ["getId", "getTemplate"];
295
- var It = S, N = class m extends n {
440
+ X.REQUIRED_METHODS = ["getId", "getTemplate"];
441
+ var jt = X, k = class extends M {
442
+ getTargetNodes(t) {
443
+ const e = t.querySelectorAll(I.IMAGE), r = t.asElement().hasClass(K) ? [t] : [];
444
+ return e.length ? e : r;
445
+ }
446
+ }, qt = class extends k {
447
+ getParentControlId() {
448
+ return n.BLOCK_IMAGE.EXTERNAL_INDENTS;
449
+ }
450
+ }, Jt = class extends k {
451
+ getParentControlId() {
452
+ return n.BLOCK_IMAGE.SIZE;
453
+ }
454
+ }, V = class C extends i {
296
455
  constructor() {
297
- super(m.REQUIRED_METHODS, m);
456
+ super(C.REQUIRED_METHODS, C);
298
457
  }
299
458
  registerBlockControls(e) {
300
459
  throw new Error("Method registerBlockControls() must be implemented by the subclass");
301
460
  }
302
461
  };
303
- N.REQUIRED_METHODS = ["registerBlockControls"];
304
- var _t = N, Lt = class {
462
+ V.REQUIRED_METHODS = ["registerBlockControls"];
463
+ var te = V, ee = class {
305
464
  constructor(t, e) {
306
465
  this.tabId = t, this.controlsIds = e;
307
466
  }
@@ -324,9 +483,42 @@ var _t = N, Lt = class {
324
483
  const e = this.controlsIds.indexOf(t);
325
484
  e !== -1 && this.controlsIds.splice(e, 1);
326
485
  }
327
- }, ut = class {
328
- constructor(t, e, r = [], s, i = [], l, E = [], a = [], T, v, p, w, B, K, P, H) {
329
- this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = p, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = i, this.settingsPanelRegistry = l, this.contextActions = E, this.blocks = a, this.externalSmartElementsLibrary = T, this.externalImageLibrary = v, this.externalAiAssistant = w, this.externalDisplayConditionsLibrary = B, this.externalVideoLibrary = K, this.blocksPanel = P, this.iconsRegistry = H, this.id = Math.random().toString(36).substring(2);
486
+ }, d = class extends M {
487
+ getTargetNodes(t) {
488
+ const e = t.querySelectorAll(I.TEXT), r = t.asElement().hasClass(y) ? [t] : [];
489
+ return e.length ? e : r;
490
+ }
491
+ }, re = class extends d {
492
+ getParentControlId() {
493
+ return n.GENERAL.TEXT_ALIGN;
494
+ }
495
+ }, ne = class extends d {
496
+ getParentControlId() {
497
+ return n.BLOCK_TEXT.TEXT_BLOCK_BACKGROUND_COLOR;
498
+ }
499
+ }, se = class extends d {
500
+ getParentControlId() {
501
+ return n.GENERAL.TEXT_COLOR;
502
+ }
503
+ }, ie = class extends d {
504
+ getParentControlId() {
505
+ return n.BLOCK_TEXT.FONT_FAMILY;
506
+ }
507
+ }, ae = class extends d {
508
+ getParentControlId() {
509
+ return n.BLOCK_TEXT.INTERNAL_INDENTS;
510
+ }
511
+ }, oe = class extends d {
512
+ getParentControlId() {
513
+ return n.GENERAL.TEXT_SIZE;
514
+ }
515
+ }, Ee = class extends d {
516
+ getParentControlId() {
517
+ return n.GENERAL.TEXT_STYLE;
518
+ }
519
+ }, xt = class {
520
+ constructor(t, e, r = [], s, E = [], T, O = [], l = [], v, Y, $, W, z, Z, j, q) {
521
+ this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = $, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = E, this.settingsPanelRegistry = T, this.contextActions = O, this.blocks = l, this.externalSmartElementsLibrary = v, this.externalImageLibrary = Y, this.externalAiAssistant = W, this.externalDisplayConditionsLibrary = z, this.externalVideoLibrary = Z, this.blocksPanel = j, this.iconsRegistry = q, this.id = Math.random().toString(36).substring(2);
330
522
  }
331
523
  getI18n() {
332
524
  return this.i18n;
@@ -379,7 +571,7 @@ var _t = N, Lt = class {
379
571
  getIconsRegistry() {
380
572
  return this.iconsRegistry;
381
573
  }
382
- }, At = class {
574
+ }, le = class {
383
575
  constructor() {
384
576
  this.styles = [], this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [];
385
577
  }
@@ -441,7 +633,7 @@ var _t = N, Lt = class {
441
633
  return this.iconsRegistry = t, this;
442
634
  }
443
635
  build() {
444
- return new ut(
636
+ return new xt(
445
637
  this.i18n,
446
638
  (this.styles || []).map((t) => t.trim()).join(`
447
639
  `),
@@ -461,18 +653,18 @@ var _t = N, Lt = class {
461
653
  this.iconsRegistry
462
654
  );
463
655
  }
464
- }, ct = class O extends n {
656
+ }, Ut = class L extends i {
465
657
  constructor() {
466
- super(O.REQUIRED_METHODS, O);
658
+ super(L.REQUIRED_METHODS, L);
467
659
  }
468
- openAiAssistant({ value: e, onDataSelectCallback: r, onCancelCallback: s, type: i }) {
660
+ openAiAssistant({ value: e, onDataSelectCallback: r, onCancelCallback: s, type: E }) {
469
661
  throw new Error("Method openAiAssistant() must be implemented by the subclass");
470
662
  }
471
663
  };
472
- ct.REQUIRED_METHODS = ["openAiAssistant"];
473
- var mt = class b extends n {
664
+ Ut.REQUIRED_METHODS = ["openAiAssistant"];
665
+ var yt = class g extends i {
474
666
  constructor() {
475
- super(b.REQUIRED_METHODS, b);
667
+ super(g.REQUIRED_METHODS, g);
476
668
  }
477
669
  /**
478
670
  * Retrieves the name of the category.
@@ -510,44 +702,44 @@ var mt = class b extends n {
510
702
  throw new Error("Method getContextActionIndex() must be implemented by the subclass");
511
703
  }
512
704
  };
513
- mt.REQUIRED_METHODS = ["getCategoryName", "openExternalDisplayConditionsDialog"];
514
- var Ot = class R extends n {
705
+ yt.REQUIRED_METHODS = ["getCategoryName", "openExternalDisplayConditionsDialog"];
706
+ var Kt = class m extends i {
515
707
  constructor() {
516
- super(R.REQUIRED_METHODS, R);
708
+ super(m.REQUIRED_METHODS, m);
517
709
  }
518
710
  openImageLibrary(e, r, s) {
519
711
  throw new Error("Method openImageLibrary() must be implemented by the subclass");
520
712
  }
521
713
  };
522
- Ot.REQUIRED_METHODS = ["openImageLibrary"];
523
- var bt = class C extends n {
714
+ Kt.REQUIRED_METHODS = ["openImageLibrary"];
715
+ var pt = class A extends i {
524
716
  constructor() {
525
- super(C.REQUIRED_METHODS, C);
717
+ super(A.REQUIRED_METHODS, A);
526
718
  }
527
719
  openSmartElementsLibrary(e, r) {
528
720
  throw new Error("Method openSmartElementsLibrary() must be implemented by the subclass");
529
721
  }
530
722
  };
531
- bt.REQUIRED_METHODS = ["openSmartElementsLibrary"];
532
- var Rt = class g extends n {
723
+ pt.REQUIRED_METHODS = ["openSmartElementsLibrary"];
724
+ var Ft = class N extends i {
533
725
  constructor() {
534
- super(g.REQUIRED_METHODS, g);
726
+ super(N.REQUIRED_METHODS, N);
535
727
  }
536
728
  openExternalVideosLibraryDialog(e, r, s) {
537
729
  throw new Error("Method openExternalVideosLibraryDialog() must be implemented by the subclass");
538
730
  }
539
731
  };
540
- Rt.REQUIRED_METHODS = ["openExternalVideosLibraryDialog"];
541
- var y = class I extends n {
732
+ Ft.REQUIRED_METHODS = ["openExternalVideosLibraryDialog"];
733
+ var G = class b extends i {
542
734
  constructor() {
543
- super(I.REQUIRED_METHODS, I);
735
+ super(b.REQUIRED_METHODS, b);
544
736
  }
545
737
  registerIconsSvg(e) {
546
738
  throw new Error("Method registerIconsSvg() must be implemented by the subclass");
547
739
  }
548
740
  };
549
- y.REQUIRED_METHODS = ["registerIconsSvg"];
550
- var Dt = y, Tt = class {
741
+ G.REQUIRED_METHODS = ["registerIconsSvg"];
742
+ var de = G, ue = class {
551
743
  constructor(t) {
552
744
  this.key = t;
553
745
  }
@@ -560,9 +752,9 @@ var Dt = y, Tt = class {
560
752
  params: this.params
561
753
  };
562
754
  }
563
- }, x = class _ extends n {
755
+ }, f = class D extends i {
564
756
  constructor() {
565
- super(_.REQUIRED_METHODS, _);
757
+ super(D.REQUIRED_METHODS, D);
566
758
  }
567
759
  /**
568
760
  * Called when the UI element should render its content into the provided container.
@@ -615,34 +807,60 @@ var Dt = y, Tt = class {
615
807
  throw new Error("Method getTemplate() must be implemented by the subclass");
616
808
  }
617
809
  };
618
- x.REQUIRED_METHODS = ["onRender", "getId", "getTemplate"];
619
- var Mt = x, U = class L extends n {
810
+ f.REQUIRED_METHODS = ["onRender", "getId", "getTemplate"];
811
+ var Oe = f, Q = class S extends i {
620
812
  constructor() {
621
- super(L.REQUIRED_METHODS, L);
813
+ super(S.REQUIRED_METHODS, S);
622
814
  }
623
815
  registerUiElements(e) {
624
816
  throw new Error("Method registerUiElements() must be implemented by the subclass");
625
817
  }
626
818
  };
627
- U.REQUIRED_METHODS = ["registerUiElements"];
628
- var St = U;
819
+ Q.REQUIRED_METHODS = ["registerUiElements"];
820
+ var Ie = Q;
629
821
  export {
630
- Ct as Block,
631
- F as BlockCompositionType,
632
- rt as BlockSelector,
633
- st as BlockType,
634
- it as ContainerControls,
635
- It as Control,
636
- ut as Extension,
637
- At as ExtensionBuilder,
638
- Dt as IconsRegistry,
639
- Tt as ModificationDescription,
640
- _t as SettingsPanelRegistry,
641
- Lt as SettingsPanelTab,
642
- at as SettingsTab,
643
- nt as TextControls,
644
- gt as UEAttr,
645
- Mt as UIElement,
646
- St as UIElementTagRegistry,
647
- ht as UIElementType
822
+ wt as Block,
823
+ Pt as BlockAttr,
824
+ J as BlockCompositionType,
825
+ I as BlockSelector,
826
+ ct as BlockType,
827
+ M as BuiltInControl,
828
+ n as BuiltInControlTypes,
829
+ kt as ButtonAlignBuiltInControl,
830
+ Vt as ButtonBorderBuiltInControl,
831
+ Xt as ButtonBorderRadiusBuiltInControl,
832
+ Gt as ButtonColorBuiltInControl,
833
+ F as ButtonControls,
834
+ ft as ButtonFitToContainerBuiltInControl,
835
+ Qt as ButtonFontFamilyBuiltInControl,
836
+ Yt as ButtonMarginsBuiltInControl,
837
+ $t as ButtonPaddingsBuiltInControl,
838
+ Wt as ButtonTextBuiltInControl,
839
+ zt as ButtonTextSizeBuiltInControl,
840
+ Zt as ButtonTextStyleAndFontColorBuiltInControl,
841
+ _t as ContainerControls,
842
+ jt as Control,
843
+ xt as Extension,
844
+ le as ExtensionBuilder,
845
+ p as GeneralControls,
846
+ de as IconsRegistry,
847
+ P as ImageControls,
848
+ qt as ImageMarginsBuiltInControl,
849
+ Jt as ImageSizeBuiltInControl,
850
+ ue as ModificationDescription,
851
+ te as SettingsPanelRegistry,
852
+ ee as SettingsPanelTab,
853
+ Rt as SettingsTab,
854
+ re as TextAlignBuiltInControl,
855
+ ne as TextBlockBackgroundBuiltInControl,
856
+ se as TextColorBuiltInControl,
857
+ w as TextControls,
858
+ ie as TextFontFamilyBuiltInControl,
859
+ ae as TextPaddingsBuiltInControl,
860
+ oe as TextSizeBuiltInControl,
861
+ Ee as TextStyleBuiltInControl,
862
+ Ht as UEAttr,
863
+ Oe as UIElement,
864
+ Ie as UIElementTagRegistry,
865
+ vt as UIElementType
648
866
  };
@@ -1,4 +1,4 @@
1
- const o = { stripo: { version: "2.41.0" } }, s = {
1
+ const o = { stripo: { version: "2.42.0" } }, s = {
2
2
  guido: o
3
3
  };
4
4
  export {
@@ -0,0 +1,43 @@
1
+ import { useHttp as c } from "../composables/useHttp.js";
2
+ import { URLS as a } from "../enums/extensions/recommendationBlock.js";
3
+ import { useEditorStore as m } from "../stores/editor.js";
4
+ import { replaceString as s } from "../utils/genericUtil.js";
5
+ const l = () => {
6
+ const { get: o } = c();
7
+ return {
8
+ fetchRecommendationCreateData: async () => {
9
+ const e = m();
10
+ try {
11
+ return (await o(s(
12
+ "/newsletter/{id}/recommendations/get-campaign-create-data",
13
+ { id: e.templateId }
14
+ ))).data;
15
+ } catch (t) {
16
+ throw console.error("fetchUserModalState error:", t), t;
17
+ }
18
+ },
19
+ fetchRecommendationFilters: async () => {
20
+ try {
21
+ const { data: e } = await o("/stripo/email-recommendation-attributes");
22
+ return e;
23
+ } catch (e) {
24
+ throw console.error("fetchRecommendationFilters error:", e), e;
25
+ }
26
+ },
27
+ fetchRecommendationProducts: async (e, t) => {
28
+ try {
29
+ const r = decodeURIComponent(new URLSearchParams(Object.entries(t)).toString());
30
+ console.debug("🏁 Recommendation API Query:", r);
31
+ const n = await o(
32
+ `${a.RECOMMENDATION_API_URL}/v2/${e}?${r}`
33
+ );
34
+ return (n == null ? void 0 : n.data) ?? [];
35
+ } catch (r) {
36
+ throw console.error("fetchRecommendationProducts error:", r), r;
37
+ }
38
+ }
39
+ };
40
+ };
41
+ export {
42
+ l as useRecommendationApi
43
+ };
@@ -29,7 +29,7 @@ const m = () => {
29
29
  forceRecreate: !0
30
30
  };
31
31
  try {
32
- const { data: e } = await r("/stripo/default-template");
32
+ const { data: e } = await r("/stripo/default-template/0");
33
33
  try {
34
34
  return {
35
35
  ...JSON.parse(e),