@useinsider/guido 3.0.0-beta.799399f → 3.0.0-beta.7d3a300
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/organisms/header/EditorActions.vue.js +10 -8
- package/dist/components/organisms/header/EditorActions.vue2.js +41 -31
- package/dist/components/organisms/header/MigrationConfirmModal.vue.js +17 -0
- package/dist/components/organisms/header/MigrationConfirmModal.vue2.js +39 -0
- package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +1 -1
- package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +1 -1
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +1 -1
- package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +2 -2
- package/dist/config/compiler/unsubscribeCompilerRules.js +14 -14
- package/dist/config/compiler/utils/recommendationCompilerUtils.js +29 -18
- package/dist/config/i18n/en/labels.json.js +8 -3
- package/dist/config/i18n/en/tooltips.json.js +2 -1
- package/dist/config/migrator/itemsBlockMigrator.js +135 -131
- package/dist/config/migrator/recommendationMigrator.js +58 -54
- package/dist/enums/block.js +4 -0
- package/dist/extensions/Blocks/Items/block.js +30 -21
- package/dist/extensions/Blocks/Items/iconsRegistry.js +7 -6
- package/dist/extensions/Blocks/Items/items.css.js +48 -0
- package/dist/extensions/Blocks/Recommendation/block.js +26 -14
- package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +1 -1
- package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +1 -1
- package/dist/extensions/Blocks/Recommendation/constants/selectors.js +15 -12
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +693 -144
- package/dist/extensions/Blocks/Recommendation/controls/customAttribute/index.js +78 -0
- package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +27 -24
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +96 -88
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +83 -81
- package/dist/extensions/Blocks/Recommendation/extension.js +18 -16
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +5 -4
- package/dist/extensions/Blocks/Recommendation/recommendation.css.js +174 -2
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +124 -106
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +8 -7
- package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +63 -34
- package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +30 -33
- package/dist/extensions/Blocks/Recommendation/templates/index.js +8 -8
- package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +28 -13
- package/dist/extensions/Blocks/Recommendation/templates/list/template.js +25 -44
- package/dist/extensions/Blocks/Recommendation/templates/utils.js +62 -38
- package/dist/extensions/Blocks/Recommendation/utils/tagName.js +6 -6
- package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +16 -17
- package/dist/extensions/Blocks/common-control.js +12 -4
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +324 -218
- package/dist/package.json.js +1 -1
- package/dist/src/@types/extensions/block.d.ts +2 -0
- package/dist/src/App.vue.d.ts +3 -0
- package/dist/src/components/organisms/header/EditorActions.vue.d.ts +1 -1
- package/dist/src/components/organisms/header/MigrationConfirmModal.vue.d.ts +6 -0
- package/dist/src/components/wrappers/WpModal.vue.d.ts +2 -2
- package/dist/src/enums/block.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/block.d.ts +3 -1
- package/dist/src/extensions/Blocks/Recommendation/block.d.ts +4 -1
- package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +2 -1
- package/dist/src/extensions/Blocks/Recommendation/constants/controlIds.d.ts +8 -1
- package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +10 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +134 -44
- package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/index.d.ts +105 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +2 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +10 -4
- package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +37 -2
- package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +3 -3
- package/dist/src/extensions/Blocks/common-control.d.ts +5 -0
- package/dist/src/main.d.ts +1 -3
- package/dist/src/stores/template.d.ts +29 -0
- package/dist/src/utils/migrationBannerHtml.d.ts +2 -0
- package/dist/static/assets/info.svg.js +5 -0
- package/dist/static/styles/components/button.css.js +13 -7
- package/dist/static/styles/components/narrow-panel.css.js +52 -0
- package/dist/static/styles/variables.css.js +3 -0
- package/dist/stores/template.js +15 -0
- package/dist/utils/migrationBannerHtml.js +21 -0
- package/package.json +5 -4
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import l from "./EditorActions.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
var
|
|
3
|
+
import d from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
+
var u = function() {
|
|
5
5
|
var s, i, n, a;
|
|
6
|
-
var
|
|
7
|
-
return
|
|
6
|
+
var o = this, e = o._self._c, t = o._self._setupProxy;
|
|
7
|
+
return e("div", { staticClass: "d-f editor-actions" }, [t.isVersionHistoryButtonVisible ? 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 = (s = t.config) == null ? void 0 : s.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(), (a = (n = t.config) == null ? void 0 : n.features) != null && a.testMessage ? 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", { staticPosition: "bottom right" }), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.testEmailClick } }) : o._e(), t.editorStore.isPreviewModeOpen ? o._e() : 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(r) {
|
|
8
8
|
return t.handleSave(!1);
|
|
9
|
+
} } }), e(t.MigrationConfirmModal, { ref: "migrationModalRef", on: { confirm: function(r) {
|
|
10
|
+
return t.executeSave(!1);
|
|
9
11
|
} } })], 1);
|
|
10
|
-
},
|
|
12
|
+
}, p = [], c = /* @__PURE__ */ d(
|
|
11
13
|
l,
|
|
12
|
-
d,
|
|
13
14
|
u,
|
|
15
|
+
p,
|
|
14
16
|
!1,
|
|
15
17
|
null,
|
|
16
|
-
"
|
|
18
|
+
"acff76a8"
|
|
17
19
|
);
|
|
18
|
-
const v =
|
|
20
|
+
const v = c.exports;
|
|
19
21
|
export {
|
|
20
22
|
v as default
|
|
21
23
|
};
|
|
@@ -1,41 +1,51 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useConfig as
|
|
3
|
-
import { useExport as
|
|
4
|
-
import { useTestEmailClick as
|
|
5
|
-
import { useSave as
|
|
6
|
-
import { useTranslations as
|
|
7
|
-
import { useVersionHistoryApi as
|
|
8
|
-
import { useEditorStore as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
1
|
+
import { defineComponent as E, ref as n, computed as g } from "vue";
|
|
2
|
+
import { useConfig as w } from "../../../composables/useConfig.js";
|
|
3
|
+
import { useExport as C } from "../../../composables/useExport.js";
|
|
4
|
+
import { useTestEmailClick as M } from "../../../composables/useGuidoActions.js";
|
|
5
|
+
import { useSave as O } from "../../../composables/useSave.js";
|
|
6
|
+
import { useTranslations as A } from "../../../composables/useTranslations.js";
|
|
7
|
+
import { useVersionHistoryApi as k } from "../../../composables/useVersionHistoryApi.js";
|
|
8
|
+
import { useEditorStore as B } from "../../../stores/editor.js";
|
|
9
|
+
import { useTemplateStore as R } from "../../../stores/template.js";
|
|
10
|
+
import { getTooltipOptions as b } from "../../../utils/tooltipUtils.js";
|
|
11
|
+
import { InButtonV2 as D } from "@useinsider/design-system-vue";
|
|
12
|
+
import { storeToRefs as I } from "pinia";
|
|
13
|
+
import P from "./MigrationConfirmModal.vue.js";
|
|
14
|
+
const Z = /* @__PURE__ */ E({
|
|
12
15
|
__name: "EditorActions",
|
|
13
|
-
setup(
|
|
14
|
-
const { config:
|
|
15
|
-
if (
|
|
16
|
-
|
|
16
|
+
setup(j, { expose: H }) {
|
|
17
|
+
const { config: a } = w(), { exportHtml: m } = C(), { save: p } = O(), { openVersionHistory: l, closeVersionHistory: u } = k(), e = B(), c = R(), { hasMigrations: f } = I(c), r = A(), s = n(!1), i = n(!1), v = n(), S = M(), V = () => {
|
|
18
|
+
if (e.isVersionHistoryOpen) {
|
|
19
|
+
u();
|
|
17
20
|
return;
|
|
18
21
|
}
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
},
|
|
22
|
+
l();
|
|
23
|
+
}, T = async () => {
|
|
24
|
+
s.value = !0, await m(), s.value = !1;
|
|
25
|
+
}, _ = () => {
|
|
26
|
+
e.isSaveAsTemplateDrawerOpen = !0;
|
|
27
|
+
}, h = g(() => e.isVersionHistoryOpen ? r("newsletter.close-version-history") : r("newsletter.version-history")), x = g(
|
|
25
28
|
() => {
|
|
26
|
-
var
|
|
27
|
-
return ((
|
|
29
|
+
var o, t;
|
|
30
|
+
return ((t = (o = a.value) == null ? void 0 : o.features) == null ? void 0 : t.versionHistory) && !e.isPreviewModeOpen;
|
|
28
31
|
}
|
|
29
|
-
),
|
|
30
|
-
i.value = !0,
|
|
31
|
-
const
|
|
32
|
-
return i.value = !1, (
|
|
32
|
+
), d = async (o) => {
|
|
33
|
+
i.value = !0, e.loadingStatus = !0;
|
|
34
|
+
const t = await p(o);
|
|
35
|
+
return i.value = !1, (o || !t) && (e.loadingStatus = !1), t;
|
|
36
|
+
}, y = (o) => {
|
|
37
|
+
var t;
|
|
38
|
+
if (!o && f.value) {
|
|
39
|
+
(t = v.value) == null || t.open();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
return d(o);
|
|
33
43
|
};
|
|
34
|
-
return
|
|
35
|
-
handleSave:
|
|
36
|
-
}), { __sfc: !0, config:
|
|
44
|
+
return H({
|
|
45
|
+
handleSave: y
|
|
46
|
+
}), { __sfc: !0, config: a, exportHtml: m, save: p, openVersionHistory: l, closeVersionHistory: u, editorStore: e, templateStore: c, hasMigrations: f, trans: r, isExporting: s, isSaving: i, migrationModalRef: v, testEmailClick: S, handleVersionHistory: V, handleExport: T, handleSaveAs: _, versionHistoryTooltipText: h, isVersionHistoryButtonVisible: x, executeSave: d, handleSave: y, getTooltipOptions: b, InButtonV2: D, MigrationConfirmModal: P };
|
|
37
47
|
}
|
|
38
48
|
});
|
|
39
49
|
export {
|
|
40
|
-
|
|
50
|
+
Z as default
|
|
41
51
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import n from "./MigrationConfirmModal.vue2.js";
|
|
2
|
+
import t from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
|
+
var i = function() {
|
|
4
|
+
var e = this, r = e._self._c, o = e._self._setupProxy;
|
|
5
|
+
return o.isVisible ? r(o.WpModal, { attrs: { id: "migration-confirm-modal", size: "X-small", "close-on-outside-click": !1, "footer-button-options": o.footerButtonOptions, title: o.trans("email-editor.migration-confirm-save") }, on: { close: o.close, "primary-action": o.handleConfirm } }, [r("p", { domProps: { innerHTML: e._s(o.confirmMessage) } })]) : e._e();
|
|
6
|
+
}, s = [], a = /* @__PURE__ */ t(
|
|
7
|
+
n,
|
|
8
|
+
i,
|
|
9
|
+
s,
|
|
10
|
+
!1,
|
|
11
|
+
null,
|
|
12
|
+
null
|
|
13
|
+
);
|
|
14
|
+
const c = a.exports;
|
|
15
|
+
export {
|
|
16
|
+
c as default
|
|
17
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { defineComponent as g, ref as m, computed as s } from "vue";
|
|
2
|
+
import _ from "../../wrappers/WpModal.vue.js";
|
|
3
|
+
import { useTranslations as b } from "../../../composables/useTranslations.js";
|
|
4
|
+
import { useTemplateStore as M } from "../../../stores/template.js";
|
|
5
|
+
const k = /* @__PURE__ */ g({
|
|
6
|
+
__name: "MigrationConfirmModal",
|
|
7
|
+
emits: ["confirm"],
|
|
8
|
+
setup(y, { expose: c, emit: n }) {
|
|
9
|
+
const t = m(!1), o = M(), e = b(), l = m({
|
|
10
|
+
cancelOrBackButton: {
|
|
11
|
+
type: "secondary",
|
|
12
|
+
labelText: e("campaign-builder.cancel"),
|
|
13
|
+
styling: "ghost"
|
|
14
|
+
},
|
|
15
|
+
primaryButton: {
|
|
16
|
+
type: "primary",
|
|
17
|
+
labelText: e("email-editor.migration-confirm-save")
|
|
18
|
+
}
|
|
19
|
+
}), i = s(() => {
|
|
20
|
+
if (o.hasRecommendationMigrations && o.hasItemsMigrations) {
|
|
21
|
+
const d = e("email-recommendation.recommendation"), u = e("email-editor.items");
|
|
22
|
+
return `${d} ${e("campaign-builder.or")} ${u}`;
|
|
23
|
+
}
|
|
24
|
+
return o.hasItemsMigrations ? e("email-editor.items") : e("email-recommendation.recommendation");
|
|
25
|
+
}), f = s(() => e("email-editor.migration-confirm-message", {
|
|
26
|
+
blockNames: i.value
|
|
27
|
+
})), r = () => {
|
|
28
|
+
t.value = !0;
|
|
29
|
+
}, a = () => {
|
|
30
|
+
t.value = !1;
|
|
31
|
+
}, p = () => {
|
|
32
|
+
a(), n("confirm");
|
|
33
|
+
};
|
|
34
|
+
return c({ open: r }), { __sfc: !0, emit: n, isVisible: t, templateStore: o, trans: e, footerButtonOptions: l, blockNames: i, confirmMessage: f, open: r, close: a, handleConfirm: p, WpModal: _ };
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
export {
|
|
38
|
+
k as default
|
|
39
|
+
};
|
|
@@ -20,7 +20,7 @@ const y = /* @__PURE__ */ u({
|
|
|
20
20
|
}), c = a(() => [
|
|
21
21
|
{
|
|
22
22
|
classes: "guido-text-block-onboarding-settings",
|
|
23
|
-
right: "
|
|
23
|
+
right: "426px",
|
|
24
24
|
top: e.value.settings.top,
|
|
25
25
|
position: e.value.settings.position,
|
|
26
26
|
title: i("email-editor.onboarding-text-block-title"),
|
|
@@ -36,7 +36,7 @@ const y = /* @__PURE__ */ u({
|
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
classes: "guido-text-block-onboarding-dynamic",
|
|
39
|
-
right: "
|
|
39
|
+
right: "426px",
|
|
40
40
|
top: e.value.dynamic.top,
|
|
41
41
|
position: e.value.dynamic.position,
|
|
42
42
|
title: i("email-editor.onboarding-dynamic-content-title"),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { usePartner as N } from "../../composables/usePartner.js";
|
|
2
|
-
import { LINK_REGEXES as l, LINK_TYPES as
|
|
2
|
+
import { LINK_REGEXES as l, LINK_TYPES as S, INSIDER_ID as R, URLS as _ } from "../../enums/unsubscribe.js";
|
|
3
3
|
import { parsePageList as U } from "../../extensions/Blocks/Unsubscribe/utils/utils.js";
|
|
4
4
|
import { useConfigStore as B } from "../../stores/config.js";
|
|
5
5
|
import { useDynamicContentStore as y } from "../../stores/dynamic-content.js";
|
|
@@ -16,25 +16,25 @@ const D = [
|
|
|
16
16
|
let e = t;
|
|
17
17
|
const r = `/${i()}/email/${a}?user={{iid}}`;
|
|
18
18
|
return new DOMParser().parseFromString(e, "text/html").querySelectorAll(".unsubscribe-block-v2[data-unsubscribe-page-list]").forEach((p) => {
|
|
19
|
-
var
|
|
19
|
+
var g;
|
|
20
20
|
const m = p.getAttribute("data-unsubscribe-page-list");
|
|
21
21
|
if (!m)
|
|
22
22
|
return;
|
|
23
|
-
const
|
|
24
|
-
(o) =>
|
|
25
|
-
)) ?? [],
|
|
26
|
-
let s =
|
|
27
|
-
|
|
28
|
-
text:
|
|
29
|
-
value:
|
|
23
|
+
const I = U(m), d = ((g = u.templates) == null ? void 0 : g.filter(
|
|
24
|
+
(o) => I.includes(o.id)
|
|
25
|
+
)) ?? [], E = d.some((o) => o.type === S.UNSUBSCRIBE_LINK_TYPE), b = d.some((o) => o.type === S.PREFERENCES_LINK_TYPE), f = p.outerHTML;
|
|
26
|
+
let s = f;
|
|
27
|
+
(E || b) && n.selectedDynamicContentList.push({
|
|
28
|
+
text: R,
|
|
29
|
+
value: R,
|
|
30
30
|
fallback: ""
|
|
31
|
-
}), s = s.replace(
|
|
31
|
+
}), E && (s = s.replace(
|
|
32
32
|
l.GLOBAL_UNSUBSCRIBE_LINK_REGEX,
|
|
33
|
-
|
|
34
|
-
)),
|
|
33
|
+
_.UNSUBSCRIBE_URL + r
|
|
34
|
+
)), b && (s = s.replace(
|
|
35
35
|
l.PREFERENCES_UNSUBSCRIBE_LINK_REGEX,
|
|
36
|
-
|
|
37
|
-
)), s = s.replace(l.UNSUBSCRIBE_LINK_REGEX, ""), e = e.replace(
|
|
36
|
+
_.PREFERENCES_URL + r
|
|
37
|
+
)), s = s.replace(l.UNSUBSCRIBE_LINK_REGEX, ""), e = e.replace(f, s);
|
|
38
38
|
}), e;
|
|
39
39
|
},
|
|
40
40
|
priority: 60
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useRecommendation as
|
|
1
|
+
import { useRecommendation as $ } from "../../../composables/useRecommendation.js";
|
|
2
2
|
function b(e, u, r, o) {
|
|
3
3
|
const n = `{{${e}_${u}_${r}}}`, t = `{{${e}_${u}_currency}}`;
|
|
4
4
|
return o === "before" ? `${t} ${n}` : `${n} ${t}`;
|
|
@@ -64,58 +64,69 @@ function p(e, u, r, o, n) {
|
|
|
64
64
|
}
|
|
65
65
|
break;
|
|
66
66
|
}
|
|
67
|
+
default: {
|
|
68
|
+
const t = e.getAttribute("product-attr") ? e : e.querySelector("[product-attr]");
|
|
69
|
+
if (t) {
|
|
70
|
+
const c = t.getAttribute("product-attr"), s = t.querySelector("p");
|
|
71
|
+
if (s) {
|
|
72
|
+
const i = s.querySelector("strong") || s;
|
|
73
|
+
i.textContent = `{{${r}_${o}_${c}}}`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
67
78
|
}
|
|
68
79
|
}
|
|
69
|
-
function
|
|
80
|
+
function S(e, u, r) {
|
|
70
81
|
e.querySelectorAll(".recommendation-product-row").forEach((n, t) => {
|
|
71
82
|
n.querySelectorAll("[data-attribute-type]").forEach((s) => {
|
|
72
|
-
const i = s.getAttribute("data-attribute-type") || "",
|
|
73
|
-
|
|
74
|
-
p(
|
|
83
|
+
const i = s.getAttribute("data-attribute-type") || "", l = s.querySelectorAll(".attribute-cell");
|
|
84
|
+
l.length > 0 ? l.forEach((a) => {
|
|
85
|
+
p(a, i, u, t, r);
|
|
75
86
|
}) : p(s, i, u, t, r);
|
|
76
87
|
});
|
|
77
88
|
});
|
|
78
89
|
}
|
|
79
|
-
function
|
|
90
|
+
function _(e, u, r) {
|
|
80
91
|
const o = e.querySelectorAll(".recommendation-product-row");
|
|
81
92
|
if (!o.length)
|
|
82
93
|
return;
|
|
83
94
|
const [n] = o, t = n.querySelector("[data-attribute-type]"), c = t ? t.querySelectorAll(".attribute-cell").length : 1;
|
|
84
95
|
o.forEach((s, i) => {
|
|
85
|
-
s.querySelectorAll("[data-attribute-type]").forEach((
|
|
86
|
-
const f =
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
p(y, f, u,
|
|
96
|
+
s.querySelectorAll("[data-attribute-type]").forEach((a) => {
|
|
97
|
+
const f = a.getAttribute("data-attribute-type") || "";
|
|
98
|
+
a.querySelectorAll(".attribute-cell").forEach((y, A) => {
|
|
99
|
+
const m = i * c + A;
|
|
100
|
+
p(y, f, u, m, r);
|
|
90
101
|
});
|
|
91
102
|
});
|
|
92
103
|
});
|
|
93
104
|
}
|
|
94
105
|
function q(e, u, r) {
|
|
95
106
|
e.querySelectorAll(".ins-recommendation-product-container").forEach((n) => {
|
|
96
|
-
|
|
107
|
+
_(n, u, r);
|
|
97
108
|
});
|
|
98
109
|
}
|
|
99
110
|
function d(e, u) {
|
|
100
111
|
const r = e.getAttribute("data-layout") || "grid", o = e.getAttribute("currency-alignment") || "after";
|
|
101
|
-
r === "list" ?
|
|
112
|
+
r === "list" ? S(e, u, o) : q(e, u, o);
|
|
102
113
|
}
|
|
103
|
-
function
|
|
114
|
+
function g(e, u) {
|
|
104
115
|
const r = e.match(/<!DOCTYPE[^>]*>/i);
|
|
105
116
|
return (r ? `${r[0]}
|
|
106
117
|
` : "") + u.documentElement.outerHTML;
|
|
107
118
|
}
|
|
108
|
-
function
|
|
119
|
+
function E(e) {
|
|
109
120
|
const u = e.replaceAll("{%", "<!--{%").replaceAll("%}", "%}-->"), r = new DOMParser().parseFromString(u, "text/html"), o = r.querySelectorAll(".recommendation-block-v2");
|
|
110
121
|
if (!o.length)
|
|
111
122
|
return e;
|
|
112
|
-
const { buildCampaignUrl: n } =
|
|
123
|
+
const { buildCampaignUrl: n } = $();
|
|
113
124
|
return o.forEach((c) => {
|
|
114
125
|
const s = c.getAttribute("recommendation-id");
|
|
115
126
|
s && (n(s), d(c, s));
|
|
116
|
-
}),
|
|
127
|
+
}), g(u, r).replaceAll("<!--{%", "{%").replaceAll("%}-->", "%}").replaceAll("<!--{%", "{%").replaceAll("%}-->", "%}");
|
|
117
128
|
}
|
|
118
129
|
export {
|
|
119
130
|
b as formatPriceVariable,
|
|
120
|
-
|
|
131
|
+
E as prepareRecommendationBlocks
|
|
121
132
|
};
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e = "Items", o = {
|
|
2
2
|
"Global Styles & Layout": "Global Styles and Layout",
|
|
3
|
-
"Structures & Modules": "Structures and Modules"
|
|
3
|
+
"Structures & Modules": "Structures and Modules",
|
|
4
|
+
"Recommendation Block": "Recommendation",
|
|
5
|
+
Items: e,
|
|
6
|
+
"This block is switched from the Old Version to the New Version. We recommend you check the Recommendation block and test your message to ensure it works properly.": "This block is switched from the Old Version to the New Version. We recommend you check the Recommendation block and test your message to ensure it works properly.",
|
|
7
|
+
"This block is switched from the Old Version to the New Version. We recommend you check the Items block and test your message to ensure it works properly.": "This block is switched from the Old Version to the New Version. We recommend you check the Items block and test your message to ensure it works properly."
|
|
4
8
|
};
|
|
5
9
|
export {
|
|
6
|
-
|
|
10
|
+
e as Items,
|
|
11
|
+
o as default
|
|
7
12
|
};
|
|
@@ -75,7 +75,8 @@ const e = {
|
|
|
75
75
|
"The image with the invalid link cannot be saved to the image gallery": "Enter a valid image link to continue.",
|
|
76
76
|
"The data source link is unavailable. Please, make sure there is an access to the data source.": "Enter an accessible Data Source Link to contiue.",
|
|
77
77
|
"The file should not exceed the maximum resolution of {maxImageResolution}px.": "Upload files up to 1024x512 pixels to continue.",
|
|
78
|
-
"The option is disabled because was overridden in the Code editor": "The option is disabled because it was overridden in the Code Editor."
|
|
78
|
+
"The option is disabled because was overridden in the Code editor": "The option is disabled because it was overridden in the Code Editor.",
|
|
79
|
+
"Dropdown with a list of available data services, preliminarily created in the Data section → Services tab of the Account.": "Service for Data Collection lets you enter a form submission URL for the recipients to submit."
|
|
79
80
|
};
|
|
80
81
|
export {
|
|
81
82
|
e as default
|