@useinsider/guido 1.0.3-beta.06d368d → 1.0.3-beta.09a6feb

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 (195) hide show
  1. package/README.md +0 -5
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/Guido.vue2.js +61 -64
  4. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  5. package/dist/components/organisms/header/RightSlot.vue2.js +13 -13
  6. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -20
  7. package/dist/composables/useActionsApi.js +1 -1
  8. package/dist/composables/useBlocksConfig.js +2 -1
  9. package/dist/composables/useHtmlCompiler.js +13 -15
  10. package/dist/composables/useHtmlValidator.js +35 -36
  11. package/dist/composables/useStripo.js +41 -47
  12. package/dist/enums/defaults.js +5 -7
  13. package/dist/enums/extensions/recommendationBlock.js +2 -2
  14. package/dist/enums/onboarding.js +3 -7
  15. package/dist/enums/unsubscribe.js +26 -27
  16. package/dist/extensions/Blocks/Checkbox/block.js +2 -5
  17. package/dist/extensions/Blocks/Checkbox/control.js +14 -15
  18. package/dist/extensions/Blocks/Checkbox/template.js +9 -14
  19. package/dist/extensions/Blocks/RadioButton/block.js +2 -5
  20. package/dist/extensions/Blocks/RadioButton/control.js +17 -18
  21. package/dist/extensions/Blocks/RadioButton/template.js +9 -18
  22. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  23. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  24. package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
  25. package/dist/extensions/Blocks/common-control.js +110 -174
  26. package/dist/extensions/DynamicContent/dynamic-content-modal.js +19 -25
  27. package/dist/extensions/DynamicContent/dynamic-content.js +33 -128
  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/services/stripoApi.js +20 -26
  35. package/dist/src/@types/generic.d.ts +6 -27
  36. package/dist/src/components/Guido.vue.d.ts +2 -2
  37. package/dist/src/enums/defaults.d.ts +0 -1
  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/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -9
  46. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -52
  47. package/dist/src/stores/config.d.ts +2 -3
  48. package/dist/src/stores/dynamic-content.d.ts +3 -3
  49. package/dist/src/stores/editor.d.ts +1 -1
  50. package/dist/src/stores/onboarding.d.ts +1 -335
  51. package/dist/src/stores/preview.d.ts +1 -1
  52. package/dist/src/stores/recommendation.d.ts +1 -1
  53. package/dist/src/stores/save-as-template.d.ts +1 -1
  54. package/dist/src/stores/toaster.d.ts +1 -1
  55. package/dist/src/stores/unsubscribe.d.ts +1 -1
  56. package/dist/src/stores/version-history.d.ts +1 -1
  57. package/dist/src/utils/genericUtil.d.ts +0 -1
  58. package/dist/static/styles/customEditorStyle.css.js +1 -1
  59. package/dist/stores/config.js +5 -5
  60. package/dist/stores/dynamic-content.js +2 -2
  61. package/dist/stores/editor.js +1 -1
  62. package/dist/stores/onboarding.js +36 -44
  63. package/dist/stores/preview.js +1 -1
  64. package/dist/stores/recommendation.js +3 -3
  65. package/dist/stores/save-as-template.js +2 -2
  66. package/dist/stores/toaster.js +1 -1
  67. package/dist/stores/unsubscribe.js +1 -1
  68. package/dist/stores/version-history.js +4 -4
  69. package/dist/utils/genericUtil.js +8 -18
  70. package/package.json +4 -4
  71. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
  72. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -99
  73. package/dist/config/compiler/itemsCompilerRules.js +0 -14
  74. package/dist/extensions/Blocks/Items/block.js +0 -67
  75. package/dist/extensions/Blocks/Items/controls/button/link.js +0 -68
  76. package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -193
  77. package/dist/extensions/Blocks/Items/controls/image/link.js +0 -68
  78. package/dist/extensions/Blocks/Items/controls/index.js +0 -217
  79. package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -70
  80. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -107
  81. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -123
  82. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -76
  83. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -61
  84. package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -312
  85. package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
  86. package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -273
  87. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -76
  88. package/dist/extensions/Blocks/Items/extension.js +0 -19
  89. package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
  90. package/dist/extensions/Blocks/Items/items.css.js +0 -23
  91. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -62
  92. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -60
  93. package/dist/extensions/Blocks/Items/settingsPanel.js +0 -131
  94. package/dist/extensions/Blocks/Items/store/items-block.js +0 -71
  95. package/dist/extensions/Blocks/Items/template.js +0 -189
  96. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  97. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  98. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  99. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -44
  100. package/dist/extensions/Blocks/controlFactories.js +0 -223
  101. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  102. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  103. package/dist/node_modules/lodash-es/_Set.js +0 -6
  104. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  105. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  106. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  107. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  108. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  109. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  110. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  111. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  112. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  113. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  114. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  115. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  116. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  117. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  118. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  119. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  120. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  121. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  122. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  123. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  124. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  125. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  126. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  127. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  128. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  129. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  130. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  131. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  132. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  133. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  134. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  135. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  136. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  137. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  138. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  139. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  140. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  141. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  142. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  143. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  144. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  145. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  146. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  147. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  148. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  149. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  150. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  151. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  152. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  153. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  154. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  155. package/dist/node_modules/lodash-es/get.js +0 -8
  156. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  157. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  158. package/dist/node_modules/lodash-es/keys.js +0 -9
  159. package/dist/node_modules/lodash-es/map.js +0 -11
  160. package/dist/node_modules/lodash-es/property.js +0 -10
  161. package/dist/node_modules/lodash-es/range.js +0 -5
  162. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  163. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  164. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  165. package/dist/node_modules/lodash-es/toString.js +0 -7
  166. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
  167. package/dist/src/config/compiler/itemsCompilerRules.d.ts +0 -2
  168. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -27
  169. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -14
  170. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -33
  171. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -14
  172. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +0 -501
  173. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -14
  174. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -19
  175. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -21
  176. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -14
  177. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -13
  178. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -48
  179. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -61
  180. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -162
  181. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -49
  182. package/dist/src/extensions/Blocks/Items/extension.d.ts +0 -2
  183. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +0 -4
  184. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +0 -4
  185. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -41
  186. package/dist/src/extensions/Blocks/Items/template.d.ts +0 -24
  187. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  188. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  189. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -44
  190. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  191. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -312
  192. package/dist/src/utils/environmentUtil.d.ts +0 -5
  193. package/dist/src/utils/pairProductVariables.d.ts +0 -7
  194. package/dist/utils/environmentUtil.js +0 -4
  195. package/dist/utils/pairProductVariables.js +0 -136
