@useinsider/guido 1.0.3-beta.28e5a03 → 1.0.3-beta.294f9bc

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 (158) hide show
  1. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -20
  2. package/dist/composables/useActionsApi.js +24 -33
  3. package/dist/composables/useBlocksConfig.js +2 -1
  4. package/dist/composables/useHtmlCompiler.js +13 -15
  5. package/dist/composables/useHtmlValidator.js +35 -36
  6. package/dist/composables/useStripo.js +52 -58
  7. package/dist/enums/extensions/recommendationBlock.js +2 -2
  8. package/dist/enums/onboarding.js +3 -7
  9. package/dist/extensions/Blocks/Checkbox/block.js +2 -5
  10. package/dist/extensions/Blocks/Checkbox/template.js +9 -14
  11. package/dist/extensions/Blocks/RadioButton/block.js +2 -5
  12. package/dist/extensions/Blocks/RadioButton/template.js +9 -18
  13. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  14. package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
  15. package/dist/extensions/Blocks/common-control.js +110 -174
  16. package/dist/guido.css +1 -1
  17. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +168 -213
  18. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +12 -13
  19. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  20. package/dist/package.json.js +1 -1
  21. package/dist/services/recommendationApi.js +19 -13
  22. package/dist/src/composables/useActionsApi.d.ts +0 -1
  23. package/dist/src/enums/onboarding.d.ts +0 -4
  24. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +0 -1
  25. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  26. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +0 -1
  27. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  28. package/dist/src/extensions/Blocks/common-control.d.ts +7 -44
  29. package/dist/src/stores/onboarding.d.ts +0 -334
  30. package/dist/static/styles/customEditorStyle.css.js +1 -1
  31. package/dist/stores/onboarding.js +12 -20
  32. package/dist/utils/genericUtil.js +17 -16
  33. package/package.json +4 -4
  34. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
  35. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -99
  36. package/dist/composables/useTimerClone.js +0 -45
  37. package/dist/config/compiler/itemsCompilerRules.js +0 -14
  38. package/dist/extensions/Blocks/Items/block.js +0 -67
  39. package/dist/extensions/Blocks/Items/controls/button/link.js +0 -68
  40. package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -193
  41. package/dist/extensions/Blocks/Items/controls/image/link.js +0 -68
  42. package/dist/extensions/Blocks/Items/controls/index.js +0 -217
  43. package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -70
  44. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -107
  45. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -123
  46. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -76
  47. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -61
  48. package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -312
  49. package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
  50. package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -273
  51. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -76
  52. package/dist/extensions/Blocks/Items/extension.js +0 -19
  53. package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
  54. package/dist/extensions/Blocks/Items/items.css.js +0 -23
  55. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -62
  56. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -60
  57. package/dist/extensions/Blocks/Items/settingsPanel.js +0 -131
  58. package/dist/extensions/Blocks/Items/store/items-block.js +0 -71
  59. package/dist/extensions/Blocks/Items/template.js +0 -189
  60. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  61. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  62. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  63. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -44
  64. package/dist/extensions/Blocks/controlFactories.js +0 -223
  65. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  66. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  67. package/dist/node_modules/lodash-es/_Set.js +0 -6
  68. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  69. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  70. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  71. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  72. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  73. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  74. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  75. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  76. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  77. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  78. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  79. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  80. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  81. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  82. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  83. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  84. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  85. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  86. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  87. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  88. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  89. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  90. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  91. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  92. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  93. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  94. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  95. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  96. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  97. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  98. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  99. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  100. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  101. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  102. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  103. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  104. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  105. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  106. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  107. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  108. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  109. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  110. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  111. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  112. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  113. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  114. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  115. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  116. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  117. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  118. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  119. package/dist/node_modules/lodash-es/get.js +0 -8
  120. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  121. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  122. package/dist/node_modules/lodash-es/keys.js +0 -9
  123. package/dist/node_modules/lodash-es/map.js +0 -11
  124. package/dist/node_modules/lodash-es/property.js +0 -10
  125. package/dist/node_modules/lodash-es/range.js +0 -5
  126. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  127. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  128. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  129. package/dist/node_modules/lodash-es/toString.js +0 -7
  130. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
  131. package/dist/src/composables/useTimerClone.d.ts +0 -5
  132. package/dist/src/config/compiler/itemsCompilerRules.d.ts +0 -2
  133. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -27
  134. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -14
  135. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -33
  136. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -14
  137. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +0 -501
  138. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -14
  139. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -19
  140. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -21
  141. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -14
  142. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -13
  143. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -48
  144. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -61
  145. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -162
  146. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -49
  147. package/dist/src/extensions/Blocks/Items/extension.d.ts +0 -2
  148. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +0 -4
  149. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +0 -4
  150. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -41
  151. package/dist/src/extensions/Blocks/Items/template.d.ts +0 -24
  152. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  153. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  154. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -44
  155. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  156. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -312
  157. package/dist/src/utils/pairProductVariables.d.ts +0 -7
  158. package/dist/utils/pairProductVariables.js +0 -136
