@useinsider/guido 1.0.0-beta.080866c → 1.0.0-beta.0c35e01
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 +18 -17
- package/dist/components/Guido.vue.d.ts +0 -4
- package/dist/components/Guido.vue.js +8 -8
- package/dist/components/Guido.vue2.js +18 -34
- package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -1
- package/dist/components/organisms/header/RightSlot.vue.js +5 -4
- package/dist/components/organisms/header/RightSlot.vue2.js +14 -14
- package/dist/components/organisms/header/ViewOptions.vue.js +18 -0
- package/dist/components/organisms/header/ViewOptions.vue2.js +15 -0
- package/dist/components/organisms/header/version-history/VersionHistory.vue.d.ts +1 -1
- package/dist/components/organisms/header/version-history/VersionHistory.vue.js +9 -9
- package/dist/components/organisms/header/version-history/VersionHistory.vue2.js +9 -10
- package/dist/components/organisms/header/version-history/ViewOptions.vue.js +18 -0
- package/dist/components/organisms/header/version-history/ViewOptions.vue2.js +23 -0
- package/dist/composables/useStripo.d.ts +2 -2
- package/dist/composables/useStripo.js +56 -47
- package/dist/composables/useToaster.d.ts +0 -1
- package/dist/composables/useToaster.js +16 -24
- package/dist/composables/useVersionHistoryApi.d.ts +0 -1
- package/dist/composables/useVersionHistoryApi.js +13 -31
- package/dist/enums/defaults.d.ts +0 -2
- package/dist/enums/defaults.js +3 -5
- package/dist/guido.css +1 -1
- package/dist/node_modules/pinia/dist/pinia.js +317 -0
- package/dist/node_modules/pinia/node_modules/vue-demi/lib/index.js +11 -0
- package/dist/static/editor.css.js +22 -72
- package/dist/stores/editor.d.ts +0 -1
- package/dist/stores/editor.js +2 -3
- package/dist/stores/version-history.d.ts +24 -80
- package/dist/stores/version-history.js +26 -24
- package/package.json +1 -1
- package/dist/components/organisms/base/ModalWrapper.vue.d.ts +0 -72
- package/dist/components/organisms/base/ModalWrapper.vue.js +0 -19
- package/dist/components/organisms/base/ModalWrapper.vue2.js +0 -43
- package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -16
- package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.js +0 -18
- package/dist/components/organisms/header/version-history/VersionHistoryItem.vue2.js +0 -16
- package/dist/components/organisms/save-template/SaveTemplateModal.vue.d.ts +0 -16
- package/dist/components/organisms/save-template/SaveTemplateModal.vue.js +0 -22
- package/dist/components/organisms/save-template/SaveTemplateModal.vue2.js +0 -86
- package/dist/composables/useHttp.js +0 -84
- package/dist/composables/usePartner.d.ts +0 -4
- package/dist/composables/usePartner.js +0 -16
- package/dist/composables/useSaveAsTemplate.d.ts +0 -17
- package/dist/composables/useSaveAsTemplate.js +0 -44
- package/dist/composables/useTemplateCategories.d.ts +0 -35
- package/dist/composables/useTemplateCategories.js +0 -78
- package/dist/composables/useTemplateNameValidation.d.ts +0 -13
- package/dist/composables/useTemplateNameValidation.js +0 -57
- package/dist/mock/api/custom-fonts.d.ts +0 -2
- package/dist/mock/api/template-library.d.ts +0 -2
- package/dist/services/stripoApi.d.ts +0 -7
- package/dist/services/stripoApi.js +0 -29
- package/dist/utils/base64.d.ts +0 -1
- package/dist/utils/base64.js +0 -14
- package/dist/utils/dateUtil.d.ts +0 -1
- package/dist/utils/dateUtil.js +0 -16
package/README.md
CHANGED
|
@@ -24,7 +24,6 @@ npm install @useinsider/guido
|
|
|
24
24
|
<div>
|
|
25
25
|
<Guido
|
|
26
26
|
:email-id="emailId"
|
|
27
|
-
:user-id="userId"
|
|
28
27
|
:guido-config="guidoConfig"
|
|
29
28
|
/>
|
|
30
29
|
</div>
|
|
@@ -40,7 +39,6 @@ export default {
|
|
|
40
39
|
data() {
|
|
41
40
|
return {
|
|
42
41
|
emailId: 'abc123',
|
|
43
|
-
userId: '12345',
|
|
44
42
|
guidoConfig: {
|
|
45
43
|
translationsPath: 'window.trans.en'
|
|
46
44
|
}
|
|
@@ -57,10 +55,6 @@ export default {
|
|
|
57
55
|
| Prop | Type | Required | Default | Description |
|
|
58
56
|
|------|------|----------|---------|-------------|
|
|
59
57
|
| `emailId` | `string` | ✅ | - | Unique identifier for the email draft |
|
|
60
|
-
| `userId` | `string` | ✅ | - | Unique identifier for the user draft |
|
|
61
|
-
| `username` | `string` | ⚪ | Guido User | User name |
|
|
62
|
-
| `partnerName` | `string` | ⚪ | Getting from URL host | Unique identifier for the partner draft |
|
|
63
|
-
| `productType` | `string` | ⚪ | Getting from URL path | Unique identifier for the product draft |
|
|
64
58
|
| `guidoConfig` | `GuidoConfig` | ✅ | - | Configuration object for the editor |
|
|
65
59
|
|
|
66
60
|
### GuidoConfig Interface
|
|
@@ -144,17 +138,24 @@ VITE_STRIPO_ROLE=your_role
|
|
|
144
138
|
|
|
145
139
|
```
|
|
146
140
|
src/
|
|
147
|
-
├── components/
|
|
148
|
-
├──
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
├──
|
|
154
|
-
├──
|
|
155
|
-
|
|
156
|
-
├──
|
|
157
|
-
|
|
141
|
+
├── components/
|
|
142
|
+
│ ├── Guido.vue # Main component
|
|
143
|
+
│ └── organisms/
|
|
144
|
+
│ └── header/ # Header components
|
|
145
|
+
│ └── version-history/ # Version History components
|
|
146
|
+
...
|
|
147
|
+
├── composables/
|
|
148
|
+
│ ├── useStripo.ts # Stripo integration
|
|
149
|
+
│ └── useTranslations.ts # Translation management
|
|
150
|
+
├── @types/
|
|
151
|
+
│ ├── generic.ts # Generic types
|
|
152
|
+
│ ├── stripo.d.ts # Stripo-specific types
|
|
153
|
+
│ └── events.ts # Event types
|
|
154
|
+
├── static/
|
|
155
|
+
│ ├── editor.css # Custom editor styles
|
|
156
|
+
│ └── templates/
|
|
157
|
+
│ └── default/ # Default email template
|
|
158
|
+
└── library.ts # Main export for library
|
|
158
159
|
```
|
|
159
160
|
|
|
160
161
|
## 🌐 i18n
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import type { GuidoConfig } from '@@/Types/generic';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
emailId: string;
|
|
4
|
-
userId: string;
|
|
5
|
-
partnerName?: string;
|
|
6
|
-
productType?: string;
|
|
7
|
-
username?: string;
|
|
8
4
|
guidoConfig: GuidoConfig;
|
|
9
5
|
};
|
|
10
6
|
declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import o from "./Guido.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
3
|
+
import i from "../_virtual/_plugin-vue2_normalizer.js";
|
|
4
4
|
var s = function() {
|
|
5
|
-
var
|
|
6
|
-
return
|
|
7
|
-
},
|
|
5
|
+
var e = this, r = e._self._c, t = e._self._setupProxy;
|
|
6
|
+
return r("div", { staticClass: "guido-editor__wrapper" }, [r(t.HeaderWrapper), r("div", { staticClass: "guido-editor__container", attrs: { id: "guido-editor" } })], 1);
|
|
7
|
+
}, _ = [], a = /* @__PURE__ */ i(
|
|
8
8
|
o,
|
|
9
9
|
s,
|
|
10
|
-
|
|
10
|
+
_,
|
|
11
11
|
!1,
|
|
12
12
|
null,
|
|
13
|
-
"
|
|
13
|
+
"3da1d904"
|
|
14
14
|
);
|
|
15
|
-
const
|
|
15
|
+
const f = a.exports;
|
|
16
16
|
export {
|
|
17
|
-
|
|
17
|
+
f as default
|
|
18
18
|
};
|
|
@@ -1,47 +1,31 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import M from "./organisms/save-template/SaveTemplateModal.vue.js";
|
|
8
|
-
import { useEditorStore as P } from "../stores/editor.js";
|
|
9
|
-
const F = /* @__PURE__ */ g({
|
|
1
|
+
import { defineComponent as n, onMounted as a } from "vue";
|
|
2
|
+
import { useStripo as p } from "../composables/useStripo.js";
|
|
3
|
+
import { useTemplates as m } from "../composables/useTemplates.js";
|
|
4
|
+
import { DefaultGuidoConfig as u } from "../enums/defaults.js";
|
|
5
|
+
import l from "./organisms/header/HeaderWrapper.vue.js";
|
|
6
|
+
const _ = /* @__PURE__ */ n({
|
|
10
7
|
__name: "Guido",
|
|
11
8
|
props: {
|
|
12
9
|
emailId: null,
|
|
13
|
-
userId: null,
|
|
14
|
-
partnerName: null,
|
|
15
|
-
productType: null,
|
|
16
|
-
username: null,
|
|
17
10
|
guidoConfig: null
|
|
18
11
|
},
|
|
19
|
-
setup(
|
|
20
|
-
const o =
|
|
21
|
-
emailId: a,
|
|
22
|
-
userId: n,
|
|
23
|
-
guidoConfig: i,
|
|
24
|
-
partnerName: l = t(),
|
|
25
|
-
productType: m = r(),
|
|
26
|
-
username: p = y
|
|
27
|
-
} = o;
|
|
12
|
+
setup(r) {
|
|
13
|
+
const o = r;
|
|
28
14
|
window.GuidoConfig = {
|
|
29
|
-
...
|
|
30
|
-
...
|
|
15
|
+
...u,
|
|
16
|
+
...o.guidoConfig
|
|
31
17
|
};
|
|
32
|
-
const { initPlugin:
|
|
33
|
-
|
|
34
|
-
};
|
|
35
|
-
return T(async () => {
|
|
18
|
+
const { initPlugin: e } = p(o.emailId), { getDefaultTemplate: i } = m();
|
|
19
|
+
return a(async () => {
|
|
36
20
|
try {
|
|
37
|
-
const
|
|
38
|
-
await
|
|
39
|
-
} catch (
|
|
40
|
-
console.error("Failed to initialize Stripo editor:",
|
|
21
|
+
const t = await i();
|
|
22
|
+
await e(t);
|
|
23
|
+
} catch (t) {
|
|
24
|
+
console.error("Failed to initialize Stripo editor:", t);
|
|
41
25
|
}
|
|
42
|
-
}), { __sfc: !0, props: o,
|
|
26
|
+
}), { __sfc: !0, props: o, initPlugin: e, getDefaultTemplate: i, HeaderWrapper: l };
|
|
43
27
|
}
|
|
44
28
|
});
|
|
45
29
|
export {
|
|
46
|
-
|
|
30
|
+
_ as default
|
|
47
31
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
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
2
|
export default _default;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import o from "./RightSlot.vue2.js";
|
|
2
|
+
/* empty css */
|
|
2
3
|
import i from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
4
|
var n = function() {
|
|
4
5
|
var s = this, e = s._self._c, t = s._self._setupProxy;
|
|
5
|
-
return e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleVersionHistory } }), 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 }, on: { click: t.exportHtml } }), 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 }
|
|
6
|
+
return e("div", { staticClass: "d-f header-right-slot" }, [e("div", { staticClass: "d-f" }, [t.editorStore.isVersionHistoryOpen ? e(t.VersionHistoryViewOptions) : e(t.ViewOptions)], 1), e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleVersionHistory } }), 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 }, on: { click: t.exportHtml } }), 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 } }), 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 } })], 1), e(t.InButtonV2, { attrs: { id: "guido__save-button", "label-text": "Save" } })], 1);
|
|
6
7
|
}, r = [], a = /* @__PURE__ */ i(
|
|
7
8
|
o,
|
|
8
9
|
n,
|
|
9
10
|
r,
|
|
10
11
|
!1,
|
|
11
12
|
null,
|
|
12
|
-
|
|
13
|
+
"66b167a9"
|
|
13
14
|
);
|
|
14
|
-
const
|
|
15
|
+
const _ = a.exports;
|
|
15
16
|
export {
|
|
16
|
-
|
|
17
|
+
_ as default
|
|
17
18
|
};
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useExport as
|
|
3
|
-
import { useVersionHistoryApi as
|
|
1
|
+
import { defineComponent as e } from "vue";
|
|
2
|
+
import { useExport as s } from "../../../composables/useExport.js";
|
|
3
|
+
import { useVersionHistoryApi as n } from "../../../composables/useVersionHistoryApi.js";
|
|
4
4
|
import { useEditorStore as p } from "../../../stores/editor.js";
|
|
5
5
|
import { InButtonV2 as m } from "@useinsider/design-system-vue";
|
|
6
|
-
|
|
6
|
+
import f from "./version-history/ViewOptions.vue.js";
|
|
7
|
+
import V from "./ViewOptions.vue.js";
|
|
8
|
+
const x = /* @__PURE__ */ e({
|
|
7
9
|
__name: "RightSlot",
|
|
8
|
-
setup(
|
|
9
|
-
const { exportHtml:
|
|
10
|
-
return { __sfc: !0, exportHtml:
|
|
11
|
-
if (
|
|
12
|
-
|
|
10
|
+
setup(u) {
|
|
11
|
+
const { exportHtml: i } = s(), { openVersionHistory: o, closeVersionHistory: r } = n(), t = p();
|
|
12
|
+
return { __sfc: !0, exportHtml: i, openVersionHistory: o, closeVersionHistory: r, editorStore: t, handleVersionHistory: () => {
|
|
13
|
+
if (t.isVersionHistoryOpen) {
|
|
14
|
+
r();
|
|
13
15
|
return;
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
o.isSaveTemplateModalOpen = !0;
|
|
18
|
-
}, InButtonV2: m };
|
|
17
|
+
o();
|
|
18
|
+
}, InButtonV2: m, VersionHistoryViewOptions: f, ViewOptions: V };
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
export {
|
|
22
|
-
|
|
22
|
+
x as default
|
|
23
23
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import r from "./ViewOptions.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import s from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
+
var n = 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": "", "segment-list": e.segmentList, selected: e.editorStore.editorVisualMode } });
|
|
7
|
+
}, i = [], _ = /* @__PURE__ */ s(
|
|
8
|
+
r,
|
|
9
|
+
n,
|
|
10
|
+
i,
|
|
11
|
+
!1,
|
|
12
|
+
null,
|
|
13
|
+
"378010db"
|
|
14
|
+
);
|
|
15
|
+
const l = _.exports;
|
|
16
|
+
export {
|
|
17
|
+
l as default
|
|
18
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { defineComponent as e } from "vue";
|
|
2
|
+
import { useEditorStore as t } from "../../../stores/editor.js";
|
|
3
|
+
import { InSegments as o } from "@useinsider/design-system-vue";
|
|
4
|
+
const u = /* @__PURE__ */ e({
|
|
5
|
+
__name: "ViewOptions",
|
|
6
|
+
setup(n) {
|
|
7
|
+
return { __sfc: !0, editorStore: t(), segmentList: [
|
|
8
|
+
{ text: "", icon: "line-desktop", value: "desktop" },
|
|
9
|
+
{ text: "", icon: "line-menu-mobileapp", value: "mobile" }
|
|
10
|
+
], InSegments: o };
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
export {
|
|
14
|
+
u as default
|
|
15
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
2
2
|
export default _default;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import o from "./VersionHistory.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
3
|
+
import r from "../../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
4
|
var n = function() {
|
|
5
|
-
var
|
|
6
|
-
return
|
|
5
|
+
var e = this, s = e._self._c, t = e._self._setupProxy;
|
|
6
|
+
return s("div", { staticClass: "version-history-wrapper d-f f-g-1 mx-2" }, [s("div", { staticClass: "version-history-item f-g-1" }, [t.hasPreviousPatch ? s("div", { staticClass: "d-f f-d-c t-a-r" }, [s("div", { staticClass: "t-o-e o-h w-s-n-w", domProps: { innerHTML: e._s(t.versionHistoryStore.previousPatch.description) } }), s("div", [e._v(e._s(t.versionHistoryStore.previousPatch.date))])]) : e._e()]), s("div", { staticClass: "d-f" }, [s(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "disabled-status": !t.hasPreviousPatch, "label-text-status": !1 }, on: { click: function(i) {
|
|
7
7
|
return t.previewVersion(t.versionHistoryStore.previousPatch.id);
|
|
8
|
-
} } }),
|
|
8
|
+
} } }), s(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "disabled-status": !t.hasNextPatch, "label-text-status": !1 }, on: { click: function(i) {
|
|
9
9
|
return t.previewVersion(t.versionHistoryStore.nextPatch.id);
|
|
10
|
-
} } })], 1),
|
|
11
|
-
}, a = [],
|
|
10
|
+
} } })], 1), s("div", { staticClass: "version-history-item f-g-1" }, [t.hasNextPatch ? s("div", { staticClass: "d-f f-d-c" }, [s("div", { staticClass: "t-o-e o-h w-s-n-w", domProps: { innerHTML: e._s(t.versionHistoryStore.nextPatch.description) } }), s("div", [e._v(e._s(t.versionHistoryStore.nextPatch.date))])]) : e._e()])]);
|
|
11
|
+
}, a = [], d = /* @__PURE__ */ r(
|
|
12
12
|
o,
|
|
13
13
|
n,
|
|
14
14
|
a,
|
|
15
15
|
!1,
|
|
16
16
|
null,
|
|
17
|
-
"
|
|
17
|
+
"843533fe"
|
|
18
18
|
);
|
|
19
|
-
const
|
|
19
|
+
const u = d.exports;
|
|
20
20
|
export {
|
|
21
|
-
|
|
21
|
+
u as default
|
|
22
22
|
};
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { defineComponent as t } from "vue";
|
|
2
|
-
import { useVersionHistoryApi as
|
|
3
|
-
import { useVersionHistoryStore as
|
|
4
|
-
import { InButtonV2 as
|
|
5
|
-
|
|
6
|
-
const c = /* @__PURE__ */ t({
|
|
1
|
+
import { defineComponent as i, computed as t } from "vue";
|
|
2
|
+
import { useVersionHistoryApi as n } from "../../../../composables/useVersionHistoryApi.js";
|
|
3
|
+
import { useVersionHistoryStore as p } from "../../../../stores/version-history.js";
|
|
4
|
+
import { InButtonV2 as a } from "@useinsider/design-system-vue";
|
|
5
|
+
const h = /* @__PURE__ */ i({
|
|
7
6
|
__name: "VersionHistory",
|
|
8
|
-
setup(
|
|
9
|
-
const o =
|
|
10
|
-
return { __sfc: !0, versionHistoryStore: o, previewVersion: r,
|
|
7
|
+
setup(c) {
|
|
8
|
+
const o = p(), { previewVersion: e } = n(), r = t(() => !!o.previousPatch.id), s = t(() => !!o.nextPatch.id);
|
|
9
|
+
return { __sfc: !0, versionHistoryStore: o, previewVersion: e, hasPreviousPatch: r, hasNextPatch: s, InButtonV2: a };
|
|
11
10
|
}
|
|
12
11
|
});
|
|
13
12
|
export {
|
|
14
|
-
|
|
13
|
+
h as default
|
|
15
14
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import s from "./ViewOptions.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import i from "../../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
+
var r = function() {
|
|
5
|
+
var t = this, o = t._self._c, e = t._self._setupProxy;
|
|
6
|
+
return o(e.InSegments, { attrs: { id: "guido__verion-history-view-option-selection", "with-icon": "", "segment-list": e.segmentList, selected: e.versionHistoryStore.editorVisualMode }, on: { click: e.changeVisualMode } });
|
|
7
|
+
}, n = [], _ = /* @__PURE__ */ i(
|
|
8
|
+
s,
|
|
9
|
+
r,
|
|
10
|
+
n,
|
|
11
|
+
!1,
|
|
12
|
+
null,
|
|
13
|
+
"f23cc933"
|
|
14
|
+
);
|
|
15
|
+
const f = _.exports;
|
|
16
|
+
export {
|
|
17
|
+
f as default
|
|
18
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { defineComponent as s } from "vue";
|
|
2
|
+
import { useVersionHistoryApi as n } from "../../../../composables/useVersionHistoryApi.js";
|
|
3
|
+
import { useVersionHistoryStore as r } from "../../../../stores/version-history.js";
|
|
4
|
+
import { InSegments as m } from "@useinsider/design-system-vue";
|
|
5
|
+
const d = /* @__PURE__ */ s({
|
|
6
|
+
__name: "ViewOptions",
|
|
7
|
+
setup(p) {
|
|
8
|
+
const e = r(), { switchToDesktopPreview: o, switchToMobilePreview: t } = n();
|
|
9
|
+
return { __sfc: !0, versionHistoryStore: e, switchToDesktopPreview: o, switchToMobilePreview: t, segmentList: [
|
|
10
|
+
{ text: "", icon: "line-desktop", value: "desktop" },
|
|
11
|
+
{ text: "", icon: "line-menu-mobileapp", value: "mobile" }
|
|
12
|
+
], changeVisualMode: (i) => {
|
|
13
|
+
if (e.editorVisualMode = i, i === "mobile") {
|
|
14
|
+
t();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
o();
|
|
18
|
+
}, InSegments: m };
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
export {
|
|
22
|
+
d as default
|
|
23
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const useStripo: (
|
|
1
|
+
import type { Template } from '@@/Types/stripo';
|
|
2
|
+
export declare const useStripo: (emailId: string) => {
|
|
3
3
|
initPlugin: (template: Template) => Promise<void>;
|
|
4
4
|
};
|
|
@@ -1,74 +1,83 @@
|
|
|
1
|
-
import { useCustomInterfaceAppearance as
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const r =
|
|
1
|
+
import { useCustomInterfaceAppearance as u } from "./useCustomInterfaceAppearance.js";
|
|
2
|
+
import { useEditorStore as a } from "../stores/editor.js";
|
|
3
|
+
const g = (s) => {
|
|
4
|
+
const c = () => {
|
|
5
|
+
const t = new Headers();
|
|
6
|
+
t.append("Content-Type", "application/json");
|
|
7
|
+
const r = JSON.stringify({
|
|
8
|
+
pluginId: void 0,
|
|
9
|
+
secretKey: void 0,
|
|
10
|
+
role: void 0,
|
|
11
|
+
userId: s
|
|
12
|
+
});
|
|
13
|
+
return fetch("/v2/stripo/get-user-token", {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: t,
|
|
16
|
+
body: r,
|
|
17
|
+
redirect: "follow"
|
|
18
|
+
}).then((o) => o.json());
|
|
19
|
+
}, d = (t) => {
|
|
20
|
+
const r = a(), i = t.html, o = t.css;
|
|
8
21
|
window.UIEditor.initEditor(
|
|
9
22
|
document.querySelector("#guido-editor"),
|
|
10
23
|
{
|
|
11
|
-
metadata:
|
|
12
|
-
|
|
13
|
-
|
|
24
|
+
metadata: {
|
|
25
|
+
emailId: s,
|
|
26
|
+
userId: "1",
|
|
27
|
+
username: "Plugin Demo User"
|
|
28
|
+
},
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
30
|
+
html: i,
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
32
|
+
css: o,
|
|
14
33
|
locale: "en",
|
|
15
34
|
undoButtonSelector: "#guido__undo-button",
|
|
16
35
|
redoButtonSelector: "#guido__redo-button",
|
|
17
36
|
mobileViewButtonSelector: ".guido__view-option-selection-mobile",
|
|
18
37
|
desktopViewButtonSelector: ".guido__view-option-selection-desktop",
|
|
19
38
|
codeEditorButtonSelector: "#guido__code-button",
|
|
20
|
-
|
|
21
|
-
showDefaultStandardFonts: !0,
|
|
22
|
-
showDefaultNotStandardFonts: !0,
|
|
23
|
-
customFonts: i
|
|
24
|
-
},
|
|
25
|
-
async onTokenRefreshRequest(o) {
|
|
39
|
+
async onTokenRefreshRequest(e) {
|
|
26
40
|
try {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
} catch (
|
|
30
|
-
|
|
41
|
+
const n = await c();
|
|
42
|
+
e(n.token);
|
|
43
|
+
} catch (n) {
|
|
44
|
+
console.error("Failed to refresh token:", n);
|
|
31
45
|
}
|
|
32
46
|
},
|
|
33
47
|
onTemplateLoaded() {
|
|
34
48
|
try {
|
|
35
|
-
const { importCss:
|
|
36
|
-
|
|
37
|
-
} catch (
|
|
38
|
-
|
|
49
|
+
const { importCss: e } = u();
|
|
50
|
+
e();
|
|
51
|
+
} catch (e) {
|
|
52
|
+
console.error("Failed to load custom interface appearance:", e);
|
|
39
53
|
}
|
|
40
54
|
},
|
|
41
|
-
onCodeEditorVisibilityChanged(
|
|
42
|
-
r.isCodeEditorOpen =
|
|
55
|
+
onCodeEditorVisibilityChanged(e) {
|
|
56
|
+
r.isCodeEditorOpen = e;
|
|
43
57
|
},
|
|
44
|
-
onEditorVisualModeChanged(
|
|
45
|
-
r.editorVisualMode =
|
|
58
|
+
onEditorVisualModeChanged(e) {
|
|
59
|
+
r.editorVisualMode = e.toLowerCase();
|
|
46
60
|
},
|
|
47
|
-
onVersionHistoryVisibilityChanged(
|
|
48
|
-
r.isVersionHistoryOpen =
|
|
61
|
+
onVersionHistoryVisibilityChanged(e) {
|
|
62
|
+
r.isVersionHistoryOpen = e;
|
|
49
63
|
}
|
|
50
64
|
}
|
|
51
65
|
);
|
|
52
|
-
}
|
|
66
|
+
};
|
|
67
|
+
return { initPlugin: (t) => new Promise((r, i) => {
|
|
53
68
|
if (document.getElementById("UiEditorScript")) {
|
|
54
|
-
|
|
69
|
+
d(t), r();
|
|
55
70
|
return;
|
|
56
71
|
}
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
},
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
}, document.body.appendChild(
|
|
64
|
-
});
|
|
65
|
-
return { initPlugin: async (e) => {
|
|
66
|
-
await p(async () => {
|
|
67
|
-
const i = await a();
|
|
68
|
-
l(e, i);
|
|
69
|
-
});
|
|
70
|
-
} };
|
|
72
|
+
const o = document.createElement("script");
|
|
73
|
+
o.id = "UiEditorScript", o.type = "module", o.src = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", o.onload = () => {
|
|
74
|
+
d(t), r();
|
|
75
|
+
}, o.onerror = () => {
|
|
76
|
+
const e = new Error("Failed to load Stripo UIEditor script");
|
|
77
|
+
i(e);
|
|
78
|
+
}, document.body.appendChild(o);
|
|
79
|
+
}) };
|
|
71
80
|
};
|
|
72
81
|
export {
|
|
73
|
-
|
|
82
|
+
g as useStripo
|
|
74
83
|
};
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
const
|
|
3
|
-
const t =
|
|
1
|
+
import { ref as u, watch as f } from "vue";
|
|
2
|
+
const T = () => {
|
|
3
|
+
const t = u(!1), s = u(""), r = u("success"), o = u([]);
|
|
4
4
|
let a = null;
|
|
5
|
-
function
|
|
5
|
+
function l() {
|
|
6
6
|
a && (clearTimeout(a), a = null);
|
|
7
7
|
}
|
|
8
|
-
function
|
|
9
|
-
t.value = !1,
|
|
8
|
+
function c() {
|
|
9
|
+
t.value = !1, o.value = [], s.value = "";
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
|
|
11
|
+
function n(e = { message: "" }) {
|
|
12
|
+
c(), s.value = e.message, r.value = e.type || "success", o.value = e.actionButton ? [e.actionButton] : [], t.value = !0;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
type: "error",
|
|
18
|
-
message: `${r}: ${m}`
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return T([t, s], ([e, r]) => {
|
|
22
|
-
i(), e && r && (a = setTimeout(() => {
|
|
23
|
-
u();
|
|
14
|
+
return f([t, s], ([e, i]) => {
|
|
15
|
+
l(), e && i && (a = setTimeout(() => {
|
|
16
|
+
c();
|
|
24
17
|
}, 6e3));
|
|
25
18
|
}), {
|
|
26
19
|
isToasterVisible: t,
|
|
27
20
|
toasterMessage: s,
|
|
28
|
-
toasterType:
|
|
29
|
-
toasterActionButton:
|
|
30
|
-
showToaster:
|
|
31
|
-
hideToaster:
|
|
32
|
-
handleError: f
|
|
21
|
+
toasterType: r,
|
|
22
|
+
toasterActionButton: o,
|
|
23
|
+
showToaster: n,
|
|
24
|
+
hideToaster: c
|
|
33
25
|
};
|
|
34
26
|
};
|
|
35
27
|
export {
|
|
36
|
-
|
|
28
|
+
T as useToaster
|
|
37
29
|
};
|