package/README.md CHANGED
@@ -198,7 +198,6 @@ interface GuidoConfig {
198
198
  saveAsTemplate: boolean;
199
199
  versionHistory: boolean;
200
200
  testMessage: boolean;
201
- displayConditions: boolean;
202
201
  };
203
202
  blocks?: {
204
203
  excludeDefaults?: GuidoBlockType[];
@@ -217,7 +216,6 @@ interface GuidoConfig {
217
216
  | `features.dynamicContent` | `boolean` | `true` | Enable dynamic content insertion feature |
218
217
  | `features.saveAsTemplate` | `boolean` | `true` | Enable save as template feature |
219
218
  | `features.versionHistory` | `boolean` | `true` | Enable version history feature |
220
- | `features.displayConditions` | `boolean` | `true` | Enable display conditions |
221
219
  | `blocks` | `BlocksConfig` | `{ excludeDefaults: [], includeCustoms: [] }` | Block configuration for excluding default blocks and including custom blocks. See [Blocks Configuration](#-blocks-configuration) section below |
222
220
  | `blocks.excludeDefaults` | `GuidoBlockType[]` | `[]` | Array of default Stripo blocks to exclude from the editor |
223
221
  | `blocks.includeCustoms` | `GuidoCustomBlockType[]` | `[]` | Array of custom blocks to include in the editor |
@@ -600,9 +598,6 @@ Create a `.env` file with the following variables: (You can get env variables fr
600
598
  VITE_STRIPO_PLUGIN_ID=your_plugin_id
601
599
  VITE_STRIPO_SECRET_KEY=your_secret_key
602
600
  VITE_STRIPO_ROLE=your_role
603
-
604
- # Playwright Test Configuration (Optional - for local debugging only)
605
- HEADED=false # Set to 'true' to run tests with visible browser
606
601
  ```
607
602
 
608
603
  ### Project Structure
@@ -12,7 +12,7 @@ var t = function() {
12
12
  n,
13
13
  !1,
14
14
  null,
15
- "98181b5a"
15
+ "e299731b"
16
16
  );
17
17
  const v = s.exports;
18
18
  export {
@@ -1,23 +1,23 @@
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";
2
- import { provideGuidoActions as q } from "../composables/useGuidoActions.js";
3
- import { usePartner as J } from "../composables/usePartner.js";
4
- import { useStripo as Q } from "../composables/useStripo.js";
5
- import { migrate as L } from "../config/migrator/index.js";
6
- import { DefaultUsername as V, DefaultMessageType as X, DefaultGuidoConfig as Y } from "../enums/defaults.js";
7
- import Z from "./organisms/base/Toaster.vue.js";
8
- import $ from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
9
- import ee from "./organisms/header/HeaderWrapper.vue.js";
10
- import oe from "./organisms/LoadingWrapper.vue.js";
11
- import te from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
12
- import ne from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
13
- import { useStripoApi as re } from "../services/stripoApi.js";
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";
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({
1
+ import { defineComponent as R, defineAsyncComponent as G, ref as x, computed as I, watch as M, onMounted as z, onUnmounted as B } from "vue";
2
+ import { provideGuidoActions as K } from "../composables/useGuidoActions.js";
3
+ import { usePartner as O } from "../composables/usePartner.js";
4
+ import { useStripo as j } from "../composables/useStripo.js";
5
+ import { migrate as U } from "../config/migrator/index.js";
6
+ import { DefaultUsername as q, DefaultMessageType as J, DefaultGuidoConfig as Q } from "../enums/defaults.js";
7
+ import V from "./organisms/base/Toaster.vue.js";
8
+ import X from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
9
+ import Y from "./organisms/header/HeaderWrapper.vue.js";
10
+ import Z from "./organisms/LoadingWrapper.vue.js";
11
+ import $ from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
12
+ import ee from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
13
+ import { useStripoApi as oe } from "../services/stripoApi.js";
14
+ import { useConfigStore as te } from "../stores/config.js";
15
+ import { useDynamicContentStore as ne } from "../stores/dynamic-content.js";
16
+ import { useEditorStore as re } from "../stores/editor.js";
17
+ import { usePreviewStore as ie } from "../stores/preview.js";
18
+ import { useUnsubscribeStore as se } from "../stores/unsubscribe.js";
19
+ import ae from "../node_modules/lodash-es/merge.js";
20
+ const ke = /* @__PURE__ */ R({
21
21
  __name: "Guido",
22
22
  props: {
23
23
  templateId: null,
@@ -33,45 +33,45 @@ const Ue = /* @__PURE__ */ O({
33
33
  },
34
34
  emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
35
35
  setup(W, { expose: _, emit: o }) {
36
- const u = W, A = I(
36
+ const l = W, L = G(
37
37
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
38
- ), N = I(
38
+ ), A = G(
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
+ ), u = x(), i = ne(), p = se(), g = te(), s = re(), N = ie(), n = I(() => s.hasChanges), { getPartnerName: f, getProductType: y, isTestPartner: F } = O(), v = () => {
41
41
  var e;
42
- return (e = p.value) == null ? void 0 : e.handleSave(!0);
42
+ return (e = u.value) == null ? void 0 : e.handleSave(!0);
43
43
  }, {
44
44
  templateId: a,
45
- userId: C,
46
- guidoConfig: h,
45
+ userId: b,
46
+ guidoConfig: C,
47
47
  templateConfig: t,
48
48
  html: r = "",
49
- css: S = "",
50
- partnerName: c = y(),
51
- productType: m = v(),
52
- messageType: w = X,
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 = {
49
+ css: h = "",
50
+ partnerName: c = f(),
51
+ productType: d = y(),
52
+ messageType: S = J,
53
+ username: w = q
54
+ } = l, m = (t == null ? void 0 : t.preselectedDynamicContentList) || [];
55
+ s.templateId = a, window.GuidoConfig = ae(Q, C), window.GuidoConfig.partner = {
56
56
  partnerName: c,
57
- productType: m,
58
- messageType: w
59
- }, f.templateConfig = t;
60
- const { initPlugin: E } = Q({
57
+ productType: d,
58
+ messageType: S
59
+ }, g.templateConfig = t;
60
+ const { initPlugin: D } = j({
61
61
  emailId: a,
62
- userId: C,
63
- username: D,
62
+ userId: b,
63
+ username: w,
64
64
  partnerName: c,
65
- productType: m,
66
- preselectedDynamicContentList: d,
65
+ productType: d,
66
+ preselectedDynamicContentList: m,
67
67
  onReady: () => {
68
68
  console.debug("guido:ready"), o("ready");
69
69
  }
70
- }), { getDefaultTemplate: T } = re(), R = U(() => {
70
+ }), { getDefaultTemplate: T } = oe(), H = I(() => {
71
71
  var e;
72
72
  return !((e = window.GuidoConfig) != null && e.useHeader);
73
73
  });
74
- q({
74
+ K({
75
75
  onBack: () => {
76
76
  console.debug("guido:back"), o("back");
77
77
  },
@@ -85,35 +85,32 @@ const Ue = /* @__PURE__ */ O({
85
85
  console.debug("guido:test-email:click"), o("test-email:click");
86
86
  }
87
87
  });
88
- const P = (e) => {
88
+ const E = (e) => {
89
89
  console.debug("dynamic-content:close", e), i.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
90
- }, k = () => {
90
+ }, P = () => {
91
91
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
92
92
  };
93
- B(() => n.value, () => {
93
+ return M(() => n.value, () => {
94
94
  o("on-change", n.value);
95
- });
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);
99
- };
100
- return K(async () => {
95
+ }), z(async () => {
101
96
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
102
97
  try {
103
- g.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
98
+ p.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
104
99
  let e = {
105
- html: r && await L(r),
106
- css: S,
100
+ html: r && await U(r),
101
+ css: h,
107
102
  forceRecreate: !0
108
103
  // TODO: It should be false for old templates. We will communicate with Stripo
109
104
  };
110
- e.html || (e = await T(), e.html = await L(e.html)), await E(e), i.selectedDynamicContentList = d;
105
+ e.html || (e = await T(), e.html = await U(e.html)), await D(e), i.selectedDynamicContentList = m;
111
106
  } catch (e) {
112
107
  console.error("Failed to initialize Stripo editor:", e);
113
108
  }
114
- document.addEventListener("dynamic-content:open", l);
115
- }), j(() => {
116
- document.removeEventListener("dynamic-content:open", l);
109
+ document.addEventListener("dynamic-content:open", (e) => {
110
+ const k = e;
111
+ console.debug("dynamic-content:open", k.detail), o("dynamic-content:open", k.detail);
112
+ });
113
+ }), B(() => {
117
114
  try {
118
115
  window.UIEditor.removeEditor();
119
116
  } catch {
@@ -121,14 +118,14 @@ const Ue = /* @__PURE__ */ O({
121
118
  }
122
119
  }), _({
123
120
  dynamicContent: {
124
- insert: P,
125
- close: k
121
+ insert: E,
122
+ close: P
126
123
  },
127
124
  hasChanges: n,
128
- 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 };
125
+ saveSilent: v
126
+ }), { __sfc: !0, PreviewContainer: L, OnboardingWrapper: A, headerWrapperRef: u, dynamicContentStore: i, unsubscribeStore: p, props: l, configStore: g, editorStore: s, previewStore: N, hasChanges: n, getPartnerName: f, getProductType: y, isTestPartner: F, saveSilent: v, templateId: a, userId: b, guidoConfig: C, templateConfig: t, html: r, css: h, partnerName: c, productType: d, messageType: S, username: w, preselectedDynamicContentList: m, emit: o, initPlugin: D, getDefaultTemplate: T, noHeader: H, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, FilterSelectionDrawer: X, HeaderWrapper: Y, LoadingWrapper: Z, SaveAsTemplateDrawer: $, UnsubscribeWrapper: ee };
130
127
  }
131
128
  });
132
129
  export {
133
- Ue as default
130
+ ke as default
134
131
  };
@@ -10,7 +10,7 @@ var s = function() {
10
10
  n,
11
11
  !1,
12
12
  null,
13
- "07c4b2d8"
13
+ "dced5582"
14
14
  );
15
15
  const l = _.exports;
16
16
  export {
@@ -1,4 +1,4 @@
1
- import { defineComponent as H, ref as m, computed as _ } from "vue";
1
+ import { defineComponent as H, ref as p, computed as _ } from "vue";
2
2
  import { useConfig as h } from "../../../composables/useConfig.js";
3
3
  import { useExport as V } from "../../../composables/useExport.js";
4
4
  import { useTestEmailClick as x } from "../../../composables/useGuidoActions.js";
@@ -10,25 +10,25 @@ import { getTooltipOptions as O } from "../../../utils/tooltipUtils.js";
10
10
  import { InButtonV2 as A } from "@useinsider/design-system-vue";
11
11
  const J = /* @__PURE__ */ H({
12
12
  __name: "RightSlot",
13
- setup(k, { expose: c }) {
14
- const { config: u } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = C(), t = T(), e = m(!1), s = m(!1), f = x(), v = () => {
15
- if (o.isVersionHistoryOpen) {
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) {
16
16
  a();
17
17
  return;
18
18
  }
19
19
  i();
20
- }, d = async () => {
20
+ }, v = async () => {
21
21
  e.value = !0, await r(), e.value = !1;
22
- }, y = () => {
23
- o.isSaveAsTemplateDrawerOpen = !0;
24
- }, S = _(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), l = async (p) => {
25
- s.value = !0, o.loadingStatus = !0;
26
- const g = await n(p);
27
- return s.value = !1, p && (o.loadingStatus = !1), g;
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;
28
28
  };
29
- return c({
29
+ return m({
30
30
  handleSave: l
31
- }), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, testEmailClick: f, handleVersionHistory: v, handleExport: d, handleSaveAs: y, versionHistoryTooltipText: S, handleSave: l, getTooltipOptions: O, InButtonV2: A };
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 };
32
32
  }
33
33
  });
34
34
  export {
@@ -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
  };
@@ -17,7 +17,7 @@ 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
23
  }, ...t }, m = {
@@ -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,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
  };
@@ -1,19 +1,18 @@
1
- import { useConfig as V } from "./useConfig.js";
2
- import { TemplateTypes as D } from "../enums/defaults.js";
3
- import { DISPLAY_CONDITIONS_REGEX as H, DISPLAY_CONDITIONS_EXCEPTIONS_REGEX as P, CampaignCouldNotBeSavedKey as R, CanNotMakeAnyChangesForRunningKey as _ } from "../enums/html-validator.js";
1
+ import { useConfig as H } from "./useConfig.js";
2
+ import { TemplateTypes as V } from "../enums/defaults.js";
3
+ import { DISPLAY_CONDITIONS_REGEX as D, DISPLAY_CONDITIONS_EXCEPTIONS_REGEX as P, CampaignCouldNotBeSavedKey as R, CanNotMakeAnyChangesForRunningKey as _ } from "../enums/html-validator.js";
4
4
  import { ToasterTypeOptions as l } from "../enums/toaster.js";
5
- import { itemsBlockDynamicVariables as G } from "../extensions/Blocks/Items/enums/productEnums.js";
6
- import { useRecommendationStore as $ } from "../stores/recommendation.js";
7
- import { base64EncodeWithSpecialChars as j } from "../utils/base64.js";
8
- import { useHttp as q } from "./useHttp.js";
9
- import { useToaster as M } from "./useToaster.js";
10
- import { useTranslations as X } from "./useTranslations.js";
11
- const ie = () => {
5
+ import { useRecommendationStore as G } from "../stores/recommendation.js";
6
+ import { base64EncodeWithSpecialChars as $ } from "../utils/base64.js";
7
+ import { useHttp as j } from "./useHttp.js";
8
+ import { useToaster as q } from "./useToaster.js";
9
+ import { useTranslations as M } from "./useTranslations.js";
10
+ const se = () => {
12
11
  var d;
13
- const { showToaster: c } = M(), { post: y } = q(), { config: h } = V(), a = X(), m = $(), u = ((d = h.partner) == null ? void 0 : d.messageType) === D.transactional, v = async (e) => {
12
+ const { showToaster: c } = q(), { post: y } = j(), { config: h } = H(), a = M(), m = G(), u = ((d = h.partner) == null ? void 0 : d.messageType) === V.transactional, v = async (e) => {
14
13
  const t = await y(
15
14
  "/newsletter/template-library/check-template-html-body",
16
- { html: j(e) }
15
+ { html: $(e) }
17
16
  ), { status: n, message: r } = t.data;
18
17
  return n || c({
19
18
  type: l.Alert,
@@ -26,10 +25,10 @@ const ie = () => {
26
25
  const t = e.match(/({%(.*?)%})/g);
27
26
  let n = !0;
28
27
  return t !== null && !u && t.forEach((r) => {
29
- const i = r.slice(2, -2).trim().match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
30
- if (i && i.length > 0) {
31
- const [o] = i;
32
- C(o) && !s.includes(o) && (c({
28
+ const o = r.slice(2, -2).trim().match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
29
+ if (o && o.length > 0) {
30
+ const [i] = o;
31
+ C(i) && !s.includes(i) && (c({
33
32
  type: l.Warning,
34
33
  message: a("custom-fields.invalid-custom-fields")
35
34
  }), n = !1);
@@ -59,19 +58,19 @@ const ie = () => {
59
58
  }, k = (e, s) => {
60
59
  const t = e.match(/{{([a-zA-Z0-9_\s]*)}}/gm);
61
60
  if (t && !u) {
62
- const n = new Set(s.map((i) => i.toLowerCase())), r = [];
63
- if (t.forEach((i) => {
64
- const o = i.slice(2, -2).trim().toLowerCase();
65
- (!n.has(o) || o === "") && r.push(o);
61
+ const n = new Set(s.map((o) => o.toLowerCase())), r = [];
62
+ if (t.forEach((o) => {
63
+ const i = o.slice(2, -2).trim().toLowerCase();
64
+ (!n.has(i) || i === "") && r.push(i);
66
65
  }), r.length > 0) {
67
- const i = `
66
+ const o = `
68
67
  <ul>
69
- ${r.map((o) => `<li>${o}</li>`).join("")}
68
+ ${r.map((i) => `<li>${i}</li>`).join("")}
70
69
  </ul>
71
70
  `;
72
71
  return c({
73
72
  type: l.Alert,
74
- message: a("custom-fields.invalid-custom-fields") + i
73
+ message: a("custom-fields.invalid-custom-fields") + o
75
74
  }), !1;
76
75
  }
77
76
  }
@@ -80,11 +79,11 @@ const ie = () => {
80
79
  const s = e.match(/{%(.*?)%}/g), t = [];
81
80
  let n = !0;
82
81
  if (s && s.forEach((r) => {
83
- const i = r.match(H), o = r.match(P), B = (i == null ? void 0 : i.join("")) || "";
84
- (!i || r !== B) && !o && (c({
82
+ const o = r.match(D), i = r.match(P), B = (o == null ? void 0 : o.join("")) || "";
83
+ (!o || r !== B) && !i && (c({
85
84
  type: l.Alert,
86
85
  message: a("newsletter.display-conditions-invalid-syntax")
87
- }), n = !1), i && i.forEach((f) => {
86
+ }), n = !1), o && o.forEach((f) => {
88
87
  f.trim() === "=" && (c({
89
88
  type: l.Alert,
90
89
  message: a("custom-conditions.wrong-equality-operators")
@@ -95,8 +94,8 @@ const ie = () => {
95
94
  });
96
95
  });
97
96
  }), t.length) {
98
- const r = t.filter((o) => o === "if"), i = t.filter((o) => o === "endif");
99
- r.length !== i.length && (c({
97
+ const r = t.filter((i) => i === "if"), o = t.filter((i) => i === "endif");
98
+ r.length !== o.length && (c({
100
99
  type: l.Alert,
101
100
  message: a("custom-conditions.missing-if-endif-tag")
102
101
  }), n = !1);
@@ -122,28 +121,28 @@ const ie = () => {
122
121
  }), !1);
123
122
  }, N = (e) => {
124
123
  const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".checkbox-block-v2");
125
- return Array.from(n).find((i) => {
126
- var o;
127
- return !((o = i.id) != null && o.trim());
124
+ return Array.from(n).find((o) => {
125
+ var i;
126
+ return !((i = o.id) != null && i.trim());
128
127
  }) ? (c({
129
128
  type: l.Alert,
130
129
  message: a("unsubscribe-templates.select-checkbox-groups")
131
130
  }), !1) : !0;
132
131
  }, O = (e) => {
133
132
  const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".radio-button-v2");
134
- return Array.from(n).find((i) => {
135
- var o;
136
- return !((o = i.id) != null && o.trim());
133
+ return Array.from(n).find((o) => {
134
+ var i;
135
+ return !((i = o.id) != null && i.trim());
137
136
  }) ? (c({
138
137
  type: l.Alert,
139
138
  message: a("unsubscribe-templates.select-radio-button-groups")
140
139
  }), !1) : !0;
141
140
  };
142
141
  return { validateHtml: async (e, s, t = !1) => {
143
- const n = [...s.map((i) => i.value), ...G];
142
+ const n = s.map((o) => o.value);
144
143
  return await b(e, n, t) && E(e) && A(e) && x(e) && k(e, n) && T(e) && F(e) && I(e) && W() && L(e) && N(e) && O(e);
145
144
  } };
146
145
  };
147
146
  export {
148
- ie as useHtmlValidator
147
+ se as useHtmlValidator
149
148
  };