@useinsider/guido 1.0.3-beta.22a1a69 → 1.0.3-beta.22d624e

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 (58) hide show
  1. package/dist/@types/generic.d.ts +0 -9
  2. package/dist/components/Guido.vue.d.ts +2 -2
  3. package/dist/components/Guido.vue.js +8 -8
  4. package/dist/components/Guido.vue2.js +69 -74
  5. package/dist/components/wrappers/WpDrawer.vue.d.ts +4 -6
  6. package/dist/components/wrappers/WpDrawer.vue.js +4 -6
  7. package/dist/composables/useStripo.js +25 -31
  8. package/dist/config/compiler/unsubscribeCompilerRules.js +29 -42
  9. package/dist/config/migrator/index.d.ts +1 -1
  10. package/dist/config/migrator/index.js +5 -6
  11. package/dist/enums/defaults.js +3 -6
  12. package/dist/enums/unsubscribe.d.ts +0 -19
  13. package/dist/enums/unsubscribe.js +6 -39
  14. package/dist/guido.css +1 -1
  15. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +1 -2
  16. package/dist/stores/unsubscribe.d.ts +5 -253
  17. package/dist/stores/unsubscribe.js +6 -126
  18. package/dist/utils/templatePreparation.js +16 -17
  19. package/package.json +1 -1
  20. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -2
  21. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +0 -18
  22. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +0 -16
  23. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -2
  24. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +0 -24
  25. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +0 -64
  26. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -2
  27. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +0 -18
  28. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +0 -106
  29. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -2
  30. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +0 -18
  31. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +0 -12
  32. package/dist/config/migrator/unsubscribeMigrator.d.ts +0 -1
  33. package/dist/config/migrator/unsubscribeMigrator.js +0 -122
  34. package/dist/extensions/Blocks/Unsubscribe/block.d.ts +0 -32
  35. package/dist/extensions/Blocks/Unsubscribe/block.js +0 -131
  36. package/dist/extensions/Blocks/Unsubscribe/control.d.ts +0 -29
  37. package/dist/extensions/Blocks/Unsubscribe/control.js +0 -167
  38. package/dist/extensions/Blocks/Unsubscribe/elements/preview.d.ts +0 -11
  39. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +0 -42
  40. package/dist/extensions/Blocks/Unsubscribe/extension.d.ts +0 -2
  41. package/dist/extensions/Blocks/Unsubscribe/extension.js +0 -21
  42. package/dist/extensions/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -4
  43. package/dist/extensions/Blocks/Unsubscribe/iconsRegistry.js +0 -21
  44. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +0 -4
  45. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +0 -35
  46. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +0 -42
  47. package/dist/extensions/Blocks/Unsubscribe/tagRegistry.d.ts +0 -4
  48. package/dist/extensions/Blocks/Unsubscribe/tagRegistry.js +0 -10
  49. package/dist/extensions/Blocks/Unsubscribe/template.d.ts +0 -12
  50. package/dist/extensions/Blocks/Unsubscribe/template.js +0 -22
  51. package/dist/extensions/Blocks/Unsubscribe/utils/constants.d.ts +0 -9
  52. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +0 -11
  53. package/dist/extensions/Blocks/Unsubscribe/utils/utils.d.ts +0 -7
  54. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +0 -6
  55. package/dist/services/unsubscribeApi.d.ts +0 -4
  56. package/dist/services/unsubscribeApi.js +0 -16
  57. package/dist/stores/config.d.ts +0 -96
  58. package/dist/stores/config.js +0 -17
@@ -1,7 +1,4 @@
1
1
  import type { CompilerRule } from './html-compiler';
