@useinsider/guido 1.0.3-beta.9840867 → 1.0.3-beta.99394e8

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 (162) hide show
  1. package/README.md +0 -3
  2. package/dist/components/Guido.vue.js +1 -1
  3. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  4. package/dist/components/organisms/header/RightSlot.vue2.js +13 -13
  5. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -20
  6. package/dist/composables/useActionsApi.js +1 -1
  7. package/dist/composables/useBlocksConfig.js +2 -1
  8. package/dist/composables/useHtmlCompiler.js +13 -15
  9. package/dist/composables/useHtmlValidator.js +35 -36
  10. package/dist/enums/defaults.js +4 -5
  11. package/dist/enums/extensions/recommendationBlock.js +2 -2
  12. package/dist/enums/onboarding.js +3 -7
  13. package/dist/extensions/Blocks/Checkbox/block.js +2 -5
  14. package/dist/extensions/Blocks/Checkbox/control.js +14 -15
  15. package/dist/extensions/Blocks/Checkbox/template.js +9 -14
  16. package/dist/extensions/Blocks/RadioButton/block.js +2 -5
  17. package/dist/extensions/Blocks/RadioButton/control.js +17 -18
  18. package/dist/extensions/Blocks/RadioButton/template.js +9 -18
  19. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
  20. package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
  21. package/dist/extensions/Blocks/common-control.js +110 -174
  22. package/dist/guido.css +1 -1
  23. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +74 -81
  24. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +12 -13
  25. package/dist/node_modules/lodash-es/keysIn.js +3 -3
  26. package/dist/services/recommendationApi.js +19 -13
  27. package/dist/services/stripoApi.js +16 -15
  28. package/dist/src/enums/defaults.d.ts +0 -1
  29. package/dist/src/enums/onboarding.d.ts +0 -4
  30. package/dist/src/extensions/Blocks/Checkbox/block.d.ts +0 -1
  31. package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
  32. package/dist/src/extensions/Blocks/RadioButton/block.d.ts +0 -1
  33. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  34. package/dist/src/extensions/Blocks/common-control.d.ts +7 -44
  35. package/dist/src/stores/onboarding.d.ts +0 -334
  36. package/dist/static/styles/customEditorStyle.css.js +1 -1
  37. package/dist/stores/onboarding.js +12 -20
  38. package/dist/utils/genericUtil.js +17 -16
  39. package/package.json +1 -1
  40. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +0 -21
  41. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +0 -99
  42. package/dist/config/compiler/itemsCompilerRules.js +0 -14
  43. package/dist/extensions/Blocks/Items/block.js +0 -67
  44. package/dist/extensions/Blocks/Items/controls/button/link.js +0 -68
  45. package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -193
  46. package/dist/extensions/Blocks/Items/controls/image/link.js +0 -68
  47. package/dist/extensions/Blocks/Items/controls/index.js +0 -217
  48. package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -70
  49. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -107
  50. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -123
  51. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -76
  52. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -61
  53. package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -312
  54. package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
  55. package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -273
  56. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -76
  57. package/dist/extensions/Blocks/Items/extension.js +0 -19
  58. package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
  59. package/dist/extensions/Blocks/Items/items.css.js +0 -23
  60. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -62
  61. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -60
  62. package/dist/extensions/Blocks/Items/settingsPanel.js +0 -131
  63. package/dist/extensions/Blocks/Items/store/items-block.js +0 -71
  64. package/dist/extensions/Blocks/Items/template.js +0 -189
  65. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  66. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  67. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -67
  68. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -44
  69. package/dist/extensions/Blocks/controlFactories.js +0 -223
  70. package/dist/node_modules/lodash-es/_DataView.js +0 -6
  71. package/dist/node_modules/lodash-es/_Promise.js +0 -6
  72. package/dist/node_modules/lodash-es/_Set.js +0 -6
  73. package/dist/node_modules/lodash-es/_SetCache.js +0 -13
  74. package/dist/node_modules/lodash-es/_WeakMap.js +0 -6
  75. package/dist/node_modules/lodash-es/_arrayFilter.js +0 -10
  76. package/dist/node_modules/lodash-es/_arrayMap.js +0 -8
  77. package/dist/node_modules/lodash-es/_arrayPush.js +0 -8
  78. package/dist/node_modules/lodash-es/_arraySome.js +0 -9
  79. package/dist/node_modules/lodash-es/_baseEach.js +0 -6
  80. package/dist/node_modules/lodash-es/_baseFlatten.js +0 -13
  81. package/dist/node_modules/lodash-es/_baseForOwn.js +0 -8
  82. package/dist/node_modules/lodash-es/_baseGet.js +0 -11
  83. package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  84. package/dist/node_modules/lodash-es/_baseHasIn.js +0 -6
  85. package/dist/node_modules/lodash-es/_baseIsEqual.js +0 -8
  86. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +0 -32
  87. package/dist/node_modules/lodash-es/_baseIsMatch.js +0 -29
  88. package/dist/node_modules/lodash-es/_baseIteratee.js +0 -11
  89. package/dist/node_modules/lodash-es/_baseKeys.js +0 -14
  90. package/dist/node_modules/lodash-es/_baseMap.js +0 -11
  91. package/dist/node_modules/lodash-es/_baseMatches.js +0 -12
  92. package/dist/node_modules/lodash-es/_baseMatchesProperty.js +0 -17
  93. package/dist/node_modules/lodash-es/_baseProperty.js +0 -8
  94. package/dist/node_modules/lodash-es/_basePropertyDeep.js +0 -9
  95. package/dist/node_modules/lodash-es/_baseRange.js +0 -9
  96. package/dist/node_modules/lodash-es/_baseToString.js +0 -18
  97. package/dist/node_modules/lodash-es/_baseTrim.js +0 -8
  98. package/dist/node_modules/lodash-es/_cacheHas.js +0 -6
  99. package/dist/node_modules/lodash-es/_castPath.js +0 -10
  100. package/dist/node_modules/lodash-es/_createBaseEach.js +0 -15
  101. package/dist/node_modules/lodash-es/_createRange.js +0 -11
  102. package/dist/node_modules/lodash-es/_equalArrays.js +0 -40
  103. package/dist/node_modules/lodash-es/_equalByTag.js +0 -45
  104. package/dist/node_modules/lodash-es/_equalObjects.js +0 -36
  105. package/dist/node_modules/lodash-es/_getAllKeys.js +0 -9
  106. package/dist/node_modules/lodash-es/_getMatchData.js +0 -12
  107. package/dist/node_modules/lodash-es/_getSymbols.js +0 -10
  108. package/dist/node_modules/lodash-es/_getTag.js +0 -28
  109. package/dist/node_modules/lodash-es/_hasPath.js +0 -19
  110. package/dist/node_modules/lodash-es/_isFlattenable.js +0 -10
  111. package/dist/node_modules/lodash-es/_isKey.js +0 -12
  112. package/dist/node_modules/lodash-es/_isStrictComparable.js +0 -7
  113. package/dist/node_modules/lodash-es/_mapToArray.js +0 -9
  114. package/dist/node_modules/lodash-es/_matchesStrictComparable.js +0 -8
  115. package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -11
  116. package/dist/node_modules/lodash-es/_nativeKeys.js +0 -5
  117. package/dist/node_modules/lodash-es/_setCacheAdd.js +0 -7
  118. package/dist/node_modules/lodash-es/_setCacheHas.js +0 -6
  119. package/dist/node_modules/lodash-es/_setToArray.js +0 -9
  120. package/dist/node_modules/lodash-es/_stringToPath.js +0 -10
  121. package/dist/node_modules/lodash-es/_toKey.js +0 -10
  122. package/dist/node_modules/lodash-es/_trimmedEndIndex.js +0 -9
  123. package/dist/node_modules/lodash-es/flatMap.js +0 -8
  124. package/dist/node_modules/lodash-es/get.js +0 -8
  125. package/dist/node_modules/lodash-es/hasIn.js +0 -8
  126. package/dist/node_modules/lodash-es/isSymbol.js +0 -9
  127. package/dist/node_modules/lodash-es/keys.js +0 -9
  128. package/dist/node_modules/lodash-es/map.js +0 -11
  129. package/dist/node_modules/lodash-es/property.js +0 -10
  130. package/dist/node_modules/lodash-es/range.js +0 -5
  131. package/dist/node_modules/lodash-es/stubArray.js +0 -6
  132. package/dist/node_modules/lodash-es/toFinite.js +0 -14
  133. package/dist/node_modules/lodash-es/toNumber.js +0 -22
  134. package/dist/node_modules/lodash-es/toString.js +0 -7
  135. package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -2
  136. package/dist/src/config/compiler/itemsCompilerRules.d.ts +0 -2
  137. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -27
  138. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -14
  139. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -33
  140. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -14
  141. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +0 -501
  142. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -14
  143. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -19
  144. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -21
  145. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -14
  146. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -13
  147. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -48
  148. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -61
  149. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -162
  150. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -49
  151. package/dist/src/extensions/Blocks/Items/extension.d.ts +0 -2
  152. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +0 -4
  153. package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +0 -4
  154. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -41
  155. package/dist/src/extensions/Blocks/Items/template.d.ts +0 -24
  156. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  157. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  158. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -44
  159. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  160. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -312
  161. package/dist/src/utils/pairProductVariables.d.ts +0 -7
  162. 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