@@ -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,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
  };
@@ -1,26 +1,25 @@
1
- import { useActionsApi as V } from "./useActionsApi.js";
2
- import { useBlocksConfig as _ } from "./useBlocksConfig.js";
3
- import { useConfig as A } from "./useConfig.js";
1
+ import { useActionsApi as h } from "./useActionsApi.js";
2
+ import { useBlocksConfig as b } from "./useBlocksConfig.js";
3
+ import { useConfig as k } from "./useConfig.js";
4
4
  import { useCustomInterfaceAppearance as B } from "./useCustomInterfaceAppearance.js";
5
- import { useStripoEventHandler as v } from "./useStripoEventHandler.js";
6
- import { useTimerClone as F } from "./useTimerClone.js";
7
- import { useToaster as I } from "./useToaster.js";
8
- import { displayConditions as M } from "../enums/displayConditions.js";
9
- import { useStripoApi as U } from "../services/stripoApi.js";
10
- import D from "../static/styles/customEditorStyle.css.js";
11
- import { useEditorStore as P } from "../stores/editor.js";
12
- import { dynamicContentToMergeTags as H } from "../utils/genericUtil.js";
13
- import O from "../package.json.js";
14
- const Y = (c) => {
15
- const { config: u } = A(), { handleError: p } = I(), { getToken: m, getCustomFonts: C } = U(), { handleEvent: S } = v(), { getStripoBlocksConfig: E } = _(), w = async (i, r = []) => {
16
- var g, y;
17
- const e = P(), { html: s, css: f, forceRecreate: a } = i, { baseBlocks: t, extensions: d } = await E();
5
+ import { useStripoEventHandler as V } from "./useStripoEventHandler.js";
6
+ import { useToaster as _ } from "./useToaster.js";
7
+ import { displayConditions as F } from "../enums/displayConditions.js";
8
+ import { useStripoApi as A } from "../services/stripoApi.js";
9
+ import T from "../static/styles/customEditorStyle.css.js";
10
+ import { useEditorStore as v } from "../stores/editor.js";
11
+ import { dynamicContentToMergeTags as I } from "../utils/genericUtil.js";
12
+ import M from "../package.json.js";
13
+ const N = (d) => {
14
+ const { config: u } = k(), { handleError: l } = _(), { getToken: f, getCustomFonts: S } = A(), { handleEvent: C } = V(), { getStripoBlocksConfig: y } = b(), E = async (i, r = []) => {
15
+ var m, g;
16
+ const t = v(), { html: n, css: p, forceRecreate: a } = i, { baseBlocks: e, extensions: c } = await y();
18
17
  window.UIEditor.initEditor(
19
18
  document.querySelector("#guido-editor"),
20
19
  {
21
- metadata: c,
22
- html: s,
23
- css: f,
20
+ metadata: d,
21
+ html: n,
22
+ css: p,
24
23
  forceRecreate: a,
25
24
  locale: "en",
26
25
  undoButtonSelector: "#guido__undo-button",
@@ -31,18 +30,14 @@ const Y = (c) => {
31
30
  customAppearanceMergetags: !0,
32
31
  customAppearanceMergetagsBorderColor: "#f1f3fe",
33
32
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
34
- customViewStyles: D,
35
- conditionsEnabled: ((g = u.features) == null ? void 0 : g.displayConditions) ?? !0,
36
- customConditionsEnabled: ((y = u.features) == null ? void 0 : y.displayConditions) ?? !0,
37
- conditionCategories: M,
33
+ customViewStyles: T,
34
+ conditionsEnabled: ((m = u.features) == null ? void 0 : m.displayConditions) ?? !0,
35
+ customConditionsEnabled: ((g = u.features) == null ? void 0 : g.displayConditions) ?? !0,
36
+ conditionCategories: F,
38
37
  enableXSSSecurity: !0,
39
- messageSettingsEnabled: !0,
40
- displayGmailAnnotations: !0,
41
- displayHiddenPreheader: !1,
42
- displayTitle: !1,
43
- displayUTM: !1,
44
- selectElementAfterDrop: !0,
45
- ...t ? { baseBlocks: t } : {},
38
+ messageSettingsEnabled: !1,
39
+ selectBlockAfterDropFromSettingsPanel: !0,
40
+ ...e ? { baseBlocks: e } : {},
46
41
  editorFonts: {
47
42
  showDefaultStandardFonts: !0,
48
43
  showDefaultNotStandardFonts: !0,
@@ -50,69 +45,68 @@ const Y = (c) => {
50
45
  },
51
46
  mergeTags: [
52
47
  {
53
- entries: H(c.preselectedDynamicContentList)
48
+ entries: I(d.preselectedDynamicContentList)
54
49
  }
55
50
  ],
56
51
  async onTokenRefreshRequest(o) {
57
52
  try {
58
- const n = await m();
59
- o(n);
60
- } catch (n) {
61
- p(n, "Failed to refresh token");
53
+ const s = await f();
54
+ o(s);
55
+ } catch (s) {
56
+ l(s, "Failed to refresh token");
62
57
  }
63
58
  },
64
59
  onTemplateLoaded() {
65
- var o, n;
66
60
  try {
67
- const { importCss: l } = B(), { activateCustomViewStyles: T, updateTimerInClonedTemplate: b } = V(), { updateTimersOnLoad: k } = F();
68
- l(), T(), typeof ((n = (o = window.StripoEditorApi) == null ? void 0 : o.actionsApi) == null ? void 0 : n.updateTimerInClonedTemplate) == "function" ? b() : k(m), c.onReady(), e.isStripoInitialized = !0, e.loadingStatus = !1, setTimeout(() => {
69
- e.hasChanges = !1;
61
+ const { importCss: o } = B(), { activateCustomViewStyles: s } = h();
62
+ o(), s(), d.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
63
+ t.hasChanges = !1;
70
64
  }, 1e3);
71
- } catch (l) {
72
- p(l, "Failed to load custom interface appearance");
65
+ } catch (o) {
66
+ l(o, "Failed to load custom interface appearance");
73
67
  }
74
68
  },
75
69
  onCodeEditorVisibilityChanged(o) {
76
- e.isCodeEditorOpen = o;
70
+ t.isCodeEditorOpen = o;
77
71
  },
78
72
  onEditorVisualModeChanged(o) {
79
- e.editorVisualMode = o.toLowerCase();
73
+ t.editorVisualMode = o.toLowerCase();
80
74
  },
81
75
  onVersionHistoryVisibilityChanged(o) {
82
- e.isVersionHistoryOpen = o;
76
+ t.isVersionHistoryOpen = o;
83
77
  },
84
78
  onDataChanged() {
85
- e.hasChanges = !0;
79
+ t.hasChanges = !0;
86
80
  },
87
- onEvent: S,
81
+ onEvent: C,
88
82
  ignoreClickOutsideSelectors: [
89
83
  "#guido-dynamic-content-modal",
90
84
  ".in-on-board-wrapper",
91
85
  ".in-drawer__container"
92
86
  ],
93
- extensions: d
87
+ extensions: c
94
88
  }
95
89
  );
96
- }, h = (i) => new Promise((r, e) => {
97
- var d;
90
+ }, w = (i) => new Promise((r, t) => {
91
+ var c;
98
92
  if (document.getElementById("UiEditorScript")) {
99
93
  i(), r();
100
94
  return;
101
95
  }
102
- const s = O.guido, a = `https://email-static.useinsider.com/guido/${(d = s == null ? void 0 : s.stripo) == null ? void 0 : d.version}/UIEditor.js`, t = document.createElement("script");
103
- t.id = "UiEditorScript", t.type = "module", t.src = a, t.onload = () => {
96
+ const n = M.guido, a = `https://email-static.useinsider.com/guido/${(c = n == null ? void 0 : n.stripo) == null ? void 0 : c.version}/UIEditor.js`, e = document.createElement("script");
97
+ e.id = "UiEditorScript", e.type = "module", e.src = a, e.onload = () => {
104
98
  i(), r();
105
- }, t.onerror = () => {
106
- e(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
107
- }, document.body.appendChild(t);
99
+ }, e.onerror = () => {
100
+ t(new Error(`Failed to load Stripo UIEditor script from S3: ${a}`));
101
+ }, document.body.appendChild(e);
108
102
  });
109
103
  return { initPlugin: async (i) => {
110
- await h(async () => {
111
- const r = await C();
112
- await w(i, r);
104
+ await w(async () => {
105
+ const r = await S();
106
+ await E(i, r);
113
107
  });
114
108
  } };
115
109
  };
116
110
  export {
117
- Y as useStripo
111
+ N as useStripo
118
112
  };
@@ -12,8 +12,8 @@ const s = {
12
12
  { id: 61, key: "mostPopular", name: "Most Popular Items", path: "most-popular" },
13
13
  { id: 62, key: "mostPurchased", name: "Top Sellers", path: "top-sellers" }
14
14
  ], u = ["discount", "omnibus_price", "omnibus_discount", "price", "original_price"], l = [
15
- { text: "before the amount", value: "0" },
16
- { text: "after the amount", value: "1" }
15
+ { text: "after the amount", value: "1" },
16
+ { text: "before the amount", value: "0" }
17
17
  ], c = [
18
18
  { text: "dot(.)", value: "." },
19
19
  { text: "comma(,)", value: "," }
@@ -2,12 +2,8 @@ const e = [
2
2
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-0.ng-star-inserted",
3
3
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-1.ng-star-inserted",
4
4
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-2.ng-star-inserted"
5
- ], t = "ui-editor", n = 'button[role="tab"][aria-label="Card Composition"]', s = 'button[role="tab"][aria-label="Settings"]', o = ".in-ribbons-wrapper", a = "https://academy.useinsider.com/docs/email-drag-drop-editor";
5
+ ], t = "https://academy.useinsider.com/docs/email-drag-drop-editor";
6
6
  export {
7
- a as ACADEMY_LINK,
8
- n as CARD_COMPOSITION_TAB_SELECTOR,
9
- o as RIBBON_SELECTOR,
10
- e as SERVICE_HOVER_SELECTORS,
11
- s as SETTINGS_TAB_SELECTOR,
12
- t as UI_EDITOR_SELECTOR
7
+ t as ACADEMY_LINK,
8
+ e as SERVICE_HOVER_SELECTORS
13
9
  };
@@ -1,7 +1,7 @@
1
1
  import { Block as e, BlockCompositionType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { getDefaultTemplate as o } from "./template.js";
3
3
  const r = "checkbox-block";
4
- class s extends e {
4
+ class p extends e {
5
5
  constructor() {
6
6
  super();
7
7
  }
@@ -23,11 +23,8 @@ class s extends e {
23
23
  getTemplate() {
24
24
  return o();
25
25
  }
26
- allowInnerBlocksDND() {
27
- return !1;
28
- }
29
26
  }
30
27
  export {
31
28
  r as CHECKBOX_BLOCK_ID,
32
- s as CheckboxBlock
29
+ p as CheckboxBlock
33
30
  };
@@ -3,7 +3,7 @@ const e = {
3
3
  TITLE: "Unsubscribe From All Email Lists",
4
4
  DESCRIPTION: "You will still receive important transactional and billing-related emails."
5
5
  }, l = `
6
- <td align="left" class="checkbox-block checkbox-block-v2 esd-block-checkbox es-p20">
6
+ <td align="left" class="checkbox-block-v2 esd-block-checkbox es-p20">
7
7
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
8
8
  <tbody>
9
9
  <tr>
@@ -26,16 +26,11 @@ const e = {
26
26
  </tbody>
27
27
  </table>
28
28
  </td>
29
- `, o = `
30
- <td
31
- align="left"
32
- esd-extension-block-id="checkbox-block"
33
- class="
34
- checkbox-block
35
- checkbox-block-v2
36
- esd-block-checkbox
37
- esd-checkbox-block
38
- esd-extension-block es-p20"
29
+ `, i = `
30
+ <td
31
+ align="left"
32
+ esd-extension-block-id="checkbox-block"
33
+ class="checkbox-block-v2 esd-block-checkbox esd-checkbox-block esd-extension-block es-p20"
39
34
  >
40
35
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
41
36
  <tbody>
@@ -60,10 +55,10 @@ const e = {
60
55
  </table>
61
56
  </td>
62
57
  `;
63
- function a() {
58
+ function c() {
64
59
  return l.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`);
65
60
  }
66
61
  export {
67
- o as default,
68
- a as getDefaultTemplate
62
+ i as default,
63
+ c as getDefaultTemplate
69
64
  };
@@ -1,7 +1,7 @@
1
1
  import { Block as t, BlockCompositionType as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { getDefaultTemplate as e } from "./template.js";
3
3
  const r = "radio-button-block";
4
- class l extends t {
4
+ class c extends t {
5
5
  constructor() {
6
6
  super();
7
7
  }
@@ -23,11 +23,8 @@ class l extends t {
23
23
  getTemplate() {
24
24
  return e();
25
25
  }
26
- allowInnerBlocksDND() {
27
- return !1;
28
- }
29
26
  }
30
27
  export {
31
28
  r as BLOCK_ID,
32
- l as RadioButtonCustomBlock
29
+ c as RadioButtonCustomBlock
33
30
  };