@useinsider/guido 1.0.3-beta.cafee45 → 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 (194) hide show
  1. package/README.md +0 -3
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +41 -44
  4. package/dist/components/organisms/header/RightSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/RightSlot.vue2.js +22 -23
  6. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -20
  7. package/dist/composables/useActionsApi.js +24 -33
  8. package/dist/composables/useBlocksConfig.js +2 -1
  9. package/dist/composables/useGuidoActions.js +9 -19
  10. package/dist/composables/useHtmlCompiler.js +13 -15
  11. package/dist/composables/useHtmlValidator.js +35 -36
  12. package/dist/composables/useStripo.js +55 -63
  13. package/dist/config/compiler/unsubscribeCompilerRules.js +28 -33
  14. package/dist/enums/defaults.js +1 -2
  15. package/dist/enums/extensions/recommendationBlock.js +2 -2
  16. package/dist/enums/onboarding.js +3 -7
  17. package/dist/enums/unsubscribe.js +25 -27
  18. package/dist/extensions/Blocks/Checkbox/block.js +2 -5
  19. package/dist/extensions/Blocks/Checkbox/control.js +14 -15
  20. package/dist/extensions/Blocks/Checkbox/template.js +9 -14
  21. package/dist/extensions/Blocks/RadioButton/block.js +2 -5
  22. package/dist/extensions/Blocks/RadioButton/control.js +17 -18
  23. package/dist/extensions/Blocks/RadioButton/template.js +9 -18
  24. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  25. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  26. package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
  27. package/dist/extensions/Blocks/common-control.js +110 -174
  28. package/dist/guido.css +1 -1
  29. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +168 -213
  30. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +12 -13
  31. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  32. package/dist/package.json.js +1 -1
  33. package/dist/services/recommendationApi.js +19 -13
  34. package/dist/src/@types/generic.d.ts +0 -1
  35. package/dist/src/components/Guido.vue.d.ts +0 -1
  36. package/dist/src/composables/useActionsApi.d.ts +0 -1
  37. package/dist/src/composables/useGuidoActions.d.ts +0 -9
  38. package/dist/src/enums/onboarding.d.ts +0 -4
  39. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +0 -1
  40. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  41. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +0 -1
  42. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  43. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  44. package/dist/src/extensions/Blocks/common-control.d.ts +7 -44
  45. package/dist/src/stores/config.d.ts +1 -2
  46. package/dist/src/stores/dynamic-content.d.ts +1 -1
  47. package/dist/src/stores/editor.d.ts +1 -1
  48. package/dist/src/stores/onboarding.d.ts +1 -335
  49. package/dist/src/stores/preview.d.ts +1 -1
  50. package/dist/src/stores/recommendation.d.ts +1 -1
  51. package/dist/src/stores/save-as-template.d.ts +1 -1
  52. package/dist/src/stores/toaster.d.ts +1 -1
  53. package/dist/src/stores/unsubscribe.d.ts +1 -1
  54. package/dist/src/stores/version-history.d.ts +1 -1
  55. package/dist/static/styles/customEditorStyle.css.js +1 -1
  56. package/dist/stores/config.js +5 -5
  57. package/dist/stores/dynamic-content.js +1 -1
  58. package/dist/stores/editor.js +1 -1
  59. package/dist/stores/onboarding.js +36 -44
  60. package/dist/stores/preview.js +1 -1
  61. package/dist/stores/recommendation.js +3 -3
  62. package/dist/stores/save-as-template.js +2 -2
  63. package/dist/stores/toaster.js +1 -1
  64. package/dist/stores/unsubscribe.js +1 -1
  65. package/dist/stores/version-history.js +4 -4
  66. package/dist/utils/genericUtil.js +17 -16
  67. package/package.json +4 -4
  68. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
  69. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -99
  70. package/dist/composables/useTimerClone.js +0 -67
  71. package/dist/config/compiler/itemsCompilerRules.js +0 -14
  72. package/dist/extensions/Blocks/Items/block.js +0 -67
  73. package/dist/extensions/Blocks/Items/controls/button/link.js +0 -68
  74. package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -193
  75. package/dist/extensions/Blocks/Items/controls/image/link.js +0 -68
  76. package/dist/extensions/Blocks/Items/controls/index.js +0 -217
  77. package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -70
  78. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -107
  79. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -123
  80. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -76
  81. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -61
  82. package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -312
  83. package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
  84. package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -273
  85. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -76
  86. package/dist/extensions/Blocks/Items/extension.js +0 -19
  87. package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
  88. package/dist/extensions/Blocks/Items/items.css.js +0 -23
  89. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -62
  90. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -60
  91. package/dist/extensions/Blocks/Items/settingsPanel.js +0 -131
  92. package/dist/extensions/Blocks/Items/store/items-block.js +0 -71
  93. package/dist/extensions/Blocks/Items/template.js +0 -189
  94. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  95. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  96. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  97. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -44
  98. package/dist/extensions/Blocks/controlFactories.js +0 -223
  99. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  100. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  101. package/dist/node_modules/lodash-es/_Set.js +0 -6
  102. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  103. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  104. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  105. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  106. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  107. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  108. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  109. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  110. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  111. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  112. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  113. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  114. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  115. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  116. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  117. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  118. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  119. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  120. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  121. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  122. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  123. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  124. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  125. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  126. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  127. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  128. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  129. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  130. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  131. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  132. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  133. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  134. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  135. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  136. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  137. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  138. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  139. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  140. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  141. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  142. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  143. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  144. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  145. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  146. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  147. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  148. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  149. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  150. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  151. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  152. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  153. package/dist/node_modules/lodash-es/get.js +0 -8
  154. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  155. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  156. package/dist/node_modules/lodash-es/keys.js +0 -9
  157. package/dist/node_modules/lodash-es/map.js +0 -11
  158. package/dist/node_modules/lodash-es/property.js +0 -10
  159. package/dist/node_modules/lodash-es/range.js +0 -5
  160. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  161. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  162. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  163. package/dist/node_modules/lodash-es/toString.js +0 -7
  164. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
  165. package/dist/src/composables/useTimerClone.d.ts +0 -5
  166. package/dist/src/config/compiler/itemsCompilerRules.d.ts +0 -2
  167. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -27
  168. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -14
  169. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -33
  170. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -14
  171. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +0 -501
  172. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -14
  173. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -19
  174. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -21
  175. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -14
  176. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -13
  177. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -48
  178. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -61
  179. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -162
  180. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -49
  181. package/dist/src/extensions/Blocks/Items/extension.d.ts +0 -2
  182. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +0 -4
  183. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +0 -4
  184. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -41
  185. package/dist/src/extensions/Blocks/Items/template.d.ts +0 -24
  186. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  187. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  188. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -44
  189. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  190. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -312
  191. package/dist/src/utils/environmentUtil.d.ts +0 -5
  192. package/dist/src/utils/pairProductVariables.d.ts +0 -7
  193. package/dist/utils/environmentUtil.js +0 -4
  194. package/dist/utils/pairProductVariables.js +0 -136