@@ -12,7 +12,7 @@ var t = function() {
12
12
  n,
13
13
  !1,
14
14
  null,
15
- "98181b5a"
15
+ "23c413c9"
16
16
  );
17
17
  const v = s.exports;
18
18
  export {
@@ -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
  };
@@ -23,11 +23,11 @@ const e = {
23
23
  }, t = {
24
24
  promotional: 1,
25
25
  transactional: 2
26
- }, a = "email", o = "Guido User", s = t.promotional, n = 2, i = 13, u = {
26
+ }, a = "email", o = "Guido User", s = t.promotional, n = 2, i = {
27
27
  email: 60,
28
28
  architect: 49,
29
29
  unsubscribePages: 97
30
- }, r = [
30
+ }, u = [
31
31
  "alfredtesting",
32
32
  "electio",
33
33
  "eurekatest",
@@ -65,8 +65,7 @@ export {
65
65
  a as DefaultProductType,
66
66
  o as DefaultUsername,
67
67
  n as EditorType,
68
- i as MAX_DEFAULT_TEMPLATE_ID,
69
- u as ProductIds,
70
- r as TEST_PARTNER_LIST,
68
+ i as ProductIds,
69
+ u as TEST_PARTNER_LIST,
71
70
  t as TemplateTypes
72
71
  };
@@ -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
  };
