@useinsider/guido 2.1.0-beta.f30d59a → 2.1.0-beta.fa3bd95
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/extensions/recommendation/FilterSelectionDrawer.vue2.js +15 -14
- package/dist/composables/useHtmlValidator.js +114 -104
- package/dist/composables/useRecommendation.js +54 -21
- package/dist/config/compiler/recommendationCompilerRules.js +45 -39
- package/dist/config/compiler/utils/recommendationCompilerUtils.js +121 -0
- package/dist/config/migrator/itemsBlockMigrator.js +101 -97
- package/dist/config/migrator/recommendationMigrator.js +2 -2
- package/dist/enums/extensions/recommendationBlock.js +1 -1
- package/dist/enums/recommendation.js +16 -15
- package/dist/extensions/Blocks/Recommendation/block.js +133 -9
- package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
- package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
- package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +66 -0
- package/dist/extensions/Blocks/Recommendation/constants/layout.js +22 -0
- package/dist/extensions/Blocks/Recommendation/constants/selectors.js +21 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
- package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
- package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +92 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +209 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +250 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +160 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +307 -0
- package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +21 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
- package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
- package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
- package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +254 -207
- package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +228 -0
- package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
- package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +66 -0
- package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
- package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +169 -0
- package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
- package/dist/extensions/Blocks/Recommendation/templates/utils.js +134 -0
- package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
- package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
- package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
- package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
- package/dist/extensions/Blocks/controlFactories.js +125 -93
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +242 -186
- package/dist/services/recommendationApi.js +11 -8
- package/dist/services/templateLibraryApi.js +16 -13
- package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
- package/dist/src/composables/useRecommendation.d.ts +1 -0
- package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
- package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
- package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
- package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +41 -0
- package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +35 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
- package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
- package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
- package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +79 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +60 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +221 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +29 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +83 -0
- package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
- package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
- package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +138 -468
- package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
- package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +41 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +66 -0
- package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +166 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
- package/dist/static/styles/customEditorStyle.css.js +35 -11
- package/dist/utils/pairProductVariables.js +57 -56
- package/dist/utils/templatePreparation.js +15 -14
- package/package.json +1 -1
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
- package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
- package/dist/extensions/Blocks/Recommendation/control.js +0 -336
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
- package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { ModificationDescription as a } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as c } from "../../../common-control.js";
|
|
3
|
+
import { RecommendationBlockId as l } from "../../constants/blockIds.js";
|
|
4
|
+
import { RecommendationControlId as m } from "../../constants/controlIds.js";
|
|
5
|
+
import { CONTAINER_SELECTOR as u } from "../../constants/selectors.js";
|
|
6
|
+
const i = {
|
|
7
|
+
TEXT_TRIM_ENABLED: "textTrimEnabled"
|
|
8
|
+
}, o = "text-trim-enabled", d = `.${o}`, T = `.${o} p`, f = `.${o} { max-width: 0; }`, p = `.${o} p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0; display: block; }`;
|
|
9
|
+
class g extends c {
|
|
10
|
+
getId() {
|
|
11
|
+
return m.NAME_TEXT_TRIM;
|
|
12
|
+
}
|
|
13
|
+
getTemplate() {
|
|
14
|
+
return `
|
|
15
|
+
<div class="name-text-trim-control-container">
|
|
16
|
+
${this._GuTwoColumns([
|
|
17
|
+
this._GuLabel({ text: "Trim Long Text" }),
|
|
18
|
+
this._GuToggle(i.TEXT_TRIM_ENABLED)
|
|
19
|
+
])}
|
|
20
|
+
</div>
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
onRender() {
|
|
24
|
+
this._setFormValues(), this._listenToFormUpdates();
|
|
25
|
+
}
|
|
26
|
+
onTemplateNodeUpdated(e) {
|
|
27
|
+
super.onTemplateNodeUpdated(e), this._setFormValues();
|
|
28
|
+
}
|
|
29
|
+
_setFormValues() {
|
|
30
|
+
const e = this._getCurrentTrimState();
|
|
31
|
+
this.api.updateValues({
|
|
32
|
+
[i.TEXT_TRIM_ENABLED]: e
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
_getCurrentTrimState() {
|
|
36
|
+
if (!this.currentNode || !("hasClass" in this.currentNode))
|
|
37
|
+
return !1;
|
|
38
|
+
if (this.currentNode.hasClass(o))
|
|
39
|
+
return !0;
|
|
40
|
+
const e = this.currentNode.closest(u);
|
|
41
|
+
if (!e)
|
|
42
|
+
return !1;
|
|
43
|
+
const t = e.querySelector(
|
|
44
|
+
`[esd-extension-block-id="${l.NAME}"]`
|
|
45
|
+
);
|
|
46
|
+
return t && "hasClass" in t ? t.hasClass(o) : !1;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Finds an existing CSS rule in the document stylesheet by exact query
|
|
50
|
+
* @param query - The CSS query to search for (uses Stripo's CSS query syntax)
|
|
51
|
+
* @returns The CSS rule node if found, undefined otherwise
|
|
52
|
+
*/
|
|
53
|
+
_findCssRule(e) {
|
|
54
|
+
const t = this.api.getDocumentRootCssNode();
|
|
55
|
+
if (t)
|
|
56
|
+
return t.querySelector(e);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Finds the .text-trim-enabled p rule by searching all text-trim rules and comparing selectors
|
|
60
|
+
* This is needed because Stripo's CSS query syntax interprets spaces as path separators
|
|
61
|
+
* @returns true if the rule exists
|
|
62
|
+
*/
|
|
63
|
+
_hasParagraphRule() {
|
|
64
|
+
const e = this.api.getDocumentRootCssNode();
|
|
65
|
+
return e ? e.querySelectorAll(`*${o}`).some((s) => "getSelector" in s && typeof s.getSelector == "function" ? s.getSelector() === T : !1) : !1;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Ensures the text-trim CSS rules exist in the document stylesheet
|
|
69
|
+
* Only adds rules if they don't already exist (prevents duplicates across multiple blocks)
|
|
70
|
+
*/
|
|
71
|
+
_ensureCssRulesExist() {
|
|
72
|
+
const e = this.api.getDocumentRootCssNode();
|
|
73
|
+
if (!e)
|
|
74
|
+
return;
|
|
75
|
+
const t = this.api.getDocumentModifier();
|
|
76
|
+
let s = !1;
|
|
77
|
+
this._findCssRule(d) || (t.modifyCss(e).appendRule(f), s = !0), this._hasParagraphRule() || (t.modifyCss(e).appendRule(p), s = !0), s && t.apply(new a("Add text trim CSS rules"));
|
|
78
|
+
}
|
|
79
|
+
_onTextTrimChange(e) {
|
|
80
|
+
if (!this.currentNode || !("closest" in this.currentNode))
|
|
81
|
+
return;
|
|
82
|
+
const t = this.currentNode.closest(u);
|
|
83
|
+
if (!t || !("querySelectorAll" in t))
|
|
84
|
+
return;
|
|
85
|
+
const s = Array.from(
|
|
86
|
+
t.querySelectorAll(`[esd-extension-block-id="${l.NAME}"]`)
|
|
87
|
+
);
|
|
88
|
+
if (!s.length)
|
|
89
|
+
return;
|
|
90
|
+
e && this._ensureCssRulesExist();
|
|
91
|
+
const r = this.api.getDocumentModifier();
|
|
92
|
+
s.forEach((n) => {
|
|
93
|
+
e ? r.modifyHtml(n).setClass(o) : r.modifyHtml(n).removeClass(o);
|
|
94
|
+
}), r.apply(
|
|
95
|
+
new a(
|
|
96
|
+
e ? "Enable product name text trimming" : "Disable product name text trimming"
|
|
97
|
+
)
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
_listenToFormUpdates() {
|
|
101
|
+
this.api.onValueChanged(i.TEXT_TRIM_ENABLED, (e) => {
|
|
102
|
+
this._onTextTrimChange(e);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export {
|
|
107
|
+
g as NameTextTrimControl
|
|
108
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { createPaddingsControl as r, createTextBackgroundColorControl as C, createTextFontFamilyControl as e, createTextStyleControl as l, createTextSizeControl as c, createTextColorControl as _, createTextAlignControl as I } from "../../../controlFactories.js";
|
|
2
|
+
import { RecommendationBlockId as o } from "../../constants/blockIds.js";
|
|
3
|
+
import { RecommendationControlId as t } from "../../constants/controlIds.js";
|
|
4
|
+
import { CONTAINER_SELECTOR as n } from "../../constants/selectors.js";
|
|
5
|
+
const O = I(
|
|
6
|
+
t.OLD_PRICE_ALIGN,
|
|
7
|
+
o.OLD_PRICE,
|
|
8
|
+
n
|
|
9
|
+
), R = _(
|
|
10
|
+
t.OLD_PRICE_COLOR,
|
|
11
|
+
o.OLD_PRICE,
|
|
12
|
+
n
|
|
13
|
+
), a = c(
|
|
14
|
+
t.OLD_PRICE_SIZE,
|
|
15
|
+
o.OLD_PRICE,
|
|
16
|
+
n
|
|
17
|
+
), i = l(
|
|
18
|
+
t.OLD_PRICE_STYLE,
|
|
19
|
+
o.OLD_PRICE,
|
|
20
|
+
n
|
|
21
|
+
), E = e(
|
|
22
|
+
t.OLD_PRICE_FONT_FAMILY,
|
|
23
|
+
o.OLD_PRICE,
|
|
24
|
+
n
|
|
25
|
+
), L = C(
|
|
26
|
+
t.OLD_PRICE_BACKGROUND,
|
|
27
|
+
o.OLD_PRICE,
|
|
28
|
+
n
|
|
29
|
+
), P = r(
|
|
30
|
+
t.OLD_PRICE_PADDINGS,
|
|
31
|
+
o.OLD_PRICE,
|
|
32
|
+
n
|
|
33
|
+
), T = {
|
|
34
|
+
align: O,
|
|
35
|
+
color: R,
|
|
36
|
+
size: a,
|
|
37
|
+
style: i,
|
|
38
|
+
fontFamily: E,
|
|
39
|
+
background: L,
|
|
40
|
+
paddings: P
|
|
41
|
+
};
|
|
42
|
+
export {
|
|
43
|
+
T as OldPriceControls
|
|
44
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createPaddingsControl as n, createTextBackgroundColorControl as e, createTextFontFamilyControl as C, createTextStyleControl as O, createTextSizeControl as S, createTextColorControl as I, createTextAlignControl as N } from "../../../controlFactories.js";
|
|
2
|
+
import { RecommendationBlockId as o } from "../../constants/blockIds.js";
|
|
3
|
+
import { RecommendationControlId as t } from "../../constants/controlIds.js";
|
|
4
|
+
import { CONTAINER_SELECTOR as r } from "../../constants/selectors.js";
|
|
5
|
+
import { OmnibusDiscountTextAfterControl as l } from "./textAfter.js";
|
|
6
|
+
import { OmnibusDiscountTextBeforeControl as U } from "./textBefore.js";
|
|
7
|
+
const i = N(
|
|
8
|
+
t.OMNIBUS_DISCOUNT_ALIGN,
|
|
9
|
+
o.OMNIBUS_DISCOUNT,
|
|
10
|
+
r
|
|
11
|
+
), T = I(
|
|
12
|
+
t.OMNIBUS_DISCOUNT_COLOR,
|
|
13
|
+
o.OMNIBUS_DISCOUNT,
|
|
14
|
+
r
|
|
15
|
+
), c = S(
|
|
16
|
+
t.OMNIBUS_DISCOUNT_SIZE,
|
|
17
|
+
o.OMNIBUS_DISCOUNT,
|
|
18
|
+
r
|
|
19
|
+
), _ = O(
|
|
20
|
+
t.OMNIBUS_DISCOUNT_STYLE,
|
|
21
|
+
o.OMNIBUS_DISCOUNT,
|
|
22
|
+
r
|
|
23
|
+
), m = C(
|
|
24
|
+
t.OMNIBUS_DISCOUNT_FONT_FAMILY,
|
|
25
|
+
o.OMNIBUS_DISCOUNT,
|
|
26
|
+
r
|
|
27
|
+
), s = e(
|
|
28
|
+
t.OMNIBUS_DISCOUNT_BACKGROUND,
|
|
29
|
+
o.OMNIBUS_DISCOUNT,
|
|
30
|
+
r
|
|
31
|
+
), B = n(
|
|
32
|
+
t.OMNIBUS_DISCOUNT_PADDINGS,
|
|
33
|
+
o.OMNIBUS_DISCOUNT,
|
|
34
|
+
r
|
|
35
|
+
), g = {
|
|
36
|
+
align: i,
|
|
37
|
+
color: T,
|
|
38
|
+
size: c,
|
|
39
|
+
style: _,
|
|
40
|
+
fontFamily: m,
|
|
41
|
+
background: s,
|
|
42
|
+
paddings: B,
|
|
43
|
+
textBefore: U,
|
|
44
|
+
textAfter: l
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
g as OmnibusDiscountControls
|
|
48
|
+
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
2
|
-
import { CommonControl as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as a } from "../../../common-control.js";
|
|
3
|
+
import { RecommendationBlockId as l } from "../../constants/blockIds.js";
|
|
4
|
+
import { RecommendationControlId as d } from "../../constants/controlIds.js";
|
|
5
|
+
import { CONTAINER_SELECTOR as T } from "../../constants/selectors.js";
|
|
6
|
+
import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
|
|
7
|
+
const i = "data-text-after", u = "", p = ".omnibus-text-after";
|
|
8
|
+
class b extends a {
|
|
7
9
|
getId() {
|
|
8
|
-
return
|
|
10
|
+
return d.OMNIBUS_DISCOUNT_TEXT_AFTER;
|
|
9
11
|
}
|
|
10
12
|
getTemplate() {
|
|
11
13
|
return `
|
|
@@ -42,11 +44,11 @@ class E extends m {
|
|
|
42
44
|
_onTextChange(t) {
|
|
43
45
|
if (!this.currentNode || !("closest" in this.currentNode))
|
|
44
46
|
return;
|
|
45
|
-
const e = this.currentNode.closest(
|
|
47
|
+
const e = this.currentNode.closest(T);
|
|
46
48
|
if (!e || !("querySelectorAll" in e))
|
|
47
49
|
return;
|
|
48
50
|
const n = Array.from(
|
|
49
|
-
e.querySelectorAll(`[esd-extension-block-id="${
|
|
51
|
+
e.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_DISCOUNT}"]`)
|
|
50
52
|
);
|
|
51
53
|
if (!n.length)
|
|
52
54
|
return;
|
|
@@ -55,17 +57,17 @@ class E extends m {
|
|
|
55
57
|
o.modifyHtml(s).setAttribute(i, t);
|
|
56
58
|
const r = s.querySelector(p);
|
|
57
59
|
if (r) {
|
|
58
|
-
const
|
|
59
|
-
o.modifyHtml(r).setInnerHtml(
|
|
60
|
+
const m = f(r, t);
|
|
61
|
+
o.modifyHtml(r).setInnerHtml(m);
|
|
60
62
|
}
|
|
61
|
-
}), o.apply(new
|
|
63
|
+
}), o.apply(new c("Update omnibus discount text after"));
|
|
62
64
|
}
|
|
63
65
|
_listenToFormUpdates() {
|
|
64
66
|
this.api.onValueChanged("omnibusDiscountTextAfter", (t) => {
|
|
65
|
-
this._onTextChange(t);
|
|
67
|
+
typeof t == "string" && this._onTextChange(t);
|
|
66
68
|
});
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
export {
|
|
70
|
-
|
|
72
|
+
b as OmnibusDiscountTextAfterControl
|
|
71
73
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
2
|
-
import { CommonControl as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as l } from "../../../common-control.js";
|
|
3
|
+
import { RecommendationBlockId as a } from "../../constants/blockIds.js";
|
|
4
|
+
import { RecommendationControlId as d } from "../../constants/controlIds.js";
|
|
5
|
+
import { CONTAINER_SELECTOR as T } from "../../constants/selectors.js";
|
|
6
|
+
import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
|
|
7
|
+
const i = "data-text-before", u = "", p = ".omnibus-text-before";
|
|
8
|
+
class g extends l {
|
|
7
9
|
getId() {
|
|
8
|
-
return
|
|
10
|
+
return d.OMNIBUS_DISCOUNT_TEXT_BEFORE;
|
|
9
11
|
}
|
|
10
12
|
getTemplate() {
|
|
11
13
|
return `
|
|
@@ -42,11 +44,11 @@ class C extends a {
|
|
|
42
44
|
_onTextChange(e) {
|
|
43
45
|
if (!this.currentNode || !("closest" in this.currentNode))
|
|
44
46
|
return;
|
|
45
|
-
const t = this.currentNode.closest(
|
|
47
|
+
const t = this.currentNode.closest(T);
|
|
46
48
|
if (!t || !("querySelectorAll" in t))
|
|
47
49
|
return;
|
|
48
50
|
const n = Array.from(
|
|
49
|
-
t.querySelectorAll(`[esd-extension-block-id="${
|
|
51
|
+
t.querySelectorAll(`[esd-extension-block-id="${a.OMNIBUS_DISCOUNT}"]`)
|
|
50
52
|
);
|
|
51
53
|
if (!n.length)
|
|
52
54
|
return;
|
|
@@ -55,17 +57,17 @@ class C extends a {
|
|
|
55
57
|
o.modifyHtml(s).setAttribute(i, e);
|
|
56
58
|
const r = s.querySelector(p);
|
|
57
59
|
if (r) {
|
|
58
|
-
const
|
|
59
|
-
o.modifyHtml(r).setInnerHtml(
|
|
60
|
+
const m = f(r, e);
|
|
61
|
+
o.modifyHtml(r).setInnerHtml(m);
|
|
60
62
|
}
|
|
61
|
-
}), o.apply(new
|
|
63
|
+
}), o.apply(new c("Update omnibus discount text before"));
|
|
62
64
|
}
|
|
63
65
|
_listenToFormUpdates() {
|
|
64
66
|
this.api.onValueChanged("omnibusDiscountTextBefore", (e) => {
|
|
65
|
-
this._onTextChange(e);
|
|
67
|
+
typeof e == "string" && this._onTextChange(e);
|
|
66
68
|
});
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
export {
|
|
70
|
-
|
|
72
|
+
g as OmnibusDiscountTextBeforeControl
|
|
71
73
|
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createPaddingsControl as n, createTextBackgroundColorControl as e, createTextFontFamilyControl as C, createTextStyleControl as I, createTextSizeControl as l, createTextColorControl as i, createTextAlignControl as c } from "../../../controlFactories.js";
|
|
2
|
+
import { RecommendationBlockId as o } from "../../constants/blockIds.js";
|
|
3
|
+
import { RecommendationControlId as t } from "../../constants/controlIds.js";
|
|
4
|
+
import { CONTAINER_SELECTOR as r } from "../../constants/selectors.js";
|
|
5
|
+
import { OmnibusPriceTextAfterControl as O } from "./textAfter.js";
|
|
6
|
+
import { OmnibusPriceTextBeforeControl as _ } from "./textBefore.js";
|
|
7
|
+
const m = c(
|
|
8
|
+
t.OMNIBUS_PRICE_ALIGN,
|
|
9
|
+
o.OMNIBUS_PRICE,
|
|
10
|
+
r
|
|
11
|
+
), S = i(
|
|
12
|
+
t.OMNIBUS_PRICE_COLOR,
|
|
13
|
+
o.OMNIBUS_PRICE,
|
|
14
|
+
r
|
|
15
|
+
), B = l(
|
|
16
|
+
t.OMNIBUS_PRICE_SIZE,
|
|
17
|
+
o.OMNIBUS_PRICE,
|
|
18
|
+
r
|
|
19
|
+
), N = I(
|
|
20
|
+
t.OMNIBUS_PRICE_STYLE,
|
|
21
|
+
o.OMNIBUS_PRICE,
|
|
22
|
+
r
|
|
23
|
+
), P = C(
|
|
24
|
+
t.OMNIBUS_PRICE_FONT_FAMILY,
|
|
25
|
+
o.OMNIBUS_PRICE,
|
|
26
|
+
r
|
|
27
|
+
), R = e(
|
|
28
|
+
t.OMNIBUS_PRICE_BACKGROUND,
|
|
29
|
+
o.OMNIBUS_PRICE,
|
|
30
|
+
r
|
|
31
|
+
), a = n(
|
|
32
|
+
t.OMNIBUS_PRICE_PADDINGS,
|
|
33
|
+
o.OMNIBUS_PRICE,
|
|
34
|
+
r
|
|
35
|
+
), f = {
|
|
36
|
+
align: m,
|
|
37
|
+
color: S,
|
|
38
|
+
size: B,
|
|
39
|
+
style: N,
|
|
40
|
+
fontFamily: P,
|
|
41
|
+
background: R,
|
|
42
|
+
paddings: a,
|
|
43
|
+
textBefore: _,
|
|
44
|
+
textAfter: O
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
f as OmnibusPriceControls
|
|
48
|
+
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
2
|
-
import { CommonControl as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as a } from "../../../common-control.js";
|
|
3
|
+
import { RecommendationBlockId as l } from "../../constants/blockIds.js";
|
|
4
|
+
import { RecommendationControlId as d } from "../../constants/controlIds.js";
|
|
5
|
+
import { CONTAINER_SELECTOR as T } from "../../constants/selectors.js";
|
|
6
|
+
import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
|
|
7
|
+
const s = "data-text-after", m = "", p = ".omnibus-text-after";
|
|
8
|
+
class N extends a {
|
|
7
9
|
getId() {
|
|
8
|
-
return
|
|
10
|
+
return d.OMNIBUS_PRICE_TEXT_AFTER;
|
|
9
11
|
}
|
|
10
12
|
getTemplate() {
|
|
11
13
|
return `
|
|
@@ -35,18 +37,18 @@ class C extends m {
|
|
|
35
37
|
}
|
|
36
38
|
_getCurrentText() {
|
|
37
39
|
if (!this.currentNode || !("getAttribute" in this.currentNode))
|
|
38
|
-
return
|
|
40
|
+
return m;
|
|
39
41
|
const t = this.currentNode.getAttribute(s);
|
|
40
|
-
return t === null ?
|
|
42
|
+
return t === null ? m : t;
|
|
41
43
|
}
|
|
42
44
|
_onTextChange(t) {
|
|
43
45
|
if (!this.currentNode || !("closest" in this.currentNode))
|
|
44
46
|
return;
|
|
45
|
-
const e = this.currentNode.closest(
|
|
47
|
+
const e = this.currentNode.closest(T);
|
|
46
48
|
if (!e || !("querySelectorAll" in e))
|
|
47
49
|
return;
|
|
48
50
|
const n = Array.from(
|
|
49
|
-
e.querySelectorAll(`[esd-extension-block-id="${
|
|
51
|
+
e.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_PRICE}"]`)
|
|
50
52
|
);
|
|
51
53
|
if (!n.length)
|
|
52
54
|
return;
|
|
@@ -55,10 +57,10 @@ class C extends m {
|
|
|
55
57
|
r.modifyHtml(i).setAttribute(s, t);
|
|
56
58
|
const o = i.querySelector(p);
|
|
57
59
|
if (o) {
|
|
58
|
-
const u =
|
|
60
|
+
const u = f(o, t);
|
|
59
61
|
r.modifyHtml(o).setInnerHtml(u);
|
|
60
62
|
}
|
|
61
|
-
}), r.apply(new
|
|
63
|
+
}), r.apply(new c("Update omnibus price text after"));
|
|
62
64
|
}
|
|
63
65
|
_listenToFormUpdates() {
|
|
64
66
|
this.api.onValueChanged("omnibusPriceTextAfter", (t) => {
|
|
@@ -67,5 +69,5 @@ class C extends m {
|
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
export {
|
|
70
|
-
|
|
72
|
+
N as OmnibusPriceTextAfterControl
|
|
71
73
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
2
|
-
import { CommonControl as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ModificationDescription as u } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as l } from "../../../common-control.js";
|
|
3
|
+
import { RecommendationBlockId as a } from "../../constants/blockIds.js";
|
|
4
|
+
import { RecommendationControlId as d } from "../../constants/controlIds.js";
|
|
5
|
+
import { CONTAINER_SELECTOR as p } from "../../constants/selectors.js";
|
|
6
|
+
import { preserveTextStyles as T } from "../../utils/preserveTextStyles.js";
|
|
7
|
+
const s = "data-text-before", c = "Lowest 30-day price: ", f = ".omnibus-text-before";
|
|
8
|
+
class N extends l {
|
|
7
9
|
getId() {
|
|
8
|
-
return
|
|
10
|
+
return d.OMNIBUS_PRICE_TEXT_BEFORE;
|
|
9
11
|
}
|
|
10
12
|
getTemplate() {
|
|
11
13
|
return `
|
|
@@ -46,7 +48,7 @@ class C extends a {
|
|
|
46
48
|
if (!t || !("querySelectorAll" in t))
|
|
47
49
|
return;
|
|
48
50
|
const n = Array.from(
|
|
49
|
-
t.querySelectorAll(`[esd-extension-block-id="${
|
|
51
|
+
t.querySelectorAll(`[esd-extension-block-id="${a.OMNIBUS_PRICE}"]`)
|
|
50
52
|
);
|
|
51
53
|
if (!n.length)
|
|
52
54
|
return;
|
|
@@ -55,10 +57,10 @@ class C extends a {
|
|
|
55
57
|
o.modifyHtml(i).setAttribute(s, e);
|
|
56
58
|
const r = i.querySelector(f);
|
|
57
59
|
if (r) {
|
|
58
|
-
const
|
|
59
|
-
o.modifyHtml(r).setInnerHtml(
|
|
60
|
+
const m = T(r, e);
|
|
61
|
+
o.modifyHtml(r).setInnerHtml(m);
|
|
60
62
|
}
|
|
61
|
-
}), o.apply(new
|
|
63
|
+
}), o.apply(new u("Update omnibus price text before"));
|
|
62
64
|
}
|
|
63
65
|
_listenToFormUpdates() {
|
|
64
66
|
this.api.onValueChanged("omnibusPriceTextBefore", (e) => {
|
|
@@ -67,5 +69,5 @@ class C extends a {
|
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
export {
|
|
70
|
-
|
|
72
|
+
N as OmnibusPriceTextBeforeControl
|
|
71
73
|
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { createPaddingsControl as r, createTextBackgroundColorControl as C, createTextFontFamilyControl as e, createTextStyleControl as l, createTextSizeControl as c, createTextColorControl as I, createTextAlignControl as R } from "../../../controlFactories.js";
|
|
2
|
+
import { RecommendationBlockId as o } from "../../constants/blockIds.js";
|
|
3
|
+
import { RecommendationControlId as t } from "../../constants/controlIds.js";
|
|
4
|
+
import { CONTAINER_SELECTOR as n } from "../../constants/selectors.js";
|
|
5
|
+
const a = R(
|
|
6
|
+
t.PRICE_ALIGN,
|
|
7
|
+
o.PRICE,
|
|
8
|
+
n
|
|
9
|
+
), i = I(
|
|
10
|
+
t.PRICE_COLOR,
|
|
11
|
+
o.PRICE,
|
|
12
|
+
n
|
|
13
|
+
), E = c(
|
|
14
|
+
t.PRICE_SIZE,
|
|
15
|
+
o.PRICE,
|
|
16
|
+
n
|
|
17
|
+
), P = l(
|
|
18
|
+
t.PRICE_STYLE,
|
|
19
|
+
o.PRICE,
|
|
20
|
+
n
|
|
21
|
+
), m = e(
|
|
22
|
+
t.PRICE_FONT_FAMILY,
|
|
23
|
+
o.PRICE,
|
|
24
|
+
n
|
|
25
|
+
), s = C(
|
|
26
|
+
t.PRICE_BACKGROUND,
|
|
27
|
+
o.PRICE,
|
|
28
|
+
n
|
|
29
|
+
), d = r(
|
|
30
|
+
t.PRICE_PADDINGS,
|
|
31
|
+
o.PRICE,
|
|
32
|
+
n
|
|
33
|
+
), x = {
|
|
34
|
+
align: a,
|
|
35
|
+
color: i,
|
|
36
|
+
size: E,
|
|
37
|
+
style: P,
|
|
38
|
+
fontFamily: m,
|
|
39
|
+
background: s,
|
|
40
|
+
paddings: d
|
|
41
|
+
};
|
|
42
|
+
export {
|
|
43
|
+
x as PriceControls
|
|
44
|
+
};
|