package/README.md CHANGED
@@ -167,7 +167,6 @@ export default {
167
167
  | `on-change` | void | It Fires once for managing leave modal etc. |
168
168
  | `ready` | void | Fired when the editor is ready and template is loaded |
169
169
  | `onboarding-finished` | void | Fired when the onboarding popup is dismissed or completed, allowing parent applications to track onboarding state |
170
- | `test-email:click` | - | Fired when user clicks the test email button in the header |
171
170
 
172
171
  ### Guido Exposed Methods
173
172
  ```typescript
@@ -198,7 +197,6 @@ interface GuidoConfig {
198
197
  saveAsTemplate: boolean;
199
198
  versionHistory: boolean;
200
199
  testMessage: boolean;
201
- displayConditions: boolean;
202
200
  };
203
201
  blocks?: {
204
202
  excludeDefaults?: GuidoBlockType[];
@@ -217,7 +215,6 @@ interface GuidoConfig {
217
215
  | `features.dynamicContent` | `boolean` | `true` | Enable dynamic content insertion feature |
218
216
  | `features.saveAsTemplate` | `boolean` | `true` | Enable save as template feature |
219
217
  | `features.versionHistory` | `boolean` | `true` | Enable version history feature |
220
- | `features.displayConditions` | `boolean` | `true` | Enable display conditions |
221
218
  | `blocks` | `BlocksConfig` | `{ excludeDefaults: [], includeCustoms: [] }` | Block configuration for excluding default blocks and including custom blocks. See [Blocks Configuration](#-blocks-configuration) section below |
222
219
  | `blocks.excludeDefaults` | `GuidoBlockType[]` | `[]` | Array of default Stripo blocks to exclude from the editor |
223
220
  | `blocks.includeCustoms` | `GuidoCustomBlockType[]` | `[]` | Array of custom blocks to include in the editor |
@@ -12,7 +12,7 @@ var t = function() {
12
12
  n,
13
13
  !1,
14
14
  null,
15
- "23c413c9"
15
+ "41915b53"
16
16
  );
17
17
  const v = s.exports;
18
18
  export {
@@ -1,8 +1,8 @@
1
- import { defineComponent as O, defineAsyncComponent as I, ref as z, computed as U, watch as B, onMounted as K, onUnmounted as j } from "vue";
1
+ import { defineComponent as O, defineAsyncComponent as U, ref as z, computed as L, watch as B, onMounted as K, onUnmounted as j } from "vue";
2
2
  import { provideGuidoActions as q } from "../composables/useGuidoActions.js";
3
3
  import { usePartner as J } from "../composables/usePartner.js";
4
4
  import { useStripo as Q } from "../composables/useStripo.js";
5
- import { migrate as L } from "../config/migrator/index.js";
5
+ import { migrate as W } from "../config/migrator/index.js";
6
6
  import { DefaultUsername as V, DefaultMessageType as X, DefaultGuidoConfig as Y } from "../enums/defaults.js";
7
7
  import Z from "./organisms/base/Toaster.vue.js";
8
8
  import $ from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
@@ -12,12 +12,12 @@ import te from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
12
12
  import ne from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
13
13
  import { useStripoApi as re } from "../services/stripoApi.js";
14
14
  import { useConfigStore as ie } from "../stores/config.js";
15
- import { useDynamicContentStore as se } from "../stores/dynamic-content.js";
16
- import { useEditorStore as ae } from "../stores/editor.js";
15
+ import { useDynamicContentStore as ae } from "../stores/dynamic-content.js";
16
+ import { useEditorStore as se } from "../stores/editor.js";
17
17
  import { usePreviewStore as ce } from "../stores/preview.js";
18
- import { useUnsubscribeStore as me } from "../stores/unsubscribe.js";
19
- import de from "../node_modules/lodash-es/merge.js";
20
- const Ue = /* @__PURE__ */ O({
18
+ import { useUnsubscribeStore as de } from "../stores/unsubscribe.js";
19
+ import me from "../node_modules/lodash-es/merge.js";
20
+ const Le = /* @__PURE__ */ O({
21
21
  __name: "Guido",
22
22
  props: {
23
23
  templateId: null,
@@ -31,104 +31,101 @@ const Ue = /* @__PURE__ */ O({
31
31
  guidoConfig: null,
32
32
  templateConfig: null
33
33
  },
34
- emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
35
- setup(W, { expose: _, emit: o }) {
36
- const u = W, A = I(
34
+ emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished"],
35
+ setup(_, { expose: k, emit: t }) {
36
+ const l = _, A = U(
37
37
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
38
- ), N = I(
38
+ ), N = U(
39
39
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
40
- ), p = z(), i = se(), g = me(), f = ie(), s = ae(), F = ce(), n = U(() => s.hasChanges), { getPartnerName: y, getProductType: v, isTestPartner: H } = J(), b = () => {
40
+ ), p = z(), i = ae(), g = de(), f = ie(), a = se(), F = ce(), n = L(() => a.hasChanges), { getPartnerName: y, getProductType: v, isTestPartner: H } = J(), b = () => {
41
41
  var e;
42
42
  return (e = p.value) == null ? void 0 : e.handleSave(!0);
43
43
  }, {
44
- templateId: a,
44
+ templateId: s,
45
45
  userId: C,
46
46
  guidoConfig: h,
47
- templateConfig: t,
47
+ templateConfig: o,
48
48
  html: r = "",
49
49
  css: S = "",
50
50
  partnerName: c = y(),
51
- productType: m = v(),
51
+ productType: d = v(),
52
52
  messageType: w = X,
53
53
  username: D = V
54
- } = u, d = (t == null ? void 0 : t.preselectedDynamicContentList) || [];
55
- s.templateId = a, window.GuidoConfig = de(Y, h), window.GuidoConfig.partner = {
54
+ } = l, m = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
55
+ a.templateId = s, window.GuidoConfig = me(Y, h), window.GuidoConfig.partner = {
56
56
  partnerName: c,
57
- productType: m,
57
+ productType: d,
58
58
  messageType: w
59
- }, f.templateConfig = t;
59
+ }, f.templateConfig = o;
60
60
  const { initPlugin: E } = Q({
61
- emailId: a,
61
+ emailId: s,
62
62
  userId: C,
63
63
  username: D,
64
64
  partnerName: c,
65
- productType: m,
66
- preselectedDynamicContentList: d,
65
+ productType: d,
66
+ preselectedDynamicContentList: m,
67
67
  onReady: () => {
68
- console.debug("guido:ready"), o("ready");
68
+ console.debug("guido:ready"), t("ready");
69
69
  }
70
- }), { getDefaultTemplate: T } = re(), R = U(() => {
70
+ }), { getDefaultTemplate: T } = re(), R = L(() => {
71
71
  var e;
72
72
  return !((e = window.GuidoConfig) != null && e.useHeader);
73
73
  });
74
74
  q({
75
75
  onBack: () => {
76
- console.debug("guido:back"), o("back");
76
+ console.debug("guido:back"), t("back");
77
77
  },
78
78
  onSaveStart: () => {
79
- console.debug("guido:save:start"), o("save:start");
79
+ console.debug("guido:save:start"), t("save:start");
80
80
  },
81
81
  onSaveComplete: (e) => {
82
- console.debug("guido:save:complete", e), o("save:complete", e);
83
- },
84
- onTestEmailClick: () => {
85
- console.debug("guido:test-email:click"), o("test-email:click");
82
+ console.debug("guido:save:complete", e), t("save:complete", e);
86
83
  }
87
84
  });
88
85
  const P = (e) => {
89
86
  console.debug("dynamic-content:close", e), i.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
90
- }, k = () => {
87
+ }, G = () => {
91
88
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
92
89
  };
93
90
  B(() => n.value, () => {
94
- o("on-change", n.value);
91
+ t("on-change", n.value);
95
92
  });
96
- const l = (e) => {
97
- const G = e, { attribute: x, position: M } = G.detail;
98
- console.debug("dynamic-content:open", G.detail), o("dynamic-content:open", x, M);
93
+ const u = (e) => {
94
+ const I = e, { attribute: x, position: M } = I.detail;
95
+ console.debug("dynamic-content:open", I.detail), t("dynamic-content:open", x, M);
99
96
  };
100
97
  return K(async () => {
101
98
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
102
99
  try {
103
- g.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
100
+ g.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
104
101
  let e = {
105
- html: r && await L(r),
102
+ html: r && await W(r),
106
103
  css: S,
107
104
  forceRecreate: !0
108
105
  // TODO: It should be false for old templates. We will communicate with Stripo
109
106
  };
110
- e.html || (e = await T(), e.html = await L(e.html)), await E(e), i.selectedDynamicContentList = d;
107
+ e.html || (e = await T(), e.html = await W(e.html)), await E(e), i.selectedDynamicContentList = m;
111
108
  } catch (e) {
112
109
  console.error("Failed to initialize Stripo editor:", e);
113
110
  }
114
- document.addEventListener("dynamic-content:open", l);
111
+ document.addEventListener("dynamic-content:open", u);
115
112
  }), j(() => {
116
- document.removeEventListener("dynamic-content:open", l);
113
+ document.removeEventListener("dynamic-content:open", u);
117
114
  try {
118
115
  window.UIEditor.removeEditor();
119
116
  } catch {
120
117
  console.debug("Failed to remove Stripo editor: No editor found");
121
118
  }
122
- }), _({
119
+ }), k({
123
120
  dynamicContent: {
124
121
  insert: P,
125
- close: k
122
+ close: G
126
123
  },
127
124
  hasChanges: n,
128
125
  saveSilent: b
129
- }), { __sfc: !0, PreviewContainer: A, OnboardingWrapper: N, headerWrapperRef: p, dynamicContentStore: i, unsubscribeStore: g, props: u, configStore: f, editorStore: s, previewStore: F, hasChanges: n, getPartnerName: y, getProductType: v, isTestPartner: H, saveSilent: b, templateId: a, userId: C, guidoConfig: h, templateConfig: t, html: r, css: S, partnerName: c, productType: m, messageType: w, username: D, preselectedDynamicContentList: d, emit: o, initPlugin: E, getDefaultTemplate: T, noHeader: R, insertDynamicContent: P, closeDynamicContent: k, handleDynamicContentOpen: l, Toaster: Z, FilterSelectionDrawer: $, HeaderWrapper: ee, LoadingWrapper: oe, SaveAsTemplateDrawer: te, UnsubscribeWrapper: ne };
126
+ }), { __sfc: !0, PreviewContainer: A, OnboardingWrapper: N, headerWrapperRef: p, dynamicContentStore: i, unsubscribeStore: g, props: l, configStore: f, editorStore: a, previewStore: F, hasChanges: n, getPartnerName: y, getProductType: v, isTestPartner: H, saveSilent: b, templateId: s, userId: C, guidoConfig: h, templateConfig: o, html: r, css: S, partnerName: c, productType: d, messageType: w, username: D, preselectedDynamicContentList: m, emit: t, initPlugin: E, getDefaultTemplate: T, noHeader: R, insertDynamicContent: P, closeDynamicContent: G, handleDynamicContentOpen: u, Toaster: Z, FilterSelectionDrawer: $, HeaderWrapper: ee, LoadingWrapper: oe, SaveAsTemplateDrawer: te, UnsubscribeWrapper: ne };
130
127
  }
131
128
  });
132
129
  export {
133
- Ue as default
130
+ Le as default
134
131
  };
@@ -3,7 +3,7 @@ import l from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var r = function() {
4
4
  var o, i, n;
5
5
  var s = this, e = s._self._c, t = s._self._setupProxy;
6
- return e("div", { staticClass: "d-f" }, [(o = t.config.features) != null && o.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : s._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : s._e(), (n = t.config.features) != null && n.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.testEmailClick } }) : s._e(), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(c) {
6
+ return e("div", { staticClass: "d-f" }, [(o = t.config.features) != null && o.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : s._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : s._e(), (n = t.config.features) != null && n.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") } }) : s._e(), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(_) {
7
7
  return t.handleSave(!1);
8
8
  } } })], 1);
9
9
  }, u = [], d = /* @__PURE__ */ l(
@@ -1,36 +1,35 @@
1
- import { defineComponent as H, ref as p, computed as _ } from "vue";
2
- import { useConfig as h } from "../../../composables/useConfig.js";
3
- import { useExport as V } from "../../../composables/useExport.js";
4
- import { useTestEmailClick as x } from "../../../composables/useGuidoActions.js";
5
- import { useSave as E } from "../../../composables/useSave.js";
6
- import { useTranslations as T } from "../../../composables/useTranslations.js";
1
+ import { defineComponent as g, ref as l, computed as H } from "vue";
2
+ import { useConfig as _ } from "../../../composables/useConfig.js";
3
+ import { useExport as h } from "../../../composables/useExport.js";
4
+ import { useSave as V } from "../../../composables/useSave.js";
5
+ import { useTranslations as x } from "../../../composables/useTranslations.js";
7
6
  import { useVersionHistoryApi as w } from "../../../composables/useVersionHistoryApi.js";
8
- import { useEditorStore as C } from "../../../stores/editor.js";
9
- import { getTooltipOptions as O } from "../../../utils/tooltipUtils.js";
10
- import { InButtonV2 as A } from "@useinsider/design-system-vue";
11
- const J = /* @__PURE__ */ H({
7
+ import { useEditorStore as T } from "../../../stores/editor.js";
8
+ import { getTooltipOptions as E } from "../../../utils/tooltipUtils.js";
9
+ import { InButtonV2 as O } from "@useinsider/design-system-vue";
10
+ const z = /* @__PURE__ */ g({
12
11
  __name: "RightSlot",
13
- setup(k, { expose: m }) {
14
- const { config: c } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), t = C(), o = T(), e = p(!1), s = p(!1), u = x(), f = () => {
15
- if (t.isVersionHistoryOpen) {
12
+ setup(A, { expose: m }) {
13
+ const { config: u } = _(), { exportHtml: r } = h(), { save: n } = V(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = T(), t = x(), e = l(!1), s = l(!1), c = () => {
14
+ if (o.isVersionHistoryOpen) {
16
15
  a();
17
16
  return;
18
17
  }
19
18
  i();
20
- }, v = async () => {
19
+ }, f = async () => {
21
20
  e.value = !0, await r(), e.value = !1;
22
- }, d = () => {
23
- t.isSaveAsTemplateDrawerOpen = !0;
24
- }, y = _(() => t.isVersionHistoryOpen ? o("newsletter.close-version-history") : o("newsletter.version-history")), l = async (S) => {
25
- s.value = !0, t.loadingStatus = !0;
26
- const g = await n(S);
27
- return s.value = !1, t.loadingStatus = !1, g;
21
+ }, v = () => {
22
+ o.isSaveAsTemplateDrawerOpen = !0;
23
+ }, d = H(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), p = async (y) => {
24
+ s.value = !0, o.loadingStatus = !0;
25
+ const S = await n(y);
26
+ return s.value = !1, o.loadingStatus = !1, S;
28
27
  };
29
28
  return m({
30
- handleSave: l
31
- }), { __sfc: !0, config: c, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: t, trans: o, isExporting: e, isSaving: s, testEmailClick: u, handleVersionHistory: f, handleExport: v, handleSaveAs: d, versionHistoryTooltipText: y, handleSave: l, getTooltipOptions: O, InButtonV2: A };
29
+ handleSave: p
30
+ }), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, handleVersionHistory: c, handleExport: f, handleSaveAs: v, versionHistoryTooltipText: d, handleSave: p, getTooltipOptions: E, InButtonV2: O };
32
31
  }
33
32
  });
34
33
  export {
35
- J as default
34
+ z as default
36
35
  };
@@ -1,25 +1,23 @@
1
1
  import { defineComponent as b, computed as e, onMounted as O, watch as t } from "vue";
2
- import u from "./AMPOnboarding.vue.js";
3
- import v from "./GenericOnboarding.vue.js";
4
- import l from "./ItemsOnboarding.vue.js";
5
- import y from "./NewVersionPopup.vue.js";
6
- import S from "./TextBlockOnboarding.vue.js";
7
- import h from "./VersionHistoryOnboarding.vue.js";
8
- import { usePartner as w } from "../../../composables/usePartner.js";
9
- import { useEditorStore as P } from "../../../stores/editor.js";
10
- import { useOnboardingStore as _ } from "../../../stores/onboarding.js";
11
- import { usePreviewStore as A } from "../../../stores/preview.js";
12
- const G = /* @__PURE__ */ b({
2
+ import { usePartner as u } from "../../../composables/usePartner.js";
3
+ import { useEditorStore as v } from "../../../stores/editor.js";
4
+ import { useOnboardingStore as l } from "../../../stores/onboarding.js";
5
+ import { usePreviewStore as y } from "../../../stores/preview.js";
6
+ import S from "./AMPOnboarding.vue.js";
7
+ import h from "./GenericOnboarding.vue.js";
8
+ import w from "./NewVersionPopup.vue.js";
9
+ import P from "./TextBlockOnboarding.vue.js";
10
+ import _ from "./VersionHistoryOnboarding.vue.js";
11
+ const F = /* @__PURE__ */ b({
13
12
  __name: "OnboardingWrapper",
14
13
  emits: ["onboarding-finished"],
15
- setup(H, { emit: f }) {
16
- const o = _(), r = P(), s = A(), { isTestPartner: a } = w(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
17
- { type: "newVersionPopup", component: y },
18
- { type: "genericOnboarding", component: v },
19
- { type: "textBlockOnboarding", component: S },
20
- { type: "versionHistoryOnboarding", component: h },
21
- { type: "ampOnboarding", component: u },
22
- { type: "itemsOnboarding", component: l }
14
+ setup(A, { emit: f }) {
15
+ const o = l(), r = v(), s = y(), { isTestPartner: a } = u(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
16
+ { type: "newVersionPopup", component: w },
17
+ { type: "genericOnboarding", component: h },
18
+ { type: "textBlockOnboarding", component: P },
19
+ { type: "versionHistoryOnboarding", component: _ },
20
+ { type: "ampOnboarding", component: S }
23
21
  ], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n), g = e(() => m.filter((n) => c(n.type)));
24
22
  return O(async () => {
25
23
  await o.fetchUserModalState();
@@ -42,5 +40,5 @@ const G = /* @__PURE__ */ b({
42
40
  }
43
41
  });
44
42
  export {
45
- G as default
43
+ F as default
46
44
  };
@@ -1,6 +1,6 @@
1
- import { useToaster as w } from "./useToaster.js";
1
+ import { useToaster as g } from "./useToaster.js";
2
2
  const A = () => {
3
- const { handleError: l } = w(), s = (e = {}) => new Promise((t, a) => {
3
+ const { handleError: l } = g(), n = (t = {}) => new Promise((e, a) => {
4
4
  const i = { ...{
5
5
  minimize: !0,
6
6
  utmEntity: {
@@ -17,16 +17,16 @@ const A = () => {
17
17
  ]
18
18
  },
19
19
  mergeTags: ["Tag1", "Tag2"],
20
- forceAmp: !1,
20
+ forseAmp: !1,
21
21
  resetDataSavedFlag: !1,
22
22
  disableLineHeightsReplace: !0
23
- }, ...e }, m = {
24
- callback: (n, p, c, d, u) => {
25
- n ? a(n) : t({
26
- html: p,
27
- ampHtml: c,
28
- ampErrors: d,
29
- displayConditions: u
23
+ }, ...t }, m = {
24
+ callback: (s, c, p, u, d) => {
25
+ s ? a(s) : e({
26
+ html: c,
27
+ ampHtml: p,
28
+ ampErrors: u,
29
+ displayConditions: d
30
30
  });
31
31
  },
32
32
  ...i
@@ -34,53 +34,44 @@ const A = () => {
34
34
  window.StripoEditorApi.actionsApi.compileEmail(m);
35
35
  });
36
36
  return {
37
- getCompiledEmail: s,
38
- getTemplateData: () => new Promise((e) => {
39
- const t = ({ html: a, css: o, width: i, height: r, utmParams: m, syncModulesIds: n }) => e({
37
+ getCompiledEmail: n,
38
+ getTemplateData: () => new Promise((t) => {
39
+ const e = ({ html: a, css: o, width: i, height: r, utmParams: m, syncModulesIds: s }) => t({
40
40
  html: a,
41
41
  css: o,
42
42
  width: i,
43
43
  height: r,
44
44
  utmParams: m,
45
- syncModulesIds: n
45
+ syncModulesIds: s
46
46
  });
47
- window.StripoEditorApi.actionsApi.getTemplateData(t);
47
+ window.StripoEditorApi.actionsApi.getTemplateData(e);
48
48
  }),
49
- activateCustomViewStyles: (e = !0) => {
50
- window.StripoEditorApi.actionsApi.activateCustomViewStyles(e);
49
+ activateCustomViewStyles: (t = !0) => {
50
+ window.StripoEditorApi.actionsApi.activateCustomViewStyles(t);
51
51
  },
52
- getPreviewData: async (e) => {
52
+ getPreviewData: async (t) => {
53
53
  try {
54
54
  const {
55
- html: t,
55
+ html: e,
56
56
  displayConditions: a,
57
57
  ampHtml: o = "",
58
58
  ampErrors: i = []
59
- } = await s({ minimize: !1, resetDataSavedFlag: !1, ...e });
59
+ } = await n({ minimize: !1, resetDataSavedFlag: !1, ...t });
60
60
  return {
61
- html: t,
61
+ html: e,
62
62
  ampHtml: o,
63
63
  ampErrors: i,
64
64
  displayConditions: a
65
65
  };
66
- } catch (t) {
67
- return l(t, "Error loading preview"), {
66
+ } catch (e) {
67
+ return l(e, "Error loading preview"), {
68
68
  html: "",
69
69
  ampHtml: "",
70
70
  ampErrors: [],
71
71
  displayConditions: []
72
72
  };
73
73
  }
74
- },
75
- updateTimerInClonedTemplate: () => new Promise((e) => {
76
- try {
77
- window.StripoEditorApi.actionsApi.updateTimerInClonedTemplate((t, a) => {
78
- t ? (l(t, "Failed to update timer in cloned template"), e(null)) : e(a || null);
79
- });
80
- } catch (t) {
81
- l(t, "Failed to call updateTimerInClonedTemplate"), e(null);
82
- }
83
- })
74
+ }
84
75
  };
85
76
  };
86
77
  export {
@@ -19,7 +19,8 @@ const l = {
19
19
  "recommendation-block": () => import("../extensions/Blocks/Recommendation/extension.js"),
20
20
  "unsubscribe-block": () => import("../extensions/Blocks/Unsubscribe/extension.js"),
21
21
  "coupon-block": () => import("../extensions/Blocks/CouponBlock/extension.js"),
22
- "items-block": () => import("../extensions/Blocks/Items/extension.js")
22
+ "items-block": null
23
+ // TODO: Add ItemsBlock extension when available
23
24
  }, a = (n) => {
24
25
  if (!n || !n.length)
25
26
  return {};
@@ -1,6 +1,6 @@
1
1
  import { provideValue as o, useInjectedValue as t } from "./useProvideInject.js";
2
- const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), c = Symbol.for("guido.save.complete"), a = Symbol.for("guido.test.email.click"), i = (e) => {
3
- o(r, e.onBack), o(n, e.onSaveStart), o(c, e.onSaveComplete), o(a, e.onTestEmailClick);
2
+ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), a = Symbol.for("guido.save.complete"), s = (e) => {
3
+ o(r, e.onBack), o(n, e.onSaveStart), o(a, e.onSaveComplete);
4
4
  }, u = () => {
5
5
  try {
6
6
  return t(r);
@@ -9,7 +9,7 @@ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), c = Symb
9
9
  "useBack: No back handler provided. Make sure Guido component is in the component tree."
10
10
  );
11
11
  }
12
- }, l = () => {
12
+ }, d = () => {
13
13
  try {
14
14
  return t(n);
15
15
  } catch {
@@ -17,31 +17,21 @@ const r = Symbol.for("guido.back"), n = Symbol.for("guido.save.start"), c = Symb
17
17
  "useSaveStart: No save start handler provided. Make sure Guido component is in the component tree."
18
18
  );
19
19
  }
20
- }, d = () => {
21
- try {
22
- return t(c);
23
- } catch {
24
- throw new Error(
25
- "useSaveComplete: No save complete handler provided. Make sure Guido component is in the component tree."
26
- );
27
- }
28
- }, m = () => {
20
+ }, i = () => {
29
21
  try {
30
22
  return t(a);
31
23
  } catch {
32
24
  throw new Error(
33
- "useTestEmailClick: No test email click handler provided. Make sure Guido component is in the component tree."
25
+ "useSaveComplete: No save complete handler provided. Make sure Guido component is in the component tree."
34
26
  );
35
27
  }
36
28
  };
37
29
  export {
38
30
  r as BACK_KEY,
39
- c as SAVE_COMPLETE_KEY,
31
+ a as SAVE_COMPLETE_KEY,
40
32
  n as SAVE_START_KEY,
41
- a as TEST_EMAIL_CLICK_KEY,
42
- i as provideGuidoActions,
33
+ s as provideGuidoActions,
43
34
  u as useBack,
44
- d as useSaveComplete,
45
- l as useSaveStart,
46
- m as useTestEmailClick
35
+ i as useSaveComplete,
36
+ d as useSaveStart
47
37
  };
@@ -1,27 +1,25 @@
1
1
  import { defaultHtmlCompilerRules as t } from "../config/compiler/htmlCompilerRules.js";
2
- import { itemsCompilerRules as p } from "../config/compiler/itemsCompilerRules.js";
3
- import { outlookCompilerRules as s } from "../config/compiler/outlookCompilerRules.js";
4
- import { recommendationCompilerRules as u } from "../config/compiler/recommendationCompilerRules.js";
5
- import { socialCompilerRules as n } from "../config/compiler/socialCompilerRules.js";
6
- import { unsubscribeCompilerRules as c } from "../config/compiler/unsubscribeCompilerRules.js";
7
- import { createHtmlCompiler as f } from "../utils/htmlCompiler.js";
8
- import { useConfig as R } from "./useConfig.js";
9
- const x = () => {
10
- const { config: e } = R(), m = e.htmlCompilerRules || [], l = [
2
+ import { outlookCompilerRules as p } from "../config/compiler/outlookCompilerRules.js";
3
+ import { recommendationCompilerRules as s } from "../config/compiler/recommendationCompilerRules.js";
4
+ import { socialCompilerRules as u } from "../config/compiler/socialCompilerRules.js";
5
+ import { unsubscribeCompilerRules as n } from "../config/compiler/unsubscribeCompilerRules.js";
6
+ import { createHtmlCompiler as c } from "../utils/htmlCompiler.js";
7
+ import { useConfig as f } from "./useConfig.js";
8
+ const h = () => {
9
+ const { config: e } = f(), l = e.htmlCompilerRules || [], m = [
11
10
  ...!!e.ignoreDefaultHtmlCompilerRules ? [] : t,
12
- ...u,
13
- ...c,
14
- ...p,
15
11
  ...s,
16
12
  ...n,
17
- ...m.map((o, i) => ({
13
+ ...p,
14
+ ...u,
15
+ ...l.map((o, i) => ({
18
16
  ...o,
19
17
  priority: o.priority + 1e3 + i
20
18
  // Ensure additional rules run after default rules
21
19
  }))
22
- ], r = f(l);
20
+ ], r = c(m);
23
21
  return { compileHtml: (o) => r.compile(o) };
24
22
  };
25
23
  export {
26
- x as useHtmlCompiler
24
+ h as useHtmlCompiler
27
25
  };