@useinsider/guido 1.0.3-beta.4cf7c41 → 1.0.3-beta.4ef9a2f

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 (207) hide show
  1. package/README.md +143 -3
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +79 -73
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
  8. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
  9. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -18
  11. package/dist/composables/useActionsApi.js +1 -1
  12. package/dist/composables/useBlocksConfig.js +48 -0
  13. package/dist/composables/useGuidoActions.js +19 -9
  14. package/dist/composables/useHtmlCompiler.js +15 -13
  15. package/dist/composables/useHtmlValidator.js +36 -35
  16. package/dist/composables/useStripo.js +55 -60
  17. package/dist/config/compiler/itemsCompilerRules.js +14 -0
  18. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  19. package/dist/enums/defaults.js +19 -11
  20. package/dist/enums/extensions/recommendationBlock.js +2 -2
  21. package/dist/enums/onboarding.js +7 -3
  22. package/dist/enums/unsubscribe.js +27 -25
  23. package/dist/extensions/Blocks/Checkbox/block.js +5 -2
  24. package/dist/extensions/Blocks/Checkbox/control.js +15 -14
  25. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  26. package/dist/extensions/Blocks/Checkbox/template.js +14 -9
  27. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  28. package/dist/extensions/Blocks/Items/block.js +67 -0
  29. package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
  30. package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
  31. package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
  32. package/dist/extensions/Blocks/Items/controls/index.js +217 -0
  33. package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
  34. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
  35. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
  36. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
  37. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
  38. package/dist/extensions/Blocks/Items/controls/settingsControl.js +312 -0
  39. package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
  40. package/dist/extensions/Blocks/Items/enums/productEnums.js +273 -0
  41. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +76 -0
  42. package/dist/extensions/Blocks/Items/extension.js +19 -0
  43. package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
  44. package/dist/extensions/Blocks/Items/items.css.js +23 -0
  45. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
  46. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +60 -0
  47. package/dist/extensions/Blocks/Items/settingsPanel.js +131 -0
  48. package/dist/extensions/Blocks/Items/store/items-block.js +71 -0
  49. package/dist/extensions/Blocks/Items/template.js +189 -0
  50. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  51. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  52. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +67 -0
  53. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +44 -0
  54. package/dist/extensions/Blocks/RadioButton/block.js +5 -2
  55. package/dist/extensions/Blocks/RadioButton/control.js +18 -17
  56. package/dist/extensions/Blocks/RadioButton/template.js +18 -9
  57. package/dist/extensions/Blocks/Recommendation/extension.js +4 -4
  58. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  59. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  60. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +4 -4
  61. package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
  62. package/dist/extensions/Blocks/common-control.js +174 -110
  63. package/dist/extensions/Blocks/controlFactories.js +223 -0
  64. package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
  65. package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
  66. package/dist/guido.css +1 -1
  67. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +213 -168
  68. package/dist/node_modules/lodash-es/_DataView.js +6 -0
  69. package/dist/node_modules/lodash-es/_Promise.js +6 -0
  70. package/dist/node_modules/lodash-es/_Set.js +6 -0
  71. package/dist/node_modules/lodash-es/_SetCache.js +13 -0
  72. package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
  73. package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
  74. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
  75. package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
  76. package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
  77. package/dist/node_modules/lodash-es/_arraySome.js +9 -0
  78. package/dist/node_modules/lodash-es/_baseEach.js +6 -0
  79. package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
  80. package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
  81. package/dist/node_modules/lodash-es/_baseGet.js +11 -0
  82. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  83. package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
  84. package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
  85. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
  86. package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
  87. package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
  88. package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
  89. package/dist/node_modules/lodash-es/_baseMap.js +11 -0
  90. package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
  91. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  92. package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
  93. package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  94. package/dist/node_modules/lodash-es/_baseRange.js +9 -0
  95. package/dist/node_modules/lodash-es/_baseToString.js +18 -0
  96. package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
  97. package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
  98. package/dist/node_modules/lodash-es/_castPath.js +10 -0
  99. package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
  100. package/dist/node_modules/lodash-es/_createRange.js +11 -0
  101. package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
  102. package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
  103. package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
  104. package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
  105. package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
  106. package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
  107. package/dist/node_modules/lodash-es/_getTag.js +28 -0
  108. package/dist/node_modules/lodash-es/_hasPath.js +19 -0
  109. package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
  110. package/dist/node_modules/lodash-es/_isKey.js +12 -0
  111. package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
  112. package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
  113. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  114. package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
  115. package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
  116. package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
  117. package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
  118. package/dist/node_modules/lodash-es/_setToArray.js +9 -0
  119. package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
  120. package/dist/node_modules/lodash-es/_toKey.js +10 -0
  121. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  122. package/dist/node_modules/lodash-es/flatMap.js +8 -0
  123. package/dist/node_modules/lodash-es/get.js +8 -0
  124. package/dist/node_modules/lodash-es/hasIn.js +8 -0
  125. package/dist/node_modules/lodash-es/isSymbol.js +9 -0
  126. package/dist/node_modules/lodash-es/keys.js +9 -0
  127. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  128. package/dist/node_modules/lodash-es/map.js +11 -0
  129. package/dist/node_modules/lodash-es/property.js +10 -0
  130. package/dist/node_modules/lodash-es/range.js +5 -0
  131. package/dist/node_modules/lodash-es/stubArray.js +6 -0
  132. package/dist/node_modules/lodash-es/toFinite.js +14 -0
  133. package/dist/node_modules/lodash-es/toNumber.js +22 -0
  134. package/dist/node_modules/lodash-es/toString.js +7 -0
  135. package/dist/package.json.js +1 -1
  136. package/dist/services/recommendationApi.js +13 -19
  137. package/dist/services/stripoApi.js +28 -22
  138. package/dist/src/@types/generic.d.ts +36 -6
  139. package/dist/src/components/Guido.vue.d.ts +3 -2
  140. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
  141. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  142. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  143. package/dist/src/composables/useGuidoActions.d.ts +9 -0
  144. package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
  145. package/dist/src/enums/defaults.d.ts +1 -0
  146. package/dist/src/enums/onboarding.d.ts +4 -0
  147. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
  148. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  149. package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
  150. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
  151. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
  152. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
  153. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
  154. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
  155. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
  156. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
  157. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
  158. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
  159. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
  160. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +61 -0
  161. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +162 -0
  162. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +49 -0
  163. package/dist/src/extensions/Blocks/Items/extension.d.ts +2 -0
  164. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
  165. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +4 -0
  166. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +41 -0
  167. package/dist/src/extensions/Blocks/Items/template.d.ts +24 -0
  168. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  169. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  170. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +44 -0
  171. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  172. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +1 -0
  173. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  174. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  175. package/dist/src/extensions/Blocks/common-control.d.ts +44 -7
  176. package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
  177. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
  178. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
  179. package/dist/src/stores/config.d.ts +9 -2
  180. package/dist/src/stores/dynamic-content.d.ts +3 -3
  181. package/dist/src/stores/editor.d.ts +1 -1
  182. package/dist/src/stores/onboarding.d.ts +335 -1
  183. package/dist/src/stores/preview.d.ts +1 -1
  184. package/dist/src/stores/recommendation.d.ts +1 -1
  185. package/dist/src/stores/save-as-template.d.ts +1 -1
  186. package/dist/src/stores/toaster.d.ts +1 -1
  187. package/dist/src/stores/unsubscribe.d.ts +1 -1
  188. package/dist/src/stores/version-history.d.ts +1 -1
  189. package/dist/src/utils/environmentUtil.d.ts +5 -0
  190. package/dist/src/utils/genericUtil.d.ts +1 -0
  191. package/dist/src/utils/pairProductVariables.d.ts +7 -0
  192. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  193. package/dist/static/styles/customEditorStyle.css.js +1 -1
  194. package/dist/stores/config.js +5 -5
  195. package/dist/stores/dynamic-content.js +2 -2
  196. package/dist/stores/editor.js +1 -1
  197. package/dist/stores/onboarding.js +44 -36
  198. package/dist/stores/preview.js +1 -1
  199. package/dist/stores/recommendation.js +3 -3
  200. package/dist/stores/save-as-template.js +2 -2
  201. package/dist/stores/toaster.js +1 -1
  202. package/dist/stores/unsubscribe.js +1 -1
  203. package/dist/stores/version-history.js +4 -4
  204. package/dist/utils/environmentUtil.js +4 -0
  205. package/dist/utils/genericUtil.js +18 -8
  206. package/dist/utils/pairProductVariables.js +136 -0
  207. package/package.json +4 -4
