@useinsider/guido 1.0.3-beta.70cf127 → 1.0.3-beta.729420c
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 +4 -32
- package/dist/components/Guido.vue.js +11 -9
- package/dist/components/Guido.vue2.js +14 -14
- package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +19 -18
- package/dist/composables/useStripo.js +19 -21
- package/dist/enums/date.js +6 -0
- package/dist/enums/defaults.js +4 -3
- package/dist/enums/extensions/recommendationBlock.js +2 -2
- package/dist/enums/onboarding.js +2 -1
- package/dist/extensions/Blocks/Checkbox/block.js +2 -5
- package/dist/extensions/Blocks/RadioButton/block.js +2 -5
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
- package/dist/extensions/Blocks/common-control.js +56 -81
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +100 -313
- package/dist/services/recommendationApi.js +19 -13
- package/dist/src/@types/generic.d.ts +6 -0
- package/dist/src/components/Guido.vue.d.ts +1 -0
- package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
- package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
- package/dist/src/enums/date.d.ts +4 -0
- package/dist/src/enums/onboarding.d.ts +1 -0
- package/dist/src/extensions/Blocks/Checkbox/block.d.ts +0 -1
- package/dist/src/extensions/Blocks/RadioButton/block.d.ts +0 -1
- package/dist/src/extensions/Blocks/common-control.d.ts +5 -19
- package/dist/src/stores/config.d.ts +1 -0
- package/dist/src/utils/dateUtil.d.ts +21 -0
- package/dist/static/styles/customEditorStyle.css.js +0 -4
- package/dist/utils/dateUtil.js +24 -3
- package/dist/utils/genericUtil.js +8 -7
- package/package.json +3 -10
- package/dist/extensions/Blocks/Items/block.js +0 -70
- package/dist/extensions/Blocks/Items/controls/button/link.js +0 -60
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +0 -99
- package/dist/extensions/Blocks/Items/controls/image/link.js +0 -60
- package/dist/extensions/Blocks/Items/controls/index.js +0 -217
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +0 -63
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +0 -100
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +0 -113
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +0 -69
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -38
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +0 -279
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +0 -5
- package/dist/extensions/Blocks/Items/enums/productEnums.js +0 -181
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -63
- package/dist/extensions/Blocks/Items/extension.js +0 -19
- package/dist/extensions/Blocks/Items/iconsRegistry.js +0 -32
- package/dist/extensions/Blocks/Items/items.css.js +0 -23
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +0 -64
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +0 -66
- package/dist/extensions/Blocks/Items/settingsPanel.js +0 -106
- package/dist/extensions/Blocks/Items/store/items-block.js +0 -67
- package/dist/extensions/Blocks/Items/template.js +0 -108
- package/dist/extensions/Blocks/controlFactories.js +0 -223
- package/dist/src/extensions/Blocks/Items/block.d.ts +0 -12
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -14
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -20
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -14
- package/dist/src/extensions/Blocks/Items/controls/index.d.ts +0 -501
- package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -14
- package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -19
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -20
- package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -14
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -9
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +0 -42
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -61
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -143
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -35
- package/dist/src/extensions/Blocks/Items/extension.d.ts +0 -2
- package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +0 -4
- package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +0 -4
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -39
- package/dist/src/extensions/Blocks/Items/template.d.ts +0 -16
- package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -312
package/README.md
CHANGED
|
@@ -52,6 +52,7 @@ npm install @useinsider/guido
|
|
|
52
52
|
ref="guidoEditor"
|
|
53
53
|
:template-id="templateId"
|
|
54
54
|
:user-id="userId"
|
|
55
|
+
:migration-date="migrationDate"
|
|
55
56
|
:guido-config="guidoConfig"
|
|
56
57
|
:html="initialHtml"
|
|
57
58
|
:css="initialCss"
|
|
@@ -74,6 +75,7 @@ export default {
|
|
|
74
75
|
return {
|
|
75
76
|
templateId: 'template-123',
|
|
76
77
|
userId: 'user-456',
|
|
78
|
+
migrationDate: 1699488000,
|
|
77
79
|
initialHtml: '<p>Initial HTML content</p>',
|
|
78
80
|
initialCss: 'p { color: #333; }',
|
|
79
81
|
guidoConfig: {
|
|
@@ -145,6 +147,7 @@ export default {
|
|
|
145
147
|
| `templateId` | `string` | ✅ | - | Unique identifier for the email template |
|
|
146
148
|
| `userId` | `string` | ✅ | - | Unique identifier for the user |
|
|
147
149
|
| `guidoConfig` | `GuidoConfig` | ✅ | - | Configuration object for the editor |
|
|
150
|
+
| `migrationDate` | `number` | ✅ | - | Stripo migration date in Unix timestamp (seconds). Retrieved from backend `/partner-settings` endpoint as `migrationDate`. Used for onboarding process |
|
|
148
151
|
| `partnerName` | `string` | ⚪ | From URL host | Partner identifier |
|
|
149
152
|
| `productType` | `string` | ⚪ | From URL path | Product type identifier |
|
|
150
153
|
| `username` | `string` | ⚪ | `'Guido User'` | Display name for the user |
|
|
@@ -161,6 +164,7 @@ export default {
|
|
|
161
164
|
| `save:complete` | `Omit<Template, 'forceRecreate'>` | Fired when template is successfully saved |
|
|
162
165
|
| `on-change` | void | It Fires once for managing leave modal etc. |
|
|
163
166
|
| `ready` | void | Fired when the editor is ready and template is loaded |
|
|
167
|
+
| `onboarding-finished` | void | Fired when the onboarding popup is dismissed or completed, allowing parent applications to track onboarding state |
|
|
164
168
|
|
|
165
169
|
### Guido Exposed Methods
|
|
166
170
|
```typescript
|
|
@@ -646,35 +650,3 @@ ISC License
|
|
|
646
650
|
- Playwright integrationBoilerplate/control.ts
|
|
647
651
|
- Commitlint & Precommit Hooks integration
|
|
648
652
|
- Get Pre-built display conditions from API
|
|
649
|
-
|
|
650
|
-
Recommendation Block:
|
|
651
|
-
- [ ] Validations for Filters
|
|
652
|
-
- [ ] DOM Rerender after Filters change
|
|
653
|
-
- [ ] Change currencySymbol as Input Type
|
|
654
|
-
- [ ] Apply filter query to request
|
|
655
|
-
- [ ] Drawer loading bug
|
|
656
|
-
- [ ] Drawer send request when apply filters
|
|
657
|
-
- [ ] Clear all feature for Drawer
|
|
658
|
-
- [ ] Stripo's controls should be effect specific DOM item -- Try extending CommonControl class
|
|
659
|
-
- [ ] Show toaster message if uses multiple recommendation blocks in same template
|
|
660
|
-
- [ ] Change filter button text as Change Filters
|
|
661
|
-
- [ ] Migration template for Recommendation Block
|
|
662
|
-
- [ ] Recommendation Algorithm default value should be mostPopular
|
|
663
|
-
- [ ] Default fields for empty template like currency, title etc.
|
|
664
|
-
- [ ] Recommendation Block Icon Registry should be updated
|
|
665
|
-
- [ ] AMP Block Icon should be updated
|
|
666
|
-
- [ ] Padding feature for between Product Rows
|
|
667
|
-
|
|
668
|
-
Items Block Phase 2:
|
|
669
|
-
[ ] Writing configs to esd-config-data DOM.
|
|
670
|
-
[ ] Build on save feature should be working
|
|
671
|
-
[ ] Data Migration feature should be working
|
|
672
|
-
|
|
673
|
-
Tech Debts:
|
|
674
|
-
[ ] Merge Custom Blocks into a single File
|
|
675
|
-
[ ] Move Custom Blocks names to an enum file
|
|
676
|
-
[ ] Template Replacement should be optimized for version history
|
|
677
|
-
[ ] Code Optimization for Items Block inner blocks reordering
|
|
678
|
-
[ ] Image Size & Margins controls has an error on console
|
|
679
|
-
[ ] Feed Text Trimming feature to toggle settings
|
|
680
|
-
[ ] Formatted Price feature to toggle settings
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import i from "./Guido.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
3
|
+
import a from "../_virtual/_plugin-vue2_normalizer.js";
|
|
4
4
|
var t = 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, { 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.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper
|
|
7
|
-
|
|
8
|
-
|
|
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.FilterSelectionDrawer), r(e.SaveAsTemplateDrawer), e.isTestPartner() ? o._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
|
|
7
|
+
return e.emit("onboarding:finished");
|
|
8
|
+
} } }), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
|
|
9
|
+
}, n = [], s = /* @__PURE__ */ a(
|
|
10
|
+
i,
|
|
9
11
|
t,
|
|
10
|
-
|
|
12
|
+
n,
|
|
11
13
|
!1,
|
|
12
14
|
null,
|
|
13
|
-
"
|
|
15
|
+
"3c910a93"
|
|
14
16
|
);
|
|
15
|
-
const
|
|
17
|
+
const v = s.exports;
|
|
16
18
|
export {
|
|
17
|
-
|
|
19
|
+
v as default
|
|
18
20
|
};
|
|
@@ -15,8 +15,8 @@ import { useConfigStore as te } from "../stores/config.js";
|
|
|
15
15
|
import { useDynamicContentStore as ne } from "../stores/dynamic-content.js";
|
|
16
16
|
import { useEditorStore as re } from "../stores/editor.js";
|
|
17
17
|
import { usePreviewStore as ae } from "../stores/preview.js";
|
|
18
|
-
import { useUnsubscribeStore as
|
|
19
|
-
import
|
|
18
|
+
import { useUnsubscribeStore as ie } from "../stores/unsubscribe.js";
|
|
19
|
+
import se from "../node_modules/lodash-es/merge.js";
|
|
20
20
|
const Ge = /* @__PURE__ */ R({
|
|
21
21
|
__name: "Guido",
|
|
22
22
|
props: {
|
|
@@ -31,39 +31,39 @@ const Ge = /* @__PURE__ */ R({
|
|
|
31
31
|
guidoConfig: null,
|
|
32
32
|
templateConfig: null
|
|
33
33
|
},
|
|
34
|
-
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready"],
|
|
34
|
+
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished"],
|
|
35
35
|
setup(_, { expose: L, emit: t }) {
|
|
36
36
|
const u = _, k = I(
|
|
37
37
|
() => import("./organisms/email-preview/PreviewContainer.vue.js")
|
|
38
38
|
), A = I(
|
|
39
39
|
() => import("./organisms/onboarding/OnboardingWrapper.vue.js")
|
|
40
|
-
), l = x(), a = ne(), p =
|
|
40
|
+
), l = x(), a = ne(), p = ie(), g = te(), i = re(), N = ae(), n = U(() => i.hasChanges), { getPartnerName: f, getProductType: y, isTestPartner: F } = O(), v = () => {
|
|
41
41
|
var e;
|
|
42
42
|
return (e = l.value) == null ? void 0 : e.handleSave(!0);
|
|
43
43
|
}, {
|
|
44
|
-
templateId:
|
|
44
|
+
templateId: s,
|
|
45
45
|
userId: b,
|
|
46
46
|
guidoConfig: C,
|
|
47
47
|
templateConfig: o,
|
|
48
48
|
html: r = "",
|
|
49
49
|
css: h = "",
|
|
50
50
|
partnerName: c = f(),
|
|
51
|
-
productType:
|
|
51
|
+
productType: d = y(),
|
|
52
52
|
messageType: S = J,
|
|
53
53
|
username: w = q
|
|
54
|
-
} = u,
|
|
55
|
-
|
|
54
|
+
} = u, m = (o == null ? void 0 : o.preselectedDynamicContentList) || [];
|
|
55
|
+
i.templateId = s, window.GuidoConfig = se(Q, C), window.GuidoConfig.partner = {
|
|
56
56
|
partnerName: c,
|
|
57
|
-
productType:
|
|
57
|
+
productType: d,
|
|
58
58
|
messageType: S
|
|
59
59
|
}, g.templateConfig = o;
|
|
60
60
|
const { initPlugin: D } = j({
|
|
61
|
-
emailId:
|
|
61
|
+
emailId: s,
|
|
62
62
|
userId: b,
|
|
63
63
|
username: w,
|
|
64
64
|
partnerName: c,
|
|
65
|
-
productType:
|
|
66
|
-
preselectedDynamicContentList:
|
|
65
|
+
productType: d,
|
|
66
|
+
preselectedDynamicContentList: m,
|
|
67
67
|
onReady: () => {
|
|
68
68
|
console.debug("guido:ready"), t("ready");
|
|
69
69
|
}
|
|
@@ -99,7 +99,7 @@ const Ge = /* @__PURE__ */ R({
|
|
|
99
99
|
forceRecreate: !0
|
|
100
100
|
// TODO: It should be false for old templates. We will communicate with Stripo
|
|
101
101
|
};
|
|
102
|
-
e.html || (e = await T(), e.html = await W(e.html)), await D(e), a.selectedDynamicContentList =
|
|
102
|
+
e.html || (e = await T(), e.html = await W(e.html)), await D(e), a.selectedDynamicContentList = m;
|
|
103
103
|
} catch (e) {
|
|
104
104
|
console.error("Failed to initialize Stripo editor:", e);
|
|
105
105
|
}
|
|
@@ -120,7 +120,7 @@ const Ge = /* @__PURE__ */ R({
|
|
|
120
120
|
},
|
|
121
121
|
hasChanges: n,
|
|
122
122
|
saveSilent: v
|
|
123
|
-
}), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: A, headerWrapperRef: l, dynamicContentStore: a, unsubscribeStore: p, props: u, configStore: g, editorStore:
|
|
123
|
+
}), { __sfc: !0, PreviewContainer: k, OnboardingWrapper: A, headerWrapperRef: l, dynamicContentStore: a, unsubscribeStore: p, props: u, configStore: g, editorStore: i, previewStore: N, hasChanges: n, getPartnerName: f, getProductType: y, isTestPartner: F, saveSilent: v, templateId: s, userId: b, guidoConfig: C, templateConfig: o, html: r, css: h, partnerName: c, productType: d, messageType: S, username: w, preselectedDynamicContentList: m, emit: t, initPlugin: D, getDefaultTemplate: T, noHeader: H, insertDynamicContent: E, closeDynamicContent: P, Toaster: V, FilterSelectionDrawer: X, HeaderWrapper: Y, LoadingWrapper: Z, SaveAsTemplateDrawer: $, UnsubscribeWrapper: ee };
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
export {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from "./NewVersionPopup.vue2.js";
|
|
2
2
|
import n from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
|
-
var
|
|
4
|
-
var e = this,
|
|
5
|
-
return o.isVisible ?
|
|
6
|
-
},
|
|
7
|
-
|
|
8
|
-
r,
|
|
3
|
+
var i = function() {
|
|
4
|
+
var e = this, s = e._self._c, o = e._self._setupProxy;
|
|
5
|
+
return o.isVisible ? s(o.WpModal, { attrs: { id: "guido__new-version-popup", size: "medium", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.popupTitle }, on: { close: o.handleClose, "primary-action": o.handleDiscoverNow, "secondary-action": o.handleRemindLater } }, [s("div", { staticClass: "d-f f-d-c" }, [s("img", { staticClass: "w-1 h-1 d-b p-e-n mb-5", attrs: { src: o.onboardingImageSvg } }), s("p", { staticClass: "f-s-2 f-w-400", domProps: { innerHTML: e._s(o.popupDescription) } })])]) : e._e();
|
|
6
|
+
}, r = [], a = /* @__PURE__ */ n(
|
|
7
|
+
t,
|
|
9
8
|
i,
|
|
9
|
+
r,
|
|
10
10
|
!1,
|
|
11
11
|
null,
|
|
12
12
|
null
|
|
13
13
|
);
|
|
14
|
-
const
|
|
14
|
+
const _ = a.exports;
|
|
15
15
|
export {
|
|
16
|
-
|
|
16
|
+
_ as default
|
|
17
17
|
};
|
|
@@ -1,30 +1,43 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { defineComponent as g, ref as b, computed as o } from "vue";
|
|
2
|
+
import v from "../../wrappers/WpModal.vue.js";
|
|
3
|
+
import { useConfig as D } from "../../../composables/useConfig.js";
|
|
4
|
+
import { useTranslations as h } from "../../../composables/useTranslations.js";
|
|
5
|
+
import { ACADEMY_LINK as l } from "../../../enums/onboarding.js";
|
|
6
|
+
import y from "../../../static/assets/onboarding-img.svg.js";
|
|
7
|
+
import { useOnboardingStore as _ } from "../../../stores/onboarding.js";
|
|
8
|
+
import { isAfterDate as C, formatShortDate as L } from "../../../utils/dateUtil.js";
|
|
9
|
+
const I = /* @__PURE__ */ g({
|
|
7
10
|
__name: "NewVersionPopup",
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
emits: ["onboarding-finished"],
|
|
12
|
+
setup(w, { emit: a }) {
|
|
13
|
+
const e = h(), t = _(), s = b(!0), { config: p } = D(), i = o(() => p.migrationDate), n = o(() => C(i.value || 0)), d = o(() => L(
|
|
14
|
+
i.value
|
|
15
|
+
)), m = o(() => n.value ? e("email-editor.onboarding-popup-sunsetted-title") : e("email-editor.onboarding-title")), c = o(() => n.value ? e("email-editor.onboarding-popup-sunsetted-description", {
|
|
16
|
+
sunsetDate: d.value,
|
|
17
|
+
academyLink: l
|
|
18
|
+
}) : e("email-editor.onboarding-description", {
|
|
19
|
+
academyLink: l
|
|
20
|
+
})), u = o(() => n.value ? e("products.cancel") : e("products.remind-me-later")), f = o(() => ({
|
|
10
21
|
primaryButton: {
|
|
11
22
|
type: "primary",
|
|
12
|
-
labelText:
|
|
23
|
+
labelText: e("left-menu.discover-now")
|
|
13
24
|
},
|
|
14
25
|
secondaryButton: {
|
|
15
26
|
type: "subtle-primary",
|
|
16
|
-
labelText:
|
|
27
|
+
labelText: u.value
|
|
17
28
|
}
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
})), r = () => {
|
|
30
|
+
s.value = !1, a("onboarding-finished");
|
|
31
|
+
};
|
|
32
|
+
return { __sfc: !0, emit: a, trans: e, onboardingStore: t, isVisible: s, config: p, migrationDate: i, isAfterMigrationDate: n, formattedSunsetDate: d, popupTitle: m, popupDescription: c, secondaryButtonLabel: u, footerButtonOptions: f, closePopup: r, handleDiscoverNow: () => {
|
|
33
|
+
t.onDiscoverNowClicked(), r();
|
|
21
34
|
}, handleRemindLater: () => {
|
|
22
|
-
|
|
35
|
+
t.onRemindMeLater(), r();
|
|
23
36
|
}, handleClose: () => {
|
|
24
|
-
|
|
25
|
-
}, WpModal:
|
|
37
|
+
t.onNewVersionPopupClose(), r();
|
|
38
|
+
}, WpModal: v, onboardingImageSvg: y };
|
|
26
39
|
}
|
|
27
40
|
});
|
|
28
41
|
export {
|
|
29
|
-
|
|
42
|
+
I as default
|
|
30
43
|
};
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import t from "./OnboardingWrapper.vue2.js";
|
|
2
|
+
import i from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
3
|
var s = function() {
|
|
4
|
-
var n = this, e = n._self._c,
|
|
5
|
-
return e("div", n._l(
|
|
6
|
-
return e(
|
|
4
|
+
var n = this, e = n._self._c, r = n._self._setupProxy;
|
|
5
|
+
return e("div", n._l(r.visibleOnboardings, function(o) {
|
|
6
|
+
return e(o.component, { key: o.type, tag: "component", on: { "onboarding-finished": function(p) {
|
|
7
|
+
return r.emit("onboarding-finished");
|
|
8
|
+
} } });
|
|
7
9
|
}), 1);
|
|
8
|
-
},
|
|
9
|
-
|
|
10
|
+
}, _ = [], a = /* @__PURE__ */ i(
|
|
11
|
+
t,
|
|
10
12
|
s,
|
|
11
|
-
|
|
13
|
+
_,
|
|
12
14
|
!1,
|
|
13
15
|
null,
|
|
14
16
|
null
|
|
15
17
|
);
|
|
16
|
-
const
|
|
18
|
+
const d = a.exports;
|
|
17
19
|
export {
|
|
18
|
-
|
|
20
|
+
d as default
|
|
19
21
|
};
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { usePartner as
|
|
3
|
-
import { useEditorStore as
|
|
4
|
-
import { useOnboardingStore as
|
|
5
|
-
import { usePreviewStore as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
1
|
+
import { defineComponent as b, computed as e, onMounted as O, watch as t } from "vue";
|
|
2
|
+
import { usePartner as u } from "../../../composables/usePartner.js";
|
|
3
|
+
import { useEditorStore as v } from "../../../stores/editor.js";
|
|
4
|
+
import { useOnboardingStore as l } from "../../../stores/onboarding.js";
|
|
5
|
+
import { usePreviewStore as y } from "../../../stores/preview.js";
|
|
6
|
+
import S from "./AMPOnboarding.vue.js";
|
|
7
|
+
import h from "./GenericOnboarding.vue.js";
|
|
8
8
|
import w from "./NewVersionPopup.vue.js";
|
|
9
9
|
import P from "./TextBlockOnboarding.vue.js";
|
|
10
|
-
import
|
|
11
|
-
const
|
|
10
|
+
import _ from "./VersionHistoryOnboarding.vue.js";
|
|
11
|
+
const F = /* @__PURE__ */ b({
|
|
12
12
|
__name: "OnboardingWrapper",
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
emits: ["onboarding-finished"],
|
|
14
|
+
setup(A, { emit: f }) {
|
|
15
|
+
const o = l(), r = v(), s = y(), { isTestPartner: a } = u(), p = e(() => r.isStripoInitialized), d = e(() => a()), m = [
|
|
15
16
|
{ type: "newVersionPopup", component: w },
|
|
16
|
-
{ type: "genericOnboarding", component:
|
|
17
|
+
{ type: "genericOnboarding", component: h },
|
|
17
18
|
{ type: "textBlockOnboarding", component: P },
|
|
18
|
-
{ type: "versionHistoryOnboarding", component:
|
|
19
|
-
{ type: "ampOnboarding", component:
|
|
20
|
-
], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n),
|
|
21
|
-
return
|
|
19
|
+
{ type: "versionHistoryOnboarding", component: _ },
|
|
20
|
+
{ type: "ampOnboarding", component: S }
|
|
21
|
+
], c = (n) => d.value || !p.value ? !1 : n === "newVersionPopup" ? o.shouldShowOnboarding(n) : o.isActive(n), g = e(() => m.filter((n) => c(n.type)));
|
|
22
|
+
return O(async () => {
|
|
22
23
|
await o.fetchUserModalState();
|
|
23
24
|
}), t(
|
|
24
25
|
() => r.isVersionHistoryOpen,
|
|
@@ -35,9 +36,9 @@ const E = /* @__PURE__ */ g({
|
|
|
35
36
|
(n) => {
|
|
36
37
|
!n && o.isActive("ampOnboarding") && o.close("ampOnboarding");
|
|
37
38
|
}
|
|
38
|
-
), { __sfc: !0, onboardingStore: o, editorStore: r, previewStore: s, isTestPartner: a, isStripoReady: p, isTestPartnerActive: d, onboardingConfigs: m, shouldShow: c, visibleOnboardings:
|
|
39
|
+
), { __sfc: !0, emit: f, onboardingStore: o, editorStore: r, previewStore: s, isTestPartner: a, isStripoReady: p, isTestPartnerActive: d, onboardingConfigs: m, shouldShow: c, visibleOnboardings: g };
|
|
39
40
|
}
|
|
40
41
|
});
|
|
41
42
|
export {
|
|
42
|
-
|
|
43
|
+
F as default
|
|
43
44
|
};
|
|
@@ -5,19 +5,18 @@ import { useToaster as C } from "./useToaster.js";
|
|
|
5
5
|
import { displayConditions as y } from "../enums/displayConditions.js";
|
|
6
6
|
import h from "../extensions/Blocks/Checkbox/extension.js";
|
|
7
7
|
import w from "../extensions/Blocks/CouponBlock/extension.js";
|
|
8
|
-
import b from "../extensions/Blocks/
|
|
9
|
-
import V from "../extensions/Blocks/
|
|
10
|
-
import _ from "../extensions/Blocks/
|
|
11
|
-
import k from "../extensions/
|
|
12
|
-
import x from "../extensions/DynamicContent/extension.js";
|
|
8
|
+
import b from "../extensions/Blocks/RadioButton/extension.js";
|
|
9
|
+
import V from "../extensions/Blocks/Recommendation/extension.js";
|
|
10
|
+
import _ from "../extensions/Blocks/Unsubscribe/extension.js";
|
|
11
|
+
import k from "../extensions/DynamicContent/extension.js";
|
|
13
12
|
import { useStripoApi as B } from "../services/stripoApi.js";
|
|
14
|
-
import
|
|
15
|
-
import { useEditorStore as
|
|
16
|
-
import { dynamicContentToMergeTags as
|
|
17
|
-
import
|
|
18
|
-
const
|
|
19
|
-
const { handleError: d } = C(), { getToken:
|
|
20
|
-
const t =
|
|
13
|
+
import x from "../static/styles/customEditorStyle.css.js";
|
|
14
|
+
import { useEditorStore as F } from "../stores/editor.js";
|
|
15
|
+
import { dynamicContentToMergeTags as A } from "../utils/genericUtil.js";
|
|
16
|
+
import T from "../package.json.js";
|
|
17
|
+
const G = (a) => {
|
|
18
|
+
const { handleError: d } = C(), { getToken: u, getCustomFonts: m } = B(), { handleEvent: p } = S(), l = (r, i = []) => {
|
|
19
|
+
const t = F(), { html: n, css: c, forceRecreate: s } = r;
|
|
21
20
|
window.UIEditor.initEditor(
|
|
22
21
|
document.querySelector("#guido-editor"),
|
|
23
22
|
{
|
|
@@ -34,7 +33,7 @@ const Q = (a) => {
|
|
|
34
33
|
customAppearanceMergetags: !0,
|
|
35
34
|
customAppearanceMergetagsBorderColor: "#f1f3fe",
|
|
36
35
|
customAppearanceMergetagsBackgroundColor: "#f1f3fe",
|
|
37
|
-
customViewStyles:
|
|
36
|
+
customViewStyles: x,
|
|
38
37
|
conditionsEnabled: !0,
|
|
39
38
|
customConditionsEnabled: !0,
|
|
40
39
|
conditionCategories: y,
|
|
@@ -48,12 +47,12 @@ const Q = (a) => {
|
|
|
48
47
|
},
|
|
49
48
|
mergeTags: [
|
|
50
49
|
{
|
|
51
|
-
entries:
|
|
50
|
+
entries: A(a.preselectedDynamicContentList)
|
|
52
51
|
}
|
|
53
52
|
],
|
|
54
53
|
async onTokenRefreshRequest(o) {
|
|
55
54
|
try {
|
|
56
|
-
const e = await
|
|
55
|
+
const e = await u();
|
|
57
56
|
o(e);
|
|
58
57
|
} catch (e) {
|
|
59
58
|
d(e, "Failed to refresh token");
|
|
@@ -88,12 +87,11 @@ const Q = (a) => {
|
|
|
88
87
|
".in-drawer__container"
|
|
89
88
|
],
|
|
90
89
|
extensions: [
|
|
91
|
-
|
|
90
|
+
k,
|
|
92
91
|
h,
|
|
92
|
+
b,
|
|
93
93
|
V,
|
|
94
94
|
_,
|
|
95
|
-
b,
|
|
96
|
-
k,
|
|
97
95
|
w
|
|
98
96
|
]
|
|
99
97
|
}
|
|
@@ -104,7 +102,7 @@ const Q = (a) => {
|
|
|
104
102
|
r(), i();
|
|
105
103
|
return;
|
|
106
104
|
}
|
|
107
|
-
const n =
|
|
105
|
+
const n = T.guido, s = `https://email-static.useinsider.com/guido/${(e = n == null ? void 0 : n.stripo) == null ? void 0 : e.version}/UIEditor.js`, o = document.createElement("script");
|
|
108
106
|
o.id = "UiEditorScript", o.type = "module", o.src = s, o.onload = () => {
|
|
109
107
|
r(), i();
|
|
110
108
|
}, o.onerror = () => {
|
|
@@ -113,11 +111,11 @@ const Q = (a) => {
|
|
|
113
111
|
});
|
|
114
112
|
return { initPlugin: async (r) => {
|
|
115
113
|
await g(async () => {
|
|
116
|
-
const i = await
|
|
114
|
+
const i = await m();
|
|
117
115
|
l(r, i);
|
|
118
116
|
});
|
|
119
117
|
} };
|
|
120
118
|
};
|
|
121
119
|
export {
|
|
122
|
-
|
|
120
|
+
G as useStripo
|
|
123
121
|
};
|
package/dist/enums/defaults.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const a = {
|
|
2
2
|
translationsPath: "window.trans.en",
|
|
3
|
+
migrationDate: 1759696858,
|
|
3
4
|
emailHeader: {
|
|
4
5
|
senderName: "",
|
|
5
6
|
subject: ""
|
|
@@ -16,7 +17,7 @@ const a = {
|
|
|
16
17
|
}, t = {
|
|
17
18
|
promotional: 1,
|
|
18
19
|
transactional: 2
|
|
19
|
-
}, e = "email", o = "Guido User", n = t.promotional,
|
|
20
|
+
}, e = "email", o = "Guido User", n = t.promotional, i = 2, s = {
|
|
20
21
|
email: 60,
|
|
21
22
|
architect: 49
|
|
22
23
|
}, u = [
|
|
@@ -56,8 +57,8 @@ export {
|
|
|
56
57
|
n as DefaultMessageType,
|
|
57
58
|
e as DefaultProductType,
|
|
58
59
|
o as DefaultUsername,
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
i as EditorType,
|
|
61
|
+
s as ProductIds,
|
|
61
62
|
u as TEST_PARTNER_LIST,
|
|
62
63
|
t as TemplateTypes
|
|
63
64
|
};
|
|
@@ -12,8 +12,8 @@ const s = {
|
|
|
12
12
|
{ id: 61, key: "mostPopular", name: "Most Popular Items", path: "most-popular" },
|
|
13
13
|
{ id: 62, key: "mostPurchased", name: "Top Sellers", path: "top-sellers" }
|
|
14
14
|
], u = ["discount", "omnibus_price", "omnibus_discount", "price", "original_price"], l = [
|
|
15
|
-
{ text: "
|
|
16
|
-
{ text: "
|
|
15
|
+
{ text: "after the amount", value: "1" },
|
|
16
|
+
{ text: "before the amount", value: "0" }
|
|
17
17
|
], c = [
|
|
18
18
|
{ text: "dot(.)", value: "." },
|
|
19
19
|
{ text: "comma(,)", value: "," }
|
package/dist/enums/onboarding.js
CHANGED
|
@@ -2,7 +2,8 @@ const e = [
|
|
|
2
2
|
".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-0.ng-star-inserted",
|
|
3
3
|
".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-1.ng-star-inserted",
|
|
4
4
|
".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-2.ng-star-inserted"
|
|
5
|
-
];
|
|
5
|
+
], t = "https://academy.useinsider.com/docs/email-drag-drop-editor";
|
|
6
6
|
export {
|
|
7
|
+
t as ACADEMY_LINK,
|
|
7
8
|
e as SERVICE_HOVER_SELECTORS
|
|
8
9
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Block as e, BlockCompositionType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
2
|
import { getDefaultTemplate as o } from "./template.js";
|
|
3
3
|
const r = "checkbox-block";
|
|
4
|
-
class
|
|
4
|
+
class p extends e {
|
|
5
5
|
constructor() {
|
|
6
6
|
super();
|
|
7
7
|
}
|
|
@@ -23,11 +23,8 @@ class s extends e {
|
|
|
23
23
|
getTemplate() {
|
|
24
24
|
return o();
|
|
25
25
|
}
|
|
26
|
-
allowInnerBlocksDND() {
|
|
27
|
-
return !1;
|
|
28
|
-
}
|
|
29
26
|
}
|
|
30
27
|
export {
|
|
31
28
|
r as CHECKBOX_BLOCK_ID,
|
|
32
|
-
|
|
29
|
+
p as CheckboxBlock
|
|
33
30
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Block as t, BlockCompositionType as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
2
|
import { getDefaultTemplate as e } from "./template.js";
|
|
3
3
|
const r = "radio-button-block";
|
|
4
|
-
class
|
|
4
|
+
class c extends t {
|
|
5
5
|
constructor() {
|
|
6
6
|
super();
|
|
7
7
|
}
|
|
@@ -23,11 +23,8 @@ class l extends t {
|
|
|
23
23
|
getTemplate() {
|
|
24
24
|
return e();
|
|
25
25
|
}
|
|
26
|
-
allowInnerBlocksDND() {
|
|
27
|
-
return !1;
|
|
28
|
-
}
|
|
29
26
|
}
|
|
30
27
|
export {
|
|
31
28
|
r as BLOCK_ID,
|
|
32
|
-
|
|
29
|
+
c as RadioButtonCustomBlock
|
|
33
30
|
};
|