@useinsider/guido 1.0.3-beta.a9ba0dc → 1.0.3-beta.ac154d3

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/README.md +0 -3
  2. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -20
  3. package/dist/composables/useActionsApi.js +1 -1
  4. package/dist/composables/useBlocksConfig.js +2 -1
  5. package/dist/composables/useHtmlCompiler.js +13 -15
  6. package/dist/composables/useHtmlValidator.js +35 -36
  7. package/dist/composables/useStripo.js +28 -32
  8. package/dist/enums/extensions/recommendationBlock.js +2 -2
  9. package/dist/enums/onboarding.js +3 -7
  10. package/dist/extensions/Blocks/Checkbox/block.js +2 -5
  11. package/dist/extensions/Blocks/Checkbox/control.js +14 -15
  12. package/dist/extensions/Blocks/Checkbox/template.js +9 -14
  13. package/dist/extensions/Blocks/RadioButton/block.js +2 -5
  14. package/dist/extensions/Blocks/RadioButton/control.js +17 -18
  15. package/dist/extensions/Blocks/RadioButton/template.js +9 -18
  16. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  17. package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
  18. package/dist/extensions/Blocks/common-control.js +110 -174
  19. package/dist/guido.css +1 -1
  20. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +168 -213
  21. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +12 -13
  22. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  23. package/dist/package.json.js +1 -1
  24. package/dist/services/recommendationApi.js +19 -13
  25. package/dist/src/enums/onboarding.d.ts +0 -4
  26. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +0 -1
  27. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  28. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +0 -1
  29. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  30. package/dist/src/extensions/Blocks/common-control.d.ts +7 -44
  31. package/dist/src/stores/onboarding.d.ts +0 -334
  32. package/dist/static/styles/customEditorStyle.css.js +1 -1
  33. package/dist/stores/onboarding.js +12 -20
  34. package/dist/utils/genericUtil.js +17 -16
  35. package/package.json +3 -3
  36. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
  37. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -99
  38. package/dist/config/compiler/itemsCompilerRules.js +0 -14
  39. package/dist/extensions/Blocks/Items/block.js +0 -67
  40. package/dist/extensions/Blocks/Items/controls/button/link.js +0 -68
  41. package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -193
  42. package/dist/extensions/Blocks/Items/controls/image/link.js +0 -68
  43. package/dist/extensions/Blocks/Items/controls/index.js +0 -217
  44. package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -70
  45. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -107
  46. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -123
  47. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -76
  48. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -61
  49. package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -312
  50. package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
  51. package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -273
  52. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -76
  53. package/dist/extensions/Blocks/Items/extension.js +0 -19
  54. package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
  55. package/dist/extensions/Blocks/Items/items.css.js +0 -23
  56. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -62
  57. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -60
  58. package/dist/extensions/Blocks/Items/settingsPanel.js +0 -131
  59. package/dist/extensions/Blocks/Items/store/items-block.js +0 -71
  60. package/dist/extensions/Blocks/Items/template.js +0 -189
  61. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  62. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  63. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  64. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -44
  65. package/dist/extensions/Blocks/controlFactories.js +0 -223
  66. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  67. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  68. package/dist/node_modules/lodash-es/_Set.js +0 -6
  69. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  70. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  71. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  72. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  73. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  74. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  75. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  76. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  77. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  78. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  79. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  80. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  81. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  82. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  83. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  84. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  85. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  86. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  87. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  88. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  89. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  90. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  91. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  92. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  93. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  94. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  95. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  96. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  97. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  98. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  99. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  100. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  101. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  102. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  103. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  104. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  105. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  106. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  107. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  108. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  109. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  110. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  111. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  112. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  113. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  114. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  115. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  116. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  117. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  118. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  119. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  120. package/dist/node_modules/lodash-es/get.js +0 -8
  121. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  122. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  123. package/dist/node_modules/lodash-es/keys.js +0 -9
  124. package/dist/node_modules/lodash-es/map.js +0 -11
  125. package/dist/node_modules/lodash-es/property.js +0 -10
  126. package/dist/node_modules/lodash-es/range.js +0 -5
  127. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  128. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  129. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  130. package/dist/node_modules/lodash-es/toString.js +0 -7
  131. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
  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
