@useinsider/guido 3.5.1-beta.8631873 → 3.5.1-beta.94fc87e
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/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +75 -72
- package/dist/components/organisms/header/EditorActions.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue2.js +9 -9
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +47 -51
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +1 -1
- package/dist/guido.css +1 -1
- package/dist/src/components/Guido.vue.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,70 +1,72 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useCortexBlueprintBridge as
|
|
3
|
-
import { provideGuidoActions as
|
|
4
|
-
import { useGuidoStateBridge as
|
|
5
|
-
import { usePartner as
|
|
6
|
-
import { useStripo as
|
|
7
|
-
import { useTimerClone as
|
|
8
|
-
import { migrate as
|
|
9
|
-
import { ModuleFolderDefaults as
|
|
1
|
+
import { defineComponent as X, defineAsyncComponent as I, ref as W, computed as x, watch as Y, onMounted as Z, onUnmounted as ee } from "vue";
|
|
2
|
+
import { useCortexBlueprintBridge as oe } from "../composables/useCortexBlueprintBridge.js";
|
|
3
|
+
import { provideGuidoActions as te } from "../composables/useGuidoActions.js";
|
|
4
|
+
import { useGuidoStateBridge as ne } from "../composables/useGuidoStateBridge.js";
|
|
5
|
+
import { usePartner as re } from "../composables/usePartner.js";
|
|
6
|
+
import { useStripo as se } from "../composables/useStripo.js";
|
|
7
|
+
import { useTimerClone as ae } from "../composables/useTimerClone.js";
|
|
8
|
+
import { migrate as G } from "../config/migrator/index.js";
|
|
9
|
+
import { ModuleFolderDefaults as H } from "../enums/defaults.js";
|
|
10
10
|
import { RIBBON_SELECTOR as ce } from "../enums/onboarding.js";
|
|
11
|
-
import { useRecommendationExtensionStore as
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import { useStripoApi as
|
|
11
|
+
import { useRecommendationExtensionStore as ie } from "../extensions/Blocks/Recommendation/store/recommendation.js";
|
|
12
|
+
import me from "./organisms/AutoSaveController.vue.js";
|
|
13
|
+
import de from "./organisms/base/Toaster.vue.js";
|
|
14
|
+
import le from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
|
|
15
|
+
import ue from "./organisms/header/HeaderWrapper.vue.js";
|
|
16
|
+
import pe from "./organisms/LoadingWrapper.vue.js";
|
|
17
|
+
import fe from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
|
|
18
|
+
import ve from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
|
|
19
|
+
import { useStripoApi as Se } from "../services/stripoApi.js";
|
|
20
20
|
import { useConfigStore as ye } from "../stores/config.js";
|
|
21
|
-
import { useDynamicContentStore as
|
|
22
|
-
import { useEditorStore as
|
|
23
|
-
import { usePreviewStore as
|
|
21
|
+
import { useDynamicContentStore as he } from "../stores/dynamic-content.js";
|
|
22
|
+
import { useEditorStore as $ } from "../stores/editor.js";
|
|
23
|
+
import { usePreviewStore as ge } from "../stores/preview.js";
|
|
24
24
|
import { useTemplateStore as be } from "../stores/template.js";
|
|
25
|
-
import { useUnsubscribeStore as
|
|
26
|
-
const
|
|
25
|
+
import { useUnsubscribeStore as Ee } from "../stores/unsubscribe.js";
|
|
26
|
+
const Ve = /* @__PURE__ */ X({
|
|
27
27
|
__name: "Guido",
|
|
28
28
|
props: {
|
|
29
29
|
config: null
|
|
30
30
|
},
|
|
31
31
|
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
|
|
32
|
-
setup(
|
|
33
|
-
const
|
|
32
|
+
setup(z, { expose: q, emit: n }) {
|
|
33
|
+
const b = z, K = I(
|
|
34
34
|
() => import("./organisms/email-preview/PreviewContainer.vue.js")
|
|
35
|
-
),
|
|
35
|
+
), V = I(
|
|
36
36
|
() => import("./organisms/onboarding/OnboardingWrapper.vue.js")
|
|
37
|
-
), E =
|
|
38
|
-
i.init(
|
|
39
|
-
const
|
|
37
|
+
), E = W(), p = W(), f = he(), w = Ee(), i = ye();
|
|
38
|
+
i.init(b.config);
|
|
39
|
+
const m = $(), j = ge(), d = x(() => m.hasChanges), { isTestPartner: J } = re(), D = () => {
|
|
40
40
|
var e;
|
|
41
41
|
return (e = E.value) == null ? void 0 : e.handleSave(!0);
|
|
42
|
+
}, C = () => {
|
|
43
|
+
m.loadingStatus = !1;
|
|
42
44
|
}, {
|
|
43
45
|
templateId: v,
|
|
44
|
-
userId:
|
|
45
|
-
partnerName:
|
|
46
|
+
userId: T,
|
|
47
|
+
partnerName: L,
|
|
46
48
|
username: k,
|
|
47
49
|
template: o,
|
|
48
50
|
editor: s
|
|
49
|
-
} = i,
|
|
50
|
-
|
|
51
|
-
const
|
|
51
|
+
} = i, l = (o == null ? void 0 : o.html) || "", F = (o == null ? void 0 : o.css) || "", S = (o == null ? void 0 : o.preselectedDynamicContent) || [], U = (s == null ? void 0 : s.savedModulesFolderName) || H.SAVED_MODULES, _ = (s == null ? void 0 : s.defaultModulesFolderName) || H.DEFAULT_MODULES;
|
|
52
|
+
oe(), ne();
|
|
53
|
+
const y = {
|
|
52
54
|
emailId: v,
|
|
53
|
-
userId:
|
|
55
|
+
userId: T,
|
|
54
56
|
username: k,
|
|
55
|
-
partnerName:
|
|
56
|
-
savedModulesFolderName:
|
|
57
|
-
defaultModulesFolderName:
|
|
58
|
-
},
|
|
59
|
-
preselectedDynamicContentList:
|
|
57
|
+
partnerName: L,
|
|
58
|
+
savedModulesFolderName: U,
|
|
59
|
+
defaultModulesFolderName: _
|
|
60
|
+
}, M = {
|
|
61
|
+
preselectedDynamicContentList: S,
|
|
60
62
|
onReady: () => {
|
|
61
63
|
console.debug("guido:ready"), n("ready");
|
|
62
64
|
}
|
|
63
|
-
}, { initPlugin:
|
|
65
|
+
}, { initPlugin: O } = se(y, M), { getDefaultTemplate: P } = Se(), { cloneTimersOnSave: R, hasTimerBlocks: A } = ae(), Q = x(() => {
|
|
64
66
|
var e;
|
|
65
67
|
return !((e = i.ui) != null && e.showHeader);
|
|
66
68
|
});
|
|
67
|
-
|
|
69
|
+
te({
|
|
68
70
|
onBack: () => {
|
|
69
71
|
console.debug("guido:back"), n("back");
|
|
70
72
|
},
|
|
@@ -72,66 +74,67 @@ const Ke = /* @__PURE__ */ Q({
|
|
|
72
74
|
console.debug("guido:save:start"), n("save:start");
|
|
73
75
|
},
|
|
74
76
|
onSaveComplete: (e) => {
|
|
75
|
-
const t = { ...e, metadata:
|
|
77
|
+
const t = { ...e, metadata: y };
|
|
76
78
|
console.debug("guido:save:complete", t), n("save:complete", t);
|
|
77
79
|
},
|
|
78
80
|
onTestEmailClick: () => {
|
|
79
81
|
console.debug("guido:test-email:click"), n("test-email:click");
|
|
80
82
|
}
|
|
81
83
|
});
|
|
82
|
-
const
|
|
83
|
-
console.debug("dynamic-content:close", e),
|
|
84
|
-
},
|
|
84
|
+
const B = (e) => {
|
|
85
|
+
console.debug("dynamic-content:close", e), f.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
|
|
86
|
+
}, N = () => {
|
|
85
87
|
console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
|
|
86
88
|
};
|
|
87
|
-
|
|
88
|
-
n("on-change",
|
|
89
|
+
Y(() => d.value, () => {
|
|
90
|
+
n("on-change", d.value);
|
|
89
91
|
});
|
|
90
92
|
const h = (e) => {
|
|
91
|
-
const t = e, { attribute:
|
|
92
|
-
console.debug("dynamic-content:open", t.detail), n("dynamic-content:open",
|
|
93
|
+
const t = e, { attribute: u, position: c } = t.detail;
|
|
94
|
+
console.debug("dynamic-content:open", t.detail), n("dynamic-content:open", u, c);
|
|
93
95
|
};
|
|
94
|
-
let
|
|
95
|
-
const
|
|
96
|
+
let a = null;
|
|
97
|
+
const g = () => {
|
|
96
98
|
var t;
|
|
97
99
|
const e = document.querySelector(ce);
|
|
98
|
-
(t =
|
|
100
|
+
(t = p.value) == null || t.style.setProperty("--ribbon-offset", `${(e == null ? void 0 : e.offsetHeight) ?? 0}px`);
|
|
99
101
|
};
|
|
100
|
-
return
|
|
101
|
-
var t,
|
|
102
|
-
console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"),
|
|
103
|
-
const e = (t =
|
|
104
|
-
e && (
|
|
102
|
+
return Z(async () => {
|
|
103
|
+
var t, u;
|
|
104
|
+
console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), ie().$reset(), $().$reset(), m.templateId = v, be().$reset(), g();
|
|
105
|
+
const e = (t = p.value) == null ? void 0 : t.parentElement;
|
|
106
|
+
e && (a = new ResizeObserver(g), a.observe(e));
|
|
105
107
|
try {
|
|
106
108
|
w.selectedUnsubscribePages = (o == null ? void 0 : o.selectedUnsubscribePages) || [];
|
|
107
|
-
const
|
|
109
|
+
const c = ((u = o == null ? void 0 : o.migration) == null ? void 0 : u.recommendationConfigs) ?? {};
|
|
108
110
|
let r = {
|
|
109
|
-
html:
|
|
111
|
+
html: l && await G(l, c),
|
|
110
112
|
css: F
|
|
111
113
|
};
|
|
112
|
-
r.html || (r = await
|
|
113
|
-
} catch (
|
|
114
|
-
console.error("Failed to initialize Stripo editor:",
|
|
114
|
+
r.html || (r = await P(), r.html = await G(r.html, c)), A(r.html) && (r.html = await R(r.html)), await O(r), f.selectedDynamicContentList = S;
|
|
115
|
+
} catch (c) {
|
|
116
|
+
console.error("Failed to initialize Stripo editor:", c);
|
|
115
117
|
}
|
|
116
118
|
document.addEventListener("dynamic-content:open", h);
|
|
117
|
-
}),
|
|
118
|
-
|
|
119
|
+
}), ee(() => {
|
|
120
|
+
a == null || a.disconnect(), document.removeEventListener("dynamic-content:open", h);
|
|
119
121
|
try {
|
|
120
122
|
window.UIEditor.removeEditor();
|
|
121
123
|
} catch {
|
|
122
124
|
console.debug("Failed to remove Stripo editor: No editor found");
|
|
123
125
|
}
|
|
124
126
|
i.reset();
|
|
125
|
-
}),
|
|
127
|
+
}), q({
|
|
126
128
|
dynamicContent: {
|
|
127
|
-
insert:
|
|
128
|
-
close:
|
|
129
|
+
insert: B,
|
|
130
|
+
close: N
|
|
129
131
|
},
|
|
130
|
-
hasChanges:
|
|
131
|
-
saveSilent: D
|
|
132
|
-
|
|
132
|
+
hasChanges: d,
|
|
133
|
+
saveSilent: D,
|
|
134
|
+
stopLoading: C
|
|
135
|
+
}), { __sfc: !0, PreviewContainer: K, OnboardingWrapper: V, headerWrapperRef: E, wrapperRef: p, dynamicContentStore: f, unsubscribeStore: w, props: b, configStore: i, editorStore: m, previewStore: j, hasChanges: d, isTestPartner: J, saveSilent: D, stopLoading: C, templateId: v, userId: T, partnerName: L, username: k, templateConfig: o, editorConfig: s, html: l, css: F, preselectedDynamicContentList: S, savedModulesFolderName: U, defaultModulesFolderName: _, emit: n, metadata: y, options: M, initPlugin: O, getDefaultTemplate: P, cloneTimersOnSave: R, hasTimerBlocks: A, noHeader: Q, insertDynamicContent: B, closeDynamicContent: N, handleDynamicContentOpen: h, ribbonObserver: a, updateRibbonOffset: g, AutoSaveController: me, Toaster: de, FilterSelectionDrawer: le, HeaderWrapper: ue, LoadingWrapper: pe, SaveAsTemplateDrawer: fe, UnsubscribeWrapper: ve };
|
|
133
136
|
}
|
|
134
137
|
});
|
|
135
138
|
export {
|
|
136
|
-
|
|
139
|
+
Ve as default
|
|
137
140
|
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { defineComponent as l, computed as
|
|
1
|
+
import { defineComponent as l, computed as p, ref as d } from "vue";
|
|
2
2
|
import { useConfig as k } from "../../../composables/useConfig.js";
|
|
3
3
|
import { useBack as B } from "../../../composables/useGuidoActions.js";
|
|
4
4
|
import { usePreviewMode as b } from "../../../composables/usePreviewMode.js";
|
|
5
5
|
import { useTranslations as v } from "../../../composables/useTranslations.js";
|
|
6
6
|
import { useVersionHistoryApi as _ } from "../../../composables/useVersionHistoryApi.js";
|
|
7
7
|
import { useEditorStore as V } from "../../../stores/editor.js";
|
|
8
|
-
import { InButtonV2 as
|
|
9
|
-
import { useDebounceFn as
|
|
8
|
+
import { InButtonV2 as w } from "@useinsider/design-system-vue";
|
|
9
|
+
import { useDebounceFn as y } from "../../../node_modules/@vueuse/shared/index.js";
|
|
10
10
|
const D = /* @__PURE__ */ l({
|
|
11
11
|
__name: "LeftSlot",
|
|
12
|
-
setup(
|
|
13
|
-
const e = V(), i = B(), { closeVersionHistory: n } = _(), { closePreviewMode: s } = b(), o = v(), { config: t } = k(), f =
|
|
12
|
+
setup(C) {
|
|
13
|
+
const e = V(), i = B(), { closeVersionHistory: n } = _(), { closePreviewMode: s } = b(), o = v(), { config: t } = k(), f = p(() => {
|
|
14
14
|
var u, m;
|
|
15
15
|
return e.isVersionHistoryOpen || e.isPreviewModeOpen ? o("email-editor.back-to-editor") : (m = (u = t.value) == null ? void 0 : u.ui) != null && m.backButtonLabel ? t.value.ui.backButtonLabel : o("email-editor.back-to-design");
|
|
16
|
-
}), r =
|
|
16
|
+
}), r = d(!1), c = () => {
|
|
17
17
|
if (e.isVersionHistoryOpen) {
|
|
18
18
|
n();
|
|
19
19
|
return;
|
|
@@ -22,13 +22,13 @@ const D = /* @__PURE__ */ l({
|
|
|
22
22
|
s();
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
}, a =
|
|
25
|
+
i();
|
|
26
|
+
}, a = y(() => {
|
|
27
27
|
c(), r.value = !1;
|
|
28
28
|
}, 500);
|
|
29
29
|
return { __sfc: !0, editorStore: e, handleBack: i, closeVersionHistory: n, closePreviewMode: s, trans: o, config: t, backButtonLabel: f, isBackButtonDisabled: r, executeBackAction: c, debouncedBackAction: a, handleBackClick: () => {
|
|
30
30
|
r.value = !0, a();
|
|
31
|
-
}, InButtonV2:
|
|
31
|
+
}, InButtonV2: w };
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
export {
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
var
|
|
2
|
-
var p = (d,
|
|
3
|
-
var s = (d,
|
|
1
|
+
var f = Object.defineProperty;
|
|
2
|
+
var p = (d, l, t) => l in d ? f(d, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[l] = t;
|
|
3
|
+
var s = (d, l, t) => p(d, typeof l != "symbol" ? l + "" : l, t);
|
|
4
4
|
import { CommonControl as g } from "../../../common-control.js";
|
|
5
5
|
import { DEFAULT_NODE_CONFIG as a } from "../../constants/defaultConfig.js";
|
|
6
6
|
import { RecommendationConfigService as h } from "../../services/configService.js";
|
|
7
7
|
import { useRecommendationExtensionStore as y } from "../../store/recommendation.js";
|
|
8
|
-
import { AlgorithmControl as
|
|
9
|
-
import { ALGORITHM_CONTROL_ID as
|
|
10
|
-
import { CurrencyControl as
|
|
11
|
-
import { CURRENCY_CONTROL_ID as
|
|
8
|
+
import { AlgorithmControl as R } from "./algorithm.js";
|
|
9
|
+
import { ALGORITHM_CONTROL_ID as J } from "./algorithm.js";
|
|
10
|
+
import { CurrencyControl as N } from "./currency.js";
|
|
11
|
+
import { CURRENCY_CONTROL_ID as X } from "./currency.js";
|
|
12
12
|
import { FiltersControl as _ } from "./filters.js";
|
|
13
|
-
import { FILTERS_CONTROL_ID as
|
|
13
|
+
import { FILTERS_CONTROL_ID as tt } from "./filters.js";
|
|
14
14
|
import { LayoutOrientationControl as b } from "./layoutOrientation.js";
|
|
15
|
-
import { LAYOUT_ORIENTATION_CONTROL_ID as
|
|
15
|
+
import { LAYOUT_ORIENTATION_CONTROL_ID as ot } from "./layoutOrientation.js";
|
|
16
16
|
import { LocaleControl as O } from "./locale.js";
|
|
17
|
-
import { LOCALE_CONTROL_ID as
|
|
17
|
+
import { LOCALE_CONTROL_ID as nt } from "./locale.js";
|
|
18
18
|
import { ProductCountControl as I } from "./productCount.js";
|
|
19
|
-
import { PRODUCT_COUNT_CONTROL_ID as
|
|
19
|
+
import { PRODUCT_COUNT_CONTROL_ID as st } from "./productCount.js";
|
|
20
20
|
import { ProductLayoutControl as T } from "./productLayout.js";
|
|
21
21
|
import { PRODUCT_LAYOUT_CONTROL_ID as lt } from "./productLayout.js";
|
|
22
22
|
import { ShuffleControl as S } from "./shuffle.js";
|
|
23
|
-
import { SHUFFLE_CONTROL_ID as
|
|
24
|
-
import {
|
|
25
|
-
import { adjustProductsToSize as
|
|
23
|
+
import { SHUFFLE_CONTROL_ID as ut } from "./shuffle.js";
|
|
24
|
+
import { getBlockElement as L, updateProductContentInPlace as P, regenerateProductRowsWithStyles as D } from "./utils.js";
|
|
25
|
+
import { adjustProductsToSize as ht, formatProductPrice as mt, getCardComposition as Ct, getCurrentLayout as ft, reapplySpacing as pt, regenerateMobileProductRows as gt, regenerateProductRows as yt, setCurrencyAttributes as Rt, updatePricesInPlace as Nt, updateSingleProductContent as _t } from "./utils.js";
|
|
26
26
|
import { useDebounceFn as m } from "../../../../../node_modules/@vueuse/shared/index.js";
|
|
27
|
-
const
|
|
28
|
-
class
|
|
27
|
+
const k = "recommendation-id", E = "ui-elements-recommendation-block";
|
|
28
|
+
class H extends g {
|
|
29
29
|
constructor() {
|
|
30
30
|
super(...arguments);
|
|
31
31
|
s(this, "store", y());
|
|
@@ -62,11 +62,11 @@ class K extends g {
|
|
|
62
62
|
if (!this.currentNode || !this.api)
|
|
63
63
|
return;
|
|
64
64
|
const e = this.api.getDocumentModifier();
|
|
65
|
-
|
|
65
|
+
P({
|
|
66
66
|
currentNode: this.currentNode,
|
|
67
67
|
documentModifier: e,
|
|
68
68
|
products: t
|
|
69
|
-
}) ||
|
|
69
|
+
}) || D({
|
|
70
70
|
currentNode: this.currentNode,
|
|
71
71
|
documentModifier: e,
|
|
72
72
|
products: t
|
|
@@ -74,10 +74,10 @@ class K extends g {
|
|
|
74
74
|
}, 100));
|
|
75
75
|
}
|
|
76
76
|
getId() {
|
|
77
|
-
return
|
|
77
|
+
return E;
|
|
78
78
|
}
|
|
79
79
|
getTemplate() {
|
|
80
|
-
return this.algorithmControl = new
|
|
80
|
+
return this.algorithmControl = new R(), this.localeControl = new O(), this.currencyControl = new N(), this.productCountControl = new I(), this.productLayoutControl = new T(), this.filtersControl = new _(), this.shuffleControl = new S(), this.layoutOrientationControl = new b(), [
|
|
81
81
|
this.algorithmControl,
|
|
82
82
|
this.localeControl,
|
|
83
83
|
this.currencyControl,
|
|
@@ -263,11 +263,7 @@ class K extends g {
|
|
|
263
263
|
this.currentNode,
|
|
264
264
|
e,
|
|
265
265
|
"Applied smart defaults"
|
|
266
|
-
),
|
|
267
|
-
currentNode: this.currentNode,
|
|
268
|
-
documentModifier: this.api.getDocumentModifier(),
|
|
269
|
-
currency: e.currency
|
|
270
|
-
}), this.store.patchCurrentBlockConfig({
|
|
266
|
+
), this.store.patchCurrentBlockConfig({
|
|
271
267
|
...o ? {
|
|
272
268
|
currencySettings: {
|
|
273
269
|
name: o,
|
|
@@ -287,10 +283,10 @@ class K extends g {
|
|
|
287
283
|
* Reads the recommendation-id attribute from the block element within the node
|
|
288
284
|
*/
|
|
289
285
|
_getRecommendationIdFromNode(t) {
|
|
290
|
-
const e =
|
|
286
|
+
const e = L(t);
|
|
291
287
|
if (!e || !("getAttribute" in e))
|
|
292
288
|
return null;
|
|
293
|
-
const o = e.getAttribute(
|
|
289
|
+
const o = e.getAttribute(k);
|
|
294
290
|
if (!o)
|
|
295
291
|
return null;
|
|
296
292
|
const r = parseInt(o);
|
|
@@ -320,8 +316,8 @@ class K extends g {
|
|
|
320
316
|
}
|
|
321
317
|
const i = t.$state.configVersion;
|
|
322
318
|
i !== o && (o = i, this._persistFiltersToNodeConfig(), this._debouncedFetchProducts());
|
|
323
|
-
const
|
|
324
|
-
u &&
|
|
319
|
+
const c = t.recommendationProducts, u = c !== e, C = Array.isArray(c) && c.length > 0;
|
|
320
|
+
u && C && (e = c, this._debouncedRegenerateWithProducts());
|
|
325
321
|
});
|
|
326
322
|
}
|
|
327
323
|
/**
|
|
@@ -341,35 +337,35 @@ class K extends g {
|
|
|
341
337
|
}
|
|
342
338
|
}
|
|
343
339
|
export {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
340
|
+
J as ALGORITHM_CONTROL_ID,
|
|
341
|
+
R as AlgorithmControl,
|
|
342
|
+
E as CONTROL_BLOCK_ID,
|
|
343
|
+
X as CURRENCY_CONTROL_ID,
|
|
344
|
+
N as CurrencyControl,
|
|
345
|
+
tt as FILTERS_CONTROL_ID,
|
|
350
346
|
_ as FiltersControl,
|
|
351
|
-
|
|
352
|
-
|
|
347
|
+
ot as LAYOUT_ORIENTATION_CONTROL_ID,
|
|
348
|
+
nt as LOCALE_CONTROL_ID,
|
|
353
349
|
b as LayoutOrientationControl,
|
|
354
350
|
O as LocaleControl,
|
|
355
|
-
|
|
351
|
+
st as PRODUCT_COUNT_CONTROL_ID,
|
|
356
352
|
lt as PRODUCT_LAYOUT_CONTROL_ID,
|
|
357
353
|
I as ProductCountControl,
|
|
358
354
|
T as ProductLayoutControl,
|
|
359
|
-
|
|
360
|
-
|
|
355
|
+
H as RecommendationBlockControl,
|
|
356
|
+
ut as SHUFFLE_CONTROL_ID,
|
|
361
357
|
S as ShuffleControl,
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
358
|
+
ht as adjustProductsToSize,
|
|
359
|
+
mt as formatProductPrice,
|
|
360
|
+
L as getBlockElement,
|
|
365
361
|
Ct as getCardComposition,
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
362
|
+
ft as getCurrentLayout,
|
|
363
|
+
pt as reapplySpacing,
|
|
364
|
+
gt as regenerateMobileProductRows,
|
|
365
|
+
yt as regenerateProductRows,
|
|
366
|
+
D as regenerateProductRowsWithStyles,
|
|
367
|
+
Rt as setCurrencyAttributes,
|
|
368
|
+
Nt as updatePricesInPlace,
|
|
369
|
+
P as updateProductContentInPlace,
|
|
374
370
|
_t as updateSingleProductContent
|
|
375
371
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModificationDescription as p } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
2
|
import { RecommendationBlockId as m } from "../../constants/blockIds.js";
|
|
3
|
-
import {
|
|
3
|
+
import { MOBILE_CONTAINER_SELECTOR as q, MOBILE_ROW_SELECTOR as k, CURRENCY_ATTR as y, DESKTOP_CONTAINER_SELECTOR as P, CONTAINER_SELECTOR as v, ATTR_PRODUCT_ATTR as W } from "../../constants/selectors.js";
|
|
4
4
|
import { RecommendationConfigService as E } from "../../services/configService.js";
|
|
5
5
|
import { useRecommendationExtensionStore as C } from "../../store/recommendation.js";
|
|
6
6
|
import { prepareProductRows as _ } from "../../templates/index.js";
|
package/dist/guido.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.gap-16[data-v-5553d071],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-
|
|
1
|
+
.gap-16[data-v-5553d071],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-42185bb7] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-2cb418af] .in-progress-wrapper__progress p span:last-child{display:none!important}[data-v-2cb418af] .in-progress-description-status{display:none!important}.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}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.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}.auto-save-toggle[data-v-2c964af4]{position:relative}.auto-save-toggle__info-box[data-v-2c964af4]{position:absolute;top:100%;left:0;z-index:10;width:280px}.editor-actions[data-v-74579f90]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-ad0c35d5]{--ribbon-offset: 0px;position:relative;width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__container[data-v-ad0c35d5]{width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__no-header[data-v-ad0c35d5]{height:calc(100vh - 75px - var(--ribbon-offset))}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-df672485]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-df672485]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-df672485]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-df672485]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-df672485]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-7419ae06] .vueperslides__bullets,[data-v-796d193b] .vueperslides__bullets{pointer-events:none!important}[data-v-796d193b] .vueperslides__parallax-wrapper{height:110px!important}[data-v-cadfc82d] .vueperslides__bullets{pointer-events:none!important}[data-v-cadfc82d] .vueperslides__parallax-wrapper{height:110px!important}
|
|
@@ -12,6 +12,7 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
|
|
|
12
12
|
};
|
|
13
13
|
hasChanges: import("vue").ComputedRef<boolean>;
|
|
14
14
|
saveSilent: () => Promise<Omit<SavedTemplateDetails, "metadata" | "silent"> | undefined> | undefined;
|
|
15
|
+
stopLoading: () => void;
|
|
15
16
|
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
|
|
16
17
|
"dynamic-content:open": (detail: {
|
|
17
18
|
text: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "3.5.1-beta.
|
|
3
|
+
"version": "3.5.1-beta.94fc87e",
|
|
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",
|