@useinsider/guido 3.0.0-beta.6464215 → 3.0.0-beta.736f808

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 (36) hide show
  1. package/dist/components/Guido.vue.js +1 -1
  2. package/dist/components/Guido.vue2.js +67 -64
  3. package/dist/components/organisms/header/EditorActions.vue.js +10 -8
  4. package/dist/components/organisms/header/EditorActions.vue2.js +40 -30
  5. package/dist/components/organisms/header/MigrationConfirmModal.vue.js +17 -0
  6. package/dist/components/organisms/header/MigrationConfirmModal.vue2.js +39 -0
  7. package/dist/config/i18n/en/labels.json.js +8 -3
  8. package/dist/config/migrator/itemsBlockMigrator.js +135 -131
  9. package/dist/config/migrator/recommendationMigrator.js +58 -54
  10. package/dist/enums/block.js +4 -0
  11. package/dist/extensions/Blocks/Items/block.js +30 -21
  12. package/dist/extensions/Blocks/Items/iconsRegistry.js +7 -6
  13. package/dist/extensions/Blocks/Items/items.css.js +48 -0
  14. package/dist/extensions/Blocks/Recommendation/block.js +22 -13
  15. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +5 -4
  16. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +48 -0
  17. package/dist/extensions/Blocks/common-control.js +12 -4
  18. package/dist/guido.css +1 -1
  19. package/dist/src/@types/extensions/block.d.ts +2 -0
  20. package/dist/src/App.vue.d.ts +3 -1
  21. package/dist/src/components/Guido.vue.d.ts +1 -1
  22. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +1 -1
  23. package/dist/src/components/organisms/header/HeaderWrapper.vue.d.ts +1 -1
  24. package/dist/src/components/organisms/header/MigrationConfirmModal.vue.d.ts +6 -0
  25. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  26. package/dist/src/components/wrappers/WpModal.vue.d.ts +2 -2
  27. package/dist/src/enums/block.d.ts +4 -0
  28. package/dist/src/extensions/Blocks/Items/block.d.ts +3 -1
  29. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +3 -1
  30. package/dist/src/extensions/Blocks/common-control.d.ts +5 -0
  31. package/dist/src/stores/template.d.ts +29 -0
  32. package/dist/src/utils/migrationBannerHtml.d.ts +2 -0
  33. package/dist/static/assets/info.svg.js +5 -0
  34. package/dist/stores/template.js +15 -0
  35. package/dist/utils/migrationBannerHtml.js +21 -0
  36. package/package.json +3 -2
@@ -12,7 +12,7 @@ var t = function() {
12
12
  n,
13
13
  !1,
14
14
  null,
15
- "87189371"
15
+ "25780af6"
16
16
  );
17
17
  const u = s.exports;
