@useinsider/guido 2.1.0-beta.3c29284 → 2.1.0-beta.67fc452
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/LeftSlot.vue.js +11 -11
- package/dist/components/organisms/header/LeftSlot.vue2.js +25 -20
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +13 -4
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -32
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +38 -32
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
- package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
- package/dist/extensions/Blocks/Recommendation/control.js +91 -61
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
- package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +39 -44
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
- package/dist/static/styles/components/wide-panel.css.js +0 -4
- package/dist/static/styles/customEditorStyle.css.js +13 -0
- package/package.json +1 -1
- package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
- package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
1
|
+
import o from "./LeftSlot.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
var
|
|
5
|
-
var e = this,
|
|
6
|
-
return
|
|
7
|
-
},
|
|
8
|
-
|
|
9
|
-
r,
|
|
3
|
+
import n from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
+
var a = function() {
|
|
5
|
+
var e = this, s = e._self._c, t = e._self._setupProxy;
|
|
6
|
+
return s("div", { staticClass: "d-f a-i-c" }, [s(t.InButtonV2, { attrs: { id: "guido__back-button", "left-icon": "line-arrow-left", styling: "ghost", type: "secondary", "disabled-status": t.isBackButtonDisabled, "label-text": t.backButtonLabel, "skeleton-sizing": { width: 150, height: 26 }, "skeleton-status": t.editorStore.loadingStatus }, on: { click: t.handleBackClick } })], 1);
|
|
7
|
+
}, i = [], r = /* @__PURE__ */ n(
|
|
8
|
+
o,
|
|
10
9
|
a,
|
|
10
|
+
i,
|
|
11
11
|
!1,
|
|
12
12
|
null,
|
|
13
|
-
"
|
|
13
|
+
"cd76c125"
|
|
14
14
|
);
|
|
15
|
-
const
|
|
15
|
+
const f = r.exports;
|
|
16
16
|
export {
|
|
17
|
-
|
|
17
|
+
f as default
|
|
18
18
|
};
|
|
@@ -1,31 +1,36 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useConfig as
|
|
3
|
-
import { useBack as
|
|
4
|
-
import { usePreviewMode as
|
|
5
|
-
import { useTranslations as
|
|
6
|
-
import { useVersionHistoryApi as
|
|
7
|
-
import { useEditorStore as
|
|
8
|
-
import { InButtonV2 as
|
|
9
|
-
|
|
1
|
+
import { defineComponent as l, computed as d, ref as p } from "vue";
|
|
2
|
+
import { useConfig as k } from "../../../composables/useConfig.js";
|
|
3
|
+
import { useBack as B } from "../../../composables/useGuidoActions.js";
|
|
4
|
+
import { usePreviewMode as b } from "../../../composables/usePreviewMode.js";
|
|
5
|
+
import { useTranslations as v } from "../../../composables/useTranslations.js";
|
|
6
|
+
import { useVersionHistoryApi as _ } from "../../../composables/useVersionHistoryApi.js";
|
|
7
|
+
import { useEditorStore as V } from "../../../stores/editor.js";
|
|
8
|
+
import { InButtonV2 as g } from "@useinsider/design-system-vue";
|
|
9
|
+
import { useDebounceFn as w } from "../../../node_modules/@vueuse/shared/index.js";
|
|
10
|
+
const D = /* @__PURE__ */ l({
|
|
10
11
|
__name: "LeftSlot",
|
|
11
|
-
setup(
|
|
12
|
-
const e =
|
|
13
|
-
var
|
|
14
|
-
return e.isVersionHistoryOpen || e.isPreviewModeOpen ? o("email-editor.back-to-editor") : (
|
|
15
|
-
})
|
|
16
|
-
return { __sfc: !0, editorStore: e, handleBack: r, closeVersionHistory: i, closePreviewMode: n, trans: o, config: t, backButtonLabel: c, handleBackClick: () => {
|
|
12
|
+
setup(y) {
|
|
13
|
+
const e = V(), i = B(), { closeVersionHistory: n } = _(), { closePreviewMode: s } = b(), o = v(), { config: t } = k(), f = d(() => {
|
|
14
|
+
var u, m;
|
|
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 = p(!1), c = () => {
|
|
17
17
|
if (e.isVersionHistoryOpen) {
|
|
18
|
-
|
|
18
|
+
n();
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
if (e.isPreviewModeOpen) {
|
|
22
|
-
|
|
22
|
+
s();
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
e.loadingStatus = !0,
|
|
26
|
-
},
|
|
25
|
+
e.loadingStatus = !0, i();
|
|
26
|
+
}, a = w(() => {
|
|
27
|
+
c(), r.value = !1;
|
|
28
|
+
}, 500);
|
|
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
|
+
r.value = !0, a();
|
|
31
|
+
}, InButtonV2: g };
|
|
27
32
|
}
|
|
28
33
|
});
|
|
29
34
|
export {
|
|
30
|
-
|
|
35
|
+
D as default
|
|
31
36
|
};
|
|
@@ -142,10 +142,19 @@ class S extends I {
|
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
_listenToFormUpdates() {
|
|
145
|
-
this.api.onValueChanged(i.PRODUCT_IMAGE, (t) =>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
this.api.onValueChanged(i.PRODUCT_IMAGE, (t) => {
|
|
146
|
+
this._onProductImageChange(t);
|
|
147
|
+
}), this.api.onValueChanged(i.PRODUCT_NAME, (t) => {
|
|
148
|
+
this._onProductNameChange(t);
|
|
149
|
+
}), this.api.onValueChanged(i.PRODUCT_QUANTITY, (t) => {
|
|
150
|
+
this._onProductQuantityChange(t);
|
|
151
|
+
}), this.api.onValueChanged(i.PRODUCT_PRICE, (t) => {
|
|
152
|
+
this._onProductPriceChange(t);
|
|
153
|
+
}), this.api.onValueChanged(i.PRODUCT_ORIGINAL_PRICE, (t) => {
|
|
154
|
+
this._onProductOriginalPriceChange(t);
|
|
155
|
+
}), this.api.onValueChanged(i.PRODUCT_BUTTON, (t) => {
|
|
156
|
+
this._onProductButtonChange(t);
|
|
157
|
+
});
|
|
149
158
|
}
|
|
150
159
|
_onProductImageChange(t) {
|
|
151
160
|
var o;
|
|
@@ -1,76 +1,82 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { ModificationDescription as
|
|
1
|
+
var C = Object.defineProperty;
|
|
2
|
+
var A = (n, r, e) => r in n ? C(n, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[r] = e;
|
|
3
|
+
var _ = (n, r, e) => A(n, typeof r != "symbol" ? r + "" : r, e);
|
|
4
|
+
import { ModificationDescription as L, UIElementType as m, UEAttr as g } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
5
|
import { CommonControl as h } from "../../../common-control.js";
|
|
6
|
-
import { ItemsBlockControlId as
|
|
7
|
-
import { productPairs as
|
|
8
|
-
import { useItemsBlockStore as
|
|
9
|
-
import { getItemsBlockConfig as
|
|
10
|
-
const
|
|
6
|
+
import { ItemsBlockControlId as l, ItemsBlockId as D } from "../../enums/controlEnums.js";
|
|
7
|
+
import { productPairs as I } from "../../enums/productEnums.js";
|
|
8
|
+
import { useItemsBlockStore as O } from "../../store/items-block.js";
|
|
9
|
+
import { getItemsBlockConfig as u, setItemsBlockConfig as f } from "../../utils/nodeConfigUtils.js";
|
|
10
|
+
const N = l.PRICE_FORMATTED_PRICE, c = {
|
|
11
11
|
FORMATTED_PRICE: "formattedPrice"
|
|
12
12
|
};
|
|
13
|
-
class
|
|
13
|
+
class y extends h {
|
|
14
14
|
constructor() {
|
|
15
15
|
super(...arguments);
|
|
16
|
-
|
|
16
|
+
_(this, "store", O());
|
|
17
17
|
}
|
|
18
18
|
getId() {
|
|
19
|
-
return
|
|
19
|
+
return N;
|
|
20
20
|
}
|
|
21
21
|
getTemplate() {
|
|
22
22
|
return `
|
|
23
|
-
<div class="container ${
|
|
23
|
+
<div class="container ${l.PRICE_FORMATTED_PRICE}">
|
|
24
24
|
${this._getFormattedPrice()}
|
|
25
25
|
</div>
|
|
26
26
|
`;
|
|
27
27
|
}
|
|
28
28
|
onRender() {
|
|
29
|
-
this.api.updateValues({ [
|
|
29
|
+
this.api.updateValues({ [c.FORMATTED_PRICE]: this.store.formattedPrice }), this.api.onValueChanged(c.FORMATTED_PRICE, (e) => {
|
|
30
30
|
this._onFormattedPriceChange(e);
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
onTemplateNodeUpdated(e) {
|
|
34
34
|
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
|
|
35
35
|
() => {
|
|
36
|
-
const
|
|
37
|
-
|
|
36
|
+
const o = u(this.currentNode);
|
|
37
|
+
o && this.store.setFormattedPrice(o.priceFormatted ?? !0);
|
|
38
38
|
},
|
|
39
39
|
() => {
|
|
40
|
-
this.api.updateValues({ [
|
|
40
|
+
this.api.updateValues({ [c.FORMATTED_PRICE]: this.store.formattedPrice });
|
|
41
41
|
}
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
44
|
_onFormattedPriceChange(e) {
|
|
45
|
-
if (console.debug("Formatted price changed to: ", e), this.store.setFormattedPrice(e),
|
|
45
|
+
if (console.debug("Formatted price changed to: ", e), this.store.setFormattedPrice(e), f(this.currentNode, this.api, { priceFormatted: e }), !this.currentNode)
|
|
46
46
|
return;
|
|
47
|
-
const { itemsType:
|
|
47
|
+
const { itemsType: o, singlePrice: i } = this.store, t = I.PAIRS_FOR_EXTENSION.price[o], s = I.PAIRS_FOR_EXTENSION.originalPrice[o], [E, R] = e ? [
|
|
48
|
+
i ? t.DEFAULT_SINGLE_PRICE : t.DEFAULT_PRICE,
|
|
49
|
+
i ? t.DEFAULT_SINGLE_PRICE_FORMATTED : t.DEFAULT_PRICE_FORMATTED
|
|
50
|
+
] : [
|
|
51
|
+
i ? t.DEFAULT_SINGLE_PRICE_FORMATTED : t.DEFAULT_PRICE_FORMATTED,
|
|
52
|
+
i ? t.DEFAULT_SINGLE_PRICE : t.DEFAULT_PRICE
|
|
53
|
+
], d = i ? s.DEFAULT_SINGLE_PRICE : s.DEFAULT_PRICE, P = i ? s.DEFAULT_SINGLE_PRICE_FORMATTED : s.DEFAULT_PRICE_FORMATTED, [p, F] = e ? [d, P] : [P, d];
|
|
48
54
|
this._updatePriceBlock(
|
|
49
55
|
this.currentNode,
|
|
50
|
-
|
|
51
|
-
|
|
56
|
+
E,
|
|
57
|
+
R,
|
|
52
58
|
"price"
|
|
53
59
|
);
|
|
54
|
-
const
|
|
55
|
-
|
|
60
|
+
const a = this.currentNode.closest(".items-block"), T = a == null ? void 0 : a.querySelector(`[esd-extension-block-id="${D.ORIGINAL_PRICE}"]`);
|
|
61
|
+
T && this._updatePriceBlock(T, p, F, "original price");
|
|
56
62
|
}
|
|
57
|
-
_updatePriceBlock(e,
|
|
58
|
-
const
|
|
59
|
-
this.api.getDocumentModifier().modifyHtml(e).setInnerHtml(
|
|
63
|
+
_updatePriceBlock(e, o, i, t) {
|
|
64
|
+
const s = e.getInnerHTML().replace(o, i), E = `Updated ${t} to ${this.store.formattedPrice ? "formatted" : "unformatted"}`;
|
|
65
|
+
this.api.getDocumentModifier().modifyHtml(e).setInnerHtml(s).apply(new L(E));
|
|
60
66
|
}
|
|
61
67
|
_getFormattedPrice() {
|
|
62
68
|
return `
|
|
63
69
|
<div class="display-flex align-items-center justify-content-between">
|
|
64
|
-
<${
|
|
65
|
-
${
|
|
70
|
+
<${m.LABEL}
|
|
71
|
+
${g.LABEL.text}="${this.api.translate("Formatted Price (e.g. $9.90)")}"
|
|
66
72
|
>
|
|
67
|
-
</${
|
|
68
|
-
${this._GuToggle(
|
|
73
|
+
</${m.LABEL}>
|
|
74
|
+
${this._GuToggle(c.FORMATTED_PRICE)}
|
|
69
75
|
</div>
|
|
70
76
|
`;
|
|
71
77
|
}
|
|
72
78
|
}
|
|
73
79
|
export {
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
N as CONTROL_BLOCK_ID,
|
|
81
|
+
y as PriceFormattedPriceControl
|
|
76
82
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
var x = Object.defineProperty;
|
|
2
|
-
var H = (
|
|
3
|
-
var O = (
|
|
4
|
-
import { UEAttr as C, ModificationDescription as
|
|
2
|
+
var H = (E, h, e) => h in E ? x(E, h, { enumerable: !0, configurable: !0, writable: !0, value: e }) : E[h] = e;
|
|
3
|
+
var O = (E, h, e) => H(E, typeof h != "symbol" ? h + "" : h, e);
|
|
4
|
+
import { UEAttr as C, ModificationDescription as u } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
5
|
import { CommonControl as k } from "../../common-control.js";
|
|
6
6
|
import { ItemsBlockId as m } from "../enums/controlEnums.js";
|
|
7
|
-
import { productPairs as
|
|
7
|
+
import { productPairs as _, templateFirstLine as b } from "../enums/productEnums.js";
|
|
8
8
|
import { ItemTypeOptions as R, OrientationOptions as U, ItemInCartOptions as N, SETTINGS_ENUMS as S, DefaultConfigValues as P } from "../enums/settingsEnums.js";
|
|
9
9
|
import F from "../layouts/horizontal.html.js";
|
|
10
10
|
import $ from "../layouts/vertical.html.js";
|
|
@@ -168,23 +168,23 @@ class J extends k {
|
|
|
168
168
|
currencySymbol: r,
|
|
169
169
|
currencyLocation: n,
|
|
170
170
|
formattedPrice: o
|
|
171
|
-
})).apply(new
|
|
171
|
+
})).apply(new u("Updated template"));
|
|
172
172
|
}
|
|
173
173
|
_getTemplateData() {
|
|
174
174
|
const { itemsType: e, itemIds: t, formattedPrice: i } = this.store, r = N[e].findIndex((o) => o.value === t), n = r > -1 ? r : 0;
|
|
175
175
|
return {
|
|
176
|
-
imageSrc:
|
|
177
|
-
name:
|
|
178
|
-
price: i ?
|
|
179
|
-
originalPrice: i ?
|
|
180
|
-
quantity:
|
|
181
|
-
button:
|
|
176
|
+
imageSrc: _.PAIRS_FOR_EXTENSION.imageSrc[e].DEFAULT[n],
|
|
177
|
+
name: _.PAIRS_FOR_EXTENSION.name[e].DEFAULT[n],
|
|
178
|
+
price: i ? _.PAIRS_FOR_EXTENSION.price[e].DEFAULT_PRICE_FORMATTED : _.PAIRS_FOR_EXTENSION.price[e].DEFAULT_PRICE,
|
|
179
|
+
originalPrice: i ? _.PAIRS_FOR_EXTENSION.originalPrice[e].DEFAULT_PRICE_FORMATTED : _.PAIRS_FOR_EXTENSION.originalPrice[e].DEFAULT_PRICE,
|
|
180
|
+
quantity: _.PAIRS_FOR_EXTENSION.quantity[e].DEFAULT,
|
|
181
|
+
button: _.PAIRS_FOR_EXTENSION.button[e].DEFAULT_LABEL
|
|
182
182
|
};
|
|
183
183
|
}
|
|
184
184
|
_updateImageSrc(e) {
|
|
185
185
|
var i;
|
|
186
186
|
const t = (i = this.currentNode) == null ? void 0 : i.querySelector(`[esd-extension-block-id="${m.IMAGE}"] img`);
|
|
187
|
-
t && this.api.getDocumentModifier().modifyHtml(t).setAttribute("src", e).apply(new
|
|
187
|
+
t && this.api.getDocumentModifier().modifyHtml(t).setAttribute("src", e).apply(new u("Updated image src"));
|
|
188
188
|
}
|
|
189
189
|
_updateName(e) {
|
|
190
190
|
var n;
|
|
@@ -193,22 +193,22 @@ class J extends k {
|
|
|
193
193
|
return;
|
|
194
194
|
const i = t.getInnerText().trim();
|
|
195
195
|
let r = t.getInnerHTML();
|
|
196
|
-
r = r.replace(i, e), this.api.getDocumentModifier().modifyHtml(t).setInnerHtml(r).apply(new
|
|
196
|
+
r = r.replace(i, e), this.api.getDocumentModifier().modifyHtml(t).setInnerHtml(r).apply(new u("Updated name"));
|
|
197
197
|
}
|
|
198
198
|
_updatePrice(e) {
|
|
199
|
-
var
|
|
200
|
-
const t = (
|
|
199
|
+
var I;
|
|
200
|
+
const t = (I = this.currentNode) == null ? void 0 : I.querySelector(`[esd-extension-block-id="${m.PRICE}"]`);
|
|
201
201
|
if (!t)
|
|
202
202
|
return;
|
|
203
203
|
const i = this._getParagraphFromBlock(t);
|
|
204
204
|
if (!i)
|
|
205
205
|
return;
|
|
206
|
-
const r = i.getInnerHTML() || "", n = i.getInnerText() || "", { currencySymbol: o, currencyLocation: l } = this.store, c = (o == null ? void 0 : o.trim()) || "", s = this._removeCurrencySymbol(n, c),
|
|
207
|
-
this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(
|
|
206
|
+
const r = i.getInnerHTML() || "", n = i.getInnerText() || "", { currencySymbol: o, currencyLocation: l } = this.store, c = (o == null ? void 0 : o.trim()) || "", s = this._removeCurrencySymbol(n, c), T = this._replacePriceNumber(s, e), p = this._buildPriceContent(T, c, l), d = r.replace(n, p);
|
|
207
|
+
this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(d).apply(new u("Updated price"));
|
|
208
208
|
}
|
|
209
209
|
_updateOriginalPrice(e) {
|
|
210
|
-
var
|
|
211
|
-
const t = (
|
|
210
|
+
var g;
|
|
211
|
+
const t = (g = this.currentNode) == null ? void 0 : g.querySelector(
|
|
212
212
|
`[esd-extension-block-id="${m.ORIGINAL_PRICE}"]`
|
|
213
213
|
);
|
|
214
214
|
if (!t)
|
|
@@ -219,8 +219,8 @@ class J extends k {
|
|
|
219
219
|
const r = i.querySelector("s");
|
|
220
220
|
if (!r)
|
|
221
221
|
return;
|
|
222
|
-
const n = r.getInnerHTML() || "", o = r.getInnerText() || "", { currencySymbol: l, currencyLocation: c } = this.store, s = (l == null ? void 0 : l.trim()) || "",
|
|
223
|
-
this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(
|
|
222
|
+
const n = r.getInnerHTML() || "", o = r.getInnerText() || "", { currencySymbol: l, currencyLocation: c } = this.store, s = (l == null ? void 0 : l.trim()) || "", T = this._removeCurrencySymbol(o, s), p = this._replacePriceNumber(T, e), d = this._buildPriceContent(p, s, c), y = `<s>${n.replace(o, d)}</s>`;
|
|
223
|
+
this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(y).apply(new u("Updated original price"));
|
|
224
224
|
}
|
|
225
225
|
_updateQuantity(e) {
|
|
226
226
|
var d;
|
|
@@ -232,22 +232,28 @@ class J extends k {
|
|
|
232
232
|
return;
|
|
233
233
|
const c = l.getInnerText().trim();
|
|
234
234
|
let s = l.getInnerHTML();
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
235
|
+
function T(I, y, g) {
|
|
236
|
+
return I.replace(
|
|
237
|
+
new RegExp(`(>\\s*)${y}(\\s*<)`, "g"),
|
|
238
|
+
`$1${g}$2`
|
|
239
|
+
);
|
|
240
|
+
}
|
|
241
|
+
s = T(s, c, e);
|
|
242
|
+
const p = this.api.getDocumentModifier();
|
|
243
|
+
p.modifyHtml(l).setInnerHtml(s), p.modifyHtml(o).setStyle("display", n ? "table-cell" : "none"), p.apply(new u("Updated quantity"));
|
|
238
244
|
}
|
|
239
245
|
_reOrderTemplate() {
|
|
240
|
-
var
|
|
241
|
-
const e = (
|
|
246
|
+
var T, p, d, I, y, g;
|
|
247
|
+
const e = (T = this.currentNode) == null ? void 0 : T.querySelector(`[esd-extension-block-id="${m.IMAGE}"]`), t = (p = this.currentNode) == null ? void 0 : p.querySelector(`[esd-extension-block-id="${m.NAME}"]`), i = (d = this.currentNode) == null ? void 0 : d.querySelector(`[esd-extension-block-id="${m.PRICE}"]`), r = (I = this.currentNode) == null ? void 0 : I.querySelector(
|
|
242
248
|
`[esd-extension-block-id="${m.ORIGINAL_PRICE}"]`
|
|
243
|
-
), n = (
|
|
249
|
+
), n = (y = this.currentNode) == null ? void 0 : y.querySelector(`[esd-extension-block-id="${m.QUANTITY}"]`), o = (g = this.currentNode) == null ? void 0 : g.querySelector(`[esd-extension-block-id="${m.BUTTON}"]`);
|
|
244
250
|
if (!e || !t || !i || !r || !n || !o)
|
|
245
251
|
return;
|
|
246
252
|
const { orientation: l } = this.store, c = l === S.ORIENTATION.VERTICAL;
|
|
247
253
|
let s = c ? $ : F;
|
|
248
|
-
this.api.getDocumentModifier().modifyHtml(e.querySelector("img")).setAttribute("width", P.productImageWidth).setAttribute("height", P.productImageWidth).apply(new
|
|
254
|
+
this.api.getDocumentModifier().modifyHtml(e.querySelector("img")).setAttribute("width", P.productImageWidth).setAttribute("height", P.productImageWidth).apply(new u("Updated image width")), setTimeout(() => {
|
|
249
255
|
const M = L(i.getOuterHTML()), D = L(r.getOuterHTML());
|
|
250
|
-
s = s.replace("{-{-TEMPLATE_FIRST_LINE-}-}", c ? b : "").replace("{-{-PRODUCT_IMAGE-}-}", e.getOuterHTML()).replace("{-{-PRODUCT_NAME-}-}", t.getOuterHTML()).replaceAll("{-{-PRODUCT_PRICE-}-}", M).replaceAll("{-{-PRODUCT_ORIGINAL_PRICE-}-}", D).replace("{-{-PRODUCT_QUANTITY-}-}", n.getOuterHTML()).replace("{-{-PRODUCT_BUTTON-}-}", o.getOuterHTML()), s = s.trim().replace(b, "").slice(0, -5), this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(s).apply(new
|
|
256
|
+
s = s.replace("{-{-TEMPLATE_FIRST_LINE-}-}", c ? b : "").replace("{-{-PRODUCT_IMAGE-}-}", e.getOuterHTML()).replace("{-{-PRODUCT_NAME-}-}", t.getOuterHTML()).replaceAll("{-{-PRODUCT_PRICE-}-}", M).replaceAll("{-{-PRODUCT_ORIGINAL_PRICE-}-}", D).replace("{-{-PRODUCT_QUANTITY-}-}", n.getOuterHTML()).replace("{-{-PRODUCT_BUTTON-}-}", o.getOuterHTML()), s = s.trim().replace(b, "").slice(0, -5), this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(s).apply(new u("Reordered template"));
|
|
251
257
|
}, 50);
|
|
252
258
|
}
|
|
253
259
|
_updateDataTypeAttributes(e) {
|
|
@@ -257,7 +263,7 @@ class J extends k {
|
|
|
257
263
|
t && i.modifyHtml(t).setAttribute("data-type", e), this.currentNode.querySelectorAll("[data-type]").forEach((n) => {
|
|
258
264
|
const o = n;
|
|
259
265
|
i.modifyHtml(o).setAttribute("data-type", e);
|
|
260
|
-
}), i.apply(new
|
|
266
|
+
}), i.apply(new u("Updated data-type attribute"));
|
|
261
267
|
}
|
|
262
268
|
_updateDataNumberAttributes(e) {
|
|
263
269
|
if (!this.currentNode)
|
|
@@ -277,7 +283,7 @@ class J extends k {
|
|
|
277
283
|
n && o.modifyHtml(n).setAttribute("data-number", r), this.currentNode.querySelectorAll("[data-number]").forEach((c) => {
|
|
278
284
|
const s = c;
|
|
279
285
|
o.modifyHtml(s).setAttribute("data-number", r);
|
|
280
|
-
}), o.apply(new
|
|
286
|
+
}), o.apply(new u("Updated data-number attribute"));
|
|
281
287
|
}
|
|
282
288
|
_reFillTemplate() {
|
|
283
289
|
const e = this._getTemplateData();
|
|
@@ -294,7 +300,7 @@ class J extends k {
|
|
|
294
300
|
if (!t)
|
|
295
301
|
return;
|
|
296
302
|
const i = this.store.orientation === S.ORIENTATION.HORIZONTAL, r = this.store.nameTrimming;
|
|
297
|
-
this.api.getDocumentModifier().modifyHtml(t).setStyle("overflow", "hidden").setStyle("white-space", r ? "nowrap" : "normal").setStyle("text-overflow", r ? "ellipsis" : "unset").setStyle("max-width", i ? "130px" : "520px").setStyle("width", i ? "130px" : "520px").apply(new
|
|
303
|
+
this.api.getDocumentModifier().modifyHtml(t).setStyle("overflow", "hidden").setStyle("white-space", r ? "nowrap" : "normal").setStyle("text-overflow", r ? "ellipsis" : "unset").setStyle("max-width", i ? "130px" : "520px").setStyle("width", i ? "130px" : "520px").apply(new u("Recalculated trimming after orientation change"));
|
|
298
304
|
}
|
|
299
305
|
_getParagraphFromBlock(e) {
|
|
300
306
|
return e.querySelector("p");
|