@useinsider/guido 1.0.2-beta.0a60d71 → 1.0.2-beta.0c6406b

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.
@@ -1,18 +1,18 @@
1
- import a from "./Guido.vue2.js";
1
+ import o from "./Guido.vue2.js";
2
2
  /* empty css */
3
- import i from "../_virtual/_plugin-vue2_normalizer.js";
4
- var t = function() {
5
- var o = this, e = o._self._c, r = o._self._setupProxy;
6
- return e("div", { staticClass: "guido-editor__wrapper" }, [e(r.HeaderWrapper), r.editorStore.isPreviewModeOpen ? e(r.PreviewContainer) : o._e(), e("div", { directives: [{ name: "show", rawName: "v-show", value: !r.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", attrs: { id: "guido-editor" } }), e(r.Toaster), e(r.SaveAsTemplateDrawer), e(r.LoadingWrapper)], 1);
7
- }, s = [], d = /* @__PURE__ */ i(
8
- a,
9
- t,
3
+ import t from "../_virtual/_plugin-vue2_normalizer.js";
4
+ var s = function() {
5
+ var i = this, e = i._self._c, r = i._self._setupProxy;
6
+ return e("div", { staticClass: "guido-editor__wrapper" }, [e(r.HeaderWrapper), r.previewStore.isPreviewModeOpen ? e(r.PreviewContainer) : i._e(), e("div", { directives: [{ name: "show", rawName: "v-show", value: !r.previewStore.isPreviewModeOpen, expression: "!previewStore.isPreviewModeOpen" }], staticClass: "guido-editor__container", attrs: { id: "guido-editor" } }), e(r.Toaster), e(r.SaveAsTemplateDrawer)], 1);
7
+ }, a = [], n = /* @__PURE__ */ t(
8
+ o,
10
9
  s,
10
+ a,
11
11
  !1,
12
12
  null,
13
- "f78aa5ad"
13
+ "84c43576"
14
14
  );
15
- const c = d.exports;
15
+ const c = n.exports;
16
16
  export {
17
17
  c as default
18
18
  };
@@ -1,18 +1,17 @@
1
- import { defineComponent as I, defineAsyncComponent as L, computed as P, onMounted as _, onUnmounted as k } from "vue";
1
+ import { defineComponent as I, defineAsyncComponent as P, computed as _, onMounted as L, onUnmounted as k } from "vue";
2
2
  import { provideGuidoActions as A } from "../composables/useGuidoActions.js";
3
3
  import { usePartner as N } from "../composables/usePartner.js";
4
4
  import { useStripo as U } from "../composables/useStripo.js";
5
- import { DefaultUsername as W, DefaultMessageType as x, DefaultGuidoConfig as M } from "../enums/defaults.js";
5
+ import { DefaultUsername as x, DefaultMessageType as M, DefaultGuidoConfig as W } from "../enums/defaults.js";
6
6
  import z from "./organisms/base/Toaster.vue.js";
7
7
  import B from "./organisms/header/HeaderWrapper.vue.js";
8
- import F from "./organisms/LoadingWrapper.vue.js";
9
- import H from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
10
- import { useStripoApi as K } from "../services/stripoApi.js";
11
- import { useDynamicContentStore as R } from "../stores/dynamic-content.js";
12
- import { useEditorStore as j } from "../stores/editor.js";
13
- import { usePreviewStore as q } from "../stores/preview.js";
14
- import J from "../node_modules/lodash-es/merge.js";
15
- const ae = /* @__PURE__ */ I({
8
+ import F from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
9
+ import { useStripoApi as H } from "../services/stripoApi.js";
10
+ import { useDynamicContentStore as K } from "../stores/dynamic-content.js";
11
+ import { useEditorStore as R } from "../stores/editor.js";
12
+ import { usePreviewStore as j } from "../stores/preview.js";
13
+ import q from "../node_modules/lodash-es/merge.js";
14
+ const se = /* @__PURE__ */ I({
16
15
  __name: "Guido",
17
16
  props: {
18
17
  templateId: null,
@@ -28,32 +27,32 @@ const ae = /* @__PURE__ */ I({
28
27
  },
29
28
  emits: ["dynamic-content:open", "back", "save:start", "save:complete"],
30
29
  setup(b, { expose: E, emit: t }) {
31
- const o = b, T = L(
30
+ const o = b, T = P(
32
31
  () => import("./organisms/email-preview/PreviewContainer.vue.js")
33
- ), n = R(), a = j(), G = q(), c = P(() => a.hasChanges), r = o.preselectedDynamicContentList || [], { getPartnerName: m, getProductType: d } = N(), {
32
+ ), n = K(), c = R(), a = _(() => c.hasChanges), r = o.preselectedDynamicContentList || [], { getPartnerName: m, getProductType: d } = N(), G = j(), {
34
33
  templateId: l,
35
- userId: p,
36
- guidoConfig: u,
34
+ userId: u,
35
+ guidoConfig: p,
37
36
  html: f = "",
38
37
  css: g = "",
39
- partnerName: i = m(),
40
- productType: s = d(),
41
- messageType: y = x,
42
- username: C = W
38
+ partnerName: s = m(),
39
+ productType: i = d(),
40
+ messageType: y = M,
41
+ username: C = x
43
42
  } = o;
44
- window.GuidoConfig = J(M, u), window.GuidoConfig.partner = {
45
- partnerName: i,
46
- productType: s,
43
+ window.GuidoConfig = q(W, p), window.GuidoConfig.partner = {
44
+ partnerName: s,
45
+ productType: i,
47
46
  messageType: y
48
47
  };
49
48
  const { initPlugin: v } = U({
50
49
  emailId: l,
51
- userId: p,
50
+ userId: u,
52
51
  username: C,
53
- partnerName: i,
54
- productType: s,
52
+ partnerName: s,
53
+ productType: i,
55
54
  preselectedDynamicContentList: r
56
- }), { getDefaultTemplate: w } = K();
55
+ }), { getDefaultTemplate: w } = H();
57
56
  A({
58
57
  onBack: () => {
59
58
  console.debug("guido:back"), t("back");
@@ -70,7 +69,7 @@ const ae = /* @__PURE__ */ I({
70
69
  }, S = () => {
71
70
  console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
72
71
  };
73
- return _(async () => {
72
+ return L(async () => {
74
73
  console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
75
74
  try {
76
75
  let e = {
@@ -94,10 +93,10 @@ const ae = /* @__PURE__ */ I({
94
93
  insert: D,
95
94
  close: S
96
95
  },
97
- hasChanges: c
98
- }), { __sfc: !0, PreviewContainer: T, dynamicContentStore: n, props: o, editorStore: a, previewStore: G, hasChanges: c, preselectedDynamicContentList: r, getPartnerName: m, getProductType: d, templateId: l, userId: p, guidoConfig: u, html: f, css: g, partnerName: i, productType: s, messageType: y, username: C, emit: t, initPlugin: v, getDefaultTemplate: w, insertDynamicContent: D, closeDynamicContent: S, Toaster: z, HeaderWrapper: B, LoadingWrapper: F, SaveAsTemplateDrawer: H };
96
+ hasChanges: a
97
+ }), { __sfc: !0, PreviewContainer: T, dynamicContentStore: n, props: o, editorStore: c, hasChanges: a, preselectedDynamicContentList: r, getPartnerName: m, getProductType: d, previewStore: G, templateId: l, userId: u, guidoConfig: p, html: f, css: g, partnerName: s, productType: i, messageType: y, username: C, emit: t, initPlugin: v, getDefaultTemplate: w, insertDynamicContent: D, closeDynamicContent: S, Toaster: z, HeaderWrapper: B, SaveAsTemplateDrawer: F };
99
98
  }
100
99
  });
101
100
  export {
102
- ae as default
101
+ se as default
103
102
  };
@@ -1,19 +1,19 @@
1
- import s from "./PreviewContainer.vue2.js";
2
- import t from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var i = function() {
4
- var o = this, r = o._self._c, e = o._self._setupProxy;
5
- return e.previewStore.isLoaded ? r("div", { staticClass: "d-f f-d-c h-1 b-c-5 bor-r-2 pb-5" }, [r("div", { staticClass: "f-g-1 d-f p-5 o-a g-4 min-h-600" }, [r(e.DesktopPreview, { staticClass: "f-g-1 min-w-0" }), r(e.MobilePreview, { staticClass: "f-0 min-w-a" })], 1), e.previewStore.isAMPErrorModalVisible ? r(e.AmpErrorModal, { on: { close: function(_) {
6
- return e.previewStore.closeErrorModal();
7
- } } }) : o._e()], 1) : o._e();
8
- }, n = [], a = /* @__PURE__ */ t(
9
- s,
1
+ import i from "./PreviewContainer.vue2.js";
2
+ import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var t = function() {
4
+ var s = this, e = s._self._c, r = s._self._setupProxy;
5
+ return e("div", { staticClass: "d-f f-d-c h-1 b-c-5 bor-r-2 pb-5" }, [e("div", { staticClass: "f-g-1 d-f p-5 o-a g-4 min-h-600" }, [r.previewStore.isLoading ? [e("div", { staticClass: "d-f a-i-c j-c-c w-1 h-1 f-g-1" }, [e(r.InLoading, { attrs: { "color-class": "i-c-1", size: "32" } })], 1)] : [e(r.DesktopPreview, { staticClass: "f-g-1 min-w-0" }), e(r.MobilePreview, { staticClass: "f-0 min-w-a" })]], 2), r.previewStore.isAMPErrorModalVisible ? e(r.AmpErrorModal, { on: { close: function(l) {
6
+ return r.previewStore.closeErrorModal();
7
+ } } }) : s._e()], 1);
8
+ }, a = [], n = /* @__PURE__ */ o(
10
9
  i,
11
- n,
10
+ t,
11
+ a,
12
12
  !1,
13
13
  null,
14
14
  null
15
15
  );
16
- const p = a.exports;
16
+ const d = n.exports;
17
17
  export {
18
- p as default
18
+ d as default
19
19
  };
@@ -1,18 +1,19 @@
1
1
  import { defineComponent as r, onMounted as t } from "vue";
2
2
  import { usePreviewMode as i } from "../../../composables/usePreviewMode.js";
3
3
  import { usePreviewStore as m } from "../../../stores/preview.js";
4
+ import { InLoading as n } from "@useinsider/design-system-vue";
4
5
  import p from "./amp/AmpErrorModal.vue.js";
5
- import n from "./desktop-preview/DesktopPreview.vue.js";
6
+ import f from "./desktop-preview/DesktopPreview.vue.js";
6
7
  import s from "./mobile-preview/MobilePreview.vue.js";
7
- const P = /* @__PURE__ */ r({
8
+ const l = /* @__PURE__ */ r({
8
9
  __name: "PreviewContainer",
9
- setup(f) {
10
- const { loadPreviewData: e } = i(), o = m();
10
+ setup(a) {
11
+ const { loadPreviewData: o } = i(), e = m();
11
12
  return t(() => {
12
- e();
13
- }), { __sfc: !0, loadPreviewData: e, previewStore: o, AmpErrorModal: p, DesktopPreview: n, MobilePreview: s };
13
+ o();
14
+ }), { __sfc: !0, loadPreviewData: o, previewStore: e, InLoading: n, AmpErrorModal: p, DesktopPreview: f, MobilePreview: s };
14
15
  }
15
16
  });
16
17
  export {
17
- P as default
18
+ l as default
18
19
  };
@@ -1,18 +1,17 @@
1
- import o from "./LeftSlot.vue2.js";
2
- /* empty css */
3
- import r from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var a = function() {
1
+ import n from "./LeftSlot.vue2.js";
2
+ import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var r = function() {
5
4
  var e = this, s = e._self._c, t = e._self._setupProxy;
6
5
  return s("div", { staticClass: "d-f a-i-c" }, [s(t.InButtonV2, { staticClass: "p-2", attrs: { id: "guido__back-button", "label-text": "Back", "left-icon": "line-arrow-left", styling: "text", type: "secondary" }, on: { click: t.handleBack } }), t.editorStore.isVersionHistoryOpen ? s(t.RestoreButton, { staticClass: "ml-3" }) : e._e()], 1);
7
- }, n = [], i = /* @__PURE__ */ r(
8
- o,
9
- a,
6
+ }, a = [], i = /* @__PURE__ */ o(
10
7
  n,
8
+ r,
9
+ a,
11
10
  !1,
12
11
  null,
13
- "a18ac2d3"
12
+ null
14
13
  );
15
- const d = i.exports;
14
+ const f = i.exports;
16
15
  export {
17
- d as default
16
+ f as default
18
17
  };
@@ -1,17 +1,17 @@
1
1
  import i from "./MiddleSlot.vue2.js";
2
2
  import s from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var n = function() {
4
- var e = this, o = e._self._c, t = e._self._setupProxy;
5
- return t.editorStore.isVersionHistoryOpen ? o("div", { staticClass: "d-f" }, [o(t.VersionHistory), o(t.VersionHistoryViewOptions)], 1) : o("div", { staticClass: "d-f" }, [o(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isUndoButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__undo-button"), "tooltip-text": t.trans("action-builder.undo") } }), o(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isRedoButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__redo-button"), "tooltip-text": t.trans("action-builder.redo") } }), o(t.InButtonV2, { attrs: { id: "guido__code-button", "data-testid": "Code Editor", "left-icon": "line-code", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isCodeEditorButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button"), "tooltip-text": t.codeEditorTooltipText } }), o(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isPreviewButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isPreviewModeOpen, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.previewTooltipText }, on: { click: t.handlePreviewToggle } }), o(t.ViewOptions, { staticClass: "ml-3" }), t.editorStore.isPreviewModeOpen ? o(t.AmpToggle) : e._e()], 1);
6
- }, d = [], l = /* @__PURE__ */ s(
4
+ var o = this, e = o._self._c, t = o._self._setupProxy;
5
+ return t.editorStore.isVersionHistoryOpen ? e("div", { staticClass: "d-f" }, [e(t.VersionHistory), e(t.VersionHistoryViewOptions)], 1) : e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__undo-button"), "tooltip-text": t.trans("action-builder.undo") } }), e(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__redo-button"), "tooltip-text": t.trans("action-builder.redo") } }), e(t.InButtonV2, { attrs: { id: "guido__code-button", "data-testid": "Code Editor", "left-icon": "line-code", styling: "ghost", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button"), "tooltip-text": t.codeEditorTooltipText } }), e(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.previewStore.isPreviewModeOpen, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.previewTooltipText }, on: { click: t.handlePreviewToggle } }), e(t.ViewOptions, { staticClass: "ml-3" }), t.previewStore.isPreviewModeOpen ? e(t.AmpToggle) : o._e()], 1);
6
+ }, r = [], l = /* @__PURE__ */ s(
7
7
  i,
8
8
  n,
9
- d,
9
+ r,
10
10
  !1,
11
11
  null,
12
12
  null
13
13
  );
14
- const p = l.exports;
14
+ const u = l.exports;
15
15
  export {
16
- p as default
16
+ u as default
17
17
  };
@@ -1,20 +1,21 @@
1
- import { defineComponent as p, computed as i } from "vue";
2
- import { usePreviewMode as m } from "../../../composables/usePreviewMode.js";
3
- import { useTranslations as l } from "../../../composables/useTranslations.js";
4
- import d from "../email-preview/amp/AmpToggle.vue.js";
5
- import { useEditorStore as w } from "../../../stores/editor.js";
6
- import { getTooltipOptions as c } from "../../../utils/tooltipUtils.js";
7
- import { InButtonV2 as f } from "@useinsider/design-system-vue";
8
- import a from "./version-history/VersionHistory.vue.js";
9
- import v from "./version-history/ViewOptions.vue.js";
10
- import u from "./ViewOptions.vue.js";
11
- const C = /* @__PURE__ */ p({
1
+ import { defineComponent as m, computed as s } from "vue";
2
+ import { usePreviewMode as l } from "../../../composables/usePreviewMode.js";
3
+ import { useTranslations as d } from "../../../composables/useTranslations.js";
4
+ import w from "../email-preview/amp/AmpToggle.vue.js";
5
+ import { useEditorStore as c } from "../../../stores/editor.js";
6
+ import { usePreviewStore as f } from "../../../stores/preview.js";
7
+ import { getTooltipOptions as v } from "../../../utils/tooltipUtils.js";
8
+ import { InButtonV2 as a } from "@useinsider/design-system-vue";
9
+ import u from "./version-history/VersionHistory.vue.js";
10
+ import T from "./version-history/ViewOptions.vue.js";
11
+ import P from "./ViewOptions.vue.js";
12
+ const B = /* @__PURE__ */ m({
12
13
  __name: "MiddleSlot",
13
- setup(T) {
14
- const o = w(), e = l(), { openPreviewMode: t, closePreviewMode: r } = m(), s = i(() => o.isPreviewModeOpen ? e("newsletter.close-email-preview") : e("newsletter.email-preview")), n = i(() => o.isCodeEditorOpen ? e("newsletter.close-html-editor") : e("newsletter.html-editor"));
15
- return { __sfc: !0, editorStore: o, trans: e, openPreviewMode: t, closePreviewMode: r, previewTooltipText: s, codeEditorTooltipText: n, handlePreviewToggle: () => o.isPreviewModeOpen ? r() : t(), AmpToggle: d, getTooltipOptions: c, InButtonV2: f, VersionHistory: a, VersionHistoryViewOptions: v, ViewOptions: u };
14
+ setup(_) {
15
+ const t = c(), e = d(), o = f(), { openPreviewMode: r, closePreviewMode: i } = l(), n = s(() => o.isPreviewModeOpen ? e("newsletter.close-email-preview") : e("newsletter.email-preview")), p = s(() => t.isCodeEditorOpen ? e("newsletter.close-html-editor") : e("newsletter.html-editor"));
16
+ return { __sfc: !0, editorStore: t, trans: e, previewStore: o, openPreviewMode: r, closePreviewMode: i, previewTooltipText: n, codeEditorTooltipText: p, handlePreviewToggle: () => o.isPreviewModeOpen ? i() : r(), AmpToggle: w, getTooltipOptions: v, InButtonV2: a, VersionHistory: u, VersionHistoryViewOptions: T, ViewOptions: P };
16
17
  }
17
18
  });
18
19
  export {
19
- C as default
20
+ B as default
20
21
  };
@@ -3,8 +3,8 @@ import a from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var l = function() {
4
4
  var s, i;
5
5
  var o = this, e = o._self._c, t = o._self._setupProxy;
6
- return e("div", { staticClass: "d-f" }, [(s = t.config.features) != null && s.versionHistory ? 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, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.exportHtml } }), (i = t.config.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(), 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"), "tooltip-text": t.trans("newsletter.test-email") } }), 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: t.handleSave } })], 1);
7
- }, r = [], d = /* @__PURE__ */ a(
6
+ return e("div", { staticClass: "d-f" }, [(s = t.config.features) != null && s.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.previewStore.isPreviewModeOpen, "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.isVersionHistoryOpen, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.exportHtml } }), (i = t.config.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.isVersionHistoryOpen, "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(), e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") } }), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": t.isSaveButtonDisabled }, on: { click: t.handleSave } })], 1);
7
+ }, r = [], p = /* @__PURE__ */ a(
8
8
  n,
9
9
  l,
10
10
  r,
@@ -12,7 +12,7 @@ var l = function() {
12
12
  null,
13
13
  null
14
14
  );
15
- const c = d.exports;
15
+ const c = p.exports;
16
16
  export {
17
17
  c as default
18
18
  };
@@ -1,36 +1,37 @@
1
- import { defineComponent as v, ref as S, computed as d } from "vue";
2
- import { useConfig as y } from "../../../composables/useConfig.js";
3
- import { useExport as g } from "../../../composables/useExport.js";
4
- import { useSaveStart as h, useSaveComplete as H } from "../../../composables/useGuidoActions.js";
5
- import { useTranslations as _ } from "../../../composables/useTranslations.js";
1
+ import { defineComponent as y, computed as p } from "vue";
2
+ import { useConfig as H } from "../../../composables/useConfig.js";
3
+ import { useExport as V } from "../../../composables/useExport.js";
4
+ import { useSaveStart as _, useSaveComplete as h } from "../../../composables/useGuidoActions.js";
5
+ import { useTranslations as w } from "../../../composables/useTranslations.js";
6
6
  import { useVersionHistoryApi as T } from "../../../composables/useVersionHistoryApi.js";
7
- import { useEditorStore as V } from "../../../stores/editor.js";
8
- import { useTemplatePreparation as w } from "../../../utils/templatePreparation.js";
9
- import { getTooltipOptions as x } from "../../../utils/tooltipUtils.js";
10
- import { InButtonV2 as C } from "@useinsider/design-system-vue";
11
- const q = /* @__PURE__ */ v({
7
+ import { useEditorStore as O } from "../../../stores/editor.js";
8
+ import { usePreviewStore as g } from "../../../stores/preview.js";
9
+ import { useTemplatePreparation as x } from "../../../utils/templatePreparation.js";
10
+ import { getTooltipOptions as C } from "../../../utils/tooltipUtils.js";
11
+ import { InButtonV2 as D } from "@useinsider/design-system-vue";
12
+ const z = /* @__PURE__ */ y({
12
13
  __name: "RightSlot",
13
- setup(O) {
14
- const { config: p } = y(), { exportHtml: m } = g(), s = h(), n = H(), { openVersionHistory: i, closeVersionHistory: a } = T(), t = V(), e = _(), o = S(!1), l = () => {
15
- if (t.isVersionHistoryOpen) {
16
- a();
14
+ setup(A) {
15
+ const { config: m } = H(), { exportHtml: c } = V(), r = _(), s = h(), { openVersionHistory: i, closeVersionHistory: n } = T(), e = O(), o = w(), a = g(), l = () => {
16
+ if (e.isVersionHistoryOpen) {
17
+ n();
17
18
  return;
18
19
  }
19
20
  i();
20
- }, c = () => {
21
- t.isSaveAsTemplateDrawerOpen = !0;
22
- }, f = d(() => t.isVersionHistoryOpen ? e("newsletter.close-version-history") : e("newsletter.version-history"));
23
- return { __sfc: !0, config: p, exportHtml: m, saveStart: s, saveComplete: n, openVersionHistory: i, closeVersionHistory: a, editorStore: t, trans: e, isSaving: o, handleVersionHistory: l, handleSaveAs: c, versionHistoryTooltipText: f, handleSave: async () => {
24
- o.value = !0, t.loadingStatus = !0, s();
21
+ }, f = () => {
22
+ e.isSaveAsTemplateDrawerOpen = !0;
23
+ }, u = p(() => e.isVersionHistoryOpen ? o("newsletter.close-version-history") : o("newsletter.version-history")), v = async () => {
24
+ r();
25
25
  try {
26
- const { prepareTemplateDetails: r } = w(), u = await r();
27
- n(u), o.value = !1, t.loadingStatus = !1;
28
- } catch (r) {
29
- console.error("Failed to get template data for save:", r);
26
+ const { prepareTemplateDetails: t } = x(), d = await t();
27
+ s(d);
28
+ } catch (t) {
29
+ console.error("Failed to get template data for save:", t);
30
30
  }
31
- }, getTooltipOptions: x, InButtonV2: C };
31
+ }, S = p(() => e.isVersionHistoryOpen || a.isPreviewModeOpen);
32
+ return { __sfc: !0, config: m, exportHtml: c, saveStart: r, saveComplete: s, openVersionHistory: i, closeVersionHistory: n, editorStore: e, trans: o, previewStore: a, handleVersionHistory: l, handleSaveAs: f, versionHistoryTooltipText: u, handleSave: v, isSaveButtonDisabled: S, getTooltipOptions: C, InButtonV2: D };
32
33
  }
33
34
  });
34
35
  export {
35
- q as default
36
+ z as default
36
37
  };
@@ -1,18 +1,18 @@
1
- import o from "./ViewOptions.vue2.js";
1
+ import r from "./ViewOptions.vue2.js";
2
2
  /* empty css */
3
- import s from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var r = function() {
5
- var t = this, i = t._self._c, e = t._self._setupProxy;
6
- return i(e.InSegments, { attrs: { id: "guido__view-option-selection", "with-icon": "", disable: e.editorStore.isViewOptionsDisabled, "segment-list": e.segmentList, selected: e.editorStore.editorVisualMode } });
7
- }, n = [], _ = /* @__PURE__ */ s(
8
- o,
3
+ import i from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var s = function() {
5
+ var t = this, o = t._self._c, e = t._self._setupProxy;
6
+ return o(e.InSegments, { attrs: { id: "guido__view-option-selection", "with-icon": "", disable: e.previewStore.isPreviewModeOpen, "segment-list": e.segmentList, selected: e.editorStore.editorVisualMode } });
7
+ }, n = [], _ = /* @__PURE__ */ i(
9
8
  r,
9
+ s,
10
10
  n,
11
11
  !1,
12
12
  null,
13
- "ad3cf7cc"
13
+ "aad05c54"
14
14
  );
15
- const m = _.exports;
15
+ const p = _.exports;
16
16
  export {
17
- m as default
17
+ p as default
18
18
  };
@@ -1,20 +1,21 @@
1
- import { defineComponent as n } from "vue";
2
- import { useTranslations as p } from "../../../composables/useTranslations.js";
1
+ import { defineComponent as p } from "vue";
2
+ import { useTranslations as r } from "../../../composables/useTranslations.js";
3
3
  import { useEditorStore as s } from "../../../stores/editor.js";
4
- import { getTooltipOptions as o } from "../../../utils/tooltipUtils.js";
5
- import { InSegments as r } from "@useinsider/design-system-vue";
6
- const d = /* @__PURE__ */ n({
4
+ import { usePreviewStore as m } from "../../../stores/preview.js";
5
+ import { getTooltipOptions as t } from "../../../utils/tooltipUtils.js";
6
+ import { InSegments as l } from "@useinsider/design-system-vue";
7
+ const w = /* @__PURE__ */ p({
7
8
  __name: "ViewOptions",
8
- setup(m) {
9
- const e = s(), t = p(), i = [
9
+ setup(a) {
10
+ const e = s(), o = r(), i = [
10
11
  {
11
12
  text: "",
12
13
  icon: "line-desktop",
13
14
  value: "desktop",
14
15
  position: "bottom",
15
16
  align: "center",
16
- tooltipText: t("newsletter.desktop"),
17
- tooltipOptions: o("guido__view-option-desktop")
17
+ tooltipText: o("newsletter.desktop"),
18
+ tooltipOptions: t("guido__view-option-desktop")
18
19
  },
19
20
  {
20
21
  text: "",
@@ -22,13 +23,13 @@ const d = /* @__PURE__ */ n({
22
23
  value: "mobile",
23
24
  position: "bottom",
24
25
  align: "center",
25
- tooltipText: t("newsletter.mobile"),
26
- tooltipOptions: o("guido__view-option-mobile")
26
+ tooltipText: o("newsletter.mobile"),
27
+ tooltipOptions: t("guido__view-option-mobile")
27
28
  }
28
- ];
29
- return { __sfc: !0, editorStore: e, trans: t, segmentList: i, InSegments: r };
29
+ ], n = m();
30
+ return { __sfc: !0, editorStore: e, trans: o, segmentList: i, previewStore: n, InSegments: l };
30
31
  }
31
32
  });
32
33
  export {
33
- d as default
34
+ w as default
34
35
  };
@@ -7,16 +7,15 @@ import n from "../static/styles/components/button.css.js";
7
7
  import s from "../static/styles/components/combobox.css.js";
8
8
  import C from "../static/styles/components/counter.css.js";
9
9
  import f from "../static/styles/components/dropdown-menu.css.js";
10
- import a from "../static/styles/components/loader.css.js";
11
- import u from "../static/styles/components/narrow-panel.css.js";
12
- import c from "../static/styles/components/switcher.css.js";
13
- import d from "../static/styles/components/tabs.css.js";
14
- import l from "../static/styles/components/tools.css.js";
15
- import h from "../static/styles/components/version-history.css.js";
16
- import w from "../static/styles/components/wide-panel.css.js";
17
- import y from "../static/styles/variables.css.js";
18
- const B = [
19
- y,
10
+ import a from "../static/styles/components/narrow-panel.css.js";
11
+ import u from "../static/styles/components/switcher.css.js";
12
+ import c from "../static/styles/components/tabs.css.js";
13
+ import d from "../static/styles/components/tools.css.js";
14
+ import l from "../static/styles/components/version-history.css.js";
15
+ import h from "../static/styles/components/wide-panel.css.js";
16
+ import w from "../static/styles/variables.css.js";
17
+ const y = [
18
+ w,
20
19
  // Must be on top
21
20
  S,
22
21
  // Must be on top
@@ -33,13 +32,12 @@ const B = [
33
32
  c,
34
33
  d,
35
34
  l,
36
- h,
37
- w
35
+ h
38
36
  ].join(`
39
37
 
40
- `), R = () => ({ importCss: () => {
38
+ `), N = () => ({ importCss: () => {
41
39
  const o = new CSSStyleSheet();
42
- o.replaceSync(B);
40
+ o.replaceSync(y);
43
41
  const r = document.querySelector("ui-editor");
44
42
  if (!r)
45
43
  return;
@@ -47,5 +45,5 @@ const B = [
47
45
  t && (t.adoptedStyleSheets = [o]);
48
46
  } });
49
47
  export {
50
- R as useCustomInterfaceAppearance
48
+ N as useCustomInterfaceAppearance
51
49
  };
@@ -1,26 +1,26 @@
1
1
  import { useEditorStore as n } from "../stores/editor.js";
2
- import { usePreviewStore as l } from "../stores/preview.js";
3
- import { useActionsApi as m } from "./useActionsApi.js";
4
- import { useCodeEditorApi as p } from "./useCodeEditorApi.js";
2
+ import { usePreviewStore as m } from "../stores/preview.js";
3
+ import { useActionsApi as p } from "./useActionsApi.js";
4
+ import { useCodeEditorApi as l } from "./useCodeEditorApi.js";
5
5
  const E = () => {
6
- const o = n(), e = l(), { closeCodeEditor: a } = p(), { getPreviewData: s } = m(), r = () => {
7
- o.isPreviewModeOpen = !1, e.$reset();
6
+ const i = n(), e = m(), { closeCodeEditor: s } = l(), { getPreviewData: a } = p(), r = () => {
7
+ e.isPreviewModeOpen = !1, e.$reset();
8
8
  };
9
9
  return {
10
10
  closePreviewMode: r,
11
11
  openPreviewMode: () => {
12
- o.isCodeEditorOpen && a(), o.isPreviewModeOpen = !0;
12
+ i.isCodeEditorOpen && s(), e.isPreviewModeOpen = !0;
13
13
  },
14
14
  loadPreviewData: async () => {
15
- if (!(o.loadingStatus || e.isLoaded)) {
16
- o.loadingStatus = !0;
15
+ if (!(e.isLoading || e.isLoaded)) {
16
+ e.isLoading = !0;
17
17
  try {
18
- const { html: t, ampHtml: i, ampErrors: d } = await s();
19
- e.templateHtml = t || "", e.ampHtml = i || "", e.ampErrors = d || [], e.setEmailFormat(i ? "AMP" : "html"), e.isLoaded = !0;
20
- } catch (t) {
21
- console.error("Failed to load preview data:", t), r();
18
+ const { html: o, ampHtml: t, ampErrors: d } = await a();
19
+ e.templateHtml = o || "", e.ampHtml = t || "", e.ampErrors = d || [], e.setEmailFormat(t ? "AMP" : "html"), e.isLoaded = !0;
20
+ } catch (o) {
21
+ console.error("Failed to load preview data:", o), r();
22
22
  } finally {
23
- o.loadingStatus = !1;
23
+ e.isLoading = !1;
24
24
  }
25
25
  }
26
26
  }
@@ -7,8 +7,8 @@ import { useStripoApi as E } from "../services/stripoApi.js";
7
7
  import { useEditorStore as h } from "../stores/editor.js";
8
8
  import { dynamicContentToMergeTags as w } from "../utils/genericUtil.js";
9
9
  const M = (d) => {
10
- const { handleError: a } = S(), { getToken: c, getCustomFonts: u } = E(), l = (r, i = []) => {
11
- const e = h(), { html: t, css: s, forceRecreate: p } = r;
10
+ const { handleError: a } = S(), { getToken: c, getCustomFonts: u } = E(), l = (e, r = []) => {
11
+ const i = h(), { html: t, css: s, forceRecreate: p } = e;
12
12
  window.UIEditor.initEditor(
13
13
  document.querySelector("#guido-editor"),
14
14
  {
@@ -37,7 +37,7 @@ const M = (d) => {
37
37
  editorFonts: {
38
38
  showDefaultStandardFonts: !0,
39
39
  showDefaultNotStandardFonts: !0,
40
- customFonts: i
40
+ customFonts: r
41
41
  },
42
42
  mergeTags: [
43
43
  {
@@ -55,44 +55,44 @@ const M = (d) => {
55
55
  onTemplateLoaded() {
56
56
  try {
57
57
  const { importCss: o } = f(), { activateCustomViewStyles: n } = g();
58
- o(), n(), e.loadingStatus = !1;
58
+ o(), n();
59
59
  } catch (o) {
60
60
  a(o, "Failed to load custom interface appearance");
61
61
  }
62
62
  },
63
63
  onCodeEditorVisibilityChanged(o) {
64
- e.isCodeEditorOpen = o;
64
+ i.isCodeEditorOpen = o;
65
65
  },
66
66
  onEditorVisualModeChanged(o) {
67
- e.editorVisualMode = o.toLowerCase();
67
+ i.editorVisualMode = o.toLowerCase();
68
68
  },
69
69
  onVersionHistoryVisibilityChanged(o) {
70
- e.isVersionHistoryOpen = o;
70
+ i.isVersionHistoryOpen = o;
71
71
  },
72
72
  onDataChanged() {
73
- e.hasChanges = !0;
73
+ i.hasChanges = !0;
74
74
  },
75
75
  ignoreClickOutsideSelectors: ["#guido-dynamic-content-modal"],
76
76
  extensions: [y]
77
77
  }
78
78
  );
79
- }, m = (r) => new Promise((i, e) => {
79
+ }, m = (e) => new Promise((r, i) => {
80
80
  if (document.getElementById("UiEditorScript")) {
81
- r(), i();
81
+ e(), r();
82
82
  return;
83
83
  }
84
84
  const t = document.createElement("script");
85
85
  t.id = "UiEditorScript", t.type = "module", t.src = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", t.onload = () => {
86
- r(), i();
86
+ e(), r();
87
87
  }, t.onerror = () => {
88
88
  const s = new Error("Failed to load Stripo UIEditor script");
89
- e(s);
89
+ i(s);
90
90
  }, document.body.appendChild(t);
91
91
  });
92
- return { initPlugin: async (r) => {
92
+ return { initPlugin: async (e) => {
93
93
  await m(async () => {
94
- const i = await u();
95
- l(r, i);
94
+ const r = await u();
95
+ l(e, r);
96
96
  });
97
97
  } };
98
98
  };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- [data-v-a18ac2d3] .in-button-v2__wrapper{line-height:0}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}[data-v-421ffc13] .guido__verion-history-view-option-selection-desktop svg,[data-v-421ffc13] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-421ffc13] .in-segments-wrapper__button_selected,[data-v-421ffc13] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-421ffc13] .in-tooltip-wrapper__icon{cursor:pointer}[data-v-ad3cf7cc] .guido__view-option-selection-desktop svg,[data-v-ad3cf7cc] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-ad3cf7cc] .in-segments-wrapper__button_selected,[data-v-ad3cf7cc] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-ad3cf7cc] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-2d4cd446]{height:calc(100% - 75px);top:75px}.guido-editor__wrapper[data-v-f78aa5ad],.guido-editor__container[data-v-f78aa5ad]{width:100%;height:calc(100vh - 75px)}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
1
+ .version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}[data-v-421ffc13] .guido__verion-history-view-option-selection-desktop svg,[data-v-421ffc13] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-421ffc13] .in-segments-wrapper__button_selected,[data-v-421ffc13] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-421ffc13] .in-tooltip-wrapper__icon{cursor:pointer}[data-v-aad05c54] .guido__view-option-selection-desktop svg,[data-v-aad05c54] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-aad05c54] .in-segments-wrapper__button_selected,[data-v-aad05c54] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-aad05c54] .in-tooltip-wrapper__icon{cursor:pointer}.guido-editor__wrapper[data-v-84c43576],.guido-editor__container[data-v-84c43576]{width:100%;height:calc(100vh - 75px)}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-2dd60b0c],[data-v-2dd60b0c] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-f20b3a9b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@@ -116,9 +116,9 @@ ue-label.accent-dot:after {
116
116
  width: auto;
117
117
  height: auto;
118
118
  border-radius: 4px;
119
- background: var(--guido-color-primary-100);
119
+ background: var(--guido-color-primary-500);
120
120
  z-index: 2;
121
- color: var(--guido-color-primary-500);
121
+ color: var(--guido-color-white);
122
122
  padding: 4px 8px;
123
123
  right: 1px;
124
124
  font-size: 13px;
@@ -1,180 +1,8 @@
1
1
  export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
2
- loadingStatus: boolean;
3
2
  isCodeEditorOpen: boolean;
4
3
  isSaveAsTemplateDrawerOpen: boolean;
5
4
  isVersionHistoryOpen: boolean;
6
5
  isPreviewModeOpen: boolean;
7
6
  editorVisualMode: string;
8
7
  hasChanges: boolean;
9
- }, {
10
- isUndoButtonDisabled: (state: {
11
- loadingStatus: boolean;
12
- isCodeEditorOpen: boolean;
13
- isSaveAsTemplateDrawerOpen: boolean;
14
- isVersionHistoryOpen: boolean;
15
- isPreviewModeOpen: boolean;
16
- editorVisualMode: string;
17
- hasChanges: boolean;
18
- } & import("pinia").PiniaCustomStateProperties<{
19
- loadingStatus: boolean;
20
- isCodeEditorOpen: boolean;
21
- isSaveAsTemplateDrawerOpen: boolean;
22
- isVersionHistoryOpen: boolean;
23
- isPreviewModeOpen: boolean;
24
- editorVisualMode: string;
25
- hasChanges: boolean;
26
- }>) => boolean;
27
- isRedoButtonDisabled: (state: {
28
- loadingStatus: boolean;
29
- isCodeEditorOpen: boolean;
30
- isSaveAsTemplateDrawerOpen: boolean;
31
- isVersionHistoryOpen: boolean;
32
- isPreviewModeOpen: boolean;
33
- editorVisualMode: string;
34
- hasChanges: boolean;
35
- } & import("pinia").PiniaCustomStateProperties<{
36
- loadingStatus: boolean;
37
- isCodeEditorOpen: boolean;
38
- isSaveAsTemplateDrawerOpen: boolean;
39
- isVersionHistoryOpen: boolean;
40
- isPreviewModeOpen: boolean;
41
- editorVisualMode: string;
42
- hasChanges: boolean;
43
- }>) => boolean;
44
- isCodeEditorButtonDisabled: (state: {
45
- loadingStatus: boolean;
46
- isCodeEditorOpen: boolean;
47
- isSaveAsTemplateDrawerOpen: boolean;
48
- isVersionHistoryOpen: boolean;
49
- isPreviewModeOpen: boolean;
50
- editorVisualMode: string;
51
- hasChanges: boolean;
52
- } & import("pinia").PiniaCustomStateProperties<{
53
- loadingStatus: boolean;
54
- isCodeEditorOpen: boolean;
55
- isSaveAsTemplateDrawerOpen: boolean;
56
- isVersionHistoryOpen: boolean;
57
- isPreviewModeOpen: boolean;
58
- editorVisualMode: string;
59
- hasChanges: boolean;
60
- }>) => boolean;
61
- isPreviewButtonDisabled: (state: {
62
- loadingStatus: boolean;
63
- isCodeEditorOpen: boolean;
64
- isSaveAsTemplateDrawerOpen: boolean;
65
- isVersionHistoryOpen: boolean;
66
- isPreviewModeOpen: boolean;
67
- editorVisualMode: string;
68
- hasChanges: boolean;
69
- } & import("pinia").PiniaCustomStateProperties<{
70
- loadingStatus: boolean;
71
- isCodeEditorOpen: boolean;
72
- isSaveAsTemplateDrawerOpen: boolean;
73
- isVersionHistoryOpen: boolean;
74
- isPreviewModeOpen: boolean;
75
- editorVisualMode: string;
76
- hasChanges: boolean;
77
- }>) => boolean;
78
- isViewOptionsDisabled: (state: {
79
- loadingStatus: boolean;
80
- isCodeEditorOpen: boolean;
81
- isSaveAsTemplateDrawerOpen: boolean;
82
- isVersionHistoryOpen: boolean;
83
- isPreviewModeOpen: boolean;
84
- editorVisualMode: string;
85
- hasChanges: boolean;
86
- } & import("pinia").PiniaCustomStateProperties<{
87
- loadingStatus: boolean;
88
- isCodeEditorOpen: boolean;
89
- isSaveAsTemplateDrawerOpen: boolean;
90
- isVersionHistoryOpen: boolean;
91
- isPreviewModeOpen: boolean;
92
- editorVisualMode: string;
93
- hasChanges: boolean;
94
- }>) => boolean;
95
- isVersionHistoryButtonDisabled: (state: {
96
- loadingStatus: boolean;
97
- isCodeEditorOpen: boolean;
98
- isSaveAsTemplateDrawerOpen: boolean;
99
- isVersionHistoryOpen: boolean;
100
- isPreviewModeOpen: boolean;
101
- editorVisualMode: string;
102
- hasChanges: boolean;
103
- } & import("pinia").PiniaCustomStateProperties<{
104
- loadingStatus: boolean;
105
- isCodeEditorOpen: boolean;
106
- isSaveAsTemplateDrawerOpen: boolean;
107
- isVersionHistoryOpen: boolean;
108
- isPreviewModeOpen: boolean;
109
- editorVisualMode: string;
110
- hasChanges: boolean;
111
- }>) => boolean;
112
- isExportButtonDisabled: (state: {
113
- loadingStatus: boolean;
114
- isCodeEditorOpen: boolean;
115
- isSaveAsTemplateDrawerOpen: boolean;
116
- isVersionHistoryOpen: boolean;
117
- isPreviewModeOpen: boolean;
118
- editorVisualMode: string;
119
- hasChanges: boolean;
120
- } & import("pinia").PiniaCustomStateProperties<{
121
- loadingStatus: boolean;
122
- isCodeEditorOpen: boolean;
123
- isSaveAsTemplateDrawerOpen: boolean;
124
- isVersionHistoryOpen: boolean;
125
- isPreviewModeOpen: boolean;
126
- editorVisualMode: string;
127
- hasChanges: boolean;
128
- }>) => boolean;
129
- isSaveAsButtonDisabled: (state: {
130
- loadingStatus: boolean;
131
- isCodeEditorOpen: boolean;
132
- isSaveAsTemplateDrawerOpen: boolean;
133
- isVersionHistoryOpen: boolean;
134
- isPreviewModeOpen: boolean;
135
- editorVisualMode: string;
136
- hasChanges: boolean;
137
- } & import("pinia").PiniaCustomStateProperties<{
138
- loadingStatus: boolean;
139
- isCodeEditorOpen: boolean;
140
- isSaveAsTemplateDrawerOpen: boolean;
141
- isVersionHistoryOpen: boolean;
142
- isPreviewModeOpen: boolean;
143
- editorVisualMode: string;
144
- hasChanges: boolean;
145
- }>) => boolean;
146
- isTestButtonDisabled: (state: {
147
- loadingStatus: boolean;
148
- isCodeEditorOpen: boolean;
149
- isSaveAsTemplateDrawerOpen: boolean;
150
- isVersionHistoryOpen: boolean;
151
- isPreviewModeOpen: boolean;
152
- editorVisualMode: string;
153
- hasChanges: boolean;
154
- } & import("pinia").PiniaCustomStateProperties<{
155
- loadingStatus: boolean;
156
- isCodeEditorOpen: boolean;
157
- isSaveAsTemplateDrawerOpen: boolean;
158
- isVersionHistoryOpen: boolean;
159
- isPreviewModeOpen: boolean;
160
- editorVisualMode: string;
161
- hasChanges: boolean;
162
- }>) => boolean;
163
- isSaveButtonDisabled: (state: {
164
- loadingStatus: boolean;
165
- isCodeEditorOpen: boolean;
166
- isSaveAsTemplateDrawerOpen: boolean;
167
- isVersionHistoryOpen: boolean;
168
- isPreviewModeOpen: boolean;
169
- editorVisualMode: string;
170
- hasChanges: boolean;
171
- } & import("pinia").PiniaCustomStateProperties<{
172
- loadingStatus: boolean;
173
- isCodeEditorOpen: boolean;
174
- isSaveAsTemplateDrawerOpen: boolean;
175
- isVersionHistoryOpen: boolean;
176
- isPreviewModeOpen: boolean;
177
- editorVisualMode: string;
178
- hasChanges: boolean;
179
- }>) => boolean;
180
- }, {}>;
8
+ }, {}, {}>;
@@ -1,28 +1,13 @@
1
1
  import { defineStore as e } from "pinia";
2
2
  const o = e("editor", {
3
3
  state: () => ({
4
- loadingStatus: !0,
5
4
  isCodeEditorOpen: !1,
6
5
  isSaveAsTemplateDrawerOpen: !1,
7
6
  isVersionHistoryOpen: !1,
8
7
  isPreviewModeOpen: !1,
9
8
  editorVisualMode: "desktop",
10
9
  hasChanges: !1
11
- }),
12
- getters: {
13
- // Middle Slot
14
- isUndoButtonDisabled: (i) => i.loadingStatus || i.isPreviewModeOpen,
15
- isRedoButtonDisabled: (i) => i.loadingStatus || i.isPreviewModeOpen,
16
- isCodeEditorButtonDisabled: (i) => i.loadingStatus || i.isPreviewModeOpen,
17
- isPreviewButtonDisabled: (i) => i.loadingStatus,
18
- isViewOptionsDisabled: (i) => i.loadingStatus || i.isPreviewModeOpen,
19
- // Right Slot
20
- isVersionHistoryButtonDisabled: (i) => i.loadingStatus || i.isPreviewModeOpen,
21
- isExportButtonDisabled: (i) => i.loadingStatus || i.isVersionHistoryOpen,
22
- isSaveAsButtonDisabled: (i) => i.loadingStatus || i.isVersionHistoryOpen,
23
- isTestButtonDisabled: (i) => i.loadingStatus || i.isVersionHistoryOpen,
24
- isSaveButtonDisabled: (i) => i.loadingStatus || i.isVersionHistoryOpen || i.isPreviewModeOpen
25
- }
10
+ })
26
11
  });
27
12
  export {
28
13
  o as useEditorStore
@@ -5,8 +5,10 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"preview",
5
5
  ampHtml: string;
6
6
  ampErrors: string[];
7
7
  templateHtml: string;
8
+ isLoading: boolean;
8
9
  isLoaded: boolean;
9
10
  isAMPErrorModalVisible: boolean;
11
+ isPreviewModeOpen: boolean;
10
12
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
11
13
  previewHtml(): string;
12
14
  hasAMP: (state: {
@@ -14,16 +16,20 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"preview",
14
16
  ampHtml: string;
15
17
  ampErrors: string[];
16
18
  templateHtml: string;
19
+ isLoading: boolean;
17
20
  isLoaded: boolean;
18
21
  isAMPErrorModalVisible: boolean;
22
+ isPreviewModeOpen: boolean;
19
23
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
20
24
  hasAMPErrors: (state: {
21
25
  emailFormat: EmailFormat;
22
26
  ampHtml: string;
23
27
  ampErrors: string[];
24
28
  templateHtml: string;
29
+ isLoading: boolean;
25
30
  isLoaded: boolean;
26
31
  isAMPErrorModalVisible: boolean;
32
+ isPreviewModeOpen: boolean;
27
33
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
28
34
  showAMPErrorButton(): boolean;
29
35
  isAMPResponsive(): boolean;
@@ -35,4 +41,6 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"preview",
35
41
  setEmailFormat(format: EmailFormat): void;
36
42
  closeErrorModal(): void;
37
43
  openErrorModal(): void;
44
+ openPreviewMode(): void;
45
+ closePreviewMode(): void;
38
46
  }>;
@@ -1,23 +1,25 @@
1
- import { defineStore as e } from "pinia";
1
+ import { defineStore as t } from "pinia";
2
2
  const s = () => ({
3
3
  emailFormat: "html",
4
4
  ampHtml: "",
5
5
  ampErrors: [],
6
6
  templateHtml: "",
7
+ isLoading: !1,
7
8
  isLoaded: !1,
8
- isAMPErrorModalVisible: !1
9
- }), a = e("preview", {
9
+ isAMPErrorModalVisible: !1,
10
+ isPreviewModeOpen: !1
11
+ }), o = t("preview", {
10
12
  state: () => s(),
11
13
  getters: {
12
- isAMPModeEnabled: (t) => t.emailFormat === "AMP",
14
+ isAMPModeEnabled: (e) => e.emailFormat === "AMP",
13
15
  previewHtml() {
14
16
  return this.isAMPModeEnabled ? this.ampHtml : this.templateHtml;
15
17
  },
16
- hasAMP: (t) => {
18
+ hasAMP: (e) => {
17
19
  var r;
18
- return !!((r = t.ampHtml) != null && r.trim());
20
+ return !!((r = e.ampHtml) != null && r.trim());
19
21
  },
20
- hasAMPErrors: (t) => t.ampErrors.length > 0,
22
+ hasAMPErrors: (e) => e.ampErrors.length > 0,
21
23
  showAMPErrorButton() {
22
24
  return this.isAMPModeEnabled && this.hasAMPErrors;
23
25
  },
@@ -26,20 +28,26 @@ const s = () => ({
26
28
  }
27
29
  },
28
30
  actions: {
29
- updateAMPData(t) {
30
- this.ampHtml = t.ampHtml ?? "", this.ampErrors = t.ampErrors ?? [], this.emailFormat = t.ampHtml ? "AMP" : "html";
31
+ updateAMPData(e) {
32
+ this.ampHtml = e.ampHtml ?? "", this.ampErrors = e.ampErrors ?? [], this.emailFormat = e.ampHtml ? "AMP" : "html";
31
33
  },
32
- setEmailFormat(t) {
33
- this.emailFormat = t;
34
+ setEmailFormat(e) {
35
+ this.emailFormat = e;
34
36
  },
35
37
  closeErrorModal() {
36
38
  this.isAMPErrorModalVisible = !1;
37
39
  },
38
40
  openErrorModal() {
39
41
  this.isAMPErrorModalVisible = !0;
42
+ },
43
+ openPreviewMode() {
44
+ this.isPreviewModeOpen = !0;
45
+ },
46
+ closePreviewMode() {
47
+ this.isPreviewModeOpen = !1;
40
48
  }
41
49
  }
42
50
  });
43
51
  export {
44
- a as usePreviewStore
52
+ o as usePreviewStore
45
53
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "1.0.2-beta.0a60d71",
3
+ "version": "1.0.2-beta.0c6406b",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",
@@ -24,8 +24,7 @@
24
24
  "lint": "NODE_OPTIONS=--max-old-space-size=2048 eslint ./ && bun run type-check",
25
25
  "lint:fix": "NODE_OPTIONS=--max-old-space-size=2048 eslint --fix ./",
26
26
  "type-check": "vue-tsc --noEmit --project tsconfig.config.json && vue-tsc --noEmit --project tsconfig.app.json",
27
- "test:visual-update": "npx playwright test --update-snapshots --reporter html",
28
- "prepare": "husky"
27
+ "test:visual-update": "npx playwright test --update-snapshots --reporter html"
29
28
  },
30
29
  "keywords": [],
31
30
  "author": "",
@@ -66,7 +65,6 @@
66
65
  "eslint-plugin-vue": "10.1.0",
67
66
  "eslint-plugin-vue-scoped-css": "2.6.1",
68
67
  "globals": "16.0.0",
69
- "husky": "9.1.7",
70
68
  "msw": "2.10.3",
71
69
  "sass": "1.69.7",
72
70
  "typescript": "5.5.4",
@@ -1,2 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
- export default _default;
@@ -1,18 +0,0 @@
1
- import t from "./LoadingWrapper.vue2.js";
2
- /* empty css */
3
- import a from "../../_virtual/_plugin-vue2_normalizer.js";
4
- var s = function() {
5
- var r = this, e = r._self._c, o = r._self._setupProxy;
6
- return o.editorStore.loadingStatus ? e("div", { staticClass: "guido-loading__wrapper p-a l-0 z-4 d-f a-i-c j-c-c w-1 f-g-1 b-c-36" }, [e(o.InLoading, { attrs: { "color-class": "i-c-7", size: "32" } })], 1) : r._e();
7
- }, n = [], _ = /* @__PURE__ */ a(
8
- t,
9
- s,
10
- n,
11
- !1,
12
- null,
13
- "2d4cd446"
14
- );
15
- const l = _.exports;
16
- export {
17
- l as default
18
- };
@@ -1,12 +0,0 @@
1
- import { defineComponent as o } from "vue";
2
- import { useEditorStore as r } from "../../stores/editor.js";
3
- import { InLoading as t } from "@useinsider/design-system-vue";
4
- const s = /* @__PURE__ */ o({
5
- __name: "LoadingWrapper",
6
- setup(e) {
7
- return { __sfc: !0, editorStore: r(), InLoading: t };
8
- }
9
- });
10
- export {
11
- s as default
12
- };
@@ -1,10 +0,0 @@
1
- const n = `ue-loader-component.full-height {
2
- display: none !important;
3
- background-color: rgba(0, 0, 0, .5);
4
- z-index: 9;
5
- backdrop-filter: blur(2px);
6
- }
7
- `;
8
- export {
9
- n as default
10
- };