package/README.md CHANGED
@@ -600,9 +600,6 @@ Create a `.env` file with the following variables: (You can get env variables fr
600
600
  VITE_STRIPO_PLUGIN_ID=your_plugin_id
601
601
  VITE_STRIPO_SECRET_KEY=your_secret_key
602
602
  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
603
  ```
607
604
 
608
605
  ### Project Structure
@@ -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
  };
@@ -1,23 +1,23 @@
1
- import { useActionsApi as w } from "./useActionsApi.js";
1
+ import { useActionsApi as h } from "./useActionsApi.js";
2
2
  import { useBlocksConfig as b } from "./useBlocksConfig.js";
3
3
  import { useConfig as k } from "./useConfig.js";
4
- import { useCustomInterfaceAppearance as V } from "./useCustomInterfaceAppearance.js";
5
- import { useStripoEventHandler as _ } from "./useStripoEventHandler.js";
6
- import { useToaster as B } from "./useToaster.js";
7
- import { displayConditions as T } from "../enums/displayConditions.js";
4
+ import { useCustomInterfaceAppearance as B } from "./useCustomInterfaceAppearance.js";
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
8
  import { useStripoApi as A } from "../services/stripoApi.js";
9
- import F from "../static/styles/customEditorStyle.css.js";
10
- import { useEditorStore as M } from "../stores/editor.js";
11
- import { dynamicContentToMergeTags as U } from "../utils/genericUtil.js";
12
- import v from "../package.json.js";
13
- const J = (c) => {
14
- const { config: u } = k(), { handleError: l } = B(), { getToken: f, getCustomFonts: y } = A(), { handleEvent: S } = _(), { getStripoBlocksConfig: C } = b(), E = async (i, r = []) => {
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
15
  var m, g;
16
- const t = M(), { html: n, css: p, forceRecreate: a } = i, { baseBlocks: e, extensions: d } = await C();
16
+ const t = v(), { html: n, css: p, forceRecreate: a } = i, { baseBlocks: e, extensions: c } = await y();
17
17
  window.UIEditor.initEditor(
18
18
  document.querySelector("#guido-editor"),
19
19
  {
20
- metadata: c,
20
+ metadata: d,
21
21
  html: n,
22
22
  css: p,
23
23
  forceRecreate: a,
@@ -30,17 +30,13 @@ const J = (c) => {
30
30
  customAppearanceMergetags: !0,
31
31
  customAppearanceMergetagsBorderColor: "#f1f3fe",
32
32
  customAppearanceMergetagsBackgroundColor: "#f1f3fe",
33
- customViewStyles: F,
33
+ customViewStyles: T,
34
34
  conditionsEnabled: ((m = u.features) == null ? void 0 : m.displayConditions) ?? !0,
35
35
  customConditionsEnabled: ((g = u.features) == null ? void 0 : g.displayConditions) ?? !0,
36
- conditionCategories: T,
36
+ conditionCategories: F,
37
37
  enableXSSSecurity: !0,
38
- messageSettingsEnabled: !0,
39
- displayGmailAnnotations: !0,
40
- displayHiddenPreheader: !1,
41
- displayTitle: !1,
42
- displayUTM: !1,
43
- selectElementAfterDrop: !0,
38
+ messageSettingsEnabled: !1,
39
+ selectBlockAfterDropFromSettingsPanel: !0,
44
40
  ...e ? { baseBlocks: e } : {},
45
41
  editorFonts: {
46
42
  showDefaultStandardFonts: !0,
@@ -49,7 +45,7 @@ const J = (c) => {
49
45
  },
50
46
  mergeTags: [
51
47
  {
52
- entries: U(c.preselectedDynamicContentList)
48
+ entries: I(d.preselectedDynamicContentList)
53
49
  }
54
50
  ],
55
51
  async onTokenRefreshRequest(o) {
@@ -62,8 +58,8 @@ const J = (c) => {
62
58
  },
63
59
  onTemplateLoaded() {
64
60
  try {
65
- const { importCss: o } = V(), { activateCustomViewStyles: s } = w();
66
- o(), s(), c.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
61
+ const { importCss: o } = B(), { activateCustomViewStyles: s } = h();
62
+ o(), s(), d.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
67
63
  t.hasChanges = !1;
68
64
  }, 1e3);
69
65
  } catch (o) {
@@ -82,22 +78,22 @@ const J = (c) => {
82
78
  onDataChanged() {
83
79
  t.hasChanges = !0;
84
80
  },
85
- onEvent: S,
81
+ onEvent: C,
86
82
  ignoreClickOutsideSelectors: [
87
83
  "#guido-dynamic-content-modal",
88
84
  ".in-on-board-wrapper",
89
85
  ".in-drawer__container"
90
86
  ],
91
- extensions: d
87
+ extensions: c
92
88
  }
93
89
  );
94
- }, h = (i) => new Promise((r, t) => {
95
- var d;
90
+ }, w = (i) => new Promise((r, t) => {
91
+ var c;
96
92
  if (document.getElementById("UiEditorScript")) {
97
93
  i(), r();
98
94
  return;
99
95
  }
100
- const n = v.guido, a = `https://email-static.useinsider.com/guido/${(d = n == null ? void 0 : n.stripo) == null ? void 0 : d.version}/UIEditor.js`, e = document.createElement("script");
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");
101
97
  e.id = "UiEditorScript", e.type = "module", e.src = a, e.onload = () => {
102
98
  i(), r();
103
99
  }, e.onerror = () => {
@@ -105,12 +101,12 @@ const J = (c) => {
105
101
  }, document.body.appendChild(e);
106
102
  });