@@ -1,78 +1,135 @@
1
- var u = Object.defineProperty;
2
- var C = (o, n, E) => n in o ? u(o, n, { enumerable: !0, configurable: !0, writable: !0, value: E }) : o[n] = E;
3
- var a = (o, n, E) => C(o, typeof n != "symbol" ? n + "" : n, E);
4
- import { Control as R, UIElementType as $, UEAttr as e } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- class N extends R {
1
+ var c = Object.defineProperty;
2
+ var I = (a, r, e) => r in a ? c(a, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[r] = e;
3
+ var l = (a, r, e) => I(a, typeof r != "symbol" ? r + "" : r, e);
4
+ import { Control as O, UIElementType as t, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ class _ extends O {
6
6
  constructor() {
7
7
  super(...arguments);
8
- a(this, "currentNode");
8
+ l(this, "currentNode");
9
+ l(this, "lastBlockInstanceId", null);
9
10
  }
10
11
  getContainer() {
11
- var E;
12
- return (E = document.querySelector("ui-editor")) == null ? void 0 : E.shadowRoot;
12
+ var e;
13
+ return (e = document.querySelector("ui-editor")) == null ? void 0 : e.shadowRoot;
13
14
  }
14
- onTemplateNodeUpdated(E) {
15
- this.currentNode = E;
15
+ onTemplateNodeUpdated(e) {
16
+ this.currentNode = e;
16
17
  }
17
- _GuLabel({ text: E, name: t = "", position: T = "top" }) {
18
+ onDestroy() {
19
+ this.lastBlockInstanceId = null;
20
+ }
21
+ /**
22
+ * Gets the config block element from the current node.
23
+ * @returns The config block element or null if not found
24
+ */
25
+ getConfigBlock() {
26
+ if (!this.currentNode)
27
+ return null;
28
+ const e = this.currentNode.closest(".items-block-v2");
29
+ return e ? e.querySelector("esd-config-block") : null;
30
+ }
31
+ /**
32
+ * Gets the current block instance ID from the config block.
33
+ * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
34
+ * @returns The block instance ID or null if not found
35
+ */
36
+ getBlockInstanceId(e = "data-block-instance-id") {
37
+ const n = this.getConfigBlock();
38
+ return n ? n.getAttribute(e) : null;
39
+ }
40
+ /**
41
+ * Handles block instance change detection and syncing.
42
+ * This is a helper method for controls that need to sync attributes when switching between block instances.
43
+ * @param syncFunction - Function to call when block instance changes (to sync from attributes)
44
+ * @param updateUI - Function to call to update the UI (called both on change and when same block)
45
+ * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
46
+ * @returns true if block instance changed, false otherwise
47
+ */
48
+ handleBlockInstanceChange(e, n, E = "data-block-instance-id") {
49
+ const o = this.getBlockInstanceId(E);
50
+ if (!o)
51
+ return !1;
52
+ const T = o !== this.lastBlockInstanceId;
53
+ return T ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = o) : n(), T;
54
+ }
55
+ _GuLabel({ text: e, name: n = "", position: E = "top" }) {
56
+ return `
57
+ <${t.LABEL}
58
+ style="${E === "top" ? "margin-bottom: 8px;" : ""}"
59
+ ${$.LABEL.text}="${e}"
60
+ ${$.LABEL.name}="${n || `${e} Label`}">
61
+ </${t.LABEL}>
62
+ `;
63
+ }
64
+ _GuToggle(e) {
18
65
  return `
19
- <${$.LABEL}
20
- style="${T === "top" ? "margin-bottom: 8px;" : ""}"
21
- ${e.LABEL.text}="${E}"
22
- ${e.LABEL.name}="${t || `${E} Label`}">
23
- </${$.LABEL}>
66
+ <${t.SWITCHER}
67
+ ${$.SWITCHER.name}="${e}">
68
+ </${t.SWITCHER}>
24
69
  `;
25
70
  }
26
- _GuToggle(E) {
71
+ _GuSelectItem({ text: e, value: n }) {
27
72
  return `
28
- <${$.SWITCHER}
29
- ${e.SWITCHER.name}="${E}">
30
- </${$.SWITCHER}>
73
+ <${t.SELECT_ITEM}
74
+ ${$.SELECT_ITEM.text}="${e}"
75
+ ${$.SELECT_ITEM.value}="${n}">
76
+ </${t.SELECT_ITEM}>`;
77
+ }
78
+ _GuSelect({ name: e, placeholder: n, options: E, className: o = "es-180w" }) {
79
+ return `
80
+ <${t.SELECTPICKER}
81
+ class="${o}"
82
+ ${$.SELECTPICKER.name}="${e}"
83
+ ${$.SELECTPICKER.placeholder}="${n}">
84
+ ${E.map((T) => this._GuSelectItem(T)).join("")}
85
+ </${t.SELECTPICKER}>
31
86
  `;
32
87
  }
33
- _GuSelectItem({ text: E, value: t }) {
88
+ _GuTextInput({ name: e, placeholder: n, className: E = "", disabled: o = !1 }) {
34
89
  return `
35
- <${$.SELECT_ITEM}
36
- ${e.SELECT_ITEM.text}="${E}"
37
- ${e.SELECT_ITEM.value}="${t}">
38
- </${$.SELECT_ITEM}>`;
90
+ <${t.TEXT}
91
+ class=${E}
92
+ ${$.TEXT.name}="${e}"
93
+ placeholder="${n || e}"
94
+ ${o ? `${$.TEXT.disabled}="true"` : ""}>
95
+ </${t.TEXT}>
96
+ `;
39
97
  }
40
- _GuSelect({ name: E, placeholder: t, options: T, className: r = "es-180w" }) {
98
+ _GuCounter({ name: e, maxValue: n, minValue: E = 1, step: o = 1 }) {
41
99
  return `
42
- <${$.SELECTPICKER}
43
- class="${r}"
44
- ${e.SELECTPICKER.name}="${E}"
45
- ${e.SELECTPICKER.placeholder}="${t}">
46
- ${T.map((O) => this._GuSelectItem(O)).join("")}
47
- </${$.SELECTPICKER}>
100
+ <${t.COUNTER}
101
+ ${$.COUNTER.name}="${e}"
102
+ ${$.COUNTER.minValue}="${E}"
103
+ ${$.COUNTER.maxValue}="${n}"
104
+ ${$.COUNTER.step}="${o}">
105
+ </${t.COUNTER}>
48
106
  `;
49
107
  }
50
- _GuTextInput({ name: E, placeholder: t, className: T = "" }) {
108
+ _GuRadioButtonItem({ text: e, value: n, icon: E }) {
51
109
  return `
52
- <${$.TEXT}
53
- class=${T}
54
- ${e.TEXT.name}="${E}"
55
- placeholder="${t || E}">
56
- </${$.TEXT}>
110
+ <${t.RADIO_ITEM}
111
+ ${$.RADIO_ITEM.value}="${n}"
112
+ ${e ? `${$.RADIO_ITEM.text}="${e}"` : ""}
113
+ ${E ? `${$.RADIO_ITEM.icon}="${E}"` : ""}>
114
+ </${t.RADIO_ITEM}>
57
115
  `;
58
116
  }
59
- _GuCounter({ name: E, maxValue: t, minValue: T = 1, step: r = 1 }) {
117
+ _GuRadioButton({ name: e, buttons: n, id: E = "" }) {
60
118
  return `
61
- <${$.COUNTER}
62
- ${e.COUNTER.name}="${E}"
63
- ${e.COUNTER.minValue}="${T}"
64
- ${e.COUNTER.maxValue}="${t}"
65
- ${e.COUNTER.step}="${r}">
66
- </${$.COUNTER}>
119
+ <${t.RADIO_BUTTONS}
120
+ ${E ? `id="${E}"` : ""}
121
+ ${$.RADIO_BUTTONS.name}="${e}">
122
+ ${n.map((o) => this._GuRadioButtonItem(o)).join("")}
123
+ </${t.RADIO_BUTTONS}>
67
124
  `;
68
125
  }
69
- _GuButton({ name: E, label: t, id: T = "" }) {
126
+ _GuButton({ name: e, label: n, id: E = "" }) {
70
127
  return `
71
- <${$.BUTTON}
72
- ${e.BUTTON.name}="${E}"
73
- ${T ? `id="${T}"` : ""}
74
- ${e.BUTTON.caption}="${t}"}>
75
- </${$.BUTTON}>
128
+ <${t.BUTTON}
129
+ ${$.BUTTON.name}="${e}"
130
+ ${E ? `id="${E}"` : ""}
131
+ ${$.BUTTON.caption}="${n}"}>
132
+ </${t.BUTTON}>
76
133
  `;
77
134
  }
78
135
  /**
@@ -80,19 +137,26 @@ class N extends R {
80
137
  * @param param0
81
138
  * @returns It returns a button with an icon.
82
139
  */
83
- _GuIconButton({ name: E, icon: t, className: T = "" }) {
140
+ _GuIconButton({ name: e, icon: n, className: E = "" }) {
84
141
  return `
85
- <${$.BUTTON}
86
- class="${T}"
87
- ${e.BUTTON.name}="${E}"
88
- ${e.BUTTON.icon}="${t}">
89
- </${$.BUTTON}>
142
+ <${t.BUTTON}
143
+ class="${E}"
144
+ ${$.BUTTON.name}="${e}"
145
+ ${$.BUTTON.icon}="${n}">
146
+ </${t.BUTTON}>
147
+ `;
148
+ }
149
+ _GuOneColumn(e, n = "") {
150
+ return `
151
+ <div class="container one-column ${n}">
152
+ ${e.join("")}
153
+ </div>
90
154
  `;
91
155
  }
92
- _GuTwoColumns(E) {
156
+ _GuTwoColumns(e, n = "") {
93
157
  return `
94
- <div class="checkbox-select-container container two-columns">
95
- ${E.join("")}
158
+ <div class="container two-columns ${n}">
159
+ ${e.join("")}
96
160
  </div>
97
161
  `;
98
162
  }
@@ -103,82 +167,82 @@ class N extends R {
103
167
  * @param itemLabels - Optional array of objects with key and label properties for display
104
168
  * @returns HTML string for the orderable control
105
169
  */
106
- _GuOrderable(E, t) {
107
- let T = "";
108
- t.forEach((O) => {
109
- const L = e.ORDERABLE_ITEM && "name" in e.ORDERABLE_ITEM ? e.ORDERABLE_ITEM.name : "name";
110
- T += `
111
- <${$.ORDERABLE_ITEM} ${L}="${O.key}">
112
- ${O.content}
113
- </${$.ORDERABLE_ITEM}>
170
+ _GuOrderable(e, n) {
171
+ let E = "";
172
+ n.forEach((T) => {
173
+ const u = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
174
+ E += `
175
+ <${t.ORDERABLE_ITEM} ${u}="${T.key}">
176
+ ${T.content}
177
+ </${t.ORDERABLE_ITEM}>
114
178
  `;
115
179
  });
116
- const r = e.ORDERABLE && "name" in e.ORDERABLE ? e.ORDERABLE.name : "name";
180
+ const o = $.ORDERABLE && "name" in $.ORDERABLE ? $.ORDERABLE.name : "name";
117
181
  return `
118
- <${$.ORDERABLE} ${r}="${E}">
119
- ${T}
120
- </${$.ORDERABLE}>
182
+ <${t.ORDERABLE} ${o}="${e}">
183
+ ${E}
184
+ </${t.ORDERABLE}>
121
185
  `;
122
186
  }
123
- _GuNestedControl(E, t) {
187
+ _GuNestedControl(e, n) {
124
188
  return `
125
- <${$.NESTED_CONTROL} ${e.NESTED_CONTROL.controlId}="${E}">
126
- ${t}
127
- </${$.NESTED_CONTROL}>
189
+ <${t.NESTED_CONTROL} ${$.NESTED_CONTROL.controlId}="${e}">
190
+ ${n}
191
+ </${t.NESTED_CONTROL}>
128
192
  `;
129
193
  }
130
- _GuExpandable(E, t) {
194
+ _GuExpandable(e, n) {
131
195
  return `
132
- <${$.EXPANDABLE}>
133
- <${$.EXPANDABLE_HEADER}>
134
- <${$.LABEL} ${e.LABEL.text}="${E}"></${$.LABEL}>
135
- </${$.EXPANDABLE_HEADER}>
136
- <${$.EXPANDABLE_CONTENT}>
196
+ <${t.EXPANDABLE}>
197
+ <${t.EXPANDABLE_HEADER}>
198
+ <${t.LABEL} ${$.LABEL.text}="${e}"></${t.LABEL}>
199
+ </${t.EXPANDABLE_HEADER}>
200
+ <${t.EXPANDABLE_CONTENT}>
137
201
 
138
- ${t}
202
+ ${n}
139
203
 
140
- </${$.EXPANDABLE_CONTENT}>
141
- </${$.EXPANDABLE}>
204
+ </${t.EXPANDABLE_CONTENT}>
205
+ </${t.EXPANDABLE}>
142
206
  `;
143
207
  }
144
- _GuColorPicker(E) {
208
+ _GuColorPicker(e) {
145
209
  return `
146
- <${$.COLOR}
147
- ${e.COLOR.name}="${E}">
148
- </${$.COLOR}>
210
+ <${t.COLOR}
211
+ ${$.COLOR.name}="${e}">
212
+ </${t.COLOR}>
149
213
  `;
150
214
  }
151
- _GuFontFamily(E, t = "Select Font") {
215
+ _GuFontFamily(e, n = "Select Font") {
152
216
  return `
153
- <${$.FONT_FAMILY_SELECT}
154
- ${e.FONT_FAMILY_SELECT.name}="${E}"
155
- ${e.FONT_FAMILY_SELECT.placeholder}="${t}">
156
- </${$.FONT_FAMILY_SELECT}>
217
+ <${t.FONT_FAMILY_SELECT}
218
+ ${$.FONT_FAMILY_SELECT.name}="${e}"
219
+ ${$.FONT_FAMILY_SELECT.placeholder}="${n}">
220
+ </${t.FONT_FAMILY_SELECT}>
157
221
  `;
158
222
  }
159
- _GuRadioButtons(E, t) {
160
- const T = t.map((r) => `
161
- <${$.RADIO_ITEM}
162
- ${e.RADIO_ITEM.text}="${r.text}"
163
- ${e.RADIO_ITEM.value}="${r.value}">
164
- </${$.RADIO_ITEM}>
223
+ _GuRadioButtons(e, n) {
224
+ const E = n.map((o) => `
225
+ <${t.RADIO_ITEM}
226
+ ${$.RADIO_ITEM.text}="${o.text}"
227
+ ${$.RADIO_ITEM.value}="${o.value}">
228
+ </${t.RADIO_ITEM}>
165
229
  `).join("");
166
230
  return `
167
- <${$.RADIO_BUTTONS}
168
- ${e.RADIO_BUTTONS.name}="${E}">
169
- ${T}
170
- </${$.RADIO_BUTTONS}>
231
+ <${t.RADIO_BUTTONS}
232
+ ${$.RADIO_BUTTONS.name}="${e}">
233
+ ${E}
234
+ </${t.RADIO_BUTTONS}>
171
235
  `;
172
236
  }
173
- _GuCheckbox(E, t) {
237
+ _GuCheckbox(e, n) {
174
238
  return `
175
- <${$.CHECKBOX}
176
- ${e.CHECKBOX.name}="${E}"
177
- ${e.CHECKBOX.caption}="${t}">
178
- </${$.CHECKBOX}>
239
+ <${t.CHECKBOX}
240
+ ${$.CHECKBOX.name}="${e}"
241
+ ${$.CHECKBOX.caption}="${n}">
242
+ </${t.CHECKBOX}>
179
243
  `;
180
244
  }
181
245
  }
182
246
  export {
183
- N as CommonControl
247
+ _ as CommonControl
184
248
  };
@@ -0,0 +1,223 @@
1
+ import { TextAlignBuiltInControl as r, TextColorBuiltInControl as l, TextSizeBuiltInControl as s, TextStyleBuiltInControl as c, TextFontFamilyBuiltInControl as u, ButtonBackgroundColorBuiltInControl as i, TextPaddingsBuiltInControl as d, ImageSizeBuiltInControl as a, ImageMarginsBuiltInControl as g, ButtonAlignBuiltInControl as x, ButtonBorderBuiltInControl as C, ButtonBorderRadiusBuiltInControl as B, ButtonColorBuiltInControl as I, ButtonFontFamilyBuiltInControl as m, ButtonMarginsBuiltInControl as T, ButtonPaddingsBuiltInControl as S, ButtonTextBuiltInControl as y, ButtonTextSizeBuiltInControl as A, ButtonTextStyleAndFontColorBuiltInControl as k, ButtonFitToContainerBuiltInControl as f } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ function q(e, t, n) {
3
+ return class extends r {
4
+ getId() {
5
+ return e;
6
+ }
7
+ getTargetNodes(o) {
8
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
9
+ }
10
+ };
11
+ }
12
+ function N(e, t, n = ".ins-recommendation-product-container") {
13
+ return class extends l {
14
+ getId() {
15
+ return e;
16
+ }
17
+ getTargetNodes(o) {
18
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
19
+ }
20
+ };
21
+ }
22
+ function $(e, t, n = ".ins-recommendation-product-container") {
23
+ return class extends s {
24
+ getId() {
25
+ return e;
26
+ }
27
+ getTargetNodes(o) {
28
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
29
+ }
30
+ };
31
+ }
32
+ function p(e, t, n = ".ins-recommendation-product-container") {
33
+ return class extends c {
34
+ getId() {
35
+ return e;
36
+ }
37
+ getTargetNodes(o) {
38
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
39
+ }
40
+ };
41
+ }
42
+ function F(e, t, n = ".ins-recommendation-product-container") {
43
+ return class extends u {
44
+ getId() {
45
+ return e;
46
+ }
47
+ getTargetNodes(o) {
48
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
49
+ }
50
+ };
51
+ }
52
+ function z(e, t, n = ".ins-recommendation-product-container") {
53
+ return class extends i {
54
+ getId() {
55
+ return e;
56
+ }
57
+ getTargetNodes(o) {
58
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
59
+ }
60
+ };
61
+ }
62
+ function M(e, t, n = ".ins-recommendation-product-container") {
63
+ return class extends d {
64
+ getId() {
65
+ return e;
66
+ }
67
+ getTargetNodes(o) {
68
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
69
+ }
70
+ };
71
+ }
72
+ function P(e, t, n = ".ins-recommendation-product-container") {
73
+ return class extends x {
74
+ getId() {
75
+ return e;
76
+ }
77
+ getTargetNodes(o) {
78
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
79
+ }
80
+ };
81
+ }
82
+ function R(e, t, n = ".ins-recommendation-product-container") {
83
+ return class extends I {
84
+ getId() {
85
+ return e;
86
+ }
87
+ getTargetNodes(o) {
88
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
89
+ }
90
+ };
91
+ }
92
+ function h(e, t, n = ".ins-recommendation-product-container") {
93
+ return class extends C {
94
+ getId() {
95
+ return e;
96
+ }
97
+ getTargetNodes(o) {
98
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
99
+ }
100
+ };
101
+ }
102
+ function j(e, t, n = ".ins-recommendation-product-container") {
103
+ return class extends B {
104
+ getId() {
105
+ return e;
106
+ }
107
+ getTargetNodes(o) {
108
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
109
+ }
110
+ };
111
+ }
112
+ function v(e, t, n = ".ins-recommendation-product-container") {
113
+ return class extends m {
114
+ getId() {
115
+ return e;
116
+ }
117
+ getTargetNodes(o) {
118
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
119
+ }
120
+ };
121
+ }
122
+ function w(e, t, n = ".ins-recommendation-product-container") {
123
+ return class extends T {
124
+ getId() {
125
+ return e;
126
+ }
127
+ getTargetNodes(o) {
128
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
129
+ }
130
+ };
131
+ }
132
+ function D(e, t, n = ".ins-recommendation-product-container") {
133
+ return class extends S {
134
+ getId() {
135
+ return e;
136
+ }
137
+ getTargetNodes(o) {
138
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
139
+ }
140
+ };
141
+ }
142
+ function E(e, t, n = ".ins-recommendation-product-container") {
143
+ return class extends y {
144
+ getId() {
145
+ return e;
146
+ }
147
+ getTargetNodes(o) {
148
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
149
+ }
150
+ };
151
+ }
152
+ function G(e, t, n = ".ins-recommendation-product-container") {
153
+ return class extends A {
154
+ getId() {
155
+ return e;
156
+ }
157
+ getTargetNodes(o) {
158
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
159
+ }
160
+ };
161
+ }
162
+ function H(e, t, n) {
163
+ return class extends k {
164
+ getId() {
165
+ return e;
166
+ }
167
+ getTargetNodes(o) {
168
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
169
+ }
170
+ };
171
+ }
172
+ function J(e, t, n) {
173
+ return class extends f {
174
+ getId() {
175
+ return e;
176
+ }
177
+ getTargetNodes(o) {
178
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
179
+ }
180
+ };
181
+ }
182
+ function K(e, t, n) {
183
+ return class extends a {
184
+ getId() {
185
+ return e;
186
+ }
187
+ getTargetNodes(o) {
188
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
189
+ }
190
+ };
191
+ }
192
+ function L(e, t, n) {
193
+ return class extends g {
194
+ getId() {
195
+ return e;
196
+ }
197
+ getTargetNodes(o) {
198
+ return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
199
+ }
200
+ };
201
+ }
202
+ export {
203
+ P as createButtonAlignControl,
204
+ h as createButtonBorderControl,
205
+ j as createButtonBorderRadiusControl,
206
+ R as createButtonColorControl,
207
+ J as createButtonFitToContainerControl,
208
+ v as createButtonFontFamilyControl,
209
+ w as createButtonMarginsControl,
210
+ D as createButtonPaddingsControl,
211
+ E as createButtonTextControl,
212
+ G as createButtonTextSizeControl,
213
+ H as createButtonTextStyleAndFontColorControl,
214
+ L as createImageMarginsControl,
215
+ K as createImageSizeControl,
216
+ M as createPaddingsControl,
217
+ q as createTextAlignControl,
218
+ z as createTextBackgroundColorControl,
219
+ N as createTextColorControl,
220
+ F as createTextFontFamilyControl,
221
+ $ as createTextSizeControl,
222
+ p as createTextStyleControl
223
+ };
@@ -1,27 +1,33 @@
1
- var i = Object.defineProperty;
2
- var d = (t, e, n) => e in t ? i(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var a = (t, e, n) => d(t, typeof e != "symbol" ? e + "" : e, n);
4
- class y {
1
+ var d = Object.defineProperty;
2
+ var m = (t, e, n) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var c = (t, e, n) => m(t, typeof e != "symbol" ? e + "" : e, n);
4
+ class C {
5
5
  constructor() {
6
- a(this, "selectedDynamicContent", null);
7
- a(this, "dataSelectCallback", () => {
6
+ c(this, "selectedDynamicContent", null);
7
+ c(this, "dataSelectCallback", () => {
8
8
  });
9
+ c(this, "closeDynamicContentHandler", null);
9
10
  }
10
- openMergeTagsLibrary(e, n) {
11
- this.dataSelectCallback = n, this.selectedDynamicContent = e;
12
- const s = new CustomEvent("dynamic-content:open", {
13
- detail: {
14
- attribute: e
15
- }
11
+ /**
12
+ * Opens the merge tags library modal
13
+ * @param dynamicContent - Currently selected dynamic content (if any)
14
+ * @param onDataSelectCallback - Callback invoked when user selects a merge tag
15
+ * @param position - Optional position data to place the modal
16
+ */
17
+ openMergeTagsLibrary(e, n, l) {
18
+ this.closeDynamicContentHandler && (document.removeEventListener("dynamic-content:close", this.closeDynamicContentHandler), this.closeDynamicContentHandler = null), this.dataSelectCallback = n, this.selectedDynamicContent = e;
19
+ const o = {
20
+ attribute: e,
21
+ position: l
22
+ }, s = new CustomEvent("dynamic-content:open", {
23
+ detail: o
16
24
  });
17
- document.dispatchEvent(s);
18
- const o = (l) => {
19
- const c = l.detail;
20
- this.selectedDynamicContent = c, c.text && c.value && this.dataSelectCallback(c), document.removeEventListener("dynamic-content:close", o);
21
- };
22
- document.addEventListener("dynamic-content:close", o);
25
+ document.dispatchEvent(s), this.closeDynamicContentHandler = (i) => {
26
+ const a = i.detail;
27
+ this.selectedDynamicContent = a, a.text && a.value && this.dataSelectCallback(a);
28
+ }, document.addEventListener("dynamic-content:close", this.closeDynamicContentHandler);
23
29
  }
24
30
  }
25
31
  export {
26
- y as ExternalMergeTagsLibrary
32
+ C as ExternalMergeTagsLibrary
27
33
  };