@@ -2,10 +2,10 @@ var d = Object.defineProperty;
2
2
  var l = (r, n, t) => n in r ? d(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t;
3
3
  var o = (r, n, t) => l(r, typeof n != "symbol" ? n + "" : n, t);
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 E } from "../../../enums/unsubscribe.js";
6
6
  import { Control as p, UIElementType as i, UEAttr as e, ModificationDescription as h } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
7
- const m = "ui-elements-radio-button", u = "select", { get: $ } = L();
8
- class S extends p {
7
+ const m = "ui-elements-radio-button", a = "select", { get: $ } = L();
8
+ class _ extends p {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  o(this, "currentNode");
@@ -16,16 +16,15 @@ class S extends p {
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 t = this.currentNode.getAttribute("id");
21
21
  if (t) {
22
- const s = t === c.sendGridId ? t : Number(t);
23
- s && (this.selectedUnsubGroup = s);
22
+ const s = t === E.sendGridId ? t : Number(t);
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(t, s = `${Math.random()}`) {
31
30
  return `
@@ -55,7 +54,7 @@ class S extends p {
55
54
  </${i.LABEL}>
56
55
 
57
56
  <${i.SELECTPICKER}
58
- ${e.SELECTPICKER.name}="${u}"
57
+ ${e.SELECTPICKER.name}="${a}"
59
58
  ${e.SELECTPICKER.placeholder}="${this.api.translate("Select Unsubscribe Group")}">
60
59
  ${this._getSelect()}
61
60
  </${i.SELECTPICKER}>
@@ -67,27 +66,27 @@ class S extends p {
67
66
  this.currentNode && this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute("id", t.toString()).apply(new h(`Updated text to ${t}`));
68
67
  }
69
68
  _listenToFormUpdates() {
70
- this.api.onValueChanged(u, (t) => this._onSelectChange(t));
69
+ this.api.onValueChanged(a, (t) => this._onSelectChange(t));
71
70
  }
72
71
  onTemplateNodeUpdated(t) {
73
- this.currentNode = t, this._setFormValues();
72
+ this.currentNode = t;
74
73
  }
75
74
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
76
75
  async onRender() {
77
76
  const t = await $(
78
77
  "/unsubscribe-groups/unsubscribe-list"
79
- ), s = [c, ...t.data], E = s.map((a) => ({
80
- [e.SELECT_ITEM.text]: a.name,
81
- [e.SELECT_ITEM.value]: a.sendGridId
78
+ ), s = [E, ...t.data], c = s.map((u) => ({
79
+ [e.SELECT_ITEM.text]: u.name,
80
+ [e.SELECT_ITEM.value]: u.sendGridId
82
81
  }));
83
82
  this.unsubList = s, this.api.setUIEAttribute(
84
- u,
83
+ a,
85
84
  e.SELECTPICKER.items,
86
- E
85
+ c
87
86
  ), this._setFormValues(), this._listenToFormUpdates();
88
87
  }
89
88
  }
90
89
  export {
91
90
  m as CONTROL_BLOCK_ID,
92
- S as RadioButtonControl
91
+ _ as RadioButtonControl
93
92
  };