107
103
  return { initPlugin: async (i) => {
108
- await h(async () => {
109
- const r = await y();
104
+ await w(async () => {
105
+ const r = await S();
110
106
  await E(i, r);
111
107
  });
112
108
  } };
113
109
  };
114
110
  export {
115
- J as useStripo
111
+ N as useStripo
116
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
  };
@@ -2,9 +2,9 @@ var d = Object.defineProperty;
2
2
  var l = (r, n, e) => n in r ? d(r, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[n] = e;
3
3
  var o = (r, n, e) => l(r, typeof n != "symbol" ? n + "" : n, e);
4
4
  import { useHttp as L } from "../../../composables/useHttp.js";
5
- import { DEFAULT_UNSUBSCRIBE_GROUP as c } from "../../../enums/unsubscribe.js";
5
+ import { DEFAULT_UNSUBSCRIBE_GROUP as u } from "../../../enums/unsubscribe.js";
6
6
  import { Control as h, UIElementType as i, UEAttr as t, ModificationDescription as p } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
7
- const m = "ui-elements-checkbox", u = "select", { get: C } = L();
7
+ const m = "ui-elements-checkbox", a = "select", { get: C } = L();
8
8
  class S extends h {
9
9
  constructor() {
10
10
  super(...arguments);
@@ -16,16 +16,15 @@ class S extends h {
16
16
  return m;
17
17
  }
18
18
  _setFormValues() {
19
- if (this.selectedUnsubGroup = "", this.currentNode && "getAttribute" in this.currentNode) {
19
+ if (this.currentNode && "getAttribute" in this.currentNode) {
20
20
  const e = this.currentNode.getAttribute("id");
21
21
  if (e) {
22
- const s = e === c.sendGridId ? e : Number(e);
23
- s && (this.selectedUnsubGroup = s);
22
+ const s = e === u.sendGridId ? e : Number(e);
23
+ s && (this.selectedUnsubGroup = s, this.api.updateValues({
24
+ [a]: this.selectedUnsubGroup
25
+ }));
24
26
  }
25
27
  }
26
- this.api.updateValues({
27
- [u]: this.selectedUnsubGroup
28
- });
29
28
  }
30
29
  _getLabel(e, s = `${Math.random()}`) {
31
30
  return `
@@ -55,7 +54,7 @@ class S extends h {
55
54
  </${i.LABEL}>
56
55
 
57
56
  <${i.SELECTPICKER}
58
- ${t.SELECTPICKER.name}="${u}"
57
+ ${t.SELECTPICKER.name}="${a}"
59
58
  ${t.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
60
59
  ${this._getSelect()}
61
60
  </${i.SELECTPICKER}>
@@ -67,21 +66,21 @@ class S extends h {
67
66
  this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", e.toString()).apply(new p(`Updated text to ${e}`));
68
67
  }
69
68
  _listenToFormUpdates() {
70
- this.api.onValueChanged(u, (e) => this._onSelectChange(e));
69
+ this.api.onValueChanged(a, (e) => this._onSelectChange(e));
71
70
  }
72
71
  onTemplateNodeUpdated(e) {
73
- this.currentNode = e, this._setFormValues();
72
+ this.currentNode = e;
74
73
  }
75
74
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
76
75
  async onRender() {
77
76
  const e = await C(
78
77
  "/unsubscribe-groups/unsubscribe-list"
79
- ), s = [c, ...e.data], E = s.map((a) => ({
80
- [t.SELECT_ITEM.text]: a.name,
81
- [t.SELECT_ITEM.value]: a.sendGridId
78
+ ), s = [u, ...e.data], E = s.map((c) => ({
79
+ [t.SELECT_ITEM.text]: c.name,
80
+ [t.SELECT_ITEM.value]: c.sendGridId
82
81
  }));
83
82
  this.unsubList = s, this.api.setUIEAttribute(
84
- u,
83
+ a,
85
84
  t.SELECTPICKER.items,
86
85
  E
87
86
  ), this._setFormValues(), this._listenToFormUpdates();
@@ -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
  };