2
- type Extensions = {
3
- unsubscribe?: boolean;
4
- };
5
2
  type Features = {
6
3
  dynamicContent?: boolean;
7
4
  saveAsTemplate?: boolean;
@@ -19,14 +16,8 @@ export type GuidoConfig = {
19
16
  useHeader?: boolean;
20
17
  emailHeader: EmailHeader;
21
18
  partner?: Partner;
22
- extensions?: Extensions;
23
19
  features?: Features;
24
20
  };
25
- export type TemplateConfig = {
26
- preselectedDynamicContentList?: DynamicContent[];
27
- selectedUnsubscribePages?: number[];
28
- variationId?: string;
29
- };
30
21
  export type DynamicContent = {
31
22
  value: string;
32
23
  text: string;
@@ -1,4 +1,4 @@
1
- import type { DynamicContent, GuidoConfig, TemplateConfig } from '@@/Types/generic';
1
+ import type { DynamicContent, GuidoConfig } from '@@/Types/generic';
2
2
  import type { SavedTemplateDetails } from '@@/Types/stripo';
3
3
  type __VLS_Props = {
4
4
  templateId: string;
@@ -9,8 +9,8 @@ type __VLS_Props = {
9
9
  username?: string;
10
10
  html?: string;
11
11
  css?: string;
12
+ preselectedDynamicContentList: DynamicContent[];
12
13
  guidoConfig: GuidoConfig;
13
- templateConfig?: TemplateConfig;
14
14
  };
15
15
  declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {
16
16
  dynamicContent: {
@@ -1,16 +1,16 @@
1
- import a from "./Guido.vue2.js";
1
+ import o from "./Guido.vue2.js";
2
2
  /* empty css */
3
3
  import i from "../_virtual/_plugin-vue2_normalizer.js";
4
- var s = function() {
5
- var o = this, r = o._self._c, e = o._self._setupProxy;
6
- return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
7
- }, t = [], d = /* @__PURE__ */ i(
8
- a,
9
- s,
4
+ var t = function() {
5
+ var a = this, r = a._self._c, e = a._self._setupProxy;
6
+ return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper), r(e.LoadingWrapper)], 1);
7
+ }, s = [], d = /* @__PURE__ */ i(
8
+ o,
10
9
  t,
10
+ s,
11
11
  !1,
12
12
  null,
13
- "96687c1d"
13
+ "aca05338"
14
14
  );
15
15
  const v = d.exports;
16
16
  export {
@@ -1,22 +1,19 @@
1
- import { defineComponent as x, defineAsyncComponent as U, ref as F, computed as I, watch as M, onMounted as z, onUnmounted as B } from "vue";
2
- import { provideGuidoActions as K } from "../composables/useGuidoActions.js";
3
- import { usePartner as O } from "../composables/usePartner.js";
4
- import { useStripo as j } from "../composables/useStripo.js";
5
- import { migrate as W } from "../config/migrator/index.js";
6
- import { DefaultUsername as q, DefaultMessageType as J, DefaultGuidoConfig as Q } from "../enums/defaults.js";
7
- import V from "./organisms/base/Toaster.vue.js";
8
- import X from "./organisms/header/HeaderWrapper.vue.js";
9
- import Y from "./organisms/LoadingWrapper.vue.js";
10
- import Z from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
11
- import $ from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
12
- import { useStripoApi as ee } from "../services/stripoApi.js";
13
- import { useConfigStore as oe } from "../stores/config.js";
14
- import { useDynamicContentStore as te } from "../stores/dynamic-content.js";
15
- import { useEditorStore as ne } from "../stores/editor.js";
16
- import { usePreviewStore as re } from "../stores/preview.js";
17
- import { useUnsubscribeStore as se } from "../stores/unsubscribe.js";
18
- import ae from "../node_modules/lodash-es/merge.js";
19
- const Ee = /* @__PURE__ */ x({
1
+ import { defineComponent as H, defineAsyncComponent as E, ref as R, computed as G, watch as U, onMounted as x, onUnmounted as F } from "vue";
2
+ import { provideGuidoActions as M } from "../composables/useGuidoActions.js";
3
+ import { usePartner as z } from "../composables/usePartner.js";
4
+ import { useStripo as B } from "../composables/useStripo.js";
5
+ import { migrate as P } from "../config/migrator/index.js";
6
+ import { DefaultUsername as K, DefaultMessageType as O, DefaultGuidoConfig as j } from "../enums/defaults.js";
7
+ import q from "./organisms/base/Toaster.vue.js";
8
+ import J from "./organisms/header/HeaderWrapper.vue.js";
9
+ import Q from "./organisms/LoadingWrapper.vue.js";
10
+ import V from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
11
+ import { useStripoApi as X } from "../services/stripoApi.js";
12
+ import { useDynamicContentStore as Y } from "../stores/dynamic-content.js";
13
+ import { useEditorStore as Z } from "../stores/editor.js";
14
+ import { usePreviewStore as $ } from "../stores/preview.js";
15
+ import ee from "../node_modules/lodash-es/merge.js";
16
+ const ye = /* @__PURE__ */ H({
20
17
  __name: "Guido",
21
18
  props: {
22
19
  templateId: null,
@@ -27,86 +24,84 @@ const Ee = /* @__PURE__ */ x({
27
24
  username: null,
28
25
  html: null,
29
26
  css: null,
30
- guidoConfig: null,
31
- templateConfig: null
27
+ preselectedDynamicContentList: null,
28
+ guidoConfig: null
32
29
  },
33
30
  emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready"],
34
- setup(_, { expose: L, emit: t }) {
35
- const d = _, k = U(
31
+ setup(I, { expose: L, emit: o }) {
32
+ const r = I, _ = E(
36
33
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
37
- ), A = U(
34
+ ), W = E(
38
35
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
39
- ), m = F(), s = te(), u = se(), l = oe(), p = ne(), N = re(), n = I(() => p.hasChanges), { getPartnerName: g, getProductType: f, isTestPartner: H } = O(), y = () => {
36
+ ), d = R(), a = Y(), m = Z(), k = $(), t = G(() => m.hasChanges), i = r.preselectedDynamicContentList || [], { getPartnerName: l, getProductType: u, isTestPartner: A } = z(), p = () => {
40
37
  var e;
41
- return (e = m.value) == null ? void 0 : e.handleSave(!0);
38
+ return (e = d.value) == null ? void 0 : e.handleSave(!0);
42
39
  }, {
43
- templateId: v,
44
- userId: b,
45
- guidoConfig: C,
46
- templateConfig: o,
47
- html: r = "",
48
- css: h = "",
49
- partnerName: a = g(),
50
- productType: i = f(),
51
- messageType: S = J,
52
- username: w = q
53
- } = d, c = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
54
- window.GuidoConfig = ae(Q, C), window.GuidoConfig.partner = {
55
- partnerName: a,
56
- productType: i,
57
- messageType: S
58
- }, l.templateConfig = o;
59
- const { initPlugin: D } = j({
60
- emailId: v,
61
- userId: b,
62
- username: w,
63
- partnerName: a,
64
- productType: i,
65
- preselectedDynamicContentList: c,
40
+ templateId: g,
41
+ userId: f,
42
+ guidoConfig: y,
43
+ html: n = "",
44
+ css: v = "",
45
+ partnerName: s = l(),
46
+ productType: c = u(),
47
+ messageType: C = O,
48
+ username: h = K
49
+ } = r;
50
+ window.GuidoConfig = ee(j, y), window.GuidoConfig.partner = {
51
+ partnerName: s,
52
+ productType: c,
53
+ messageType: C
54
+ };
55
+ const { initPlugin: w } = B({
56
+ emailId: g,
57
+ userId: f,
58
+ username: h,
59
+ partnerName: s,
60
+ productType: c,
61
+ preselectedDynamicContentList: i,
66
62
  onReady: () => {
67
- console.debug("guido:ready"), t("ready");
63
+ console.debug("guido:ready"), o("ready");
68
64
  }
69
- }), { getDefaultTemplate: T } = ee(), R = I(() => {
65
+ }), { getDefaultTemplate: S } = X(), N = G(() => {
70
66
  var e;
71
67
  return !((e = window.GuidoConfig) != null && e.useHeader);
72
68
  });
73
- K({
69
+ M({
74
70
  onBack: () => {
75
- console.debug("guido:back"), t("back");
71
+ console.debug("guido:back"), o("back");
76
72
  },
77
73
  onSaveStart: () => {
78
- console.debug("guido:save:start"), t("save:start");
74
+ console.debug("guido:save:start"), o("save:start");
79
75
  },
80
76
  onSaveComplete: (e) => {
81
- console.debug("guido:save:complete", e), t("save:complete", e);
77
+ console.debug("guido:save:complete", e), o("save:complete", e);
82
78
  }
83
79
  });
84
- const E = (e) => {
85
- console.debug("dynamic-content:close", e), s.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
86
- }, P = () => {
80
+ const b = (e) => {
81
+ console.debug("dynamic-content:close", e), a.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
82
+ }, D = () => {
87
83
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
88
84
  };
89
- return M(() => n.value, () => {
90
- t("on-change", n.value);
91
- }), z(async () => {
85
+ return U(() => t.value, () => {
86
+ o("on-change", t.value);
87
+ }), x(async () => {
92
88
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
93
89
  try {
94
- u.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
95
90
  let e = {
96
- html: r && await W(r),
97
- css: h,
91
+ html: n && P(n),
92
+ css: v,
98
93
  forceRecreate: !0
99
94
  // TODO: It should be false for old templates. We will communicate with Stripo
100
95
  };
101
- e.html || (e = await T(), e.html = await W(e.html)), await D(e), s.selectedDynamicContentList = c;
96
+ e.html || (e = await S(), e.html = P(e.html)), await w(e), a.selectedDynamicContentList = i;
102
97
  } catch (e) {
103
98
  console.error("Failed to initialize Stripo editor:", e);
104
99
  }
105
100
  document.addEventListener("dynamic-content:open", (e) => {
106
- const G = e;
107
- console.debug("dynamic-content:open", G.detail), t("dynamic-content:open", G.detail);
101
+ const T = e;
102
+ console.debug("dynamic-content:open", T.detail), o("dynamic-content:open", T.detail);
108
103
  });
109
- }), B(() => {
104
+ }), F(() => {
110
105
  try {
111
106
  window.UIEditor.removeEditor();
112
107
  } catch {
@@ -114,14 +109,14 @@ const Ee = /* @__PURE__ */ x({
114
109
  }
115
110
  }), L({
116
111
  dynamicContent: {
117
- insert: E,
118
- close: P
112
+ insert: b,
113
+ close: D
119
114
  },
120
- hasChanges: n,
121
- saveSilent: y
122
- }), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: A, headerWrapperRef: m, dynamicContentStore: s, unsubscribeStore: u, props: d, configStore: l, editorStore: p, previewStore: N, hasChanges: n, getPartnerName: g, getProductType: f, isTestPartner: H, saveSilent: y, templateId: v, userId: b, guidoConfig: C, templateConfig: o, html: r, css: h, partnerName: a, productType: i, messageType: S, username: w, preselectedDynamicContentList: c, emit: t, initPlugin: D, getDefaultTemplate: T, noHeader: R, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, HeaderWrapper: X, LoadingWrapper: Y, SaveAsTemplateDrawer: Z, UnsubscribeWrapper: $ };
115
+ hasChanges: t,
116
+ saveSilent: p
117
+ }), { __sfc: !0, PreviewContainer: _, OnboardingWrapper: W, headerWrapperRef: d, dynamicContentStore: a, props: r, editorStore: m, previewStore: k, hasChanges: t, preselectedDynamicContentList: i, getPartnerName: l, getProductType: u, isTestPartner: A, saveSilent: p, templateId: g, userId: f, guidoConfig: y, html: n, css: v, partnerName: s, productType: c, messageType: C, username: h, emit: o, initPlugin: w, getDefaultTemplate: S, noHeader: N, insertDynamicContent: b, closeDynamicContent: D, Toaster: q, HeaderWrapper: J, LoadingWrapper: Q, SaveAsTemplateDrawer: V };
123
118
  }
124
119
  });
125
120
  export {
126
- Ee as default
121
+ ye as default
127
122
  };
@@ -2,7 +2,7 @@ import type { FooterButtonGroupOptions } from '@@/Types/wrappers/wp-drawer';
2
2
  interface Props {
3
3
  id: string;
4
4
  className?: string;
5
- size?: 'small' | 'medium' | 'large';
5
+ size?: string;
6
6
  closeOnOutsideClick?: boolean;
7
7
  descriptionStatus?: boolean;
8
8
  descriptionText?: string;
@@ -10,11 +10,9 @@ interface Props {
10
10
  status: boolean;
11
11
  titleText: string;
12
12
  }
13
- declare var __VLS_12: {}, __VLS_14: {};
13
+ declare var __VLS_12: {};
14
14
  type __VLS_Slots = {} & {
15
- headerBottomSlot?: (props: typeof __VLS_12) => any;
16
- } & {
17
- default?: (props: typeof __VLS_14) => any;
15
+ default?: (props: typeof __VLS_12) => any;
18
16
  };
19
17
  declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
20
18
  className: string;
@@ -34,7 +32,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
34
32
  descriptionText: string;
35
33
  }>>>, {
36
34
  className: string;
37
- size: "small" | "medium" | "large";
35
+ size: string;
38
36
  closeOnOutsideClick: boolean;
39
37
  descriptionStatus: boolean;
40
38
  descriptionText: string;
@@ -1,6 +1,6 @@
1
1
  import r from "./WpDrawer.vue2.js";
2
2
  import s from "../../_virtual/_plugin-vue2_normalizer.js";
3
- var u = function() {
3
+ var i = function() {
4
4
  var t = this, n = t._self._c, e = t._self._setupProxy;
5
5
  return n(e.InDrawer, { class: t.className, attrs: { id: t.id, "footer-status": "", "close-on-outside-click": t.closeOnOutsideClick, "description-status": t.descriptionStatus, "description-text": t.descriptionText, "footer-button-group-options": t.footerButtonGroupOptions, size: t.size, status: t.status, "title-text": t.titleText }, on: { cancelOrBackButtonEvent: function(o) {
6
6
  return e.emit("cancelOrBackButtonEvent");
@@ -8,15 +8,13 @@ var u = function() {
8
8
  return e.emit("onCloseEvent");
9
9
  }, primaryButtonEvent: function(o) {
10
10
  return e.emit("primaryButtonEvent");
11
- } }, scopedSlots: t._u([t.$slots.headerBottomSlot ? { key: "headerBottomSlot", fn: function() {
12
- return [t._t("headerBottomSlot")];
13
- }, proxy: !0 } : null, { key: "contentSlot", fn: function() {
11
+ } }, scopedSlots: t._u([{ key: "contentSlot", fn: function() {
14
12
  return [n("div", [t._t("default")], 2)];
15
13
  }, proxy: !0 }], null, !0) });
16
- }, i = [], c = /* @__PURE__ */ s(
14
+ }, u = [], c = /* @__PURE__ */ s(
17
15
  r,
18
- u,
19
16
  i,
17
+ u,
20
18
  !1,
21
19
  null,
22
20
  null
@@ -5,15 +5,14 @@ import { useToaster as C } from "./useToaster.js";
5
5
  import { displayConditions as y } from "../enums/displayConditions.js";
6
6
  import h from "../extensions/Blocks/Checkbox/extension.js";
7
7
  import w from "../extensions/Blocks/RadioButton/extension.js";
8
- import b from "../extensions/Blocks/Unsubscribe/extension.js";
9
- import _ from "../extensions/DynamicContent/extension.js";
8
+ import b from "../extensions/DynamicContent/extension.js";
10
9
  import { useStripoApi as k } from "../services/stripoApi.js";
11
10
  import B from "../static/styles/customEditorStyle.css.js";
12
11
  import { useEditorStore as V } from "../stores/editor.js";
13
- import { dynamicContentToMergeTags as F } from "../utils/genericUtil.js";
14
- const j = (s) => {
12
+ import { dynamicContentToMergeTags as _ } from "../utils/genericUtil.js";
13
+ const q = (s) => {
15
14
  const { handleError: d } = C(), { getToken: c, getCustomFonts: u } = k(), { handleEvent: l } = E(), m = (r, i = []) => {
16
- const t = V(), { html: e, css: a, forceRecreate: g } = r;
15
+ const o = V(), { html: e, css: a, forceRecreate: g } = r;
17
16
  window.UIEditor.initEditor(
18
17
  document.querySelector("#guido-editor"),
19
18
  {
@@ -44,54 +43,49 @@ const j = (s) => {
44
43
  },
45
44
  mergeTags: [
46
45
  {
47
- entries: F(s.preselectedDynamicContentList)
46
+ entries: _(s.preselectedDynamicContentList)
48
47
  }
49
48
  ],
50
- async onTokenRefreshRequest(o) {
49
+ async onTokenRefreshRequest(t) {
51
50
  try {
52
51
  const n = await c();
53
- o(n);
52
+ t(n);
54
53
  } catch (n) {
55
54
  d(n, "Failed to refresh token");
56
55
  }
57
56
  },
58
57
  onTemplateLoaded() {
59
58
  try {
60
- const { importCss: o } = S(), { activateCustomViewStyles: n } = f();
61
- o(), n(), s.onReady(), t.isStripoInitialized = !0, t.loadingStatus = !1, setTimeout(() => {
62
- t.hasChanges = !1;
59
+ const { importCss: t } = S(), { activateCustomViewStyles: n } = f();
60
+ t(), n(), s.onReady(), o.isStripoInitialized = !0, o.loadingStatus = !1, setTimeout(() => {
61
+ o.hasChanges = !1;
63
62
  }, 1e3);
64
- } catch (o) {
65
- d(o, "Failed to load custom interface appearance");
63
+ } catch (t) {
64
+ d(t, "Failed to load custom interface appearance");
66
65
  }
67
66
  },
68
- onCodeEditorVisibilityChanged(o) {
69
- t.isCodeEditorOpen = o;
67
+ onCodeEditorVisibilityChanged(t) {
68
+ o.isCodeEditorOpen = t;
70
69
  },
71
- onEditorVisualModeChanged(o) {
72
- t.editorVisualMode = o.toLowerCase();
70
+ onEditorVisualModeChanged(t) {
71
+ o.editorVisualMode = t.toLowerCase();
73
72
  },
74
- onVersionHistoryVisibilityChanged(o) {
75
- t.isVersionHistoryOpen = o;
73
+ onVersionHistoryVisibilityChanged(t) {
74
+ o.isVersionHistoryOpen = t;
76
75
  },
77
76
  onDataChanged() {
78
- t.hasChanges = !0;
77
+ o.hasChanges = !0;
79
78
  },
80
79
  onEvent: l,
81
- ignoreClickOutsideSelectors: [
82
- "#guido-dynamic-content-modal",
83
- ".in-on-board-wrapper",
84
- ".in-drawer__container"
85
- ],
80
+ ignoreClickOutsideSelectors: ["#guido-dynamic-content-modal", ".in-on-board-wrapper"],
86
81
  extensions: [
87
- _,
82
+ b,
88
83
  h,
89
- w,
90
- b
84
+ w
91
85
  ]
92
86
  }
93
87
  );
94
- }, p = (r) => new Promise((i, t) => {
88
+ }, p = (r) => new Promise((i, o) => {
95
89
  if (document.getElementById("UiEditorScript")) {
96
90
  r(), i();
97
91
  return;
@@ -101,7 +95,7 @@ const j = (s) => {
101
95
  r(), i();
102
96
  }, e.onerror = () => {
103
97
  const a = new Error("Failed to load Stripo UIEditor script");
104
- t(a);
98
+ o(a);
105
99
  }, document.body.appendChild(e);
106
100
  });
107
101
  return { initPlugin: async (r) => {
@@ -112,5 +106,5 @@ const j = (s) => {
112
106
  } };
113
107
  };
114
108
  export {
115
- j as useStripo
109
+ q as useStripo
116
110
  };
@@ -1,36 +1,23 @@
1
- import { usePartner as U } from "../../composables/usePartner.js";
2
- import { LINK_REGEXES as l, LINK_TYPES as b, URLS as f } from "../../enums/unsubscribe.js";
3
- import { parsePageList as B } from "../../extensions/Blocks/Unsubscribe/utils/utils.js";
4
- import { useConfigStore as N } from "../../stores/config.js";
5
- import { useUnsubscribeStore as I } from "../../stores/unsubscribe.js";
6
- const T = [
1
+ import { usePartner as m } from "../../composables/usePartner.js";
2
+ import { LINK_REGEXES as c, LINK_TYPES as p, URLS as E } from "../../enums/unsubscribe.js";
3
+ import { useUnsubscribeStore as b } from "../../stores/unsubscribe.js";
4
+ const S = [
7
5
  {
8
6
  id: "add-unsubscribe-link-values",
9
7
  description: "Adding unsubscribe link values",
10
8
  type: "custom",
11
- processor: (t) => {
12
- const { getPartnerName: i } = U(), a = N(), n = I(), u = a.getVariationId;
13
- if (!u)
14
- return t;
15
- let o = t;
16
- const e = `/${i()}/email/${u}?user={{iid}}`;
17
- return new DOMParser().parseFromString(o, "text/html").querySelectorAll(".unsubscribe-block-v2[data-unsubscribe-page-list]").forEach((p) => {
18
- var g;
19
- const d = p.getAttribute("data-unsubscribe-page-list");
20
- if (!d)
21
- return;
22
- const S = B(d), m = ((g = n.templates) == null ? void 0 : g.filter(
23
- (c) => S.includes(c.id)
24
- )) ?? [], R = m.some((c) => c.type === b.UNSUBSCRIBE_LINK_TYPE), _ = m.some((c) => c.type === b.PREFERENCES_LINK_TYPE), E = p.outerHTML;
25
- let s = E;
26
- R && (s = s.replace(
27
- l.GLOBAL_UNSUBSCRIBE_LINK_REGEX,
28
- f.UNSUBSCRIBE_URL + e
29
- )), _ && (s = s.replace(
30
- l.PREFERENCES_UNSUBSCRIBE_LINK_REGEX,
31
- f.PREFERENCES_URL + e
32
- )), s = s.replace(l.UNSUBSCRIBE_LINK_REGEX, ""), o = o.replace(E, s);
33
- }), o;
9
+ processor: (n) => {
10
+ var a, u;
11
+ const { getPartnerName: i } = m(), t = b();
12
+ let e = n;
13
+ const o = `/${i()}/email/0?user={{iid}}`, r = (a = t.selectedUnsubscribePages) == null ? void 0 : a.find((l) => l.type === p.UNSUBSCRIBE_LINK_TYPE), s = (u = t.selectedUnsubscribePages) == null ? void 0 : u.find((l) => l.type === p.PREFERENCES_LINK_TYPE);
14
+ return r && (e = e.replace(
15
+ c.GLOBAL_UNSUBSCRIBE_LINK_REGEX,
16
+ E.UNSUBSCRIBE_URL + o
17
+ )), s && (e = e.replace(
18
+ c.PREFERENCES_UNSUBSCRIBE_LINK_REGEX,
19
+ E.PREFERENCES_URL + o
20
+ )), e.replace(c.UNSUBSCRIBE_LINK_REGEX, "");
34
21
  },
35
22
  priority: 60
36
23
  },
@@ -38,7 +25,7 @@ const T = [
38
25
  id: "remove-data-ogsb-button-styles",
39
26
  description: "Removing styles like [data-ogsb] .es-button.es-button-123 { background: red; }",
40
27
  type: "regex",
41
- pattern: l.DATA_OGSB_BUTTON_CSS_REGEX,
28
+ pattern: c.DATA_OGSB_BUTTON_CSS_REGEX,
42
29
  replacement: "",
43
30
  flags: "g",
44
31
  priority: 61
@@ -47,25 +34,25 @@ const T = [
47
34
  id: "format-comment-braces",
48
35
  description: "Adding spaces around comment braces for proper formatting",
49
36
  type: "custom",
50
- processor: (t) => t.replace(/{#/g, "{ #").replace(/#}/g, "# }"),
37
+ processor: (n) => n.replace(/{#/g, "{ #").replace(/#}/g, "# }"),
51
38
  priority: 62
52
39
  },
53
40
  {
54
41
  id: "add-universal-link-flags",
55
42
  description: "Adding universal link flags",
56
43
  type: "custom",
57
- processor: (t) => {
58
- let i = t;
59
- const a = i.match(/<a[^>]+>(.*?)<\/a>/gm);
60
- return a && a.forEach((n) => {
61
- if (n.includes("insEmail=1"))
44
+ processor: (n) => {
45
+ let i = n;
46
+ const t = i.match(/<a[^>]+>(.*?)<\/a>/gm);
47
+ return t && t.forEach((e) => {
48
+ if (e.includes("insEmail=1"))
62
49
  return;
63
- if (n.match(/<a\s+(?:[^>]*?\s+)?href=(["'`”])(.*?)\1\s+(?:[^>]*?\s+)?universal=(["'`”])true\3/gm)) {
64
- const o = n.replace(/href=(["'`”])(.*?)\1/gm, (e) => {
65
- const r = e.slice(6, e.length - 1).trim();
66
- return e.includes("?") || e.includes("#") ? r.slice(-1) === "&" ? e.replace(r, `${r}insEmail=1`) : e.replace(r, `${r}&insEmail=1`) : e.replace(r, `${r}?insEmail=1`);
50
+ if (e.match(/<a\s+(?:[^>]*?\s+)?href=(["'`”])(.*?)\1\s+(?:[^>]*?\s+)?universal=(["'`”])true\3/gm)) {
51
+ const o = e.replace(/href=(["'`”])(.*?)\1/gm, (r) => {
52
+ const s = r.slice(6, r.length - 1).trim();
53
+ return r.includes("?") || r.includes("#") ? s.slice(-1) === "&" ? r.replace(s, `${s}insEmail=1`) : r.replace(s, `${s}&insEmail=1`) : r.replace(s, `${s}?insEmail=1`);
67
54
  });
68
- i = i.replace(n, o);
55
+ i = i.replace(e, o);
69
56
  }
70
57
  }), i;
71
58
  },
@@ -73,5 +60,5 @@ const T = [
73
60
  }
74
61
  ];
75
62
  export {
76
- T as unsubscribeCompilerRules
63
+ S as unsubscribeCompilerRules
77
64
  };
@@ -1 +1 @@
1
- export declare const migrate: (html: string) => Promise<string>;
1
+ export declare const migrate: (html: string) => string;
@@ -1,10 +1,9 @@
1
- import { migrateCheckbox as m } from "./checkboxMigrator.js";
2
- import { migrateRadioButton as i } from "./radioButtonMigrator.js";
3
- import { migrateUnsubscribe as o } from "./unsubscribeMigrator.js";
4
- const n = async (r) => {
1
+ import { migrateCheckbox as o } from "./checkboxMigrator.js";
2
+ import { migrateRadioButton as e } from "./radioButtonMigrator.js";
3
+ const a = (r) => {
5
4
  let t = r;
6
- return t = m(t), t = i(t), t = await o(t), t;
5
+ return t = o(r), t = e(r), t;
7
6
  };
8
7
  export {
9
- n as migrate
8
+ a as migrate
10
9
  };
@@ -4,9 +4,6 @@ const a = {
4
4
  senderName: "",
5
5
  subject: ""
6
6
  },
7
- extensions: {
8
- unsubscribe: !0
9
- },
10
7
  features: {
11
8
  dynamicContent: !0,
12
9
  saveAsTemplate: !0,
@@ -16,7 +13,7 @@ const a = {
16
13
  }, t = {
17
14
  promotional: 1,
18
15
  transactional: 2
19
- }, e = "email", o = "Guido User", n = t.promotional, s = 2, i = {
16
+ }, e = "email", o = "Guido User", n = t.promotional, i = 2, s = {
20
17
  email: 60,
21
18
  architect: 49
22
19
  }, u = [
@@ -56,8 +53,8 @@ export {
56
53
  n as DefaultMessageType,
57
54
  e as DefaultProductType,
58
55
  o as DefaultUsername,
59
- s as EditorType,
60
- i as ProductIds,
56
+ i as EditorType,
57
+ s as ProductIds,
61
58
  u as TEST_PARTNER_LIST,
62
59
  t as TemplateTypes
63
60
  };
@@ -13,22 +13,3 @@ export declare const URLS: {
13
13
  PREFERENCES_URL: string;
14
14
  };
15
15
  export declare const INSIDER_ID = "iid";
16
- export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center";
17
- export declare const UNSUBSCRIBE_PAGES_LINK = "/email/unsubscribe-pages";
18
- export declare const PAGE_TYPES: {
19
- GLOBAL_UNSUBSCRIBE: number;
20
- GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: number;
21
- SUBSCRIPTION_PREFERENCE_CENTER: number;
22
- SUBSCRIPTION_PREFERENCE_CONFIRMATION: number;
23
- RESUBSCRIBE: number;
24
- };
25
- export declare const TYPE_COLLECTIONS: {
26
- [x: number]: number[];
27
- };
28
- export declare const TYPE_TRANSLATIONS: {
29
- [x: number]: string;
30
- };
31
- export declare const MERGE_TAGS: {
32
- [x: number]: string;
33
- default: string;
34
- };