18
18
  export {
@@ -1,10 +1,10 @@
1
- import { defineComponent as j, defineAsyncComponent as N, ref as A, computed as I, watch as J, onMounted as Q, onUnmounted as X } from "vue";
1
+ import { defineComponent as j, defineAsyncComponent as R, ref as A, computed as I, watch as J, onMounted as Q, onUnmounted as X } from "vue";
2
2
  import { provideGuidoActions as Y } from "../composables/useGuidoActions.js";
3
3
  import { usePartner as Z } from "../composables/usePartner.js";
4
4
  import { useStripo as ee } from "../composables/useStripo.js";
5
5
  import { useTimerClone as te } from "../composables/useTimerClone.js";
6
- import { migrate as R } from "../config/migrator/index.js";
7
- import { ModuleFolderDefaults as W } from "../enums/defaults.js";
6
+ import { migrate as W } from "../config/migrator/index.js";
7
+ import { ModuleFolderDefaults as B } from "../enums/defaults.js";
8
8
  import { RIBBON_SELECTOR as oe } from "../enums/onboarding.js";
9
9
  import ne from "./organisms/base/Toaster.vue.js";
10
10
  import se from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
@@ -12,117 +12,120 @@ import re from "./organisms/header/HeaderWrapper.vue.js";
12
12
  import ce from "./organisms/LoadingWrapper.vue.js";
13
13
  import ae from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
14
14
  import ie from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
15
- import { useStripoApi as de } from "../services/stripoApi.js";
16
- import { useConfigStore as me } from "../stores/config.js";
15
+ import { useStripoApi as me } from "../services/stripoApi.js";
16
+ import { useConfigStore as de } from "../stores/config.js";
17
17
  import { useDynamicContentStore as le } from "../stores/dynamic-content.js";
18
18
  import { useEditorStore as ue } from "../stores/editor.js";
19
19
  import { usePreviewStore as pe } from "../stores/preview.js";
20
20
  import { useUnsubscribeStore as fe } from "../stores/unsubscribe.js";
21
- const Ae = /* @__PURE__ */ j({
21
+ const Re = /* @__PURE__ */ j({
22
22
  __name: "Guido",
23
23
  props: {
24
24
  config: null
25
25
  },
26
26
  emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
27
- setup(B, { expose: H, emit: o }) {
28
- const y = B, x = N(
27
+ setup(H, { expose: x, emit: s }) {
28
+ const b = H, G = R(
29
29
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
30
- ), G = N(
30
+ ), z = R(
31
31
  () => import("./organisms/onboarding/OnboardingWrapper.vue.js")
32
- ), h = A(), b = A(), d = le(), S = fe(), c = me();
33
- c.init(y.config);
34
- const m = ue(), q = pe(), a = I(() => m.hasChanges), { isTestPartner: z } = Z(), g = () => {
32
+ ), S = A(), d = A(), l = le(), g = fe(), a = de();
33
+ a.init(b.config);
34
+ const u = ue(), q = pe(), i = I(() => u.hasChanges), { isTestPartner: K } = Z(), w = () => {
35
35
  var e;
36
- return (e = h.value) == null ? void 0 : e.handleSave(!0);
36
+ return (e = S.value) == null ? void 0 : e.handleSave(!0);
37
37
  }, {
38
- templateId: l,
39
- userId: w,
38
+ templateId: p,
39
+ userId: E,
40
40
  partnerName: D,
41
- username: E,
41
+ username: C,
42
42
  template: t,
43
- editor: s
44
- } = c, i = (t == null ? void 0 : t.html) || "", C = (t == null ? void 0 : t.css) || "", u = (t == null ? void 0 : t.preselectedDynamicContent) || [], T = (s == null ? void 0 : s.savedModulesFolderName) || W.SAVED_MODULES, L = (s == null ? void 0 : s.defaultModulesFolderName) || W.DEFAULT_MODULES;
45
- m.templateId = l;
46
- const p = {
47
- emailId: l,
48
- userId: w,
49
- username: E,
43
+ editor: r
44
+ } = a, m = (t == null ? void 0 : t.html) || "", T = (t == null ? void 0 : t.css) || "", f = (t == null ? void 0 : t.preselectedDynamicContent) || [], k = (r == null ? void 0 : r.savedModulesFolderName) || B.SAVED_MODULES, F = (r == null ? void 0 : r.defaultModulesFolderName) || B.DEFAULT_MODULES;
45
+ u.templateId = p;
46
+ const v = {
47
+ emailId: p,
48
+ userId: E,
49
+ username: C,
50
50
  partnerName: D,
51
- savedModulesFolderName: T,
52
- defaultModulesFolderName: L
53
- }, k = {
54
- preselectedDynamicContentList: u,
51
+ savedModulesFolderName: k,
52
+ defaultModulesFolderName: F
53
+ }, L = {
54
+ preselectedDynamicContentList: f,
55
55
  onReady: () => {
56
- console.debug("guido:ready"), o("ready");
56
+ console.debug("guido:ready"), s("ready");
57
57
  }
58
- }, { initPlugin: F } = ee(p, k), { getDefaultTemplate: M } = de(), { cloneTimersOnSave: U, hasTimerBlocks: _ } = te(), K = I(() => {
58
+ }, { initPlugin: U } = ee(v, L), { getDefaultTemplate: _ } = me(), { cloneTimersOnSave: M, hasTimerBlocks: O } = te(), V = I(() => {
59
59
  var e;
60
- return !((e = c.ui) != null && e.showHeader);
60
+ return !((e = a.ui) != null && e.showHeader);
61
61
  });
62
62
  Y({
63
63
  onBack: () => {
64
- console.debug("guido:back"), o("back");
64
+ console.debug("guido:back"), s("back");
65
65
  },
66
66
  onSaveStart: () => {
67
- console.debug("guido:save:start"), o("save:start");
67
+ console.debug("guido:save:start"), s("save:start");
68
68
  },
69
69
  onSaveComplete: (e) => {
70
- const n = { ...e, metadata: p };
71
- console.debug("guido:save:complete", n), o("save:complete", n);
70
+ const n = { ...e, metadata: v };
71
+ console.debug("guido:save:complete", n), s("save:complete", n);
72
72
  },
73
73
  onTestEmailClick: () => {
74
- console.debug("guido:test-email:click"), o("test-email:click");
74
+ console.debug("guido:test-email:click"), s("test-email:click");
75
75
  }
76
76
  });
77
- const O = (e) => {
78
- console.debug("dynamic-content:close", e), d.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
79
- }, P = () => {
77
+ const P = (e) => {
78
+ console.debug("dynamic-content:close", e), l.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
79
+ }, N = () => {
80
80
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
81
81
  };
82
- J(() => a.value, () => {
83
- o("on-change", a.value);
82
+ J(() => i.value, () => {
83
+ s("on-change", i.value);
84
84
  });
85
- const f = (e) => {
86
- const n = e, { attribute: V, position: $ } = n.detail;
87
- console.debug("dynamic-content:open", n.detail), o("dynamic-content:open", V, $);
85
+ const y = (e) => {
86
+ const n = e, { attribute: o, position: $ } = n.detail;
87
+ console.debug("dynamic-content:open", n.detail), s("dynamic-content:open", o, $);
88
88
  };
89
- let r = null;
90
- const v = () => {
89
+ let c = null;
90
+ const h = () => {
91
91
  var n;
92
92
  const e = document.querySelector(oe);
93
- (n = b.value) == null || n.style.setProperty("--ribbon-offset", `${(e == null ? void 0 : e.offsetHeight) ?? 0}px`);
93
+ (n = d.value) == null || n.style.setProperty("--ribbon-offset", `${(e == null ? void 0 : e.offsetHeight) ?? 0}px`);
94
94
  };
95
95
  return Q(async () => {
96
- console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), v(), r = new MutationObserver(v), r.observe(document.body, { childList: !0, subtree: !0 });
96
+ var n;
97
+ console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), h();
98
+ const e = (n = d.value) == null ? void 0 : n.parentElement;
99
+ e && (c = new ResizeObserver(h), c.observe(e));
97
100
  try {
98
- S.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
99
- let e = {
100
- html: i && await R(i),
101
- css: C
101
+ g.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
102
+ let o = {
103
+ html: m && await W(m),
104
+ css: T
102
105
  };
103
- e.html || (e = await M(), e.html = await R(e.html)), _(e.html) && (e.html = await U(e.html)), await F(e), d.selectedDynamicContentList = u;
104
- } catch (e) {
105
- console.error("Failed to initialize Stripo editor:", e);
106
+ o.html || (o = await _(), o.html = await W(o.html)), O(o.html) && (o.html = await M(o.html)), await U(o), l.selectedDynamicContentList = f;
107
+ } catch (o) {
108
+ console.error("Failed to initialize Stripo editor:", o);
106
109
  }
107
- document.addEventListener("dynamic-content:open", f);
110
+ document.addEventListener("dynamic-content:open", y);
108
111
  }), X(() => {
109
- r == null || r.disconnect(), document.removeEventListener("dynamic-content:open", f);
112
+ c == null || c.disconnect(), document.removeEventListener("dynamic-content:open", y);
110
113
  try {
111
114
  window.UIEditor.removeEditor();
112
115
  } catch {
113
116
  console.debug("Failed to remove Stripo editor: No editor found");
114
117
  }
115
- c.reset();
116
- }), H({
118
+ a.reset();
119
+ }), x({
117
120
  dynamicContent: {
118
- insert: O,
119
- close: P
121
+ insert: P,
122
+ close: N
120
123
  },
121
- hasChanges: a,
122
- saveSilent: g
123
- }), { __sfc: !0, PreviewContainer: x, OnboardingWrapper: G, headerWrapperRef: h, wrapperRef: b, dynamicContentStore: d, unsubscribeStore: S, props: y, configStore: c, editorStore: m, previewStore: q, hasChanges: a, isTestPartner: z, saveSilent: g, templateId: l, userId: w, partnerName: D, username: E, templateConfig: t, editorConfig: s, html: i, css: C, preselectedDynamicContentList: u, savedModulesFolderName: T, defaultModulesFolderName: L, emit: o, metadata: p, options: k, initPlugin: F, getDefaultTemplate: M, cloneTimersOnSave: U, hasTimerBlocks: _, noHeader: K, insertDynamicContent: O, closeDynamicContent: P, handleDynamicContentOpen: f, ribbonObserver: r, updateRibbonOffset: v, Toaster: ne, FilterSelectionDrawer: se, HeaderWrapper: re, LoadingWrapper: ce, SaveAsTemplateDrawer: ae, UnsubscribeWrapper: ie };
124
+ hasChanges: i,
125
+ saveSilent: w
126
+ }), { __sfc: !0, PreviewContainer: G, OnboardingWrapper: z, headerWrapperRef: S, wrapperRef: d, dynamicContentStore: l, unsubscribeStore: g, props: b, configStore: a, editorStore: u, previewStore: q, hasChanges: i, isTestPartner: K, saveSilent: w, templateId: p, userId: E, partnerName: D, username: C, templateConfig: t, editorConfig: r, html: m, css: T, preselectedDynamicContentList: f, savedModulesFolderName: k, defaultModulesFolderName: F, emit: s, metadata: v, options: L, initPlugin: U, getDefaultTemplate: _, cloneTimersOnSave: M, hasTimerBlocks: O, noHeader: V, insertDynamicContent: P, closeDynamicContent: N, handleDynamicContentOpen: y, ribbonObserver: c, updateRibbonOffset: h, Toaster: ne, FilterSelectionDrawer: se, HeaderWrapper: re, LoadingWrapper: ce, SaveAsTemplateDrawer: ae, UnsubscribeWrapper: ie };
124
127
  }
125
128
  });
126
129
  export {
127
- Ae as default
130
+ Re as default
128
131
  };
@@ -1,21 +1,23 @@
1
1
  import l from "./EditorActions.vue2.js";
2
2
  /* empty css */
3
- import r from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var d = function() {
3
+ import d from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var u = function() {
5
5
  var s, i, n, a;
6
- var e = this, o = e._self._c, t = e._self._setupProxy;
7
- return o("div", { staticClass: "d-f editor-actions" }, [t.isVersionHistoryButtonVisible ? o(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : e._e(), o(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = (s = t.config) == null ? void 0 : s.features) != null && i.saveAsTemplate ? o(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : e._e(), (a = (n = t.config) == null ? void 0 : n.features) != null && a.testMessage ? o(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button", { staticPosition: "bottom right" }), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.testEmailClick } }) : e._e(), t.editorStore.isPreviewModeOpen ? e._e() : o(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(_) {
6
+ var o = this, e = o._self._c, t = o._self._setupProxy;
7
+ return e("div", { staticClass: "d-f editor-actions" }, [t.isVersionHistoryButtonVisible ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : o._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = (s = t.config) == null ? void 0 : s.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : o._e(), (a = (n = t.config) == null ? void 0 : n.features) != null && a.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button", { staticPosition: "bottom right" }), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.testEmailClick } }) : o._e(), t.editorStore.isPreviewModeOpen ? o._e() : e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(r) {
8
8
  return t.handleSave(!1);
9
+ } } }), e(t.MigrationConfirmModal, { ref: "migrationModalRef", on: { confirm: function(r) {
10
+ return t.executeSave(!1);
9
11
  } } })], 1);
10
- }, u = [], p = /* @__PURE__ */ r(
12
+ }, p = [], c = /* @__PURE__ */ d(
11
13
  l,
12
- d,
13
14
  u,
15
+ p,
14
16
  !1,
15
17
  null,
16
- "17dd4d8b"
18
+ "a289b9e9"
17
19
  );
18
- const v = p.exports;
20
+ const v = c.exports;
19
21
  export {
20
22
  v as default
21
23
  };
@@ -1,41 +1,51 @@
1
- import { defineComponent as g, ref as u, computed as f } from "vue";
2
- import { useConfig as E } from "../../../composables/useConfig.js";
3
- import { useExport as h } from "../../../composables/useExport.js";
4
- import { useTestEmailClick as w } from "../../../composables/useGuidoActions.js";
5
- import { useSave as x } from "../../../composables/useSave.js";
6
- import { useTranslations as T } from "../../../composables/useTranslations.js";
7
- import { useVersionHistoryApi as O } from "../../../composables/useVersionHistoryApi.js";
8
- import { useEditorStore as A } from "../../../stores/editor.js";
9
- import { getTooltipOptions as C } from "../../../utils/tooltipUtils.js";
10
- import { InButtonV2 as k } from "@useinsider/design-system-vue";
11
- const J = /* @__PURE__ */ g({
1
+ import { defineComponent as E, ref as n, computed as g } from "vue";
2
+ import { useConfig as w } from "../../../composables/useConfig.js";
3
+ import { useExport as C } from "../../../composables/useExport.js";
4
+ import { useTestEmailClick as M } from "../../../composables/useGuidoActions.js";
5
+ import { useSave as O } from "../../../composables/useSave.js";
6
+ import { useTranslations as A } from "../../../composables/useTranslations.js";
7
+ import { useVersionHistoryApi as k } from "../../../composables/useVersionHistoryApi.js";
8
+ import { useEditorStore as B } from "../../../stores/editor.js";
9
+ import { useTemplateStore as R } from "../../../stores/template.js";
10
+ import { getTooltipOptions as b } from "../../../utils/tooltipUtils.js";
11
+ import { InButtonV2 as D } from "@useinsider/design-system-vue";
12
+ import { storeToRefs as I } from "pinia";
13
+ import P from "./MigrationConfirmModal.vue.js";
14
+ const Z = /* @__PURE__ */ E({
12
15
  __name: "EditorActions",
13
- setup(B, { expose: v }) {
14
- const { config: n } = E(), { exportHtml: a } = h(), { save: l } = x(), { openVersionHistory: p, closeVersionHistory: c } = O(), o = A(), s = T(), r = u(!1), i = u(!1), d = w(), y = () => {
15
- if (o.isVersionHistoryOpen) {
16
+ setup(j, { expose: H }) {
17
+ const { config: a } = w(), { exportHtml: m } = C(), { save: p } = O(), { openVersionHistory: l, closeVersionHistory: c } = k(), e = B(), u = R(), { hasMigrations: f } = I(u), s = A(), r = n(!1), i = n(!1), v = n(), S = M(), V = () => {
18
+ if (e.isVersionHistoryOpen) {
16
19
  c();
17
20
  return;
18
21
  }
19
- p();
20
- }, H = async () => {
21
- r.value = !0, await a(), r.value = !1;
22
- }, V = () => {
23
- o.isSaveAsTemplateDrawerOpen = !0;
24
- }, S = f(() => o.isVersionHistoryOpen ? s("newsletter.close-version-history") : s("newsletter.version-history")), _ = f(
22
+ l();
23
+ }, T = async () => {
24
+ r.value = !0, await m(), r.value = !1;
25
+ }, _ = () => {
26
+ e.isSaveAsTemplateDrawerOpen = !0;
27
+ }, h = g(() => e.isVersionHistoryOpen ? s("newsletter.close-version-history") : s("newsletter.version-history")), x = g(
25
28
  () => {
26
- var t, e;
27
- return ((e = (t = n.value) == null ? void 0 : t.features) == null ? void 0 : e.versionHistory) && !o.isPreviewModeOpen;
29
+ var o, t;
30
+ return ((t = (o = a.value) == null ? void 0 : o.features) == null ? void 0 : t.versionHistory) && !e.isPreviewModeOpen;
28
31
  }
29
- ), m = async (t) => {
30
- i.value = !0, o.loadingStatus = !0;
31
- const e = await l(t);
32
- return i.value = !1, (t || !e) && (o.loadingStatus = !1), e;
32
+ ), d = async (o) => {
33
+ i.value = !0, e.loadingStatus = !0;
34
+ const t = await p(o);
35
+ return i.value = !1, (o || !t) && (e.loadingStatus = !1), t;
36
+ }, y = (o) => {
37
+ var t;
38
+ if (!o && f.value) {
39
+ (t = v.value) == null || t.open();
40
+ return;
41
+ }
42
+ d(o);
33
43
  };
34
- return v({
35
- handleSave: m
36
- }), { __sfc: !0, config: n, exportHtml: a, save: l, openVersionHistory: p, closeVersionHistory: c, editorStore: o, trans: s, isExporting: r, isSaving: i, testEmailClick: d, handleVersionHistory: y, handleExport: H, handleSaveAs: V, versionHistoryTooltipText: S, isVersionHistoryButtonVisible: _, handleSave: m, getTooltipOptions: C, InButtonV2: k };
44
+ return H({
45
+ handleSave: y
46
+ }), { __sfc: !0, config: a, exportHtml: m, save: p, openVersionHistory: l, closeVersionHistory: c, editorStore: e, templateStore: u, hasMigrations: f, trans: s, isExporting: r, isSaving: i, migrationModalRef: v, testEmailClick: S, handleVersionHistory: V, handleExport: T, handleSaveAs: _, versionHistoryTooltipText: h, isVersionHistoryButtonVisible: x, executeSave: d, handleSave: y, getTooltipOptions: b, InButtonV2: D, MigrationConfirmModal: P };
37
47
  }
38
48
  });
39
49
  export {
40
- J as default
50
+ Z as default
41
51
  };
@@ -0,0 +1,17 @@
1
+ import n from "./MigrationConfirmModal.vue2.js";
2
+ import t from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var i = function() {
4
+ var e = this, r = e._self._c, o = e._self._setupProxy;
5
+ return o.isVisible ? r(o.WpModal, { attrs: { id: "migration-confirm-modal", size: "X-small", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.trans("email-editor.migration-confirm-save") }, on: { close: o.close, "primary-action": o.handleConfirm } }, [r("p", { domProps: { innerHTML: e._s(o.confirmMessage) } })]) : e._e();
6
+ }, s = [], a = /* @__PURE__ */ t(
7
+ n,
8
+ i,
9
+ s,
10
+ !1,
11
+ null,
12
+ null
13
+ );
14
+ const c = a.exports;
15
+ export {
16
+ c as default
17
+ };
@@ -0,0 +1,39 @@
1
+ import { defineComponent as g, ref as m, computed as s } from "vue";
2
+ import _ from "../../wrappers/WpModal.vue.js";
3
+ import { useTranslations as b } from "../../../composables/useTranslations.js";
4
+ import { useTemplateStore as M } from "../../../stores/template.js";
5
+ const k = /* @__PURE__ */ g({
6
+ __name: "MigrationConfirmModal",
7
+ emits: ["confirm"],
8
+ setup(y, { expose: c, emit: n }) {
9
+ const t = m(!1), o = M(), e = b(), l = m({
10
+ cancelOrBackButton: {
11
+ type: "secondary",
12
+ labelText: e("campaign-builder.cancel"),
13
+ styling: "ghost"
14
+ },
15
+ primaryButton: {
16
+ type: "primary",
17
+ labelText: e("email-editor.migration-confirm-save")
18
+ }
19
+ }), i = s(() => {
20
+ if (o.hasRecommendationMigrations && o.hasItemsMigrations) {
21
+ const d = e("email-recommendation.recommendation"), u = e("email-editor.items");
22
+ return `${d} ${e("campaign-builder.or")} ${u}`;
23
+ }
24
+ return o.hasItemsMigrations ? e("email-editor.items") : e("email-recommendation.recommendation");
25
+ }), f = s(() => e("email-editor.migration-confirm-message", {
26
+ blockNames: i.value
27
+ })), r = () => {
28
+ t.value = !0;
29
+ }, a = () => {
30
+ t.value = !1;
31
+ }, p = () => {
32
+ a(), n("confirm");
33
+ };
34
+ return c({ open: r }), { __sfc: !0, emit: n, isVisible: t, templateStore: o, trans: e, footerButtonOptions: l, blockNames: i, confirmMessage: f, open: r, close: a, handleConfirm: p, WpModal: _ };
35
+ }
36
+ });
37
+ export {
38
+ k as default
39
+ };
@@ -1,7 +1,12 @@
1
- const l = {
1
+ const e = "Items", o = {
2
2
  "Global Styles & Layout": "Global Styles and Layout",
3
- "Structures & Modules": "Structures and Modules"
3
+ "Structures & Modules": "Structures and Modules",
4
+ "Recommendation Block": "Recommendation",
5
+ Items: e,
6
+ "This block is switched from the Old Version to the New Version. We recommend you check the Recommendation block and test your message to ensure it works properly.": "This block is switched from the Old Version to the New Version. We recommend you check the Recommendation block and test your message to ensure it works properly.",
7
+ "This block is switched from the Old Version to the New Version. We recommend you check the Items block and test your message to ensure it works properly.": "This block is switched from the Old Version to the New Version. We recommend you check the Items block and test your message to ensure it works properly."
4
8
  };
5
9
  export {
6
- l as default
10
+ e as Items,
11
+ o as default
7
12
  };