@useinsider/guido 1.0.2-beta.a71d19d → 1.0.2-beta.ab357f5
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 +7 -0
- package/dist/@types/generic.d.ts +4 -0
- package/dist/components/Guido.vue.d.ts +3 -1
- package/dist/components/Guido.vue.js +5 -5
- package/dist/components/Guido.vue2.js +76 -65
- package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
- package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +3 -2
- package/dist/components/organisms/header/HeaderWrapper.vue.d.ts +3 -1
- package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -6
- package/dist/components/organisms/header/HeaderWrapper.vue2.js +15 -9
- package/dist/components/organisms/header/RightSlot.vue.d.ts +3 -1
- package/dist/components/organisms/header/RightSlot.vue.js +5 -3
- package/dist/components/organisms/header/RightSlot.vue2.js +23 -19
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +5 -5
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +40 -28
- package/dist/composables/useCustomInterfaceAppearance.js +22 -18
- package/dist/composables/useSave.d.ts +2 -1
- package/dist/composables/useSave.js +9 -8
- package/dist/composables/useStripo.js +27 -25
- package/dist/composables/useToaster.js +17 -17
- package/dist/guido.css +1 -1
- package/dist/static/styles/components/alert-message.css.js +32 -2
- package/dist/static/styles/components/button.css.js +32 -2
- package/dist/static/styles/components/notification.css.js +55 -0
- package/dist/static/styles/components/popup.css.js +68 -0
- package/dist/static/styles/components/wide-panel.css.js +5 -1
- package/dist/static/styles/customEditorStyle.css.js +6 -0
- package/dist/static/styles/variables.css.js +10 -0
- package/dist/stores/dynamic-content.d.ts +12 -0
- package/dist/stores/dynamic-content.js +7 -6
- package/dist/utils/genericUtil.js +9 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -125,6 +125,11 @@ export default {
|
|
|
125
125
|
// ⚠️ It's mandatory. There is no way to understand if user closes the modal without selection.
|
|
126
126
|
handleDynamicContentClose() {
|
|
127
127
|
this.$refs.guidoEditor?.dynamicContent.close();
|
|
128
|
+
},
|
|
129
|
+
|
|
130
|
+
// If you need to trigger save manually like leave modal cases, you can use this method.
|
|
131
|
+
save () {
|
|
132
|
+
this.$refs.guidoEditor?.saveSilent();
|
|
128
133
|
}
|
|
129
134
|
}
|
|
130
135
|
};
|
|
@@ -155,11 +160,13 @@ export default {
|
|
|
155
160
|
| `save:start` | - | Fired when the save process begins |
|
|
156
161
|
| `save:complete` | `Omit<Template, 'forceRecreate'>` | Fired when template is successfully saved |
|
|
157
162
|
| `on-change` | void | It Fires once for managing leave modal etc. |
|
|
163
|
+
| `ready` | void | Fired when the editor is ready and template is loaded |
|
|
158
164
|
|
|
159
165
|
### Guido Exposed Methods
|
|
160
166
|
```typescript
|
|
161
167
|
dynamicContent.insert(DynamicContent);
|
|
162
168
|
dynamicContent.close();
|
|
169
|
+
saveSilent();
|
|
163
170
|
```
|
|
164
171
|
|
|
165
172
|
### Guido Interfaces
|
package/dist/@types/generic.d.ts
CHANGED
|
@@ -18,12 +18,14 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
|
|
|
18
18
|
close: () => void;
|
|
19
19
|
};
|
|
20
20
|
hasChanges: import("vue").ComputedRef<boolean>;
|
|
21
|
+
saveSilent: () => Promise<SavedTemplateDetails | undefined> | undefined;
|
|
21
22
|
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
|
|
22
23
|
"dynamic-content:open": (detail: DynamicContent | null) => void;
|
|
23
24
|
back: () => void;
|
|
24
25
|
"save:start": () => void;
|
|
25
26
|
"save:complete": (data: Omit<SavedTemplateDetails, "forceRecreate">) => void;
|
|
26
|
-
"on-change": () => void;
|
|
27
|
+
"on-change": (hasChanges: boolean) => void;
|
|
28
|
+
ready: () => void;
|
|
27
29
|
}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
|
|
28
30
|
export default _default;
|
|
29
31
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import a from "./Guido.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import i from "../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
-
var
|
|
4
|
+
var s = function() {
|
|
5
5
|
var o = this, r = o._self._c, e = o._self._setupProxy;
|
|
6
|
-
return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.SaveAsTemplateDrawer), e.isTestPartner()
|
|
7
|
-
},
|
|
6
|
+
return r("div", { staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : o._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.SaveAsTemplateDrawer), !e.isTestPartner() && !e.isDevMode ? r(e.OnboardingWrapper) : o._e(), r(e.LoadingWrapper)], 1);
|
|
7
|
+
}, t = [], d = /* @__PURE__ */ i(
|
|
8
8
|
a,
|
|
9
|
-
t,
|
|
10
9
|
s,
|
|
10
|
+
t,
|
|
11
11
|
!1,
|
|
12
12
|
null,
|
|
13
|
-
"
|
|
13
|
+
"cebb8ab0"
|
|
14
14
|
);
|
|
15
15
|
const v = d.exports;
|
|
16
16
|
export {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { provideGuidoActions as
|
|
3
|
-
import { usePartner as
|
|
4
|
-
import { useStripo as
|
|
5
|
-
import { DefaultUsername as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { useStripoApi as
|
|
11
|
-
import { useDynamicContentStore as
|
|
12
|
-
import { useEditorStore as
|
|
13
|
-
import { usePreviewStore as
|
|
14
|
-
import
|
|
15
|
-
const
|
|
1
|
+
import { defineComponent as H, defineAsyncComponent as G, ref as M, computed as c, watch as R, onMounted as U, onUnmounted as x } from "vue";
|
|
2
|
+
import { provideGuidoActions as F } from "../composables/useGuidoActions.js";
|
|
3
|
+
import { usePartner as z } from "../composables/usePartner.js";
|
|
4
|
+
import { useStripo as B } from "../composables/useStripo.js";
|
|
5
|
+
import { DefaultUsername as K, DefaultMessageType as O, DefaultGuidoConfig as j } from "../enums/defaults.js";
|
|
6
|
+
import q from "./organisms/base/Toaster.vue.js";
|
|
7
|
+
import J from "./organisms/header/HeaderWrapper.vue.js";
|
|
8
|
+
import Q from "./organisms/LoadingWrapper.vue.js";
|
|
9
|
+
import V from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
|
|
10
|
+
import { useStripoApi as X } from "../services/stripoApi.js";
|
|
11
|
+
import { useDynamicContentStore as Y } from "../stores/dynamic-content.js";
|
|
12
|
+
import { useEditorStore as Z } from "../stores/editor.js";
|
|
13
|
+
import { usePreviewStore as $ } from "../stores/preview.js";
|
|
14
|
+
import ee from "../node_modules/lodash-es/merge.js";
|
|
15
|
+
const fe = /* @__PURE__ */ H({
|
|
16
16
|
__name: "Guido",
|
|
17
17
|
props: {
|
|
18
18
|
templateId: null,
|
|
@@ -26,85 +26,96 @@ const le = /* @__PURE__ */ A({
|
|
|
26
26
|
preselectedDynamicContentList: null,
|
|
27
27
|
guidoConfig: null
|
|
28
28
|
},
|
|
29
|
-
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change"],
|
|
30
|
-
setup(
|
|
31
|
-
const
|
|
29
|
+
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready"],
|
|
30
|
+
setup(P, { expose: I, emit: o }) {
|
|
31
|
+
const n = P, L = G(
|
|
32
32
|
() => import("./organisms/email-preview/PreviewContainer.vue.js")
|
|
33
|
-
),
|
|
33
|
+
), _ = G(
|
|
34
34
|
() => import("./organisms/onboarding/OnboardingWrapper.vue.js")
|
|
35
|
-
),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
35
|
+
), d = M(), r = Y(), m = Z(), W = $(), t = c(() => m.hasChanges), a = n.preselectedDynamicContentList || [], { getPartnerName: l, getProductType: u, isTestPartner: k } = z(), A = c(() => !1), p = () => {
|
|
36
|
+
var e;
|
|
37
|
+
return (e = d.value) == null ? void 0 : e.handleSave(!0);
|
|
38
|
+
}, {
|
|
39
|
+
templateId: g,
|
|
40
|
+
userId: f,
|
|
41
|
+
guidoConfig: y,
|
|
42
|
+
html: v = "",
|
|
43
|
+
css: C = "",
|
|
44
|
+
partnerName: s = l(),
|
|
45
|
+
productType: i = u(),
|
|
46
|
+
messageType: h = O,
|
|
47
|
+
username: w = K
|
|
48
|
+
} = n;
|
|
49
|
+
window.GuidoConfig = ee(j, y), window.GuidoConfig.partner = {
|
|
50
|
+
partnerName: s,
|
|
51
|
+
productType: i,
|
|
52
|
+
messageType: h
|
|
50
53
|
};
|
|
51
|
-
const { initPlugin:
|
|
52
|
-
emailId:
|
|
53
|
-
userId:
|
|
54
|
-
username:
|
|
55
|
-
partnerName:
|
|
56
|
-
productType:
|
|
57
|
-
preselectedDynamicContentList: a
|
|
58
|
-
|
|
54
|
+
const { initPlugin: S } = B({
|
|
55
|
+
emailId: g,
|
|
56
|
+
userId: f,
|
|
57
|
+
username: w,
|
|
58
|
+
partnerName: s,
|
|
59
|
+
productType: i,
|
|
60
|
+
preselectedDynamicContentList: a,
|
|
61
|
+
onReady: () => {
|
|
62
|
+
console.debug("guido:ready"), o("ready");
|
|
63
|
+
}
|
|
64
|
+
}), { getDefaultTemplate: D } = X(), N = c(() => {
|
|
59
65
|
var e;
|
|
60
66
|
return !((e = window.GuidoConfig) != null && e.useHeader);
|
|
61
67
|
});
|
|
62
|
-
|
|
68
|
+
F({
|
|
63
69
|
onBack: () => {
|
|
64
|
-
console.debug("guido:back"),
|
|
70
|
+
console.debug("guido:back"), o("back");
|
|
65
71
|
},
|
|
66
72
|
onSaveStart: () => {
|
|
67
|
-
console.debug("guido:save:start"),
|
|
73
|
+
console.debug("guido:save:start"), o("save:start");
|
|
68
74
|
},
|
|
69
75
|
onSaveComplete: (e) => {
|
|
70
|
-
console.debug("guido:save:complete", e),
|
|
76
|
+
console.debug("guido:save:complete", e), o("save:complete", e);
|
|
71
77
|
}
|
|
72
78
|
});
|
|
73
|
-
const
|
|
74
|
-
console.debug("dynamic-content:close", e),
|
|
75
|
-
},
|
|
79
|
+
const b = (e) => {
|
|
80
|
+
console.debug("dynamic-content:close", e), r.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
|
|
81
|
+
}, T = () => {
|
|
76
82
|
console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
|
|
77
83
|
};
|
|
78
|
-
return
|
|
79
|
-
|
|
80
|
-
}),
|
|
84
|
+
return R(() => t.value, () => {
|
|
85
|
+
o("on-change", t.value);
|
|
86
|
+
}), U(async () => {
|
|
81
87
|
console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
|
|
82
88
|
try {
|
|
83
89
|
let e = {
|
|
84
|
-
html:
|
|
85
|
-
css:
|
|
90
|
+
html: v,
|
|
91
|
+
css: C,
|
|
86
92
|
forceRecreate: !0
|
|
87
93
|
// TODO: It should be false for old templates. We will communicate with Stripo
|
|
88
94
|
};
|
|
89
|
-
e.html || (e = await
|
|
95
|
+
e.html || (e = await D()), await S(e), r.selectedDynamicContentList = a;
|
|
90
96
|
} catch (e) {
|
|
91
97
|
console.error("Failed to initialize Stripo editor:", e);
|
|
92
98
|
}
|
|
93
99
|
document.addEventListener("dynamic-content:open", (e) => {
|
|
94
|
-
const
|
|
95
|
-
console.debug("dynamic-content:open",
|
|
100
|
+
const E = e;
|
|
101
|
+
console.debug("dynamic-content:open", E.detail), o("dynamic-content:open", E.detail);
|
|
96
102
|
});
|
|
97
|
-
}),
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
}), x(() => {
|
|
104
|
+
try {
|
|
105
|
+
window.UIEditor.removeEditor();
|
|
106
|
+
} catch {
|
|
107
|
+
console.debug("Failed to remove Stripo editor: No editor found");
|
|
108
|
+
}
|
|
109
|
+
}), I({
|
|
100
110
|
dynamicContent: {
|
|
101
|
-
insert:
|
|
102
|
-
close:
|
|
111
|
+
insert: b,
|
|
112
|
+
close: T
|
|
103
113
|
},
|
|
104
|
-
hasChanges:
|
|
105
|
-
|
|
114
|
+
hasChanges: t,
|
|
115
|
+
saveSilent: p
|
|
116
|
+
}), { __sfc: !0, PreviewContainer: L, OnboardingWrapper: _, headerWrapperRef: d, dynamicContentStore: r, props: n, editorStore: m, previewStore: W, hasChanges: t, preselectedDynamicContentList: a, getPartnerName: l, getProductType: u, isTestPartner: k, isDevMode: A, saveSilent: p, templateId: g, userId: f, guidoConfig: y, html: v, css: C, partnerName: s, productType: i, messageType: h, username: w, emit: o, initPlugin: S, getDefaultTemplate: D, noHeader: N, insertDynamicContent: b, closeDynamicContent: T, Toaster: q, HeaderWrapper: J, LoadingWrapper: Q, SaveAsTemplateDrawer: V };
|
|
106
117
|
}
|
|
107
118
|
});
|
|
108
119
|
export {
|
|
109
|
-
|
|
120
|
+
fe as default
|
|
110
121
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import o from "./AmpToggle.vue2.js";
|
|
2
|
+
/* empty css */
|
|
2
3
|
import n from "../../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
4
|
var s = function() {
|
|
4
5
|
var r = this, t = r._self._c, e = r._self._setupProxy;
|
|
5
|
-
return t("div", [t("div", { staticClass: "d-f a-i-c ml-3" }, [t(e.InSegments, { attrs: { id: "guido__amp-toggle", "segment-list": e.segmentList, selected: e.previewStore.emailFormat }, on: { click: e.handleFormatChange } }), e.previewStore.showAMPErrorButton ? t(e.InButtonV2, { staticClass: "ml-2 d-f a-i-c b-c-11 b-c-h-11 t-c-4 t-c-h-4 i-c-4 bor-w-1 bor-s-s bor-c-11 bor-r-2", attrs: { id: "guido__amp-error-button", "left-icon": "line-error-box", type: "danger", "label-text-status": !1 }, on: { click: function(
|
|
6
|
+
return t("div", [t("div", { staticClass: "d-f a-i-c ml-3" }, [t(e.InSegments, { attrs: { id: "guido__amp-toggle", "segment-list": e.segmentList, selected: e.previewStore.emailFormat }, on: { click: e.handleFormatChange } }), e.previewStore.showAMPErrorButton ? t(e.InButtonV2, { staticClass: "ml-2 d-f a-i-c b-c-11 b-c-h-11 t-c-4 t-c-h-4 i-c-4 bor-w-1 bor-s-s bor-c-11 bor-r-2", attrs: { id: "guido__amp-error-button", "left-icon": "line-error-box", type: "danger", "label-text-status": !1 }, on: { click: function(l) {
|
|
6
7
|
return e.previewStore.openErrorModal();
|
|
7
8
|
} } }) : r._e()], 1)]);
|
|
8
9
|
}, a = [], i = /* @__PURE__ */ n(
|
|
@@ -11,7 +12,7 @@ var s = function() {
|
|
|
11
12
|
a,
|
|
12
13
|
!1,
|
|
13
14
|
null,
|
|
14
|
-
|
|
15
|
+
"b5997368"
|
|
15
16
|
);
|
|
16
17
|
const d = i.exports;
|
|
17
18
|
export {
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{}, {
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
2
|
+
handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo.js").SavedTemplateDetails | undefined> | undefined;
|
|
3
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
2
4
|
export default _default;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import o from "./HeaderWrapper.vue2.js";
|
|
2
2
|
import s from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
3
|
var n = function() {
|
|
4
|
-
var
|
|
5
|
-
return r(e.InContainer, { attrs: { border: "bor-w-0 bor-b-w-1 bor-s-s bor-c-6", "border-radius": "bor-r-0" } }, [r("div", { staticClass: "w-1 d-f a-i-c j-c-s-b p-3" }, [r(e.LeftSlot), r(e.MiddleSlot), r(e.RightSlot)], 1)]);
|
|
4
|
+
var t = this, r = t._self._c, e = t._self._setupProxy;
|
|
5
|
+
return r(e.InContainer, { attrs: { border: "bor-w-0 bor-b-w-1 bor-s-s bor-c-6", "border-radius": "bor-r-0" } }, [r("div", { staticClass: "w-1 d-f a-i-c j-c-s-b p-3" }, [r(e.LeftSlot), r(e.MiddleSlot), r(e.RightSlot, { ref: "rightSlotRef" })], 1)]);
|
|
6
6
|
}, a = [], _ = /* @__PURE__ */ s(
|
|
7
|
-
|
|
7
|
+
o,
|
|
8
8
|
n,
|
|
9
9
|
a,
|
|
10
10
|
!1,
|
|
11
11
|
null,
|
|
12
12
|
null
|
|
13
13
|
);
|
|
14
|
-
const
|
|
14
|
+
const c = _.exports;
|
|
15
15
|
export {
|
|
16
|
-
|
|
16
|
+
c as default
|
|
17
17
|
};
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { InContainer as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
const
|
|
1
|
+
import { defineComponent as n, ref as m } from "vue";
|
|
2
|
+
import { InContainer as a } from "@useinsider/design-system-vue";
|
|
3
|
+
import f from "./LeftSlot.vue.js";
|
|
4
|
+
import p from "./MiddleSlot.vue.js";
|
|
5
|
+
import i from "./RightSlot.vue.js";
|
|
6
|
+
const c = /* @__PURE__ */ n({
|
|
7
7
|
__name: "HeaderWrapper",
|
|
8
|
-
setup(
|
|
9
|
-
|
|
8
|
+
setup(l, { expose: r }) {
|
|
9
|
+
const e = m(null);
|
|
10
|
+
return r({
|
|
11
|
+
handleSave: (t) => {
|
|
12
|
+
var o;
|
|
13
|
+
return (o = e.value) == null ? void 0 : o.handleSave(t);
|
|
14
|
+
}
|
|
15
|
+
}), { __sfc: !0, rightSlotRef: e, InContainer: a, LeftSlot: f, MiddleSlot: p, RightSlot: i };
|
|
10
16
|
}
|
|
11
17
|
});
|
|
12
18
|
export {
|
|
13
|
-
|
|
19
|
+
c as default
|
|
14
20
|
};
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{}, {
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
2
|
+
handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo").SavedTemplateDetails | undefined>;
|
|
3
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
2
4
|
export default _default;
|
|
@@ -3,7 +3,9 @@ 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, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (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:
|
|
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, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (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: function(p) {
|
|
7
|
+
return t.handleSave(!1);
|
|
8
|
+
} } })], 1);
|
|
7
9
|
}, r = [], d = /* @__PURE__ */ a(
|
|
8
10
|
n,
|
|
9
11
|
l,
|
|
@@ -12,7 +14,7 @@ var l = function() {
|
|
|
12
14
|
null,
|
|
13
15
|
null
|
|
14
16
|
);
|
|
15
|
-
const
|
|
17
|
+
const g = d.exports;
|
|
16
18
|
export {
|
|
17
|
-
|
|
19
|
+
g as default
|
|
18
20
|
};
|
|
@@ -1,31 +1,35 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useConfig as
|
|
3
|
-
import { useExport as
|
|
4
|
-
import { useSave as
|
|
5
|
-
import { useTranslations as
|
|
6
|
-
import { useVersionHistoryApi as
|
|
7
|
-
import { useEditorStore as
|
|
8
|
-
import { getTooltipOptions as
|
|
9
|
-
import { InButtonV2 as
|
|
10
|
-
const
|
|
1
|
+
import { defineComponent as g, ref as l, computed as H } from "vue";
|
|
2
|
+
import { useConfig as _ } from "../../../composables/useConfig.js";
|
|
3
|
+
import { useExport as h } from "../../../composables/useExport.js";
|
|
4
|
+
import { useSave as V } from "../../../composables/useSave.js";
|
|
5
|
+
import { useTranslations as x } from "../../../composables/useTranslations.js";
|
|
6
|
+
import { useVersionHistoryApi as w } from "../../../composables/useVersionHistoryApi.js";
|
|
7
|
+
import { useEditorStore as T } from "../../../stores/editor.js";
|
|
8
|
+
import { getTooltipOptions as E } from "../../../utils/tooltipUtils.js";
|
|
9
|
+
import { InButtonV2 as O } from "@useinsider/design-system-vue";
|
|
10
|
+
const z = /* @__PURE__ */ g({
|
|
11
11
|
__name: "RightSlot",
|
|
12
|
-
setup(
|
|
13
|
-
const { config:
|
|
12
|
+
setup(A, { expose: m }) {
|
|
13
|
+
const { config: u } = _(), { exportHtml: r } = h(), { save: n } = V(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = T(), t = x(), e = l(!1), s = l(!1), c = () => {
|
|
14
14
|
if (o.isVersionHistoryOpen) {
|
|
15
15
|
a();
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
18
|
i();
|
|
19
|
-
},
|
|
19
|
+
}, f = async () => {
|
|
20
20
|
e.value = !0, await r(), e.value = !1;
|
|
21
|
-
},
|
|
21
|
+
}, v = () => {
|
|
22
22
|
o.isSaveAsTemplateDrawerOpen = !0;
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
}, d = H(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), p = async (y) => {
|
|
24
|
+
s.value = !0, o.loadingStatus = !0;
|
|
25
|
+
const S = await n(y);
|
|
26
|
+
return s.value = !1, o.loadingStatus = !1, S;
|
|
27
|
+
};
|
|
28
|
+
return m({
|
|
29
|
+
handleSave: p
|
|
30
|
+
}), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, handleVersionHistory: c, handleExport: f, handleSaveAs: v, versionHistoryTooltipText: d, handleSave: p, getTooltipOptions: E, InButtonV2: O };
|
|
27
31
|
}
|
|
28
32
|
});
|
|
29
33
|
export {
|
|
30
|
-
|
|
34
|
+
z as default
|
|
31
35
|
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import l from "./TextBlockOnboarding.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import d from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
4
|
var g = function() {
|
|
5
5
|
var e, n, r, i, a, s;
|
|
6
|
-
var t = this,
|
|
7
|
-
return o.isVisible ?
|
|
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
8
|
return o.onboardingStore.close("textBlockOnboarding");
|
|
9
9
|
}, nextButtonClick: o.handleNext } }) : t._e();
|
|
10
10
|
}, b = [], p = /* @__PURE__ */ d(
|
|
11
|
-
|
|
11
|
+
l,
|
|
12
12
|
g,
|
|
13
13
|
b,
|
|
14
14
|
!1,
|
|
15
15
|
null,
|
|
16
|
-
"
|
|
16
|
+
"a408dcea"
|
|
17
17
|
);
|
|
18
18
|
const f = p.exports;
|
|
19
19
|
export {
|
|
@@ -1,23 +1,35 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useTranslations as
|
|
3
|
-
import { useOnboardingStore as
|
|
4
|
-
import { InOnboard as
|
|
5
|
-
const
|
|
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
6
|
__name: "TextBlockOnboarding",
|
|
7
|
-
setup(
|
|
8
|
-
const
|
|
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(() => [
|
|
9
21
|
{
|
|
10
22
|
classes: "guido-text-block-onboarding-settings",
|
|
11
23
|
right: "450px",
|
|
12
|
-
top:
|
|
13
|
-
position:
|
|
14
|
-
title:
|
|
15
|
-
description:
|
|
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"),
|
|
16
28
|
imageSource: "",
|
|
17
29
|
backButtonClick: () => {
|
|
18
30
|
},
|
|
19
31
|
nextButtonType: "text",
|
|
20
|
-
nextButtonText:
|
|
32
|
+
nextButtonText: i("products.next"),
|
|
21
33
|
nextButtonClick: () => {
|
|
22
34
|
o.next("textBlockOnboarding");
|
|
23
35
|
}
|
|
@@ -25,38 +37,38 @@ const C = /* @__PURE__ */ s({
|
|
|
25
37
|
{
|
|
26
38
|
classes: "guido-text-block-onboarding-dynamic",
|
|
27
39
|
right: "450px",
|
|
28
|
-
top:
|
|
29
|
-
position:
|
|
30
|
-
title:
|
|
31
|
-
description:
|
|
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"),
|
|
32
44
|
imageSource: "",
|
|
33
45
|
backButtonType: "text",
|
|
34
|
-
backButtonText:
|
|
46
|
+
backButtonText: i("ds-steps.back"),
|
|
35
47
|
backButtonClick: () => {
|
|
36
48
|
o.previous("textBlockOnboarding");
|
|
37
49
|
},
|
|
38
50
|
nextButtonType: "text",
|
|
39
|
-
nextButtonText:
|
|
51
|
+
nextButtonText: i("action-builder.ok"),
|
|
40
52
|
nextButtonClick: () => {
|
|
41
53
|
o.close("textBlockOnboarding");
|
|
42
54
|
}
|
|
43
55
|
}
|
|
44
|
-
]),
|
|
45
|
-
var t,
|
|
46
|
-
(
|
|
47
|
-
},
|
|
48
|
-
var t,
|
|
49
|
-
(
|
|
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);
|
|
50
62
|
};
|
|
51
|
-
return
|
|
63
|
+
return b(
|
|
52
64
|
() => o.isActive("textBlockOnboarding"),
|
|
53
65
|
(t) => {
|
|
54
|
-
t && o.setConfig("textBlockOnboarding",
|
|
66
|
+
t && o.setConfig("textBlockOnboarding", c.value);
|
|
55
67
|
},
|
|
56
68
|
{ immediate: !0 }
|
|
57
|
-
), { __sfc: !0, trans:
|
|
69
|
+
), { __sfc: !0, trans: i, onboardingStore: o, dynamicPosition: e, onboardingCardsConfig: c, isVisible: l, handleNext: p, handleBack: x, InOnboard: B };
|
|
58
70
|
}
|
|
59
71
|
});
|
|
60
72
|
export {
|
|
61
|
-
|
|
73
|
+
y as default
|
|
62
74
|
};
|
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
import S from "../static/styles/base.css.js";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import m from "../static/styles/components/alert-message.css.js";
|
|
3
|
+
import e from "../static/styles/components/amp-block.css.js";
|
|
4
4
|
import i from "../static/styles/components/base-input.css.js";
|
|
5
5
|
import p from "../static/styles/components/button-group.css.js";
|
|
6
6
|
import n from "../static/styles/components/button.css.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import C from "../static/styles/components/combobox.css.js";
|
|
8
|
+
import s from "../static/styles/components/counter.css.js";
|
|
9
9
|
import f from "../static/styles/components/dropdown-menu.css.js";
|
|
10
10
|
import a from "../static/styles/components/loader.css.js";
|
|
11
11
|
import u from "../static/styles/components/narrow-panel.css.js";
|
|
12
|
-
import c from "../static/styles/components/
|
|
13
|
-
import d from "../static/styles/components/
|
|
14
|
-
import l from "../static/styles/components/
|
|
15
|
-
import h from "../static/styles/components/
|
|
16
|
-
import w from "../static/styles/components/
|
|
17
|
-
import y from "../static/styles/
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
import c from "../static/styles/components/notification.css.js";
|
|
13
|
+
import d from "../static/styles/components/popup.css.js";
|
|
14
|
+
import l from "../static/styles/components/switcher.css.js";
|
|
15
|
+
import h from "../static/styles/components/tabs.css.js";
|
|
16
|
+
import w from "../static/styles/components/tools.css.js";
|
|
17
|
+
import y from "../static/styles/components/version-history.css.js";
|
|
18
|
+
import B from "../static/styles/components/wide-panel.css.js";
|
|
19
|
+
import b from "../static/styles/variables.css.js";
|
|
20
|
+
const A = [
|
|
21
|
+
b,
|
|
20
22
|
// Must be on top
|
|
21
23
|
S,
|
|
22
24
|
// Must be on top
|
|
23
|
-
e,
|
|
24
25
|
m,
|
|
26
|
+
e,
|
|
25
27
|
i,
|
|
26
28
|
p,
|
|
27
29
|
n,
|
|
28
|
-
s,
|
|
29
30
|
C,
|
|
31
|
+
s,
|
|
30
32
|
f,
|
|
31
33
|
a,
|
|
32
34
|
u,
|
|
@@ -34,12 +36,14 @@ const B = [
|
|
|
34
36
|
d,
|
|
35
37
|
l,
|
|
36
38
|
h,
|
|
37
|
-
w
|
|
39
|
+
w,
|
|
40
|
+
y,
|
|
41
|
+
B
|
|
38
42
|
].join(`
|
|
39
43
|
|
|
40
|
-
`),
|
|
44
|
+
`), F = () => ({ importCss: () => {
|
|
41
45
|
const o = new CSSStyleSheet();
|
|
42
|
-
o.replaceSync(
|
|
46
|
+
o.replaceSync(A);
|
|
43
47
|
const r = document.querySelector("ui-editor");
|
|
44
48
|
if (!r)
|
|
45
49
|
return;
|
|
@@ -47,5 +51,5 @@ const B = [
|
|
|
47
51
|
t && (t.adoptedStyleSheets = [o]);
|
|
48
52
|
} });
|
|
49
53
|
export {
|
|
50
|
-
|
|
54
|
+
F as useCustomInterfaceAppearance
|
|
51
55
|
};
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { useSaveStart as
|
|
1
|
+
import { useSaveStart as i, useSaveComplete as l } from "./useGuidoActions.js";
|
|
2
2
|
import { useTemplatePreparation as m } from "../utils/templatePreparation.js";
|
|
3
|
-
import { useHtmlValidator as
|
|
4
|
-
const
|
|
5
|
-
const e =
|
|
6
|
-
return { save: async () => {
|
|
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
7
|
e();
|
|
8
|
-
const { prepareTemplateDetails:
|
|
9
|
-
await s(t.compiledHtml, [], !0)
|
|
8
|
+
const { prepareTemplateDetails: r } = m(), t = await r();
|
|
9
|
+
if (await s(t.compiledHtml, [], !0))
|
|
10
|
+
return o || a(t), t;
|
|
10
11
|
} };
|
|
11
12
|
};
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
+
f as useSave
|
|
14
15
|
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { useActionsApi as
|
|
2
|
-
import { useCustomInterfaceAppearance as
|
|
3
|
-
import { useStripoEventHandler as
|
|
4
|
-
import { useToaster as
|
|
1
|
+
import { useActionsApi as f } from "./useActionsApi.js";
|
|
2
|
+
import { useCustomInterfaceAppearance as S } from "./useCustomInterfaceAppearance.js";
|
|
3
|
+
import { useStripoEventHandler as C } from "./useStripoEventHandler.js";
|
|
4
|
+
import { useToaster as E } from "./useToaster.js";
|
|
5
5
|
import { displayConditions as y } from "../enums/displayConditions.js";
|
|
6
6
|
import h from "../extensions/DynamicContent/extension.js";
|
|
7
7
|
import { useStripoApi as w } from "../services/stripoApi.js";
|
|
8
8
|
import b from "../static/styles/customEditorStyle.css.js";
|
|
9
9
|
import { useEditorStore as V } from "../stores/editor.js";
|
|
10
10
|
import { dynamicContentToMergeTags as _ } from "../utils/genericUtil.js";
|
|
11
|
-
const
|
|
12
|
-
const { handleError: d } =
|
|
13
|
-
const
|
|
11
|
+
const R = (s) => {
|
|
12
|
+
const { handleError: d } = E(), { getToken: c, getCustomFonts: u } = w(), { handleEvent: l } = C(), p = (r, i = []) => {
|
|
13
|
+
const e = V(), { html: o, css: a, forceRecreate: g } = r;
|
|
14
14
|
window.UIEditor.initEditor(
|
|
15
15
|
document.querySelector("#guido-editor"),
|
|
16
16
|
{
|
|
17
|
-
metadata:
|
|
18
|
-
html:
|
|
19
|
-
css:
|
|
17
|
+
metadata: s,
|
|
18
|
+
html: o,
|
|
19
|
+
css: a,
|
|
20
20
|
forceRecreate: g,
|
|
21
21
|
locale: "en",
|
|
22
22
|
undoButtonSelector: "#guido__undo-button",
|
|
@@ -41,7 +41,7 @@ const x = (a) => {
|
|
|
41
41
|
},
|
|
42
42
|
mergeTags: [
|
|
43
43
|
{
|
|
44
|
-
entries: _(
|
|
44
|
+
entries: _(s.preselectedDynamicContentList)
|
|
45
45
|
}
|
|
46
46
|
],
|
|
47
47
|
async onTokenRefreshRequest(t) {
|
|
@@ -54,41 +54,43 @@ const x = (a) => {
|
|
|
54
54
|
},
|
|
55
55
|
onTemplateLoaded() {
|
|
56
56
|
try {
|
|
57
|
-
const { importCss: t } =
|
|
58
|
-
t(), n(),
|
|
57
|
+
const { importCss: t } = S(), { activateCustomViewStyles: n } = f();
|
|
58
|
+
t(), n(), s.onReady(), e.isStripoInitialized = !0, e.loadingStatus = !1, setTimeout(() => {
|
|
59
|
+
e.hasChanges = !1;
|
|
60
|
+
}, 1e3);
|
|
59
61
|
} catch (t) {
|
|
60
62
|
d(t, "Failed to load custom interface appearance");
|
|
61
63
|
}
|
|
62
64
|
},
|
|
63
65
|
onCodeEditorVisibilityChanged(t) {
|
|
64
|
-
|
|
66
|
+
e.isCodeEditorOpen = t;
|
|
65
67
|
},
|
|
66
68
|
onEditorVisualModeChanged(t) {
|
|
67
|
-
|
|
69
|
+
e.editorVisualMode = t.toLowerCase();
|
|
68
70
|
},
|
|
69
71
|
onVersionHistoryVisibilityChanged(t) {
|
|
70
|
-
|
|
72
|
+
e.isVersionHistoryOpen = t;
|
|
71
73
|
},
|
|
72
74
|
onDataChanged() {
|
|
73
|
-
|
|
75
|
+
e.hasChanges = !0;
|
|
74
76
|
},
|
|
75
77
|
onEvent: l,
|
|
76
78
|
ignoreClickOutsideSelectors: ["#guido-dynamic-content-modal", ".in-on-board-wrapper"],
|
|
77
79
|
extensions: [h]
|
|
78
80
|
}
|
|
79
81
|
);
|
|
80
|
-
}, m = (r) => new Promise((i,
|
|
82
|
+
}, m = (r) => new Promise((i, e) => {
|
|
81
83
|
if (document.getElementById("UiEditorScript")) {
|
|
82
84
|
r(), i();
|
|
83
85
|
return;
|
|
84
86
|
}
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
+
const o = document.createElement("script");
|
|
88
|
+
o.id = "UiEditorScript", o.type = "module", o.src = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", o.onload = () => {
|
|
87
89
|
r(), i();
|
|
88
|
-
},
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
}, document.body.appendChild(
|
|
90
|
+
}, o.onerror = () => {
|
|
91
|
+
const a = new Error("Failed to load Stripo UIEditor script");
|
|
92
|
+
e(a);
|
|
93
|
+
}, document.body.appendChild(o);
|
|
92
94
|
});
|
|
93
95
|
return { initPlugin: async (r) => {
|
|
94
96
|
await m(async () => {
|
|
@@ -98,5 +100,5 @@ const x = (a) => {
|
|
|
98
100
|
} };
|
|
99
101
|
};
|
|
100
102
|
export {
|
|
101
|
-
|
|
103
|
+
R as useStripo
|
|
102
104
|
};
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { ToasterTypeOptions as
|
|
2
|
-
import { useToasterStore as
|
|
3
|
-
import { watch as c
|
|
4
|
-
const
|
|
5
|
-
const t =
|
|
6
|
-
let
|
|
7
|
-
const
|
|
8
|
-
|
|
1
|
+
import { ToasterTypeOptions as T } from "../enums/toaster.js";
|
|
2
|
+
import { useToasterStore as u } from "../stores/toaster.js";
|
|
3
|
+
import { watch as c } from "vue";
|
|
4
|
+
const d = () => {
|
|
5
|
+
const t = u();
|
|
6
|
+
let o = null;
|
|
7
|
+
const s = () => {
|
|
8
|
+
o && (clearTimeout(o), o = null);
|
|
9
9
|
};
|
|
10
10
|
function r(e = { message: "" }) {
|
|
11
|
-
|
|
11
|
+
s(), t.hideToaster(), t.showToaster(e);
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
|
|
13
|
+
function i() {
|
|
14
|
+
s(), t.hideToaster();
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function a(e, n) {
|
|
17
17
|
const m = e instanceof Error ? e.message : String(e);
|
|
18
|
-
r({ type:
|
|
18
|
+
r({ type: T.Alert, message: `${n}: ${m}` });
|
|
19
19
|
}
|
|
20
20
|
return c(
|
|
21
21
|
() => t.shouldAutoHide,
|
|
22
22
|
(e) => {
|
|
23
|
-
|
|
24
|
-
t.hideToaster(),
|
|
23
|
+
s(), e && (o = setTimeout(() => {
|
|
24
|
+
t.hideToaster(), s();
|
|
25
25
|
}, 6e3));
|
|
26
26
|
}
|
|
27
|
-
),
|
|
27
|
+
), { showToaster: r, hideToaster: i, handleError: a };
|
|
28
28
|
};
|
|
29
29
|
export {
|
|
30
|
-
|
|
30
|
+
d as useToaster
|
|
31
31
|
};
|
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}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-
|
|
1
|
+
[data-v-a18ac2d3] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.guido-loading__wrapper[data-v-dced5582]{height:100%;top:75px}.guido-editor__wrapper[data-v-cebb8ab0],.guido-editor__container[data-v-cebb8ab0]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-cebb8ab0]{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}[data-v-d3c52b44] .vueperslides__bullets,[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const r = `.alert-message-wrapper {
|
|
2
2
|
box-shadow: none;
|
|
3
3
|
border: 1px solid var(--guido-color-gray-300);
|
|
4
4
|
color: var(--guido-color-gray-600);
|
|
@@ -16,6 +16,36 @@ const n = `.alert-message-wrapper {
|
|
|
16
16
|
color: var(--guido-color-border-onpage-message-info);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
.alert-message-wrapper.warn {
|
|
20
|
+
background: var(--guido-color-background-onpage-message-warn);
|
|
21
|
+
border-color: var(--guido-color-border-onpage-message-warn);
|
|
22
|
+
color: inherit;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.alert-message-wrapper.warn ue-icon-component.icon {
|
|
26
|
+
color: var(--guido-color-border-onpage-message-warn);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.alert-message-wrapper.success {
|
|
30
|
+
background: var(--guido-color-background-onpage-message-success);
|
|
31
|
+
border-color: var(--guido-color-border-onpage-message-success);
|
|
32
|
+
color: inherit;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.alert-message-wrapper.success ue-icon-component.icon {
|
|
36
|
+
color: var(--guido-color-border-onpage-message-success);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.alert-message-wrapper.error {
|
|
40
|
+
background: var(--guido-color-background-onpage-message-error);
|
|
41
|
+
border-color: var(--guido-color-border-onpage-message-error);
|
|
42
|
+
color: inherit;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.alert-message-wrapper.error ue-icon-component.icon {
|
|
46
|
+
color: var(--guido-color-border-onpage-message-error);
|
|
47
|
+
}
|
|
48
|
+
|
|
19
49
|
.alert-message-wrapper ue-button {
|
|
20
50
|
padding: 0;
|
|
21
51
|
}
|
|
@@ -35,5 +65,5 @@ const n = `.alert-message-wrapper {
|
|
|
35
65
|
}
|
|
36
66
|
`;
|
|
37
67
|
export {
|
|
38
|
-
|
|
68
|
+
r as default
|
|
39
69
|
};
|
|
@@ -60,8 +60,28 @@ const o = `.control-shadow-wrapper:has(.button) {
|
|
|
60
60
|
color: var(--guido-color-primary-500);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
.
|
|
64
|
-
|
|
63
|
+
.primary > .button {
|
|
64
|
+
border: none;
|
|
65
|
+
background-color: var(--guido-color-neutral-200);
|
|
66
|
+
color: var(--guido-color-neutral-800);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.primary > .button .icon-button {
|
|
70
|
+
color: var(--guido-color-neutral-800);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.primary > .button:hover:not(:disabled,.disabled) {
|
|
74
|
+
background-color: var(--guido-color-neutral-100);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.danger > .button {
|
|
78
|
+
background-color: var(--guido-color-danger-500);
|
|
79
|
+
color: var(--guido-color-white);
|
|
80
|
+
border: none;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.danger > .button:hover:not(:disabled,.disabled) {
|
|
84
|
+
background-color: var(--guido-color-danger-300);
|
|
65
85
|
}
|
|
66
86
|
|
|
67
87
|
ue-check-button.checked:not(.flat-white) input:checked + label {
|
|
@@ -100,6 +120,16 @@ ue-color {
|
|
|
100
120
|
ue-color .base-input {
|
|
101
121
|
width: 100%;
|
|
102
122
|
}
|
|
123
|
+
|
|
124
|
+
ue-select-text-input .select-text-input-toggle {
|
|
125
|
+
top: 0;
|
|
126
|
+
right: 0;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
ue-select-text-input .select-text-input-toggle .button {
|
|
130
|
+
justify-content: center;
|
|
131
|
+
background-color: transparent !important;
|
|
132
|
+
}
|
|
103
133
|
`;
|
|
104
134
|
export {
|
|
105
135
|
o as default
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const n = `ue-notifications-container {
|
|
2
|
+
left: 96px;
|
|
3
|
+
margin: 0;
|
|
4
|
+
bottom: 32px;
|
|
5
|
+
top: unset;
|
|
6
|
+
width: unset;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
ue-notifications-container ue-message + ue-message {
|
|
10
|
+
margin-bottom: 24px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
ue-notifications-container .alert-message-wrapper {
|
|
14
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.07);
|
|
15
|
+
border: none;
|
|
16
|
+
padding: 16px 24px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
ue-notifications-container .alert-message-wrapper .alert-message-main .alert-message-content {
|
|
20
|
+
width: calc(100% - 64px);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
ue-notifications-container .alert-message-wrapper .alert-message-main .alert-message-text {
|
|
24
|
+
font-size: 15px;
|
|
25
|
+
font-weight: 600;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
ue-notifications-container .alert-message-text,
|
|
29
|
+
ue-notifications-container .alert-message-wrapper ue-icon-component.icon,
|
|
30
|
+
ue-notifications-container .alert-message-wrapper ue-icon-component.icon-button {
|
|
31
|
+
color: var(--guido-color-white);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ue-notifications-container ue-message ue-button.close {
|
|
35
|
+
margin: 0 0 0 16px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
ue-notifications-container .alert-message-wrapper.success {
|
|
39
|
+
background: var(--guido-color-background-toaster-success);
|
|
40
|
+
color: inherit;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
ue-notifications-container .alert-message-wrapper.error {
|
|
44
|
+
background: var(--guido-color-background-toaster-error);
|
|
45
|
+
color: inherit;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
ue-notifications-container .alert-message-wrapper.warn {
|
|
49
|
+
background: var(--guido-color-background-toaster-warn);
|
|
50
|
+
color: inherit;
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
export {
|
|
54
|
+
n as default
|
|
55
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const n = `ue-popup {
|
|
2
|
+
-webkit-backdrop-filter: unset;
|
|
3
|
+
backdrop-filter: unset;
|
|
4
|
+
background-color: rgba(44, 53, 70, 0.5);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
ue-popup .popup-wrapper {
|
|
8
|
+
max-width: 400px;
|
|
9
|
+
border: 1px solid var(--guido-color-neutral-200);
|
|
10
|
+
box-shadow: none;
|
|
11
|
+
background: var(--guido-color-white);
|
|
12
|
+
font-size: 15px;
|
|
13
|
+
line-height: 24px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
ue-popup .popup-title {
|
|
17
|
+
padding: 32px 56px 0 32px;
|
|
18
|
+
line-height: 24px;
|
|
19
|
+
font-size: 20px;
|
|
20
|
+
font-weight: 400;
|
|
21
|
+
border-bottom: none;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
ue-popup .confirmation .confirmation-wrapper {
|
|
25
|
+
padding: 32px;
|
|
26
|
+
gap: 16px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
ue-popup .confirmation .confirmation-actions {
|
|
30
|
+
flex-direction: row-reverse;
|
|
31
|
+
justify-content: space-between;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ue-popup .danger > .button {
|
|
35
|
+
font-size: 15px;
|
|
36
|
+
padding: 8px 16px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
ue-popup .e2e-cancel {
|
|
40
|
+
margin-left: unset;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
ue-popup .e2e-cancel .button {
|
|
44
|
+
background-color: transparent;
|
|
45
|
+
border: none;
|
|
46
|
+
padding: 8px 0;
|
|
47
|
+
font-size: 15px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
ue-popup .e2e-cancel .button:hover:not(:disabled,.disabled) {
|
|
51
|
+
text-decoration: underline;
|
|
52
|
+
background-color: transparent;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
ue-popup .popup-close {
|
|
56
|
+
top: 32px;
|
|
57
|
+
right: 32px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
ue-popup .popup-close .button {
|
|
61
|
+
padding: 0;
|
|
62
|
+
min-width: unset;
|
|
63
|
+
min-height: unset;
|
|
64
|
+
}
|
|
65
|
+
`;
|
|
66
|
+
export {
|
|
67
|
+
n as default
|
|
68
|
+
};
|
|
@@ -2,6 +2,10 @@ const n = `ue-wide-panel {
|
|
|
2
2
|
width: 425px;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
+
ue-main-editor-container[panel-position=SETTINGS_BLOCKS] ue-wide-panel {
|
|
6
|
+
right: calc(100% - calc(var(--ue-spacing-step, 5px) * 3) - 425px);
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
ue-main-tabs-panel-component .fixed-panel-header {
|
|
6
10
|
display: none;
|
|
7
11
|
}
|
|
@@ -17,7 +21,7 @@ ue-description a {
|
|
|
17
21
|
}
|
|
18
22
|
|
|
19
23
|
.stacked-panel {
|
|
20
|
-
overflow:
|
|
24
|
+
overflow: auto;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
.stacked-panel-title {
|
|
@@ -12,6 +12,12 @@ const n = `.esd-x,
|
|
|
12
12
|
.ue-preview-control-wrapper ue-icon-component:not([disabled=true]):not(.stripo-static-icon):hover {
|
|
13
13
|
background: none;
|
|
14
14
|
}
|
|
15
|
+
|
|
16
|
+
.ue-email-wrapper-rounded,
|
|
17
|
+
.ue-email-wrapper-rounded-top {
|
|
18
|
+
border-radius: 0;
|
|
19
|
+
box-shadow: none;
|
|
20
|
+
}
|
|
15
21
|
`;
|
|
16
22
|
export {
|
|
17
23
|
n as default
|
|
@@ -12,10 +12,20 @@ const o = `:host {
|
|
|
12
12
|
--guido-color-neutral-800: #222938;
|
|
13
13
|
--guido-color-neutral-200: #DCDFE6;
|
|
14
14
|
--guido-color-neutral-100: #EFF2F4;
|
|
15
|
+
--guido-color-danger-300: #e84342;
|
|
15
16
|
--guido-color-danger-500: #DC2A2A;
|
|
16
17
|
--guido-box-shadow: 0 4px 12px 0 rgba(44,53,70,0.15);
|
|
17
18
|
--guido-color-background-onpage-message-info: #D3EEF8;
|
|
18
19
|
--guido-color-border-onpage-message-info: #258DDE;
|
|
20
|
+
--guido-color-background-onpage-message-warn: #FCEFE5;
|
|
21
|
+
--guido-color-border-onpage-message-warn: #D37400;
|
|
22
|
+
--guido-color-background-onpage-message-success: #E9F9EB;
|
|
23
|
+
--guido-color-border-onpage-message-success: #128745;
|
|
24
|
+
--guido-color-background-onpage-message-error: #FCECEC;
|
|
25
|
+
--guido-color-border-onpage-message-error: var(--guido-color-danger-500);
|
|
26
|
+
--guido-color-background-toaster-success: #128745;
|
|
27
|
+
--guido-color-background-toaster-error: var(--guido-color-danger-500);
|
|
28
|
+
--guido-color-background-toaster-warn: #D37400;
|
|
19
29
|
}
|
|
20
30
|
`;
|
|
21
31
|
export {
|
|
@@ -8,11 +8,19 @@ export declare const useDynamicContentStore: import("pinia").StoreDefinition<"dy
|
|
|
8
8
|
value: string;
|
|
9
9
|
text: string;
|
|
10
10
|
fallback?: string | undefined;
|
|
11
|
+
format?: {
|
|
12
|
+
key: string;
|
|
13
|
+
value: string;
|
|
14
|
+
} | undefined;
|
|
11
15
|
};
|
|
12
16
|
selectedDynamicContentList: {
|
|
13
17
|
value: string;
|
|
14
18
|
text: string;
|
|
15
19
|
fallback?: string | undefined;
|
|
20
|
+
format?: {
|
|
21
|
+
key: string;
|
|
22
|
+
value: string;
|
|
23
|
+
} | undefined;
|
|
16
24
|
}[];
|
|
17
25
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
18
26
|
selectedDynamicContent: DynamicContent;
|
|
@@ -21,6 +29,10 @@ export declare const useDynamicContentStore: import("pinia").StoreDefinition<"dy
|
|
|
21
29
|
text: string;
|
|
22
30
|
value: string;
|
|
23
31
|
fallback: string | undefined;
|
|
32
|
+
format: {
|
|
33
|
+
key: string;
|
|
34
|
+
value: string;
|
|
35
|
+
} | undefined;
|
|
24
36
|
}[];
|
|
25
37
|
}, {
|
|
26
38
|
setSelectedDynamicContent(dynamicContent: DynamicContent): void;
|
|
@@ -6,15 +6,16 @@ const s = a("dynamicContent", {
|
|
|
6
6
|
selectedDynamicContentList: []
|
|
7
7
|
}),
|
|
8
8
|
actions: {
|
|
9
|
-
setSelectedDynamicContent(
|
|
10
|
-
this.selectedDynamicContent =
|
|
9
|
+
setSelectedDynamicContent(t) {
|
|
10
|
+
this.selectedDynamicContent = t, this.selectedDynamicContentList.push(t);
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
getters: {
|
|
14
|
-
getSelectedDynamicContentList: (
|
|
15
|
-
text:
|
|
16
|
-
value:
|
|
17
|
-
fallback:
|
|
14
|
+
getSelectedDynamicContentList: (t) => n(t.selectedDynamicContentList).map((e) => ({
|
|
15
|
+
text: e.text,
|
|
16
|
+
value: e.value,
|
|
17
|
+
fallback: e.fallback,
|
|
18
|
+
format: e.format
|
|
18
19
|
})) || []
|
|
19
20
|
}
|
|
20
21
|
});
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e = (l) => l.map((a) => a.format ? {
|
|
2
|
+
label: `${a.text} | ${a.format.key}=${a.format.value}`,
|
|
3
|
+
value: `{{${a.value}|${a.format.key}=${a.format.value}}}`
|
|
4
|
+
} : {
|
|
2
5
|
label: a.fallback ? `${a.text} | ${a.fallback}` : a.text,
|
|
3
6
|
value: a.fallback ? `{{${a.value}|${a.fallback}}}` : `{{${a.value}}}`
|
|
4
|
-
})
|
|
5
|
-
var
|
|
6
|
-
return ((
|
|
7
|
+
}), r = () => {
|
|
8
|
+
var l;
|
|
9
|
+
return ((l = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : l.getAttribute("content")) ?? "";
|
|
7
10
|
};
|
|
8
11
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
e as dynamicContentToMergeTags,
|
|
13
|
+
r as getCsrfToken
|
|
11
14
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "1.0.2-beta.
|
|
3
|
+
"version": "1.0.2-beta.ab357f5",
|
|
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",
|