@useinsider/guido 1.0.3-beta.4f1bcc0 → 1.0.3-beta.4f5545f
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 +0 -4
- package/dist/components/Guido.vue.js +9 -11
- 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 +17 -30
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
- package/dist/config/migrator/index.js +6 -7
- package/dist/enums/defaults.js +3 -4
- package/dist/enums/onboarding.js +1 -2
- package/dist/extensions/Blocks/Recommendation/block.js +3 -6
- package/dist/extensions/Blocks/Recommendation/control.js +40 -69
- package/dist/extensions/Blocks/Recommendation/extension.js +7 -42
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +22 -107
- package/dist/extensions/Blocks/Recommendation/template.js +200 -0
- package/dist/extensions/Blocks/common-control.js +43 -125
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +100 -307
- package/dist/package.json.js +1 -1
- package/dist/src/@types/generic.d.ts +0 -6
- package/dist/src/components/Guido.vue.d.ts +0 -1
- package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +1 -3
- package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +1 -3
- package/dist/src/enums/onboarding.d.ts +0 -1
- package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -1
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -6
- package/dist/src/extensions/Blocks/Recommendation/template.d.ts +6 -0
- package/dist/src/extensions/Blocks/common-control.d.ts +0 -21
- package/dist/src/stores/config.d.ts +0 -1
- package/dist/src/utils/dateUtil.d.ts +0 -21
- package/dist/static/styles/customEditorStyle.css.js +0 -5
- package/dist/utils/dateUtil.js +3 -24
- package/package.json +3 -3
- package/dist/config/migrator/recommendationMigrator.js +0 -293
- package/dist/enums/date.js +0 -6
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
- package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
- 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/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
- package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
- package/dist/src/enums/date.d.ts +0 -4
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
- 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
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
|
@@ -62,26 +62,5 @@ export declare abstract class CommonControl extends Control {
|
|
|
62
62
|
*/
|
|
63
63
|
_GuIconButton({ name, icon, className }: IconButtonProps): string;
|
|
64
64
|
_GuTwoColumns(children: string[]): string;
|
|
65
|
-
/**
|
|
66
|
-
* Creates an orderable (sortable) list control
|
|
67
|
-
* @param name - The control name for value binding
|
|
68
|
-
* @param items - Array of item keys/values
|
|
69
|
-
* @param itemLabels - Optional array of objects with key and label properties for display
|
|
70
|
-
* @returns HTML string for the orderable control
|
|
71
|
-
*/
|
|
72
|
-
_GuOrderable(name: string, items: {
|
|
73
|
-
key: string;
|
|
74
|
-
label: string;
|
|
75
|
-
content: string;
|
|
76
|
-
}[]): string;
|
|
77
|
-
_GuNestedControl(id: string, content: string): string;
|
|
78
|
-
_GuExpandable(label: string, content: string): string;
|
|
79
|
-
_GuColorPicker(name: string): string;
|
|
80
|
-
_GuFontFamily(name: string, placeholder?: string): string;
|
|
81
|
-
_GuRadioButtons(name: string, buttons: {
|
|
82
|
-
text: string;
|
|
83
|
-
value: string;
|
|
84
|
-
}[]): string;
|
|
85
|
-
_GuCheckbox(name: string, caption: string): string;
|
|
86
65
|
}
|
|
87
66
|
export {};
|
|
@@ -1,22 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Locale List:
|
|
3
|
-
* en-US -> MM/DD/YYYY
|
|
4
|
-
* en-GB -> DD/MM/YYYY
|
|
5
|
-
* tr-TR -> DD.MM.YYYY
|
|
6
|
-
*/
|
|
7
|
-
export declare const convertToDateObject: (date: string | number | Date | null | undefined) => Date;
|
|
8
|
-
export declare const locale: () => string;
|
|
9
|
-
export declare const localTz: string;
|
|
10
|
-
export declare const timezone: () => string;
|
|
11
|
-
export declare const hour12: () => boolean;
|
|
12
|
-
export declare const dateFormat: () => string;
|
|
13
|
-
/**
|
|
14
|
-
* @example 04/22/2024
|
|
15
|
-
* @param date - The date or timestamp input
|
|
16
|
-
* @param specificLocale - Locale to use for formatting
|
|
17
|
-
* @param tz - Timezone [window.l10n.timezone]
|
|
18
|
-
* @returns Formatted date string
|
|
19
|
-
*/
|
|
20
|
-
export declare const formatShortDate: (date: string | number | Date, specificLocale?: string, tz?: string) => string;
|
|
21
1
|
export declare const formatPatchDate: (timestamp: number) => string;
|
|
22
|
-
export declare const isAfterDate: (timestamp: number) => boolean;
|
|
@@ -18,11 +18,6 @@ const n = `.esd-x,
|
|
|
18
18
|
border-radius: 0;
|
|
19
19
|
box-shadow: none;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
.ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-actions,
|
|
23
|
-
.ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-panel {
|
|
24
|
-
display: none !important;
|
|
25
|
-
}
|
|
26
21
|
`;
|
|
27
22
|
export {
|
|
28
23
|
n as default
|
package/dist/utils/dateUtil.js
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length === 10 ? new Date(Number(t) * 1e3) : new Date(t) : typeof t == "number" ? t.toString().length === 10 ? new Date(t * 1e3) : new Date(t) : /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(), s = () => {
|
|
3
|
-
const t = window.l10n;
|
|
4
|
-
return (t == null ? void 0 : t.locale) === a ? r : (t == null ? void 0 : t.locale) || r;
|
|
5
|
-
}, u = new Intl.DateTimeFormat().resolvedOptions().timeZone, f = () => {
|
|
6
|
-
const t = window.l10n;
|
|
7
|
-
return (t == null ? void 0 : t.timezone) || u || c;
|
|
8
|
-
}, D = (t, e = s(), n = f()) => {
|
|
9
|
-
const o = {
|
|
10
|
-
year: "numeric",
|
|
11
|
-
month: "2-digit",
|
|
12
|
-
day: "2-digit",
|
|
13
|
-
timeZone: n
|
|
14
|
-
}, i = m(t);
|
|
15
|
-
return new Intl.DateTimeFormat(e, o).format(i);
|
|
16
|
-
}, T = (t) => {
|
|
1
|
+
const o = (t) => {
|
|
17
2
|
if (!t)
|
|
18
3
|
return "";
|
|
19
4
|
const e = new Date(t);
|
|
@@ -25,13 +10,7 @@ const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length ===
|
|
|
25
10
|
second: "2-digit",
|
|
26
11
|
hour12: !1
|
|
27
12
|
}).format(e);
|
|
28
|
-
}
|
|
13
|
+
};
|
|
29
14
|
export {
|
|
30
|
-
|
|
31
|
-
T as formatPatchDate,
|
|
32
|
-
D as formatShortDate,
|
|
33
|
-
h as isAfterDate,
|
|
34
|
-
u as localTz,
|
|
35
|
-
s as locale,
|
|
36
|
-
f as timezone
|
|
15
|
+
o as formatPatchDate
|
|
37
16
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "1.0.3-beta.
|
|
3
|
+
"version": "1.0.3-beta.4f5545f",
|
|
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",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"author": "",
|
|
32
32
|
"license": "ISC",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@stripoinc/ui-editor-extensions": "3.
|
|
34
|
+
"@stripoinc/ui-editor-extensions": "3.0.0",
|
|
35
35
|
"@useinsider/design-system-vue": "0.14.20",
|
|
36
36
|
"@vueuse/core": "11.3.0",
|
|
37
37
|
"lodash-es": "4.17.21",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
},
|
|
84
84
|
"guido": {
|
|
85
85
|
"stripo": {
|
|
86
|
-
"version": "2.
|
|
86
|
+
"version": "2.43.0"
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
var h = Object.defineProperty;
|
|
2
|
-
var T = (A, e, t) => e in A ? h(A, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : A[e] = t;
|
|
3
|
-
var m = (A, e, t) => T(A, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
-
import P, { prepareProductRows as S } from "../../extensions/Blocks/Recommendation/templates/migrationTemplate.js";
|
|
5
|
-
import { getDefaultProducts as q } from "../../extensions/Blocks/Recommendation/templates/templateUtils.js";
|
|
6
|
-
class w {
|
|
7
|
-
constructor() {
|
|
8
|
-
m(this, "parser");
|
|
9
|
-
this.parser = new DOMParser();
|
|
10
|
-
}
|
|
11
|
-
migrate(e) {
|
|
12
|
-
try {
|
|
13
|
-
const t = this.parser.parseFromString(e, "text/html"), s = t.querySelectorAll(
|
|
14
|
-
'td.ins-recommendation-v3-block-1, td.product-block[esd-handler-name*="EmailRecommendationV3"]'
|
|
15
|
-
);
|
|
16
|
-
return s.length === 0 ? e : (s.forEach((o) => {
|
|
17
|
-
const l = o.getAttribute("id"), r = this.extractBgColor(o), i = this.extractTitle(o), u = this.extractProductRows(o), c = P.replace("{-{-TITLE-}-}", i).replace("{-{-PRODUCT_ROWS-}-}", u), a = this.parser.parseFromString(
|
|
18
|
-
`<table id="tempDoc"><tbody><tr>${c}</tr></tbody></table>`,
|
|
19
|
-
"text/html"
|
|
20
|
-
).querySelector(".ins-recommendation-v3-block-v2");
|
|
21
|
-
a && o.parentNode && (l && a.setAttribute("id", l), r && a.setAttribute("bgcolor", r), o.parentNode.replaceChild(a, o));
|
|
22
|
-
}), t.documentElement.outerHTML);
|
|
23
|
-
} catch (t) {
|
|
24
|
-
return console.error("RecommendationMigrator failed:", t), e;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Extracts background color from old block
|
|
29
|
-
* @param block - The old recommendation block element
|
|
30
|
-
* @returns The background color value or empty string
|
|
31
|
-
*/
|
|
32
|
-
extractBgColor(e) {
|
|
33
|
-
const t = e.getAttribute("bgcolor");
|
|
34
|
-
if (t)
|
|
35
|
-
return t.trim();
|
|
36
|
-
const s = e.getAttribute("style");
|
|
37
|
-
if (s) {
|
|
38
|
-
const o = s.match(/background-color\s*:\s*([^;]+)/i);
|
|
39
|
-
if (o && o[1])
|
|
40
|
-
return o[1].trim();
|
|
41
|
-
}
|
|
42
|
-
return "";
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Extracts background color from product card wrapper element
|
|
46
|
-
* @param cardElement - The product card TD element
|
|
47
|
-
* @returns The background color value or empty string
|
|
48
|
-
*/
|
|
49
|
-
extractCardBgColor(e) {
|
|
50
|
-
const t = e.getAttribute("bgcolor");
|
|
51
|
-
if (t)
|
|
52
|
-
return t.trim();
|
|
53
|
-
const s = e.getAttribute("style");
|
|
54
|
-
if (s) {
|
|
55
|
-
const o = s.match(/background-color\s*:\s*([^;]+)/i);
|
|
56
|
-
if (o && o[1])
|
|
57
|
-
return o[1].trim();
|
|
58
|
-
}
|
|
59
|
-
return "";
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Extracts title from old block and converts to new structure
|
|
63
|
-
* @param block - The old recommendation block element
|
|
64
|
-
* @returns HTML string for the title block
|
|
65
|
-
*/
|
|
66
|
-
extractTitle(e) {
|
|
67
|
-
var a, g;
|
|
68
|
-
const t = e.querySelector(".ext-recommendation-title");
|
|
69
|
-
if (!t)
|
|
70
|
-
return this.buildTitleBlock({
|
|
71
|
-
text: "You May Also Like!",
|
|
72
|
-
isBold: !0,
|
|
73
|
-
isItalic: !1,
|
|
74
|
-
align: "center",
|
|
75
|
-
styles: "font-size: 28px; color: #333333;"
|
|
76
|
-
});
|
|
77
|
-
const s = t.querySelector("p");
|
|
78
|
-
if (!s) {
|
|
79
|
-
const p = ((a = t.textContent) == null ? void 0 : a.trim()) || "You May Also Like!", b = t.getAttribute("align") || "center";
|
|
80
|
-
return this.buildTitleBlock({
|
|
81
|
-
text: p,
|
|
82
|
-
isBold: !0,
|
|
83
|
-
isItalic: !1,
|
|
84
|
-
align: b,
|
|
85
|
-
styles: "font-size: 28px; color: #333333;"
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
const o = ((g = s.textContent) == null ? void 0 : g.trim()) || "You May Also Like!", l = t.getAttribute("align") || s.getAttribute("align") || "center", r = s.getAttribute("style") || "", i = /font-weight\s*:\s*bold/i.test(r) || !!s.querySelector("b, strong"), u = /font-style\s*:\s*italic/i.test(r) || !!s.querySelector("i, em"), c = this.removeStyleProperties(r, ["font-weight", "font-style"]), n = this.convertInlineToBlock(c);
|
|
89
|
-
return this.buildTitleBlock({
|
|
90
|
-
text: o,
|
|
91
|
-
isBold: i,
|
|
92
|
-
isItalic: u,
|
|
93
|
-
align: l,
|
|
94
|
-
styles: n
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Extracts product configuration from old block and generates new product rows
|
|
99
|
-
* @param block - The old recommendation block element
|
|
100
|
-
* @returns HTML string for product rows
|
|
101
|
-
*/
|
|
102
|
-
extractProductRows(e) {
|
|
103
|
-
const t = this.extractProductConfig(e);
|
|
104
|
-
if (!t)
|
|
105
|
-
return console.warn("[RecommendationMigrator] No product config found, using defaults"), this.generateProductRows(6, 3, {});
|
|
106
|
-
const { totalCount: s, productsPerRow: o } = t, l = this.extractProductStyles(e);
|
|
107
|
-
return this.generateProductRows(s, o, l);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Extracts Stripo padding/margin utility classes from a class string
|
|
111
|
-
* @param classString - Space-separated class string from element
|
|
112
|
-
* @returns Filtered Stripo utility classes as a space-separated string
|
|
113
|
-
*/
|
|
114
|
-
extractStripoClasses(e) {
|
|
115
|
-
return e ? e.split(/\s+/).filter((o) => /^es-(p\d+|m[-\d])/.test(o)).join(" ") : "";
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Extracts product configuration from old block
|
|
119
|
-
* @param block - The old recommendation block element
|
|
120
|
-
* @returns Object with totalCount and productsPerRow, or null if parsing fails
|
|
121
|
-
*/
|
|
122
|
-
extractProductConfig(e) {
|
|
123
|
-
const t = e.getAttribute("esd-dev-product-config");
|
|
124
|
-
if (!t)
|
|
125
|
-
return null;
|
|
126
|
-
try {
|
|
127
|
-
const s = this.unescapeJsonString(t), o = JSON.parse(s);
|
|
128
|
-
return {
|
|
129
|
-
totalCount: o.totalCount ?? 6,
|
|
130
|
-
productsPerRow: o.rowCount ?? 3
|
|
131
|
-
};
|
|
132
|
-
} catch (s) {
|
|
133
|
-
return console.error("[RecommendationMigrator] Failed to parse product config:", s), console.error(
|
|
134
|
-
"[RecommendationMigrator] Error details:",
|
|
135
|
-
s instanceof Error ? s.message : String(s)
|
|
136
|
-
), null;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Decodes HTML entities from JSON string
|
|
141
|
-
* @param text - The encoded string
|
|
142
|
-
* @returns Decoded string
|
|
143
|
-
*/
|
|
144
|
-
unescapeJsonString(e) {
|
|
145
|
-
return e.replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/'/g, "'").replace(/"/g, '"').replace(/\\\\"/g, "'");
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Generates product rows using prepareProductRows with default product data
|
|
149
|
-
* @param totalCount - Total number of products to display
|
|
150
|
-
* @param productsPerRow - Number of products in each row
|
|
151
|
-
* @param extractedStyles - Styles extracted from old product elements
|
|
152
|
-
* @returns HTML string for product rows with applied styles
|
|
153
|
-
*/
|
|
154
|
-
generateProductRows(e, t, s) {
|
|
155
|
-
const o = q(), l = [];
|
|
156
|
-
for (let i = 0; i < e; i++) {
|
|
157
|
-
const u = o[i % o.length];
|
|
158
|
-
l.push({ ...u });
|
|
159
|
-
}
|
|
160
|
-
let r = S(l, t);
|
|
161
|
-
return r = this.applyExtractedStyles(r, s), r;
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Extracts styles from old product elements
|
|
165
|
-
* @param block - The old recommendation block element
|
|
166
|
-
* @returns Object with extracted styles for each element type
|
|
167
|
-
*/
|
|
168
|
-
extractProductStyles(e) {
|
|
169
|
-
const t = {}, s = e.querySelector(".product-card");
|
|
170
|
-
if (!s)
|
|
171
|
-
return console.warn("[RecommendationMigrator] No product card found, using default styles"), t;
|
|
172
|
-
const o = this.extractCardBgColor(s);
|
|
173
|
-
o && (t.cardBgColor = o);
|
|
174
|
-
const l = s.querySelector(".ext-product-image");
|
|
175
|
-
if (l) {
|
|
176
|
-
const n = l.querySelector("img"), a = n == null ? void 0 : n.getAttribute("width"), g = l.getAttribute("style") || "", p = l.getAttribute("align") || "center", b = l.getAttribute("class") || "", d = this.extractStripoClasses(b);
|
|
177
|
-
t.imageWidth = a || "120", t.imageAlign = p, t.imageTdStyle = g, t.imageClasses = d;
|
|
178
|
-
}
|
|
179
|
-
const r = s.querySelector(".ext-product-name");
|
|
180
|
-
if (r) {
|
|
181
|
-
const n = r.querySelector("p"), a = (n == null ? void 0 : n.getAttribute("style")) || "", g = r.getAttribute("align") || "center", p = r.getAttribute("style") || "", b = r.getAttribute("class") || "", d = this.extractStripoClasses(b);
|
|
182
|
-
t.nameStyle = a, t.nameAlign = g, t.nameTdStyle = p, t.nameClasses = d;
|
|
183
|
-
}
|
|
184
|
-
const i = s.querySelector(".ext-product-price");
|
|
185
|
-
if (i) {
|
|
186
|
-
const n = i.querySelector("p"), a = (n == null ? void 0 : n.getAttribute("style")) || "", g = i.getAttribute("align") || "center", p = i.getAttribute("style") || "", b = i.getAttribute("class") || "", d = this.extractStripoClasses(b);
|
|
187
|
-
t.priceStyle = a, t.priceAlign = g, t.priceTdStyle = p, t.priceClasses = d;
|
|
188
|
-
}
|
|
189
|
-
const u = s.querySelector(".ext-product-original-price");
|
|
190
|
-
if (u) {
|
|
191
|
-
const n = u.querySelector("p"), a = (n == null ? void 0 : n.getAttribute("style")) || "", g = u.getAttribute("align") || "center", p = u.getAttribute("style") || "", b = u.getAttribute("class") || "", d = this.extractStripoClasses(b);
|
|
192
|
-
t.oldPriceStyle = a, t.oldPriceAlign = g, t.oldPriceTdStyle = p, t.oldPriceClasses = d;
|
|
193
|
-
}
|
|
194
|
-
const c = s.querySelector(".ext-product-button");
|
|
195
|
-
if (c) {
|
|
196
|
-
const n = c.querySelector(".es-button-border"), a = c.querySelector("a.es-button"), g = (n == null ? void 0 : n.getAttribute("style")) || "", p = (a == null ? void 0 : a.getAttribute("style")) || "", b = c.getAttribute("align") || "center", d = c.getAttribute("style") || "", f = c.getAttribute("class") || "", C = this.extractStripoClasses(f), y = ((c == null ? void 0 : c.textContent) || "").trim();
|
|
197
|
-
t.buttonBorderStyle = g, t.buttonLinkStyle = p, t.buttonAlign = b, t.buttonTdStyle = d, t.buttonClasses = C, t.buttonText = y;
|
|
198
|
-
}
|
|
199
|
-
return t;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Applies extracted styles to the generated HTML
|
|
203
|
-
* @param html - The generated HTML from prepareProductRows
|
|
204
|
-
* @param extractedStyles - Styles extracted from old product elements
|
|
205
|
-
* @returns HTML with applied styles
|
|
206
|
-
*/
|
|
207
|
-
applyExtractedStyles(e, t) {
|
|
208
|
-
if (!t || Object.keys(t).length === 0)
|
|
209
|
-
return e;
|
|
210
|
-
const s = this.parser.parseFromString(`<table>${e}</table>`, "text/html");
|
|
211
|
-
t.cardBgColor && s.querySelectorAll(".product-attribute-cell").forEach((r) => {
|
|
212
|
-
r.setAttribute("bgcolor", t.cardBgColor);
|
|
213
|
-
}), (t.imageWidth || t.imageAlign || t.imageTdStyle || t.imageClasses) && s.querySelectorAll(".product-image").forEach((r) => {
|
|
214
|
-
if (t.imageAlign && r.setAttribute("align", t.imageAlign), t.imageTdStyle && r.setAttribute("style", t.imageTdStyle), t.imageClasses) {
|
|
215
|
-
const c = `${r.getAttribute("class") || ""} ${t.imageClasses}`.trim();
|
|
216
|
-
r.setAttribute("class", c);
|
|
217
|
-
}
|
|
218
|
-
const i = r.querySelector("img");
|
|
219
|
-
i && t.imageWidth && i.setAttribute("width", t.imageWidth);
|
|
220
|
-
}), (t.nameStyle || t.nameAlign || t.nameTdStyle || t.nameClasses) && s.querySelectorAll(".product-name").forEach((r) => {
|
|
221
|
-
if (t.nameAlign && r.setAttribute("align", t.nameAlign), t.nameTdStyle && r.setAttribute("style", t.nameTdStyle), t.nameClasses) {
|
|
222
|
-
const c = `${r.getAttribute("class") || ""} ${t.nameClasses}`.trim();
|
|
223
|
-
r.setAttribute("class", c);
|
|
224
|
-
}
|
|
225
|
-
const i = r.querySelector("p");
|
|
226
|
-
i && t.nameStyle && i.setAttribute("style", t.nameStyle);
|
|
227
|
-
}), (t.priceStyle || t.priceAlign || t.priceTdStyle || t.priceClasses) && s.querySelectorAll(".product-price").forEach((r) => {
|
|
228
|
-
if (t.priceAlign && r.setAttribute("align", t.priceAlign), t.priceTdStyle && r.setAttribute("style", t.priceTdStyle), t.priceClasses) {
|
|
229
|
-
const c = `${r.getAttribute("class") || ""} ${t.priceClasses}`.trim();
|
|
230
|
-
r.setAttribute("class", c);
|
|
231
|
-
}
|
|
232
|
-
const i = r.querySelector("p");
|
|
233
|
-
i && t.priceStyle && i.setAttribute("style", t.priceStyle);
|
|
234
|
-
}), (t.oldPriceStyle || t.oldPriceAlign || t.oldPriceTdStyle || t.oldPriceClasses) && s.querySelectorAll(".product-old-price").forEach((r) => {
|
|
235
|
-
if (t.oldPriceAlign && r.setAttribute("align", t.oldPriceAlign), t.oldPriceTdStyle && r.setAttribute("style", t.oldPriceTdStyle), t.oldPriceClasses) {
|
|
236
|
-
const c = `${r.getAttribute("class") || ""} ${t.oldPriceClasses}`.trim();
|
|
237
|
-
r.setAttribute("class", c);
|
|
238
|
-
}
|
|
239
|
-
const i = r.querySelector("p");
|
|
240
|
-
i && t.oldPriceStyle && i.setAttribute("style", t.oldPriceStyle);
|
|
241
|
-
}), (t.buttonBorderStyle || t.buttonLinkStyle || t.buttonAlign || t.buttonTdStyle || t.buttonClasses) && s.querySelectorAll(".product-button").forEach((r) => {
|
|
242
|
-
if (t.buttonAlign && r.setAttribute("align", t.buttonAlign), t.buttonTdStyle && r.setAttribute("style", t.buttonTdStyle), t.buttonClasses) {
|
|
243
|
-
const n = `${r.getAttribute("class") || ""} ${t.buttonClasses}`.trim();
|
|
244
|
-
r.setAttribute("class", n);
|
|
245
|
-
}
|
|
246
|
-
const i = r.querySelector(".es-button-border");
|
|
247
|
-
i && t.buttonBorderStyle && i.setAttribute("style", t.buttonBorderStyle);
|
|
248
|
-
const u = r.querySelector("a.es-button");
|
|
249
|
-
u && (t.buttonLinkStyle && u.setAttribute("style", t.buttonLinkStyle), t.buttonText && (u.textContent = t.buttonText));
|
|
250
|
-
});
|
|
251
|
-
const o = s.querySelector("table");
|
|
252
|
-
return (o == null ? void 0 : o.innerHTML) || e;
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Builds title block with proper structure
|
|
256
|
-
*/
|
|
257
|
-
buildTitleBlock(e) {
|
|
258
|
-
let t = e.text;
|
|
259
|
-
e.isBold && e.isItalic ? t = `<strong path="1,0"><em path="1,0,0">${t}</em></strong>` : e.isBold ? t = `<strong path="1,0">${t}</strong>` : e.isItalic && (t = `<em path="1,0">${t}</em>`);
|
|
260
|
-
const s = e.align ? ` align="${e.align}"` : "", o = e.styles ? ` style="${e.styles}"` : "";
|
|
261
|
-
return `
|
|
262
|
-
<td class="esd-block-text es-p10t es-p10b es-p20l es-p20r"${s}>
|
|
263
|
-
<p path="1"${o}>
|
|
264
|
-
${t}
|
|
265
|
-
</p>
|
|
266
|
-
</td>
|
|
267
|
-
`;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Removes specified style properties from a style string
|
|
271
|
-
*/
|
|
272
|
-
removeStyleProperties(e, t) {
|
|
273
|
-
return e ? t.reduce((o, l) => {
|
|
274
|
-
const r = new RegExp(`${l}\\s*:\\s*[^;]*;?`, "gi");
|
|
275
|
-
return o.replace(r, "");
|
|
276
|
-
}, e).replace(/;\s*;/g, ";").replace(/^;|;$/g, "").trim() : "";
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Converts inline display to block display
|
|
280
|
-
*/
|
|
281
|
-
convertInlineToBlock(e) {
|
|
282
|
-
if (!e)
|
|
283
|
-
return "";
|
|
284
|
-
let t = e.replace(/display\s*:\s*inline/gi, "display: block");
|
|
285
|
-
return /display\s*:/i.test(t) || (t = t ? `${t}; display: block` : "display: block"), t.replace(/;\s*;/g, ";").replace(/^;|;$/g, "").replace(/"/g, "'").trim();
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
function k(A) {
|
|
289
|
-
return new w().migrate(A);
|
|
290
|
-
}
|
|
291
|
-
export {
|
|
292
|
-
k as migrateRecommendation
|
|
293
|
-
};
|
package/dist/enums/date.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
var m = Object.defineProperty;
|
|
2
|
-
var y = (n, o, i) => o in n ? m(n, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : n[o] = i;
|
|
3
|
-
var a = (n, o, i) => y(n, typeof o != "symbol" ? o + "" : o, i);
|
|
4
|
-
import { ModificationDescription as u } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
|
-
import { CommonControl as b } from "../common-control.js";
|
|
6
|
-
const h = "ui-elements-recommendation-card-composition", s = [
|
|
7
|
-
{ key: "productImage", label: "Product Image", visible: !0 },
|
|
8
|
-
{ key: "productName", label: "Product Name", visible: !0 },
|
|
9
|
-
{ key: "productPrice", label: "Product Price", visible: !0 },
|
|
10
|
-
{ key: "productOriginalPrice", label: "Product Original Price", visible: !0 },
|
|
11
|
-
{ key: "productButton", label: "Product Button", visible: !0 }
|
|
12
|
-
];
|
|
13
|
-
class g extends b {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
a(this, "currentComposition", []);
|
|
17
|
-
a(this, "currentVisibility", {});
|
|
18
|
-
}
|
|
19
|
-
getId() {
|
|
20
|
-
return h;
|
|
21
|
-
}
|
|
22
|
-
getTemplate() {
|
|
23
|
-
const i = s.map((e) => ({
|
|
24
|
-
key: e.key,
|
|
25
|
-
label: e.label,
|
|
26
|
-
content: `
|
|
27
|
-
<div style="display: flex; align-items: center; justify-content: space-between;
|
|
28
|
-
padding: 8px; gap: 8px;">
|
|
29
|
-
<span style="flex: 1;">${e.label}</span>
|
|
30
|
-
${this._GuToggle(`visibility_${e.key}`)}
|
|
31
|
-
</div>
|
|
32
|
-
`
|
|
33
|
-
}));
|
|
34
|
-
return `
|
|
35
|
-
<div class="container">
|
|
36
|
-
${this._GuLabel({ text: "Card Element Order & Visibility" })}
|
|
37
|
-
${this._GuOrderable("cardComposition", i)}
|
|
38
|
-
</div>
|
|
39
|
-
`;
|
|
40
|
-
}
|
|
41
|
-
onRender() {
|
|
42
|
-
this._initializeComposition(), this.api.onValueChanged("cardComposition", (i) => {
|
|
43
|
-
this.currentComposition = i, this._applyCompositionToBlock(i);
|
|
44
|
-
}), s.forEach((i) => {
|
|
45
|
-
this.api.onValueChanged(`visibility_${i.key}`, (e) => {
|
|
46
|
-
this.currentVisibility[i.key] = e, this._applyVisibilityToBlock();
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
onTemplateNodeUpdated(i) {
|
|
51
|
-
super.onTemplateNodeUpdated(i), this._initializeComposition();
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Initialize the composition order and visibility from the block or use defaults
|
|
55
|
-
*/
|
|
56
|
-
_initializeComposition() {
|
|
57
|
-
var p;
|
|
58
|
-
const i = (p = this.currentNode) == null ? void 0 : p.querySelector(".ins-recommendation-v3-block-v2");
|
|
59
|
-
let e = null, l = null;
|
|
60
|
-
if (i && "getAttribute" in i && (e = i.getAttribute("data-card-composition"), l = i.getAttribute("data-card-visibility")), e) {
|
|
61
|
-
const t = e.split(",").filter(Boolean), r = s.map((c) => c.key);
|
|
62
|
-
t.every((c) => r.includes(c)) && t.length > 0 ? this.currentComposition = t : this.currentComposition = r;
|
|
63
|
-
} else
|
|
64
|
-
this.currentComposition = s.map((t) => t.key);
|
|
65
|
-
if (l)
|
|
66
|
-
try {
|
|
67
|
-
const t = JSON.parse(l);
|
|
68
|
-
this.currentVisibility = t;
|
|
69
|
-
} catch {
|
|
70
|
-
this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
|
|
71
|
-
}
|
|
72
|
-
else
|
|
73
|
-
this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
|
|
74
|
-
const d = {
|
|
75
|
-
cardComposition: this.currentComposition
|
|
76
|
-
};
|
|
77
|
-
s.forEach((t) => {
|
|
78
|
-
d[`visibility_${t.key}`] = this.currentVisibility[t.key] ?? !0;
|
|
79
|
-
}), this.api.updateValues(d);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Apply the reordered composition to the block's HTML structure
|
|
83
|
-
*/
|
|
84
|
-
_applyCompositionToBlock(i) {
|
|
85
|
-
if (!this.currentNode)
|
|
86
|
-
return;
|
|
87
|
-
const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
|
|
88
|
-
e && this.api.getDocumentModifier().modifyHtml(e).setAttribute("data-card-composition", i.join(",")).apply(new u("Stored card composition order"));
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Apply visibility changes to the block's HTML structure
|
|
92
|
-
*/
|
|
93
|
-
_applyVisibilityToBlock() {
|
|
94
|
-
if (!this.currentNode)
|
|
95
|
-
return;
|
|
96
|
-
const i = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
|
|
97
|
-
i && this.api.getDocumentModifier().modifyHtml(i).setAttribute("data-card-visibility", JSON.stringify(this.currentVisibility)).apply(new u("Stored card visibility settings"));
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
export {
|
|
101
|
-
h as COMPOSITION_CONTROL_BLOCK_ID,
|
|
102
|
-
g as RecommendationCardCompositionControl
|
|
103
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var o = /* @__PURE__ */ ((c) => (c.BUTTON = "recommendation-block-button", c.NAME = "recommendation-block-name", c.PRICE = "recommendation-block-price", c.OLD_PRICE = "recommendation-block-old-price", c.IMAGE = "recommendation-block-image", c))(o || {}), r = /* @__PURE__ */ ((c) => (c.BUTTON_ALIGN = "recommendation-block-button-align-control", c.BUTTON_BORDER = "recommendation-block-button-border-control", c.BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control", c.BUTTON_COLOR = "recommendation-block-button-color-control", c.BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control", c.BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control", c.BUTTON_MARGINS = "recommendation-block-button-margins-control", c.BUTTON_PADDINGS = "recommendation-block-button-paddings-control", c.BUTTON_TEXT = "recommendation-block-button-text-control", c.BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control", c.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control", c.NAME_ALIGN = "recommendation-block-name-align-control", c.NAME_BACKGROUND = "recommendation-block-name-background-control", c.NAME_COLOR = "recommendation-block-name-color-control", c.NAME_FONT_FAMILY = "recommendation-block-name-font-family-control", c.NAME_PADDINGS = "recommendation-block-name-paddings-control", c.NAME_SIZE = "recommendation-block-name-size-control", c.NAME_STYLE = "recommendation-block-name-style-control", c.PRICE_ALIGN = "recommendation-block-price-align-control", c.PRICE_BACKGROUND = "recommendation-block-price-background-control", c.PRICE_COLOR = "recommendation-block-price-color-control", c.PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control", c.PRICE_PADDINGS = "recommendation-block-price-paddings-control", c.PRICE_SIZE = "recommendation-block-price-size-control", c.PRICE_STYLE = "recommendation-block-price-style-control", c.OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control", c.OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control", c.OLD_PRICE_COLOR = "recommendation-block-old-price-color-control", c.OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control", c.OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control", c.OLD_PRICE_SIZE = "recommendation-block-old-price-size-control", c.OLD_PRICE_STYLE = "recommendation-block-old-price-style-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c))(r || {});
|
|
2
|
-
export {
|
|
3
|
-
o as RecommendationBlockId,
|
|
4
|
-
r as RecommendationControlId
|
|
5
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ButtonAlignBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
|
|
3
|
-
class c extends t {
|
|
4
|
-
getId() {
|
|
5
|
-
return e.BUTTON_ALIGN;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(o) {
|
|
8
|
-
return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
c as ButtonAlignControl
|
|
13
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ButtonBorderBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
|
|
3
|
-
class s extends t {
|
|
4
|
-
getId() {
|
|
5
|
-
return e.BUTTON_BORDER;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(o) {
|
|
8
|
-
return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
s as ButtonBorderControl
|
|
13
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ButtonBorderRadiusBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
|
|
3
|
-
class i extends t {
|
|
4
|
-
getId() {
|
|
5
|
-
return e.BUTTON_BORDER_RADIUS;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(o) {
|
|
8
|
-
return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
i as ButtonBorderRadiusControl
|
|
13
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ButtonColorBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
|
|
3
|
-
class c extends t {
|
|
4
|
-
getId() {
|
|
5
|
-
return e.BUTTON_COLOR;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(o) {
|
|
8
|
-
return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
c as ButtonColorControl
|
|
13
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ButtonFitToContainerBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
|
|
3
|
-
class s extends o {
|
|
4
|
-
getId() {
|
|
5
|
-
return e.BUTTON_FIT_TO_CONTENT;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(t) {
|
|
8
|
-
return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
s as ButtonFitToContentControl
|
|
13
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ButtonFontFamilyBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
|
|
3
|
-
class s extends o {
|
|
4
|
-
getId() {
|
|
5
|
-
return e.BUTTON_FONT_FAMILY;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(t) {
|
|
8
|
-
return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
s as ButtonFontFamilyControl
|
|
13
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ButtonMarginsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
-
import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
|
|
3
|
-
class m extends o {
|
|
4
|
-
getId() {
|
|
5
|
-
return e.BUTTON_MARGINS;
|
|
6
|
-
}
|
|
7
|
-
getTargetNodes(t) {
|
|
8
|
-
return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
m as ButtonMarginsControl
|
|
13
|
-
};
|