@useinsider/guido 1.0.2-beta.29797ee → 1.0.2-beta.357420e
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.
- package/README.md +1 -43
- package/dist/@types/events.d.ts +0 -6
- package/dist/@types/generic.d.ts +0 -5
- package/dist/components/Guido.vue.d.ts +0 -3
- package/dist/components/Guido.vue.js +11 -11
- package/dist/components/Guido.vue2.js +61 -80
- package/dist/components/organisms/email-preview/PreviewContainer.vue.js +12 -12
- package/dist/components/organisms/email-preview/PreviewContainer.vue2.js +8 -7
- package/dist/components/organisms/header/HeaderWrapper.vue.d.ts +1 -3
- package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -6
- package/dist/components/organisms/header/HeaderWrapper.vue2.js +9 -15
- package/dist/components/organisms/header/LeftSlot.vue.js +9 -10
- package/dist/components/organisms/header/MiddleSlot.vue.js +6 -6
- package/dist/components/organisms/header/MiddleSlot.vue2.js +16 -15
- package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -3
- package/dist/components/organisms/header/RightSlot.vue.js +4 -6
- package/dist/components/organisms/header/RightSlot.vue2.js +28 -26
- package/dist/components/organisms/header/ViewOptions.vue.js +11 -11
- package/dist/components/organisms/header/ViewOptions.vue2.js +15 -14
- package/dist/components/organisms/header/version-history/ViewOptions.vue.js +11 -11
- package/dist/components/organisms/header/version-history/ViewOptions.vue2.js +5 -5
- package/dist/composables/useCustomInterfaceAppearance.js +13 -15
- package/dist/composables/useHtmlCompiler.js +9 -17
- package/dist/composables/usePartner.d.ts +0 -1
- package/dist/composables/usePartner.js +9 -16
- package/dist/composables/usePreviewMode.js +13 -13
- package/dist/composables/useStripo.js +51 -54
- package/dist/composables/useToaster.js +17 -17
- package/dist/config/compiler/outlookCompilerRules.d.ts +0 -2
- package/dist/enums/defaults.d.ts +1 -6
- package/dist/enums/defaults.js +10 -47
- package/dist/guido.css +1 -1
- package/dist/static/styles/components/wide-panel.css.js +2 -11
- package/dist/stores/dynamic-content.d.ts +0 -12
- package/dist/stores/dynamic-content.js +6 -7
- package/dist/stores/editor.d.ts +1 -194
- package/dist/stores/editor.js +2 -18
- package/dist/stores/preview.d.ts +8 -0
- package/dist/stores/preview.js +20 -12
- package/dist/utils/genericUtil.js +6 -9
- package/dist/utils/templatePreparation.js +14 -21
- package/package.json +2 -4
- package/dist/components/organisms/LoadingWrapper.vue.d.ts +0 -2
- package/dist/components/organisms/LoadingWrapper.vue.js +0 -18
- package/dist/components/organisms/LoadingWrapper.vue2.js +0 -12
- package/dist/components/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -2
- package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +0 -20
- package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +0 -37
- package/dist/components/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -2
- package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +0 -21
- package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +0 -83
- package/dist/components/organisms/onboarding/NewVersionPopup.vue.d.ts +0 -2
- package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +0 -17
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +0 -30
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +0 -2
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +0 -19
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +0 -43
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.d.ts +0 -2
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +0 -21
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +0 -74
- package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +0 -2
- package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +0 -20
- package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +0 -37
- package/dist/composables/useHtmlValidator.d.ts +0 -3
- package/dist/composables/useHtmlValidator.js +0 -120
- package/dist/composables/useRecommendation.d.ts +0 -19
- package/dist/composables/useRecommendation.js +0 -27
- package/dist/composables/useSave.d.ts +0 -4
- package/dist/composables/useSave.js +0 -15
- package/dist/composables/useStripoEventHandler.d.ts +0 -3
- package/dist/composables/useStripoEventHandler.js +0 -20
- package/dist/config/compiler/outlookCompilerRules.js +0 -36
- package/dist/config/compiler/recommendationCompilerRules.d.ts +0 -2
- package/dist/config/compiler/recommendationCompilerRules.js +0 -83
- package/dist/config/compiler/socialCompilerRules.d.ts +0 -2
- package/dist/config/compiler/socialCompilerRules.js +0 -21
- package/dist/config/compiler/unsubscribeCompilerRules.d.ts +0 -2
- package/dist/config/compiler/unsubscribeCompilerRules.js +0 -64
- package/dist/enums/html-validator.d.ts +0 -6
- package/dist/enums/html-validator.js +0 -7
- package/dist/enums/onboarding.d.ts +0 -1
- package/dist/enums/onboarding.js +0 -8
- package/dist/enums/recommendation.d.ts +0 -54
- package/dist/enums/recommendation.js +0 -56
- package/dist/enums/unsubscribe.d.ts +0 -15
- package/dist/enums/unsubscribe.js +0 -17
- package/dist/mock/api/user-modal-state.d.ts +0 -2
- package/dist/mock/api/validator.d.ts +0 -2
- package/dist/services/onboardingApi.d.ts +0 -4
- package/dist/services/onboardingApi.js +0 -23
- package/dist/static/assets/onboarding-img.svg.js +0 -4
- package/dist/static/styles/components/loader.css.js +0 -10
- package/dist/static/styles/customEditorStyle.css.js +0 -18
- package/dist/stores/onboarding.d.ts +0 -1068
- package/dist/stores/onboarding.js +0 -95
- package/dist/stores/recommendation.d.ts +0 -10
- package/dist/stores/recommendation.js +0 -9
- package/dist/stores/unsubscribe.d.ts +0 -8
- package/dist/stores/unsubscribe.js +0 -9
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { defineComponent as p, computed as e, watch as m } from "vue";
|
|
2
|
-
import { useTranslations as g } from "../../../composables/useTranslations.js";
|
|
3
|
-
import { useOnboardingStore as u } from "../../../stores/onboarding.js";
|
|
4
|
-
import { InOnboard as b } from "@useinsider/design-system-vue";
|
|
5
|
-
const O = /* @__PURE__ */ p({
|
|
6
|
-
__name: "AMPOnboarding",
|
|
7
|
-
setup(l) {
|
|
8
|
-
const i = g(), o = u(), r = e(() => `${window.innerWidth / 2 - 110}px`), a = e(() => [
|
|
9
|
-
{
|
|
10
|
-
classes: "guido-amp-onboarding",
|
|
11
|
-
left: r.value,
|
|
12
|
-
top: "70px",
|
|
13
|
-
position: "Top Center",
|
|
14
|
-
title: i("email-editor.onboarding-amp-title"),
|
|
15
|
-
description: i("email-editor.onboarding-amp-description"),
|
|
16
|
-
imageSource: "",
|
|
17
|
-
backButtonClick: () => {
|
|
18
|
-
},
|
|
19
|
-
nextButtonType: "text",
|
|
20
|
-
nextButtonText: i("action-builder.ok"),
|
|
21
|
-
nextButtonClick: () => void o.close("ampOnboarding")
|
|
22
|
-
}
|
|
23
|
-
]), d = e(() => o.onboardings.ampOnboarding.config.length > 0 && o.onboardings.ampOnboarding.isActive), s = () => {
|
|
24
|
-
var n, t;
|
|
25
|
-
(t = (n = o.getAmpCurrentCard) == null ? void 0 : n.nextButtonClick) == null || t.call(n);
|
|
26
|
-
}, c = () => {
|
|
27
|
-
var n, t;
|
|
28
|
-
(t = (n = o.getAmpCurrentCard) == null ? void 0 : n.backButtonClick) == null || t.call(n);
|
|
29
|
-
};
|
|
30
|
-
return m(() => o.onboardings.ampOnboarding.isActive, (n) => {
|
|
31
|
-
n && o.setConfig("ampOnboarding", a.value);
|
|
32
|
-
}, { immediate: !0 }), { __sfc: !0, trans: i, onboardingStore: o, centerLeft: r, onboardingCardsConfig: a, isVisible: d, handleNext: s, handleBack: c, InOnboard: b };
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
export {
|
|
36
|
-
O as default
|
|
37
|
-
};
|
|
@@ -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,21 +0,0 @@
|
|
|
1
|
-
import c from "./GenericOnboarding.vue2.js";
|
|
2
|
-
/* empty css */
|
|
3
|
-
import g from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
-
var l = function() {
|
|
5
|
-
var r, n, t, i, a, s;
|
|
6
|
-
var o = this, d = o._self._c, e = o._self._setupProxy;
|
|
7
|
-
return e.isVisible ? d(e.InOnboard, { key: "guido__editor-onboard", staticClass: "w-21-s p-a z-11", class: (r = e.onboardingStore.getGenericCurrentCard) == null ? void 0 : r.classes, attrs: { id: "guido__editor-onboard", "is-multiple-page": "", visible: "", "image-source": "", title: "", "bottom-position": (n = e.onboardingStore.getGenericCurrentCard) == null ? void 0 : n.bottom, "left-position": (t = e.onboardingStore.getGenericCurrentCard) == null ? void 0 : t.left, "pages-config": e.onboardingStore.onboardings.genericOnboarding.config, "pointer-position": (i = e.onboardingStore.getGenericCurrentCard) == null ? void 0 : i.position, "right-position": (a = e.onboardingStore.getGenericCurrentCard) == null ? void 0 : a.right, "top-position": (s = e.onboardingStore.getGenericCurrentCard) == null ? void 0 : s.top }, on: { backButtonClick: e.handleBack, close: function(u) {
|
|
8
|
-
return e.onboardingStore.close("genericOnboarding");
|
|
9
|
-
}, nextButtonClick: e.handleNext } }) : o._e();
|
|
10
|
-
}, p = [], _ = /* @__PURE__ */ g(
|
|
11
|
-
c,
|
|
12
|
-
l,
|
|
13
|
-
p,
|
|
14
|
-
!1,
|
|
15
|
-
null,
|
|
16
|
-
"d3c52b44"
|
|
17
|
-
);
|
|
18
|
-
const S = _.exports;
|
|
19
|
-
export {
|
|
20
|
-
S as default
|
|
21
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { defineComponent as l, computed as i, watch as b } from "vue";
|
|
2
|
-
import { useTranslations as x } from "../../../composables/useTranslations.js";
|
|
3
|
-
import { SERVICE_HOVER_SELECTORS as m } from "../../../enums/onboarding.js";
|
|
4
|
-
import { useOnboardingStore as k } from "../../../stores/onboarding.js";
|
|
5
|
-
import { InOnboard as f } from "@useinsider/design-system-vue";
|
|
6
|
-
const S = /* @__PURE__ */ l({
|
|
7
|
-
__name: "GenericOnboarding",
|
|
8
|
-
setup(B) {
|
|
9
|
-
const e = x(), o = k(), r = i(() => `${window.innerWidth / 2 - 160}px`), c = () => {
|
|
10
|
-
const t = document.querySelector("ui-editor");
|
|
11
|
-
t != null && t.shadowRoot && m.forEach((n) => {
|
|
12
|
-
var d;
|
|
13
|
-
const a = (d = t.shadowRoot) == null ? void 0 : d.querySelector(n);
|
|
14
|
-
a && a.classList.add("hover");
|
|
15
|
-
});
|
|
16
|
-
}, s = i(() => [
|
|
17
|
-
{
|
|
18
|
-
classes: "guido-onboarding-blocks",
|
|
19
|
-
left: "90px",
|
|
20
|
-
top: "90px",
|
|
21
|
-
position: "Left Top",
|
|
22
|
-
title: e("email-editor.onboarding-blocks-title"),
|
|
23
|
-
description: e("email-editor.onboarding-blocks-description"),
|
|
24
|
-
imageSource: "",
|
|
25
|
-
backButtonClick: () => {
|
|
26
|
-
},
|
|
27
|
-
nextButtonType: "text",
|
|
28
|
-
nextButtonText: e("products.next"),
|
|
29
|
-
nextButtonClick: () => {
|
|
30
|
-
c(), o.next("genericOnboarding");
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
classes: "guido-onboarding-stripes",
|
|
35
|
-
right: "450px",
|
|
36
|
-
bottom: "38px",
|
|
37
|
-
position: "Right Bottom",
|
|
38
|
-
title: e("email-editor.onboarding-stripes-title"),
|
|
39
|
-
description: e("email-editor.onboarding-stripes-description"),
|
|
40
|
-
imageSource: "",
|
|
41
|
-
backButtonType: "text",
|
|
42
|
-
backButtonText: e("ds-steps.back"),
|
|
43
|
-
backButtonClick: () => {
|
|
44
|
-
o.previous("genericOnboarding");
|
|
45
|
-
},
|
|
46
|
-
nextButtonType: "text",
|
|
47
|
-
nextButtonText: e("products.next"),
|
|
48
|
-
nextButtonClick: () => {
|
|
49
|
-
o.next("genericOnboarding");
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
classes: "guido-onboarding-preview",
|
|
54
|
-
left: r.value,
|
|
55
|
-
top: "90px",
|
|
56
|
-
position: "Top Center",
|
|
57
|
-
title: e("email-editor.onboarding-preview-title"),
|
|
58
|
-
description: e("email-editor.onboarding-preview-description"),
|
|
59
|
-
imageSource: "",
|
|
60
|
-
backButtonType: "text",
|
|
61
|
-
backButtonText: e("ds-steps.back"),
|
|
62
|
-
backButtonClick: () => o.previous("genericOnboarding"),
|
|
63
|
-
nextButtonType: "text",
|
|
64
|
-
nextButtonText: e("action-builder.ok"),
|
|
65
|
-
nextButtonClick: () => {
|
|
66
|
-
o.close("genericOnboarding");
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
]), g = i(() => o.onboardings.genericOnboarding.config.length > 0 && o.onboardings.genericOnboarding.isActive), p = () => {
|
|
70
|
-
var t, n;
|
|
71
|
-
(n = (t = o.getGenericCurrentCard) == null ? void 0 : t.nextButtonClick) == null || n.call(t);
|
|
72
|
-
}, u = () => {
|
|
73
|
-
var t, n;
|
|
74
|
-
(n = (t = o.getGenericCurrentCard) == null ? void 0 : t.backButtonClick) == null || n.call(t);
|
|
75
|
-
};
|
|
76
|
-
return b(() => o.onboardings.genericOnboarding.isActive, (t) => {
|
|
77
|
-
t && o.setConfig("genericOnboarding", s.value);
|
|
78
|
-
}, { immediate: !0 }), { __sfc: !0, trans: e, onboardingStore: o, centerLeft: r, addHoverToServiceElements: c, onboardingCardsConfig: s, isVisible: g, handleNext: p, handleBack: u, InOnboard: f };
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
export {
|
|
82
|
-
S as default
|
|
83
|
-
};
|
|
@@ -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,17 +0,0 @@
|
|
|
1
|
-
import s from "./NewVersionPopup.vue2.js";
|
|
2
|
-
import n from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
|
-
var r = function() {
|
|
4
|
-
var e = this, t = e._self._c, o = e._self._setupProxy;
|
|
5
|
-
return o.isVisible ? t(o.WpModal, { attrs: { id: "guido__new-version-popup", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.trans("email-editor.onboarding-title") }, on: { close: o.handleClose, "primary-action": o.handleDiscoverNow, "secondary-action": o.handleRemindLater } }, [t("div", { staticClass: "d-f f-d-c" }, [t("img", { staticClass: "w-1 h-1 d-b p-e-n mb-5", attrs: { src: o.onboardingImageSvg } }), t("p", { staticClass: "f-s-2 f-w-400", domProps: { innerHTML: e._s(o.trans("email-editor.onboarding-description")) } })])]) : e._e();
|
|
6
|
-
}, i = [], a = /* @__PURE__ */ n(
|
|
7
|
-
s,
|
|
8
|
-
r,
|
|
9
|
-
i,
|
|
10
|
-
!1,
|
|
11
|
-
null,
|
|
12
|
-
null
|
|
13
|
-
);
|
|
14
|
-
const p = a.exports;
|
|
15
|
-
export {
|
|
16
|
-
p as default
|
|
17
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { defineComponent as s, ref as r } from "vue";
|
|
2
|
-
import a from "../../wrappers/WpModal.vue.js";
|
|
3
|
-
import { useTranslations as i } from "../../../composables/useTranslations.js";
|
|
4
|
-
import l from "../../../static/assets/onboarding-img.svg.js";
|
|
5
|
-
import { useOnboardingStore as m } from "../../../stores/onboarding.js";
|
|
6
|
-
const w = /* @__PURE__ */ s({
|
|
7
|
-
__name: "NewVersionPopup",
|
|
8
|
-
setup(p) {
|
|
9
|
-
const n = i(), e = m(), o = r(!0), t = r({
|
|
10
|
-
primaryButton: {
|
|
11
|
-
type: "primary",
|
|
12
|
-
labelText: n("left-menu.discover-now")
|
|
13
|
-
},
|
|
14
|
-
secondaryButton: {
|
|
15
|
-
type: "subtle-primary",
|
|
16
|
-
labelText: n("products.remind-me-later")
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
return { __sfc: !0, trans: n, onboardingStore: e, isVisible: o, footerButtonOptions: t, handleDiscoverNow: () => {
|
|
20
|
-
e.onDiscoverNowClicked(), o.value = !1;
|
|
21
|
-
}, handleRemindLater: () => {
|
|
22
|
-
e.onRemindMeLater(), o.value = !1;
|
|
23
|
-
}, handleClose: () => {
|
|
24
|
-
e.onNewVersionPopupClose(), o.value = !1;
|
|
25
|
-
}, WpModal: a, onboardingImageSvg: l };
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
export {
|
|
29
|
-
w as default
|
|
30
|
-
};
|
|
@@ -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,19 +0,0 @@
|
|
|
1
|
-
import o from "./OnboardingWrapper.vue2.js";
|
|
2
|
-
import _ from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
|
-
var s = function() {
|
|
4
|
-
var n = this, e = n._self._c, t = n._self._setupProxy;
|
|
5
|
-
return e("div", n._l(t.visibleOnboardings, function(r) {
|
|
6
|
-
return e(r.component, { key: r.type, tag: "component" });
|
|
7
|
-
}), 1);
|
|
8
|
-
}, a = [], p = /* @__PURE__ */ _(
|
|
9
|
-
o,
|
|
10
|
-
s,
|
|
11
|
-
a,
|
|
12
|
-
!1,
|
|
13
|
-
null,
|
|
14
|
-
null
|
|
15
|
-
);
|
|
16
|
-
const m = p.exports;
|
|
17
|
-
export {
|
|
18
|
-
m as default
|
|
19
|
-
};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { defineComponent as g, computed as e, onMounted as b, watch as t } from "vue";
|
|
2
|
-
import { usePartner as O } from "../../../composables/usePartner.js";
|
|
3
|
-
import { useEditorStore as u } from "../../../stores/editor.js";
|
|
4
|
-
import { useOnboardingStore as v } from "../../../stores/onboarding.js";
|
|
5
|
-
import { usePreviewStore as l } from "../../../stores/preview.js";
|
|
6
|
-
import y from "./AMPOnboarding.vue.js";
|
|
7
|
-
import S from "./GenericOnboarding.vue.js";
|
|
8
|
-
import w from "./NewVersionPopup.vue.js";
|
|
9
|
-
import P from "./TextBlockOnboarding.vue.js";
|
|
10
|
-
import h from "./VersionHistoryOnboarding.vue.js";
|
|
11
|
-
const E = /* @__PURE__ */ g({
|
|
12
|
-
__name: "OnboardingWrapper",
|
|
13
|
-
setup(_) {
|
|
14
|
-
const o = v(), r = u(), s = l(), { isTestPartner: a } = O(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
|
|
15
|
-
{ type: "newVersionPopup", component: w },
|
|
16
|
-
{ type: "genericOnboarding", component: S },
|
|
17
|
-
{ type: "textBlockOnboarding", component: P },
|
|
18
|
-
{ type: "versionHistoryOnboarding", component: h },
|
|
19
|
-
{ type: "ampOnboarding", component: y }
|
|
20
|
-
], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n), f = e(() => m.filter((n) => c(n.type)));
|
|
21
|
-
return b(async () => {
|
|
22
|
-
await o.fetchUserModalState();
|
|
23
|
-
}), t(
|
|
24
|
-
() => r.isVersionHistoryOpen,
|
|
25
|
-
(n, i) => {
|
|
26
|
-
n && !i && o.shouldShowOnboarding("versionHistoryOnboarding") && o.start("versionHistoryOnboarding"), !n && i && o.isActive("versionHistoryOnboarding") && o.close("versionHistoryOnboarding");
|
|
27
|
-
}
|
|
28
|
-
), t(
|
|
29
|
-
() => s.emailFormat,
|
|
30
|
-
(n, i) => {
|
|
31
|
-
i !== "AMP" && n === "AMP" && o.shouldShowOnboarding("ampOnboarding") && o.start("ampOnboarding");
|
|
32
|
-
}
|
|
33
|
-
), t(
|
|
34
|
-
() => r.isPreviewModeOpen,
|
|
35
|
-
(n) => {
|
|
36
|
-
!n && o.isActive("ampOnboarding") && o.close("ampOnboarding");
|
|
37
|
-
}
|
|
38
|
-
), { __sfc: !0, onboardingStore: o, editorStore: r, previewStore: s, isTestPartner: a, isStripoReady: p, isTestPartnerActive: d, onboardingConfigs: m, shouldShow: c, visibleOnboardings: f };
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
export {
|
|
42
|
-
E as default
|
|
43
|
-
};
|
|
@@ -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,21 +0,0 @@
|
|
|
1
|
-
import l from "./TextBlockOnboarding.vue2.js";
|
|
2
|
-
/* empty css */
|
|
3
|
-
import d from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
-
var g = function() {
|
|
5
|
-
var e, n, r, i, a, s;
|
|
6
|
-
var t = this, c = t._self._c, o = t._self._setupProxy;
|
|
7
|
-
return o.isVisible ? c(o.InOnboard, { key: "guido__text-block-onboard", staticClass: "w-21-s p-a z-11", class: (e = o.onboardingStore.getTextBlockCurrentCard) == null ? void 0 : e.classes, attrs: { id: "guido__text-block-onboard", "is-multiple-page": "", visible: "", "image-source": "", title: "", "bottom-position": (n = o.onboardingStore.getTextBlockCurrentCard) == null ? void 0 : n.bottom, "left-position": (r = o.onboardingStore.getTextBlockCurrentCard) == null ? void 0 : r.left, "pages-config": o.onboardingStore.onboardings.textBlockOnboarding.config, "pointer-position": (i = o.onboardingStore.getTextBlockCurrentCard) == null ? void 0 : i.position, "right-position": (a = o.onboardingStore.getTextBlockCurrentCard) == null ? void 0 : a.right, "top-position": (s = o.onboardingStore.getTextBlockCurrentCard) == null ? void 0 : s.top }, on: { backButtonClick: o.handleBack, close: function(u) {
|
|
8
|
-
return o.onboardingStore.close("textBlockOnboarding");
|
|
9
|
-
}, nextButtonClick: o.handleNext } }) : t._e();
|
|
10
|
-
}, b = [], p = /* @__PURE__ */ d(
|
|
11
|
-
l,
|
|
12
|
-
g,
|
|
13
|
-
b,
|
|
14
|
-
!1,
|
|
15
|
-
null,
|
|
16
|
-
"a408dcea"
|
|
17
|
-
);
|
|
18
|
-
const f = p.exports;
|
|
19
|
-
export {
|
|
20
|
-
f as default
|
|
21
|
-
};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { defineComponent as u, computed as a, watch as b } from "vue";
|
|
2
|
-
import { useTranslations as m } from "../../../composables/useTranslations.js";
|
|
3
|
-
import { useOnboardingStore as k } from "../../../stores/onboarding.js";
|
|
4
|
-
import { InOnboard as B } from "@useinsider/design-system-vue";
|
|
5
|
-
const y = /* @__PURE__ */ u({
|
|
6
|
-
__name: "TextBlockOnboarding",
|
|
7
|
-
setup(h) {
|
|
8
|
-
const i = m(), o = k(), e = a(() => {
|
|
9
|
-
const n = window.innerHeight - 128, r = Math.max(90, n * 0.15), s = Math.max(490, n * 0.71), d = 200, g = 40;
|
|
10
|
-
return {
|
|
11
|
-
settings: {
|
|
12
|
-
top: `${r}px`,
|
|
13
|
-
position: r + d + g > n ? "Right Bottom" : "Right Top"
|
|
14
|
-
},
|
|
15
|
-
dynamic: {
|
|
16
|
-
top: `${s}px`,
|
|
17
|
-
position: s + d + g > n ? "Right Bottom" : "Right Top"
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
}), c = a(() => [
|
|
21
|
-
{
|
|
22
|
-
classes: "guido-text-block-onboarding-settings",
|
|
23
|
-
right: "450px",
|
|
24
|
-
top: e.value.settings.top,
|
|
25
|
-
position: e.value.settings.position,
|
|
26
|
-
title: i("email-editor.onboarding-text-block-title"),
|
|
27
|
-
description: i("email-editor.onboarding-text-block-description"),
|
|
28
|
-
imageSource: "",
|
|
29
|
-
backButtonClick: () => {
|
|
30
|
-
},
|
|
31
|
-
nextButtonType: "text",
|
|
32
|
-
nextButtonText: i("products.next"),
|
|
33
|
-
nextButtonClick: () => {
|
|
34
|
-
o.next("textBlockOnboarding");
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
classes: "guido-text-block-onboarding-dynamic",
|
|
39
|
-
right: "450px",
|
|
40
|
-
top: e.value.dynamic.top,
|
|
41
|
-
position: e.value.dynamic.position,
|
|
42
|
-
title: i("email-editor.onboarding-dynamic-content-title"),
|
|
43
|
-
description: i("email-editor.onboarding-dynamic-content-description"),
|
|
44
|
-
imageSource: "",
|
|
45
|
-
backButtonType: "text",
|
|
46
|
-
backButtonText: i("ds-steps.back"),
|
|
47
|
-
backButtonClick: () => {
|
|
48
|
-
o.previous("textBlockOnboarding");
|
|
49
|
-
},
|
|
50
|
-
nextButtonType: "text",
|
|
51
|
-
nextButtonText: i("action-builder.ok"),
|
|
52
|
-
nextButtonClick: () => {
|
|
53
|
-
o.close("textBlockOnboarding");
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
]), l = a(() => o.onboardings.textBlockOnboarding.config.length > 0 && o.onboardings.textBlockOnboarding.isActive), p = () => {
|
|
57
|
-
var t, n;
|
|
58
|
-
(n = (t = o.getTextBlockCurrentCard) == null ? void 0 : t.nextButtonClick) == null || n.call(t);
|
|
59
|
-
}, x = () => {
|
|
60
|
-
var t, n;
|
|
61
|
-
(n = (t = o.getTextBlockCurrentCard) == null ? void 0 : t.backButtonClick) == null || n.call(t);
|
|
62
|
-
};
|
|
63
|
-
return b(
|
|
64
|
-
() => o.isActive("textBlockOnboarding"),
|
|
65
|
-
(t) => {
|
|
66
|
-
t && o.setConfig("textBlockOnboarding", c.value);
|
|
67
|
-
},
|
|
68
|
-
{ immediate: !0 }
|
|
69
|
-
), { __sfc: !0, trans: i, onboardingStore: o, dynamicPosition: e, onboardingCardsConfig: c, isVisible: l, handleNext: p, handleBack: x, InOnboard: B };
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
export {
|
|
73
|
-
y as default
|
|
74
|
-
};
|
|
@@ -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,20 +0,0 @@
|
|
|
1
|
-
import g from "./VersionHistoryOnboarding.vue2.js";
|
|
2
|
-
import l from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
|
-
var c = function() {
|
|
4
|
-
var n, t, i, e, s, a;
|
|
5
|
-
var r = this, d = r._self._c, o = r._self._setupProxy;
|
|
6
|
-
return o.isVisible ? d(o.InOnboard, { key: "guido__version-history-onboard", staticClass: "w-21-s p-a z-11", class: (n = o.onboardingStore.getVersionHistoryCurrentCard) == null ? void 0 : n.classes, attrs: { id: "guido__version-history-onboard", "is-multiple-page": "", visible: "", "image-source": "", title: "", "bottom-position": (t = o.onboardingStore.getVersionHistoryCurrentCard) == null ? void 0 : t.bottom, "left-position": (i = o.onboardingStore.getVersionHistoryCurrentCard) == null ? void 0 : i.left, "pages-config": o.onboardingStore.onboardings.versionHistoryOnboarding.config, "pointer-position": (e = o.onboardingStore.getVersionHistoryCurrentCard) == null ? void 0 : e.position, "right-position": (s = o.onboardingStore.getVersionHistoryCurrentCard) == null ? void 0 : s.right, "top-position": (a = o.onboardingStore.getVersionHistoryCurrentCard) == null ? void 0 : a.top }, on: { backButtonClick: o.handleBack, close: function(b) {
|
|
7
|
-
return o.onboardingStore.close("versionHistoryOnboarding");
|
|
8
|
-
}, nextButtonClick: o.handleNext } }) : r._e();
|
|
9
|
-
}, _ = [], p = /* @__PURE__ */ l(
|
|
10
|
-
g,
|
|
11
|
-
c,
|
|
12
|
-
_,
|
|
13
|
-
!1,
|
|
14
|
-
null,
|
|
15
|
-
null
|
|
16
|
-
);
|
|
17
|
-
const m = p.exports;
|
|
18
|
-
export {
|
|
19
|
-
m as default
|
|
20
|
-
};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { defineComponent as c, computed as e, watch as g } from "vue";
|
|
2
|
-
import { useTranslations as b } from "../../../composables/useTranslations.js";
|
|
3
|
-
import { useOnboardingStore as u } from "../../../stores/onboarding.js";
|
|
4
|
-
import { InOnboard as l } from "@useinsider/design-system-vue";
|
|
5
|
-
const C = /* @__PURE__ */ c({
|
|
6
|
-
__name: "VersionHistoryOnboarding",
|
|
7
|
-
setup(p) {
|
|
8
|
-
const t = b(), n = u(), r = e(() => [
|
|
9
|
-
{
|
|
10
|
-
classes: "guido-version-history-onboarding",
|
|
11
|
-
left: "409px",
|
|
12
|
-
top: "192px",
|
|
13
|
-
position: "Left Top",
|
|
14
|
-
title: t("email-editor.onboarding-version-history-title"),
|
|
15
|
-
description: t("email-editor.onboarding-version-history-description"),
|
|
16
|
-
imageSource: "",
|
|
17
|
-
backButtonClick: () => {
|
|
18
|
-
},
|
|
19
|
-
nextButtonType: "text",
|
|
20
|
-
nextButtonText: t("action-builder.ok"),
|
|
21
|
-
nextButtonClick: () => void n.close("versionHistoryOnboarding")
|
|
22
|
-
}
|
|
23
|
-
]), s = e(() => n.onboardings.versionHistoryOnboarding.config.length > 0 && n.onboardings.versionHistoryOnboarding.isActive), a = () => {
|
|
24
|
-
var o, i;
|
|
25
|
-
(i = (o = n.getVersionHistoryCurrentCard) == null ? void 0 : o.nextButtonClick) == null || i.call(o);
|
|
26
|
-
}, d = () => {
|
|
27
|
-
var o, i;
|
|
28
|
-
(i = (o = n.getVersionHistoryCurrentCard) == null ? void 0 : o.backButtonClick) == null || i.call(o);
|
|
29
|
-
};
|
|
30
|
-
return g(() => n.onboardings.versionHistoryOnboarding.isActive, (o) => {
|
|
31
|
-
o && n.setConfig("versionHistoryOnboarding", r.value);
|
|
32
|
-
}, { immediate: !0 }), { __sfc: !0, trans: t, onboardingStore: n, onboardingCardsConfig: r, isVisible: s, handleNext: a, handleBack: d, InOnboard: l };
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
export {
|
|
36
|
-
C as default
|
|
37
|
-
};
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { useConfig as V } from "./useConfig.js";
|
|
2
|
-
import { TemplateTypes as H } from "../enums/defaults.js";
|
|
3
|
-
import { DISPLAY_CONDITIONS_REGEX as O, DISPLAY_CONDITIONS_EXCEPTIONS_REGEX as B, CampaignCouldNotBeSavedKey as _, CanNotMakeAnyChangesForRunningKey as R } from "../enums/html-validator.js";
|
|
4
|
-
import { ToasterTypeOptions as r } from "../enums/toaster.js";
|
|
5
|
-
import { useRecommendationStore as D } from "../stores/recommendation.js";
|
|
6
|
-
import { base64EncodeWithSpecialChars as P } from "../utils/base64.js";
|
|
7
|
-
import { useHttp as X } from "./useHttp.js";
|
|
8
|
-
import { useToaster as j } from "./useToaster.js";
|
|
9
|
-
import { useTranslations as z } from "./useTranslations.js";
|
|
10
|
-
const tt = () => {
|
|
11
|
-
var d;
|
|
12
|
-
const { showToaster: a } = j(), { post: y } = X(), { config: C } = V(), i = z(), m = D(), f = ((d = C.partner) == null ? void 0 : d.messageType) === H.transactional, h = async (t) => {
|
|
13
|
-
const e = await y(
|
|
14
|
-
"/newsletter/template-library/check-template-html-body",
|
|
15
|
-
{ html: P(t) }
|
|
16
|
-
), { status: n, message: c } = e.data;
|
|
17
|
-
return n || a({
|
|
18
|
-
type: r.Alert,
|
|
19
|
-
message: n === void 0 ? c : i("newsletter.invalid-url-link-for-toaster")
|
|
20
|
-
}), i(_), c === i(R) && a({
|
|
21
|
-
type: r.Alert,
|
|
22
|
-
message: i("newsletter.already-in-progress")
|
|
23
|
-
}), n;
|
|
24
|
-
}, v = (t) => !["if", "endif", "else", "elif", "now"].includes(t.toLowerCase()), w = (t) => ["if", "endif"].includes(t.toLowerCase()), S = (t, s) => {
|
|
25
|
-
const e = t.match(/({%(.*?)%})/g);
|
|
26
|
-
let n = !0;
|
|
27
|
-
return e !== null && !f && e.forEach((c) => {
|
|
28
|
-
const o = c.slice(2, -2).trim().match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
|
|
29
|
-
if (o && o.length > 0) {
|
|
30
|
-
const [l] = o;
|
|
31
|
-
v(l) && !s.includes(l) && (a({
|
|
32
|
-
type: r.Warning,
|
|
33
|
-
message: i("custom-fields.invalid-custom-fields")
|
|
34
|
-
}), n = !1);
|
|
35
|
-
}
|
|
36
|
-
}), n;
|
|
37
|
-
}, E = async (t, s, e) => {
|
|
38
|
-
const n = e ? await h(t) : !0;
|
|
39
|
-
return S(t, s) && n;
|
|
40
|
-
}, T = (t) => t.length > 0 ? !0 : (a({
|
|
41
|
-
type: r.Warning,
|
|
42
|
-
message: i("newsletter.html-content-is-empty")
|
|
43
|
-
}), !1), I = (t) => {
|
|
44
|
-
const s = (t.match(/{/gm) || []).length, e = (t.match(/}/gm) || []).length;
|
|
45
|
-
return s > e && a({
|
|
46
|
-
type: r.Warning,
|
|
47
|
-
message: i("custom-fields.missing-closing-braces")
|
|
48
|
-
}), s < e && a({
|
|
49
|
-
type: r.Warning,
|
|
50
|
-
message: i("custom-fields.missing-opening-braces")
|
|
51
|
-
}), s === e;
|
|
52
|
-
}, A = (t) => {
|
|
53
|
-
const s = t.match(/{{\s*(\w+\s+((\w+\|\w+)|(\w+)))\s*}}/gm) === null;
|
|
54
|
-
return s || a({
|
|
55
|
-
type: r.Warning,
|
|
56
|
-
message: i("custom-fields.invalid-custom-fields")
|
|
57
|
-
}), s;
|
|
58
|
-
}, W = (t, s) => {
|
|
59
|
-
const e = t.match(/{{([a-zA-Z0-9_\s]*)}}/gm);
|
|
60
|
-
if (e && !f) {
|
|
61
|
-
const n = s.map((o) => o.toLowerCase()), c = e.some((o) => {
|
|
62
|
-
const l = o.replace("{{", "").replace("}}", "").trim().toLowerCase();
|
|
63
|
-
return !n.includes(l) || l === "";
|
|
64
|
-
});
|
|
65
|
-
return c && a({
|
|
66
|
-
type: r.Warning,
|
|
67
|
-
message: i("custom-fields.invalid-custom-fields")
|
|
68
|
-
}), !c;
|
|
69
|
-
}
|
|
70
|
-
return !0;
|
|
71
|
-
}, x = (t) => {
|
|
72
|
-
const s = t.match(/{%(.*?)%}/g), e = [];
|
|
73
|
-
let n = !0;
|
|
74
|
-
if (s && s.forEach((c) => {
|
|
75
|
-
const o = c.match(O), l = c.match(B), L = (o == null ? void 0 : o.join("")) || "";
|
|
76
|
-
(!o || c !== L) && !l && (a({
|
|
77
|
-
type: r.Alert,
|
|
78
|
-
message: i("newsletter.display-conditions-invalid-syntax")
|
|
79
|
-
}), n = !1), o && o.forEach((u) => {
|
|
80
|
-
u.trim() === "=" && (a({
|
|
81
|
-
type: r.Alert,
|
|
82
|
-
message: i("custom-conditions.wrong-equality-operators")
|
|
83
|
-
}), n = !1);
|
|
84
|
-
const g = u.match(/^[a-zA-Z]*$/g);
|
|
85
|
-
g && g.forEach((p) => {
|
|
86
|
-
w(p) && e.push(p);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
}), e.length) {
|
|
90
|
-
const c = e.filter((l) => l === "if"), o = e.filter((l) => l === "endif");
|
|
91
|
-
c.length !== o.length && (a({
|
|
92
|
-
type: r.Alert,
|
|
93
|
-
message: i("custom-conditions.missing-if-endif-tag")
|
|
94
|
-
}), n = !1);
|
|
95
|
-
}
|
|
96
|
-
return n;
|
|
97
|
-
}, b = (t) => {
|
|
98
|
-
const s = (t.match(/{% /gm) || []).length, e = (t.match(/ %}/gm) || []).length, n = s === e;
|
|
99
|
-
return n || a({
|
|
100
|
-
type: r.Warning,
|
|
101
|
-
message: i("custom-conditions.no-space-after-braces")
|
|
102
|
-
}), n;
|
|
103
|
-
}, N = (t) => (t.match(/({%(.*?)%})/g) || []).filter((e) => e.includes("if")).map((e) => (e.match(/{{.*}}/gm) || []).length).reduce((e, n) => e + n, 0) > 0 ? (a({
|
|
104
|
-
type: r.Warning,
|
|
105
|
-
message: i("custom-conditions.no-braces-inside-if-tag")
|
|
106
|
-
}), !1) : !0, k = () => m.recommendationConfigs && Object.values(m.recommendationConfigs).find((s) => s.filters.find((e) => e.value === "")) !== void 0 ? (a({
|
|
107
|
-
type: r.Alert,
|
|
108
|
-
message: i("newsletter.fill-all-necessary-fields")
|
|
109
|
-
}), !1) : !0, F = (t) => {
|
|
110
|
-
const s = /src="[^"]*\.(svg|pst)"/gm;
|
|
111
|
-
return t.match(s) === null ? !0 : (a({
|
|
112
|
-
type: r.Alert,
|
|
113
|
-
message: i("newsletter.invalid-image-type")
|
|
114
|
-
}), !1);
|
|
115
|
-
};
|
|
116
|
-
return { validateHtml: async (t, s, e = !1) => await E(t, s, e) && T(t) && I(t) && A(t) && W(t, s) && x(t) && b(t) && N(t) && k() && F(t) };
|
|
117
|
-
};
|
|
118
|
-
export {
|
|
119
|
-
tt as useHtmlValidator
|
|
120
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
type CardWidthParams = {
|
|
2
|
-
mobileLeftPadding: number;
|
|
3
|
-
mobileRightPadding: number;
|
|
4
|
-
cardsInRow: number;
|
|
5
|
-
unresponsive: boolean;
|
|
6
|
-
};
|
|
7
|
-
interface CampaignData extends CardWidthParams {
|
|
8
|
-
textTrimming: boolean;
|
|
9
|
-
orientation: string;
|
|
10
|
-
priceBeforeTextValue: string;
|
|
11
|
-
priceAfterTextValue: string;
|
|
12
|
-
discountBeforeTextValue: string;
|
|
13
|
-
discountAfterTextValue: string;
|
|
14
|
-
}
|
|
15
|
-
export declare const useRecommendation: () => {
|
|
16
|
-
calculateCardWidth: ({ mobileLeftPadding, mobileRightPadding, cardsInRow, unresponsive, }: CardWidthParams) => number;
|
|
17
|
-
getRecommendationCampaignData: (id: string) => CampaignData;
|
|
18
|
-
};
|
|
19
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { MinDeviceViewport as r, DefaultPadding as c } from "../enums/recommendation.js";
|
|
2
|
-
const m = () => ({
|
|
3
|
-
calculateCardWidth: ({
|
|
4
|
-
mobileLeftPadding: e,
|
|
5
|
-
mobileRightPadding: a,
|
|
6
|
-
cardsInRow: n,
|
|
7
|
-
unresponsive: i
|
|
8
|
-
}) => {
|
|
9
|
-
const t = i ? n : 1, o = e + a + (t - 1) * c;
|
|
10
|
-
return (r - o) / t;
|
|
11
|
-
},
|
|
12
|
-
getRecommendationCampaignData: (e) => (console.debug(e), {
|
|
13
|
-
textTrimming: !1,
|
|
14
|
-
orientation: "vertical",
|
|
15
|
-
mobileLeftPadding: 0,
|
|
16
|
-
mobileRightPadding: 0,
|
|
17
|
-
cardsInRow: 2,
|
|
18
|
-
unresponsive: !1,
|
|
19
|
-
priceBeforeTextValue: "",
|
|
20
|
-
priceAfterTextValue: "",
|
|
21
|
-
discountBeforeTextValue: "",
|
|
22
|
-
discountAfterTextValue: ""
|
|
23
|
-
})
|
|
24
|
-
});
|
|
25
|
-
export {
|
|
26
|
-
m as useRecommendation
|
|
27
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useSaveStart as i, useSaveComplete as l } from "./useGuidoActions.js";
|
|
2
|
-
import { useTemplatePreparation as m } from "../utils/templatePreparation.js";
|
|
3
|
-
import { useHtmlValidator as n } from "./useHtmlValidator.js";
|
|
4
|
-
const f = () => {
|
|
5
|
-
const e = i(), a = l(), { validateHtml: s } = n();
|
|
6
|
-
return { save: async (o = !1) => {
|
|
7
|
-
e();
|
|
8
|
-
const { prepareTemplateDetails: r } = m(), t = await r();
|
|
9
|
-
if (await s(t.compiledHtml, [], !0))
|
|
10
|
-
return o || a(t), t;
|
|
11
|
-
} };
|
|
12
|
-
};
|
|
13
|
-
export {
|
|
14
|
-
f as useSave
|
|
15
|
-
};
|