@useinsider/guido 1.0.3-beta.5361682 → 1.0.3-beta.538b804
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 -32
- package/dist/composables/useActionsApi.js +1 -1
- package/dist/composables/useHtmlValidator.js +36 -35
- package/dist/enums/unsubscribe.js +27 -26
- package/dist/extensions/Blocks/Items/block.js +26 -26
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +1 -1
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +48 -36
- package/dist/extensions/Blocks/Items/enums/productEnums.js +62 -4
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +57 -57
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +54 -55
- package/dist/extensions/Blocks/Items/template.js +79 -82
- package/dist/extensions/Blocks/Unsubscribe/block.js +27 -27
- package/dist/node_modules/lodash-es/_DataView.js +6 -0
- package/dist/node_modules/lodash-es/_Promise.js +6 -0
- package/dist/node_modules/lodash-es/_Set.js +6 -0
- package/dist/node_modules/lodash-es/_SetCache.js +13 -0
- package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
- package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
- package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
- package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
- package/dist/node_modules/lodash-es/_arraySome.js +9 -0
- package/dist/node_modules/lodash-es/_baseEach.js +6 -0
- package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
- package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
- package/dist/node_modules/lodash-es/_baseGet.js +11 -0
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
- package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
- package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
- package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
- package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
- package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
- package/dist/node_modules/lodash-es/_baseMap.js +11 -0
- package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
- package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
- package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
- package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
- package/dist/node_modules/lodash-es/_baseRange.js +9 -0
- package/dist/node_modules/lodash-es/_baseToString.js +18 -0
- package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
- package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_castPath.js +10 -0
- package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
- package/dist/node_modules/lodash-es/_createRange.js +11 -0
- package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
- package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
- package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
- package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
- package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
- package/dist/node_modules/lodash-es/_getTag.js +28 -0
- package/dist/node_modules/lodash-es/_hasPath.js +19 -0
- package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
- package/dist/node_modules/lodash-es/_isKey.js +12 -0
- package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
- package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
- package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
- package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
- package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
- package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
- package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_setToArray.js +9 -0
- package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
- package/dist/node_modules/lodash-es/_toKey.js +10 -0
- package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
- package/dist/node_modules/lodash-es/flatMap.js +8 -0
- package/dist/node_modules/lodash-es/get.js +8 -0
- package/dist/node_modules/lodash-es/hasIn.js +8 -0
- package/dist/node_modules/lodash-es/isSymbol.js +9 -0
- package/dist/node_modules/lodash-es/keys.js +9 -0
- package/dist/node_modules/lodash-es/keysIn.js +3 -3
- package/dist/node_modules/lodash-es/map.js +11 -0
- package/dist/node_modules/lodash-es/property.js +10 -0
- package/dist/node_modules/lodash-es/range.js +5 -0
- package/dist/node_modules/lodash-es/stubArray.js +6 -0
- package/dist/node_modules/lodash-es/toFinite.js +14 -0
- package/dist/node_modules/lodash-es/toNumber.js +22 -0
- package/dist/node_modules/lodash-es/toString.js +7 -0
- package/dist/src/extensions/Blocks/Items/block.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +2 -0
- package/dist/src/extensions/Blocks/Items/template.d.ts +9 -1
- package/dist/src/utils/environmentUtil.d.ts +5 -0
- package/dist/utils/environmentUtil.js +4 -0
- package/package.json +2 -9
package/README.md
CHANGED
|
@@ -787,35 +787,3 @@ ISC License
|
|
|
787
787
|
- Playwright integrationBoilerplate/control.ts
|
|
788
788
|
- Commitlint & Precommit Hooks integration
|
|
789
789
|
- Get Pre-built display conditions from API
|
|
790
|
-
|
|
791
|
-
Recommendation Block:
|
|
792
|
-
- [ ] Validations for Filters
|
|
793
|
-
- [ ] DOM Rerender after Filters change
|
|
794
|
-
- [ ] Change currencySymbol as Input Type
|
|
795
|
-
- [ ] Apply filter query to request
|
|
796
|
-
- [ ] Drawer loading bug
|
|
797
|
-
- [ ] Drawer send request when apply filters
|
|
798
|
-
- [ ] Clear all feature for Drawer
|
|
799
|
-
- [ ] Stripo's controls should be effect specific DOM item -- Try extending CommonControl class
|
|
800
|
-
- [ ] Show toaster message if uses multiple recommendation blocks in same template
|
|
801
|
-
- [ ] Change filter button text as Change Filters
|
|
802
|
-
- [ ] Migration template for Recommendation Block
|
|
803
|
-
- [ ] Recommendation Algorithm default value should be mostPopular
|
|
804
|
-
- [ ] Default fields for empty template like currency, title etc.
|
|
805
|
-
- [ ] Recommendation Block Icon Registry should be updated
|
|
806
|
-
- [ ] AMP Block Icon should be updated
|
|
807
|
-
- [ ] Padding feature for between Product Rows
|
|
808
|
-
|
|
809
|
-
Items Block Phase 2:
|
|
810
|
-
[ ] Writing configs to esd-config-data DOM.
|
|
811
|
-
[ ] Build on save feature should be working
|
|
812
|
-
[ ] Data Migration feature should be working
|
|
813
|
-
|
|
814
|
-
Tech Debts:
|
|
815
|
-
[ ] Merge Custom Blocks into a single File
|
|
816
|
-
[ ] Move Custom Blocks names to an enum file
|
|
817
|
-
[ ] Template Replacement should be optimized for version history
|
|
818
|
-
[ ] Code Optimization for Items Block inner blocks reordering
|
|
819
|
-
[ ] Image Size & Margins controls has an error on console
|
|
820
|
-
[ ] Feed Text Trimming feature to toggle settings
|
|
821
|
-
[ ] Formatted Price feature to toggle settings
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { useConfig as
|
|
2
|
-
import { TemplateTypes as
|
|
3
|
-
import { DISPLAY_CONDITIONS_REGEX as
|
|
1
|
+
import { useConfig as V } from "./useConfig.js";
|
|
2
|
+
import { TemplateTypes as D } from "../enums/defaults.js";
|
|
3
|
+
import { DISPLAY_CONDITIONS_REGEX as H, DISPLAY_CONDITIONS_EXCEPTIONS_REGEX as P, CampaignCouldNotBeSavedKey as R, CanNotMakeAnyChangesForRunningKey as _ } from "../enums/html-validator.js";
|
|
4
4
|
import { ToasterTypeOptions as l } from "../enums/toaster.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
5
|
+
import { itemsBlockDynamicVariables as G } from "../extensions/Blocks/Items/enums/productEnums.js";
|
|
6
|
+
import { useRecommendationStore as $ } from "../stores/recommendation.js";
|
|
7
|
+
import { base64EncodeWithSpecialChars as j } from "../utils/base64.js";
|
|
8
|
+
import { useHttp as q } from "./useHttp.js";
|
|
9
|
+
import { useToaster as M } from "./useToaster.js";
|
|
10
|
+
import { useTranslations as X } from "./useTranslations.js";
|
|
11
|
+
const ie = () => {
|
|
11
12
|
var d;
|
|
12
|
-
const { showToaster: c } =
|
|
13
|
+
const { showToaster: c } = M(), { post: y } = q(), { config: h } = V(), a = X(), m = $(), u = ((d = h.partner) == null ? void 0 : d.messageType) === D.transactional, v = async (e) => {
|
|
13
14
|
const t = await y(
|
|
14
15
|
"/newsletter/template-library/check-template-html-body",
|
|
15
|
-
{ html:
|
|
16
|
+
{ html: j(e) }
|
|
16
17
|
), { status: n, message: r } = t.data;
|
|
17
18
|
return n || c({
|
|
18
19
|
type: l.Alert,
|
|
@@ -25,10 +26,10 @@ const se = () => {
|
|
|
25
26
|
const t = e.match(/({%(.*?)%})/g);
|
|
26
27
|
let n = !0;
|
|
27
28
|
return t !== null && !u && t.forEach((r) => {
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
const [
|
|
31
|
-
C(
|
|
29
|
+
const i = r.slice(2, -2).trim().match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
|
|
30
|
+
if (i && i.length > 0) {
|
|
31
|
+
const [o] = i;
|
|
32
|
+
C(o) && !s.includes(o) && (c({
|
|
32
33
|
type: l.Warning,
|
|
33
34
|
message: a("custom-fields.invalid-custom-fields")
|
|
34
35
|
}), n = !1);
|
|
@@ -58,19 +59,19 @@ const se = () => {
|
|
|
58
59
|
}, k = (e, s) => {
|
|
59
60
|
const t = e.match(/{{([a-zA-Z0-9_\s]*)}}/gm);
|
|
60
61
|
if (t && !u) {
|
|
61
|
-
const n = new Set(s.map((
|
|
62
|
-
if (t.forEach((
|
|
63
|
-
const
|
|
64
|
-
(!n.has(
|
|
62
|
+
const n = new Set(s.map((i) => i.toLowerCase())), r = [];
|
|
63
|
+
if (t.forEach((i) => {
|
|
64
|
+
const o = i.slice(2, -2).trim().toLowerCase();
|
|
65
|
+
(!n.has(o) || o === "") && r.push(o);
|
|
65
66
|
}), r.length > 0) {
|
|
66
|
-
const
|
|
67
|
+
const i = `
|
|
67
68
|
<ul>
|
|
68
|
-
${r.map((
|
|
69
|
+
${r.map((o) => `<li>${o}</li>`).join("")}
|
|
69
70
|
</ul>
|
|
70
71
|
`;
|
|
71
72
|
return c({
|
|
72
73
|
type: l.Alert,
|
|
73
|
-
message: a("custom-fields.invalid-custom-fields") +
|
|
74
|
+
message: a("custom-fields.invalid-custom-fields") + i
|
|
74
75
|
}), !1;
|
|
75
76
|
}
|
|
76
77
|
}
|
|
@@ -79,11 +80,11 @@ const se = () => {
|
|
|
79
80
|
const s = e.match(/{%(.*?)%}/g), t = [];
|
|
80
81
|
let n = !0;
|
|
81
82
|
if (s && s.forEach((r) => {
|
|
82
|
-
const
|
|
83
|
-
(!
|
|
83
|
+
const i = r.match(H), o = r.match(P), B = (i == null ? void 0 : i.join("")) || "";
|
|
84
|
+
(!i || r !== B) && !o && (c({
|
|
84
85
|
type: l.Alert,
|
|
85
86
|
message: a("newsletter.display-conditions-invalid-syntax")
|
|
86
|
-
}), n = !1),
|
|
87
|
+
}), n = !1), i && i.forEach((f) => {
|
|
87
88
|
f.trim() === "=" && (c({
|
|
88
89
|
type: l.Alert,
|
|
89
90
|
message: a("custom-conditions.wrong-equality-operators")
|
|
@@ -94,8 +95,8 @@ const se = () => {
|
|
|
94
95
|
});
|
|
95
96
|
});
|
|
96
97
|
}), t.length) {
|
|
97
|
-
const r = t.filter((
|
|
98
|
-
r.length !==
|
|
98
|
+
const r = t.filter((o) => o === "if"), i = t.filter((o) => o === "endif");
|
|
99
|
+
r.length !== i.length && (c({
|
|
99
100
|
type: l.Alert,
|
|
100
101
|
message: a("custom-conditions.missing-if-endif-tag")
|
|
101
102
|
}), n = !1);
|
|
@@ -121,28 +122,28 @@ const se = () => {
|
|
|
121
122
|
}), !1);
|
|
122
123
|
}, N = (e) => {
|
|
123
124
|
const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".checkbox-block-v2");
|
|
124
|
-
return Array.from(n).find((
|
|
125
|
-
var
|
|
126
|
-
return !((
|
|
125
|
+
return Array.from(n).find((i) => {
|
|
126
|
+
var o;
|
|
127
|
+
return !((o = i.id) != null && o.trim());
|
|
127
128
|
}) ? (c({
|
|
128
129
|
type: l.Alert,
|
|
129
130
|
message: a("unsubscribe-templates.select-checkbox-groups")
|
|
130
131
|
}), !1) : !0;
|
|
131
132
|
}, O = (e) => {
|
|
132
133
|
const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll(".radio-button-v2");
|
|
133
|
-
return Array.from(n).find((
|
|
134
|
-
var
|
|
135
|
-
return !((
|
|
134
|
+
return Array.from(n).find((i) => {
|
|
135
|
+
var o;
|
|
136
|
+
return !((o = i.id) != null && o.trim());
|
|
136
137
|
}) ? (c({
|
|
137
138
|
type: l.Alert,
|
|
138
139
|
message: a("unsubscribe-templates.select-radio-button-groups")
|
|
139
140
|
}), !1) : !0;
|
|
140
141
|
};
|
|
141
142
|
return { validateHtml: async (e, s, t = !1) => {
|
|
142
|
-
const n = s.map((
|
|
143
|
+
const n = [...s.map((i) => i.value), ...G];
|
|
143
144
|
return await b(e, n, t) && E(e) && A(e) && x(e) && k(e, n) && T(e) && F(e) && I(e) && W() && L(e) && N(e) && O(e);
|
|
144
145
|
} };
|
|
145
146
|
};
|
|
146
147
|
export {
|
|
147
|
-
|
|
148
|
+
ie as useHtmlValidator
|
|
148
149
|
};
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { useTranslations as
|
|
2
|
-
|
|
1
|
+
import { useTranslations as n } from "../composables/useTranslations.js";
|
|
2
|
+
import { getEnvironmentPrefix as R } from "../utils/environmentUtil.js";
|
|
3
|
+
const e = n(), I = {
|
|
3
4
|
UNSUBSCRIBE_LINK_TYPE: 1,
|
|
4
5
|
PREFERENCES_LINK_TYPE: 3
|
|
5
|
-
},
|
|
6
|
+
}, r = {
|
|
6
7
|
UNSUBSCRIBE_LINK_REGEX: /{{ins-unsubscribe-link}}/g,
|
|
7
8
|
DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
|
|
8
9
|
GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
|
|
9
10
|
PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
|
|
10
|
-
},
|
|
11
|
-
UNSUBSCRIBE_URL:
|
|
12
|
-
PREFERENCES_URL:
|
|
13
|
-
},
|
|
11
|
+
}, s = R(), _ = {
|
|
12
|
+
UNSUBSCRIBE_URL: `https://mail.${s}.com/user/v1/unsub`,
|
|
13
|
+
PREFERENCES_URL: `https://mail.${s}.com/user/v1/prefs`
|
|
14
|
+
}, i = "iid", B = {
|
|
14
15
|
name: "Global Unsubscribe",
|
|
15
16
|
sendGridId: "G"
|
|
16
|
-
},
|
|
17
|
+
}, C = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", c = "/email/unsubscribe-pages", E = {
|
|
17
18
|
GLOBAL_UNSUBSCRIBE: 1,
|
|
18
19
|
GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: 2,
|
|
19
20
|
SUBSCRIPTION_PREFERENCE_CENTER: 3,
|
|
20
21
|
SUBSCRIPTION_PREFERENCE_CONFIRMATION: 4,
|
|
21
22
|
RESUBSCRIBE: 5
|
|
22
|
-
},
|
|
23
|
+
}, t = {
|
|
23
24
|
[E.GLOBAL_UNSUBSCRIBE]: [
|
|
24
25
|
E.GLOBAL_UNSUBSCRIBE,
|
|
25
26
|
E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE,
|
|
@@ -29,27 +30,27 @@ const s = e(), R = {
|
|
|
29
30
|
E.SUBSCRIPTION_PREFERENCE_CENTER,
|
|
30
31
|
E.SUBSCRIPTION_PREFERENCE_CONFIRMATION
|
|
31
32
|
]
|
|
32
|
-
},
|
|
33
|
-
[E.GLOBAL_UNSUBSCRIBE]:
|
|
34
|
-
[E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]:
|
|
35
|
-
[E.RESUBSCRIBE]:
|
|
36
|
-
[E.SUBSCRIPTION_PREFERENCE_CENTER]:
|
|
37
|
-
[E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]:
|
|
38
|
-
},
|
|
33
|
+
}, U = {
|
|
34
|
+
[E.GLOBAL_UNSUBSCRIBE]: e("unsubscription-preference.type-global-unsubscribe"),
|
|
35
|
+
[E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: e("unsubscription-preference.type-global-unsubscription-confirmation"),
|
|
36
|
+
[E.RESUBSCRIBE]: e("unsubscription-preference.type-resubscribe"),
|
|
37
|
+
[E.SUBSCRIPTION_PREFERENCE_CENTER]: e("unsubscription-preference.type-subscription-preferences-center"),
|
|
38
|
+
[E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: e("unsubscription-preference.type-subscription-preferences-confirmation")
|
|
39
|
+
}, o = {
|
|
39
40
|
default: "{{ins-unsubscribe-link}}",
|
|
40
41
|
[E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
|
|
41
42
|
[E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
|
|
42
43
|
};
|
|
43
44
|
export {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
C as ACADEMY_LINK,
|
|
46
|
+
B as DEFAULT_UNSUBSCRIBE_GROUP,
|
|
47
|
+
i as INSIDER_ID,
|
|
48
|
+
r as LINK_REGEXES,
|
|
49
|
+
I as LINK_TYPES,
|
|
50
|
+
o as MERGE_TAGS,
|
|
50
51
|
E as PAGE_TYPES,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
t as TYPE_COLLECTIONS,
|
|
53
|
+
U as TYPE_TRANSLATIONS,
|
|
54
|
+
c as UNSUBSCRIBE_PAGES_LINK,
|
|
55
|
+
_ as URLS
|
|
55
56
|
};
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { useOnboardingStore as
|
|
2
|
-
import { Block as
|
|
1
|
+
import { useOnboardingStore as y } from "../../../stores/onboarding.js";
|
|
2
|
+
import { Block as R, BlockCompositionType as L, ModificationDescription as a } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
3
3
|
import { configAttributes as t } from "./enums/productEnums.js";
|
|
4
4
|
import { DefaultConfigValues as e, SETTINGS_ENUMS as l } from "./enums/settingsEnums.js";
|
|
5
|
-
import { useItemsBlockStore as
|
|
5
|
+
import { useItemsBlockStore as S } from "./store/items-block.js";
|
|
6
6
|
import { getDefaultTemplate as V } from "./template.js";
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
import { syncCurrencySymbolFromAttributes as B, syncCurrencyLocationFromAttributes as U, syncFormattedPriceFromAttributes as k } from "./utils/syncAttributesFromConfigBlock.js";
|
|
8
|
+
const M = "items-block";
|
|
9
|
+
class x extends R {
|
|
9
10
|
getId() {
|
|
10
|
-
return
|
|
11
|
+
return M;
|
|
11
12
|
}
|
|
12
13
|
getIcon() {
|
|
13
14
|
return "items-icon";
|
|
14
15
|
}
|
|
15
16
|
getBlockCompositionType() {
|
|
16
|
-
return
|
|
17
|
+
return L.CONTAINER;
|
|
17
18
|
}
|
|
18
19
|
getName() {
|
|
19
20
|
return this.api.translate("Items");
|
|
@@ -22,46 +23,45 @@ class z extends S {
|
|
|
22
23
|
return this.api.translate("Items lets you display personalized products based on user behavior.");
|
|
23
24
|
}
|
|
24
25
|
getTemplate() {
|
|
25
|
-
const i = I();
|
|
26
26
|
return V({
|
|
27
27
|
orientation: l.ORIENTATION.HORIZONTAL,
|
|
28
28
|
itemsType: l.ITEMS_TYPE.CART_ITEMS,
|
|
29
29
|
itemId: "{{Abandoned Cart Item (1) Url}}",
|
|
30
|
-
currencySymbol:
|
|
31
|
-
currencyLocation:
|
|
32
|
-
formattedPrice:
|
|
30
|
+
currencySymbol: e.productPriceCurrencySymbolControlValue,
|
|
31
|
+
currencyLocation: e.productPriceCurrencyLocationControlValue,
|
|
32
|
+
formattedPrice: e.productPriceFormattedControlValue === "1"
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
allowInnerBlocksDND() {
|
|
36
36
|
return !1;
|
|
37
37
|
}
|
|
38
|
-
onCreated(
|
|
39
|
-
const n =
|
|
38
|
+
onCreated(r) {
|
|
39
|
+
const n = r.querySelector("esd-config-block");
|
|
40
40
|
if (!n)
|
|
41
41
|
return;
|
|
42
|
-
const o = n, s = o.getAttribute("data-initialized") || "0",
|
|
42
|
+
const o = n, s = o.getAttribute("data-initialized") || "0", u = o.getAttribute(t.BLOCK_INSTANCE_ID), c = () => String(Date.now() + Math.floor(Math.random() * 1e3));
|
|
43
43
|
if (Number(s)) {
|
|
44
|
-
if (!
|
|
45
|
-
const
|
|
46
|
-
this.api.getDocumentModifier().modifyHtml(o).setAttribute(t.BLOCK_INSTANCE_ID,
|
|
44
|
+
if (!u) {
|
|
45
|
+
const i = c();
|
|
46
|
+
this.api.getDocumentModifier().modifyHtml(o).setAttribute(t.BLOCK_INSTANCE_ID, i).apply(new a("Assign block instance ID to legacy block"));
|
|
47
47
|
}
|
|
48
48
|
} else {
|
|
49
|
-
const
|
|
50
|
-
this.api.getDocumentModifier().modifyHtml(o).setAttribute("data-source",
|
|
49
|
+
const i = e.itemsType, I = e.cartItemsSelectControlValue, d = e.cardOrientationControlValue, m = e.productNameTrimmingControlValue, C = e.productPriceHideDiscountControlValue, b = e.productPriceFormattedControlValue, T = e.productPriceCurrencySymbolControlValue, A = e.productPriceCurrencyLocationControlValue, E = e.productButtonLinkControlValue, O = e.productImageLinkControlValue, _ = e.productImageVisible, p = e.productNameVisible, N = e.productQuantityVisible, f = e.productPriceVisible, g = e.productOriginalPriceVisible, D = e.productButtonVisible, P = c();
|
|
50
|
+
this.api.getDocumentModifier().modifyHtml(o).setAttribute("data-source", i).setAttribute(t.TYPE, i).setAttribute(t.ITEMS_INDEX_SELECT_CONTROL_VALUE, I).setAttribute(t.ORIENTATION, d).setAttribute(t.PRODUCT_NAME_TRIMMING, m).setAttribute(t.PRODUCT_PRICE_HIDE_DISCOUNT, C).setAttribute(t.PRODUCT_PRICE_FORMATTED, b).setAttribute(t.PRODUCT_PRICE_CURRENCY_SYMBOL, T).setAttribute(t.PRODUCT_PRICE_CURRENCY_LOCATION, A).setAttribute(t.PRODUCT_BUTTON_LINK, E).setAttribute(t.PRODUCT_IMAGE_LINK, O).setAttribute(t.BLOCK_INSTANCE_ID, P).setAttribute("data-initialized", "1").setAttribute(t.NAME_CONTROL_ENABLED, e.productNameControlEnabled).setAttribute(
|
|
51
51
|
t.QUANTITY_CONTROL_ENABLED,
|
|
52
52
|
e.productQuantityControlEnabled
|
|
53
|
-
).setAttribute(t.PRICE_CONTROL_OPENED, e.productPriceControlOpened).setAttribute(t.PRODUCT_IMAGE_VISIBLE,
|
|
53
|
+
).setAttribute(t.PRICE_CONTROL_OPENED, e.productPriceControlOpened).setAttribute(t.PRODUCT_IMAGE_VISIBLE, _).setAttribute(t.PRODUCT_NAME_VISIBLE, p).setAttribute(t.PRODUCT_QUANTITY_VISIBLE, N).setAttribute(t.PRODUCT_PRICE_VISIBLE, f).setAttribute(t.PRODUCT_ORIGINAL_PRICE_VISIBLE, g).setAttribute(t.PRODUCT_BUTTON_VISIBLE, D).apply(new a("Initialize config block attributes with defaults")), y().startOnboarding("itemsOnboarding");
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
onSelect(
|
|
57
|
-
const n =
|
|
56
|
+
onSelect(r) {
|
|
57
|
+
const n = r.querySelector("esd-config-block"), o = S();
|
|
58
58
|
if (!n)
|
|
59
59
|
return;
|
|
60
|
-
const s = n,
|
|
61
|
-
o.setItemsType(
|
|
60
|
+
const s = n, u = s.getAttribute(t.TYPE) || e.itemsType, c = s.getAttribute(t.ITEMS_INDEX_SELECT_CONTROL_VALUE) || e.cartItemsSelectControlValue, i = s.getAttribute(t.ORIENTATION) || e.cardOrientationControlValue;
|
|
61
|
+
o.setItemsType(u), o.setItemIds(c), o.setOrientation(i), B(r), U(r), k(r);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
export {
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
M as BLOCK_ID,
|
|
66
|
+
x as ItemsBlock
|
|
67
67
|
};
|
|
@@ -48,7 +48,7 @@ class R extends c {
|
|
|
48
48
|
if (!o)
|
|
49
49
|
return;
|
|
50
50
|
const p = e !== void 0 ? e : this.store.nameTrimming, T = this.store.orientation === I.ORIENTATION.VERTICAL;
|
|
51
|
-
p ? this.api.getDocumentModifier().modifyHtml(o).setStyle("white-space", "nowrap").setStyle("overflow", "hidden").setStyle("text-overflow", "ellipsis").setStyle("max-width", T ? "130px" : "
|
|
51
|
+
p ? this.api.getDocumentModifier().modifyHtml(o).setStyle("white-space", "nowrap").setStyle("overflow", "hidden").setStyle("text-overflow", "ellipsis").setStyle("max-width", T ? "130px" : "600px").apply(new n("Text Trimming Enabled")) : this.api.getDocumentModifier().modifyHtml(o).removeStyle("white-space").removeStyle("overflow").removeStyle("text-overflow").removeStyle("max-width").apply(new n("Text Trimming Disabled"));
|
|
52
52
|
}
|
|
53
53
|
_getTextTrimming() {
|
|
54
54
|
return `
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var b = (T, u, e) =>
|
|
1
|
+
var M = Object.defineProperty;
|
|
2
|
+
var P = (T, u, e) => u in T ? M(T, u, { enumerable: !0, configurable: !0, writable: !0, value: e }) : T[u] = e;
|
|
3
|
+
var b = (T, u, e) => P(T, typeof u != "symbol" ? u + "" : u, e);
|
|
4
4
|
import { UEAttr as C, ModificationDescription as d } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
|
-
import { CommonControl as
|
|
5
|
+
import { CommonControl as D } from "../../common-control.js";
|
|
6
6
|
import { ItemsBlockId as m } from "../enums/controlEnums.js";
|
|
7
|
-
import { productPairs as p } from "../enums/productEnums.js";
|
|
8
|
-
import { ItemTypeOptions as R, OrientationOptions as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { useItemsBlockStore as
|
|
12
|
-
import { getDefaultTemplate as
|
|
7
|
+
import { productPairs as p, templateFirstLine as A } from "../enums/productEnums.js";
|
|
8
|
+
import { ItemTypeOptions as R, OrientationOptions as x, ItemInCartOptions as g, SETTINGS_ENUMS as S } from "../enums/settingsEnums.js";
|
|
9
|
+
import L from "../layouts/horizontal.html.js";
|
|
10
|
+
import H from "../layouts/vertical.html.js";
|
|
11
|
+
import { useItemsBlockStore as U } from "../store/items-block.js";
|
|
12
|
+
import { getDefaultTemplate as F } from "../template.js";
|
|
13
|
+
import { syncCurrencySymbolFromAttributes as $, syncCurrencyLocationFromAttributes as k, syncFormattedPriceFromAttributes as q } from "../utils/syncAttributesFromConfigBlock.js";
|
|
13
14
|
import { updateConfigBlockAttributes as f } from "../utils/updateAttributes.js";
|
|
14
|
-
const
|
|
15
|
+
const w = "ui-elements-items-block", s = {
|
|
15
16
|
ITEMS_TYPE: "itemsType",
|
|
16
17
|
ORIENTATION: "orientation",
|
|
17
18
|
ITEM_IDS: "itemIds"
|
|
18
19
|
};
|
|
19
|
-
class
|
|
20
|
+
class Z extends D {
|
|
20
21
|
constructor() {
|
|
21
22
|
super(...arguments);
|
|
22
|
-
b(this, "store",
|
|
23
|
+
b(this, "store", U());
|
|
23
24
|
}
|
|
24
25
|
getId() {
|
|
25
|
-
return
|
|
26
|
+
return w;
|
|
26
27
|
}
|
|
27
28
|
getTemplate() {
|
|
28
29
|
return `
|
|
@@ -41,11 +42,18 @@ class W extends P {
|
|
|
41
42
|
}), this._listenToFormUpdates();
|
|
42
43
|
}
|
|
43
44
|
onTemplateNodeUpdated(e) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
|
|
46
|
+
() => {
|
|
47
|
+
$(this.currentNode), k(this.currentNode), q(this.currentNode);
|
|
48
|
+
},
|
|
49
|
+
() => {
|
|
50
|
+
this.api.updateValues({
|
|
51
|
+
[s.ORIENTATION]: this.store.orientation,
|
|
52
|
+
[s.ITEMS_TYPE]: this.store.itemsType,
|
|
53
|
+
[s.ITEM_IDS]: this.store.itemIds
|
|
54
|
+
}), this._initializeSelectItems();
|
|
55
|
+
}
|
|
56
|
+
);
|
|
49
57
|
}
|
|
50
58
|
onDestroy() {
|
|
51
59
|
const e = this._getTemplateData();
|
|
@@ -70,7 +78,7 @@ class W extends P {
|
|
|
70
78
|
this._GuLabel({ text: "Orientation" }),
|
|
71
79
|
this._GuRadioButton({
|
|
72
80
|
name: s.ORIENTATION,
|
|
73
|
-
buttons:
|
|
81
|
+
buttons: x
|
|
74
82
|
})
|
|
75
83
|
])}
|
|
76
84
|
`;
|
|
@@ -92,7 +100,7 @@ class W extends P {
|
|
|
92
100
|
console.debug("Orientation changed to: ", e), this.store.setOrientation(e), this.api.updateValues({ [s.ORIENTATION]: e }), f(this.currentNode, this.api), this._reOrderTemplate(), this._recalculateTrimming();
|
|
93
101
|
}
|
|
94
102
|
_onItemsTypeChange(e, i) {
|
|
95
|
-
const { itemIds: t } = this.store, r = S.ITEMS_TYPE[e], n =
|
|
103
|
+
const { itemIds: t } = this.store, r = S.ITEMS_TYPE[e], n = g[i].findIndex((a) => a.value === t), o = g[e][n];
|
|
96
104
|
r && (this.store.setItemsType(r), this.store.setItemIds(o.value), f(this.currentNode, this.api), this._updateDataTypeAttributes(r), this._initializeSelectItems(), this._reFillTemplate());
|
|
97
105
|
}
|
|
98
106
|
_onItemIdsChange(e) {
|
|
@@ -108,7 +116,7 @@ class W extends P {
|
|
|
108
116
|
this.api.updateValues({
|
|
109
117
|
[s.ITEMS_TYPE]: e
|
|
110
118
|
});
|
|
111
|
-
const t =
|
|
119
|
+
const t = g[e];
|
|
112
120
|
this.api.setUIEAttribute(
|
|
113
121
|
s.ITEM_IDS,
|
|
114
122
|
C.SELECTPICKER.items,
|
|
@@ -138,7 +146,7 @@ class W extends P {
|
|
|
138
146
|
currencyLocation: n,
|
|
139
147
|
formattedPrice: o
|
|
140
148
|
} = this.store;
|
|
141
|
-
this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(
|
|
149
|
+
this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(F({
|
|
142
150
|
orientation: e,
|
|
143
151
|
itemsType: i,
|
|
144
152
|
itemId: t,
|
|
@@ -148,7 +156,7 @@ class W extends P {
|
|
|
148
156
|
})).apply(new d("Updated template"));
|
|
149
157
|
}
|
|
150
158
|
_getTemplateData() {
|
|
151
|
-
const { itemsType: e, itemIds: i, formattedPrice: t } = this.store, r =
|
|
159
|
+
const { itemsType: e, itemIds: i, formattedPrice: t } = this.store, r = g[e].findIndex((o) => o.value === i), n = r > -1 ? r : 0;
|
|
152
160
|
return {
|
|
153
161
|
imageSrc: p.PAIRS_FOR_EXTENSION.imageSrc[e].DEFAULT[n],
|
|
154
162
|
name: p.PAIRS_FOR_EXTENSION.name[e].DEFAULT[n],
|
|
@@ -173,8 +181,8 @@ class W extends P {
|
|
|
173
181
|
r = r.replace(t, e), this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(r).apply(new d("Updated name"));
|
|
174
182
|
}
|
|
175
183
|
_updatePrice(e) {
|
|
176
|
-
var
|
|
177
|
-
const i = (
|
|
184
|
+
var E;
|
|
185
|
+
const i = (E = this.currentNode) == null ? void 0 : E.querySelector(`[esd-extension-block-id="${m.PRICE}"]`);
|
|
178
186
|
if (!i)
|
|
179
187
|
return;
|
|
180
188
|
const t = this._getParagraphFromBlock(i);
|
|
@@ -184,8 +192,8 @@ class W extends P {
|
|
|
184
192
|
this.api.getDocumentModifier().modifyHtml(t).setInnerHtml(_).apply(new d("Updated price"));
|
|
185
193
|
}
|
|
186
194
|
_updateOriginalPrice(e) {
|
|
187
|
-
var
|
|
188
|
-
const i = (
|
|
195
|
+
var y;
|
|
196
|
+
const i = (y = this.currentNode) == null ? void 0 : y.querySelector(
|
|
189
197
|
`[esd-extension-block-id="${m.ORIGINAL_PRICE}"]`
|
|
190
198
|
);
|
|
191
199
|
if (!i)
|
|
@@ -217,16 +225,20 @@ class W extends P {
|
|
|
217
225
|
let r = i.getInnerHTML();
|
|
218
226
|
r = r.replace(t, e), this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(r).apply(new d("Updated button"));
|
|
219
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* @todo Optimize template reordering for performance.
|
|
230
|
+
* @description Reorders the template structure based on current orientation and visibility settings.
|
|
231
|
+
*/
|
|
220
232
|
_reOrderTemplate() {
|
|
221
|
-
var I, h, _,
|
|
222
|
-
const e = (I = this.currentNode) == null ? void 0 : I.querySelector(`[esd-extension-block-id="${m.IMAGE}"]`), i = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${m.NAME}"]`), t = (_ = this.currentNode) == null ? void 0 : _.querySelector(`[esd-extension-block-id="${m.PRICE}"]`), r = (
|
|
233
|
+
var I, h, _, E, N, y, O;
|
|
234
|
+
const e = (I = this.currentNode) == null ? void 0 : I.querySelector(`[esd-extension-block-id="${m.IMAGE}"]`), i = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${m.NAME}"]`), t = (_ = this.currentNode) == null ? void 0 : _.querySelector(`[esd-extension-block-id="${m.PRICE}"]`), r = (E = this.currentNode) == null ? void 0 : E.querySelector(
|
|
223
235
|
`[esd-extension-block-id="${m.ORIGINAL_PRICE}"]`
|
|
224
|
-
), n = (N = this.currentNode) == null ? void 0 : N.querySelector(`[esd-extension-block-id="${m.QUANTITY}"]`), o = (
|
|
236
|
+
), n = (N = this.currentNode) == null ? void 0 : N.querySelector(`[esd-extension-block-id="${m.QUANTITY}"]`), o = (y = this.currentNode) == null ? void 0 : y.querySelector(`[esd-extension-block-id="${m.BUTTON}"]`), a = (O = this.currentNode) == null ? void 0 : O.querySelector("esd-config-block");
|
|
225
237
|
if (!e || !i || !t || !r || !n || !o || !a)
|
|
226
238
|
return;
|
|
227
239
|
const { orientation: l } = this.store;
|
|
228
|
-
let c = l === S.ORIENTATION.VERTICAL ?
|
|
229
|
-
c = c.replace("{-{-PRODUCT_IMAGE-}-}", e.getOuterHTML()).replace("{-{-PRODUCT_NAME-}-}", i.getOuterHTML()).replace("{-{-PRODUCT_PRICE-}-}", t.getOuterHTML()).replace("{-{-PRODUCT_ORIGINAL_PRICE-}-}", r.getOuterHTML()).replace("{-{-PRODUCT_QUANTITY-}-}", n.getOuterHTML()).replace("{-{-PRODUCT_BUTTON-}-}", o.getOuterHTML()).replace("{-{-CONFIG_BLOCK-}-}", a.getOuterHTML()), c = c.trim().replace(
|
|
240
|
+
let c = l === S.ORIENTATION.VERTICAL ? H : L;
|
|
241
|
+
c = c.replace("{-{-TEMPLATE_FIRST_LINE-}-}", A).replace("{-{-PRODUCT_IMAGE-}-}", e.getOuterHTML()).replace("{-{-PRODUCT_NAME-}-}", i.getOuterHTML()).replace("{-{-PRODUCT_PRICE-}-}", t.getOuterHTML()).replace("{-{-PRODUCT_ORIGINAL_PRICE-}-}", r.getOuterHTML()).replace("{-{-PRODUCT_QUANTITY-}-}", n.getOuterHTML()).replace("{-{-PRODUCT_BUTTON-}-}", o.getOuterHTML()).replace("{-{-CONFIG_BLOCK-}-}", a.getOuterHTML()), c = c.trim().replace(A, "").slice(0, -5), this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(c).apply(new d("Reordered template"));
|
|
230
242
|
}
|
|
231
243
|
_updateDataTypeAttributes(e) {
|
|
232
244
|
if (!this.currentNode)
|
|
@@ -240,7 +252,7 @@ class W extends P {
|
|
|
240
252
|
_updateDataNumberAttributes(e) {
|
|
241
253
|
if (!this.currentNode)
|
|
242
254
|
return;
|
|
243
|
-
const { itemsType: i } = this.store, t =
|
|
255
|
+
const { itemsType: i } = this.store, t = g[i].findIndex((l) => l.value === e);
|
|
244
256
|
let r = "1";
|
|
245
257
|
if (t >= 0)
|
|
246
258
|
r = String(t + 1);
|
|
@@ -304,6 +316,6 @@ class W extends P {
|
|
|
304
316
|
}
|
|
305
317
|
}
|
|
306
318
|
export {
|
|
307
|
-
|
|
308
|
-
|
|
319
|
+
w as CONTROL_BLOCK_ID,
|
|
320
|
+
Z as ItemsBlockControl
|
|
309
321
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import _ from "../../../../node_modules/lodash-es/flatMap.js";
|
|
2
|
+
import i from "../../../../node_modules/lodash-es/range.js";
|
|
3
|
+
const o = '<td align="center" class="ins-product-td items-block items-block-v2">', R = {
|
|
2
4
|
TYPE: "data-type",
|
|
3
5
|
ITEMS_INDEX_SELECT_CONTROL_VALUE: "data-cart_items_select_control_value",
|
|
4
6
|
ORIENTATION: "data-card_orientation_control_value",
|
|
@@ -22,7 +24,7 @@ const e = {
|
|
|
22
24
|
PRODUCT_PRICE_VISIBLE: "data-product_price_visible",
|
|
23
25
|
PRODUCT_ORIGINAL_PRICE_VISIBLE: "data-product_original_price_visible",
|
|
24
26
|
PRODUCT_BUTTON_VISIBLE: "data-product_button_visible"
|
|
25
|
-
},
|
|
27
|
+
}, t = { PAIRS_FOR_EXTENSION: {
|
|
26
28
|
imageSrc: {
|
|
27
29
|
CART_ITEMS: {
|
|
28
30
|
ATTR: "ins_apr_img",
|
|
@@ -209,7 +211,63 @@ const e = {
|
|
|
209
211
|
}
|
|
210
212
|
}
|
|
211
213
|
} };
|
|
214
|
+
function m(e, a = 8) {
|
|
215
|
+
return i(1, a + 1).map((s) => `${e}_${s}`);
|
|
216
|
+
}
|
|
217
|
+
function E() {
|
|
218
|
+
const { PAIRS_FOR_EXTENSION: e } = t, a = [];
|
|
219
|
+
return a.push(
|
|
220
|
+
e.imageSrc.CART_ITEMS.ATTR,
|
|
221
|
+
e.imageSrc.BROWSED_ITEMS.ATTR,
|
|
222
|
+
e.imageSrc.PURCHASED_ITEMS.ATTR
|
|
223
|
+
), a.push(
|
|
224
|
+
e.name.CART_ITEMS.ATTR,
|
|
225
|
+
e.name.CART_ITEMS.HREF,
|
|
226
|
+
e.name.BROWSED_ITEMS.ATTR,
|
|
227
|
+
e.name.BROWSED_ITEMS.HREF,
|
|
228
|
+
e.name.PURCHASED_ITEMS.ATTR,
|
|
229
|
+
e.name.PURCHASED_ITEMS.HREF
|
|
230
|
+
), a.push(
|
|
231
|
+
e.quantity.CART_ITEMS.ATTR,
|
|
232
|
+
e.quantity.BROWSED_ITEMS.ATTR,
|
|
233
|
+
e.quantity.PURCHASED_ITEMS.ATTR
|
|
234
|
+
), a.push(
|
|
235
|
+
e.price.CART_ITEMS.PRICE,
|
|
236
|
+
e.price.CART_ITEMS.PRICE_FORMATTED,
|
|
237
|
+
e.price.CART_ITEMS.CURRENCY,
|
|
238
|
+
e.price.BROWSED_ITEMS.PRICE,
|
|
239
|
+
e.price.BROWSED_ITEMS.PRICE_FORMATTED,
|
|
240
|
+
e.price.BROWSED_ITEMS.CURRENCY,
|
|
241
|
+
e.price.PURCHASED_ITEMS.PRICE,
|
|
242
|
+
e.price.PURCHASED_ITEMS.PRICE_FORMATTED,
|
|
243
|
+
e.price.PURCHASED_ITEMS.CURRENCY
|
|
244
|
+
), a.push(
|
|
245
|
+
e.originalPrice.CART_ITEMS.PRICE,
|
|
246
|
+
e.originalPrice.CART_ITEMS.PRICE_FORMATTED,
|
|
247
|
+
e.originalPrice.CART_ITEMS.CURRENCY,
|
|
248
|
+
e.originalPrice.BROWSED_ITEMS.PRICE,
|
|
249
|
+
e.originalPrice.BROWSED_ITEMS.PRICE_FORMATTED,
|
|
250
|
+
e.originalPrice.BROWSED_ITEMS.CURRENCY,
|
|
251
|
+
e.originalPrice.PURCHASED_ITEMS.PRICE,
|
|
252
|
+
e.originalPrice.PURCHASED_ITEMS.PRICE_FORMATTED,
|
|
253
|
+
e.originalPrice.PURCHASED_ITEMS.CURRENCY
|
|
254
|
+
), a.push(
|
|
255
|
+
e.button.CART_ITEMS.HREF,
|
|
256
|
+
e.button.BROWSED_ITEMS.HREF,
|
|
257
|
+
e.button.PURCHASED_ITEMS.HREF
|
|
258
|
+
), a.push(
|
|
259
|
+
e.itemLink.CART_ITEMS.HREF,
|
|
260
|
+
e.itemLink.BROWSED_ITEMS.HREF,
|
|
261
|
+
e.itemLink.PURCHASED_ITEMS.HREF
|
|
262
|
+
), a;
|
|
263
|
+
}
|
|
264
|
+
const p = _(
|
|
265
|
+
E(),
|
|
266
|
+
(e) => m(e)
|
|
267
|
+
);
|
|
212
268
|
export {
|
|
213
|
-
|
|
214
|
-
|
|
269
|
+
R as configAttributes,
|
|
270
|
+
p as itemsBlockDynamicVariables,
|
|
271
|
+
t as productPairs,
|
|
272
|
+
o as templateFirstLine
|
|
215
273
|
};
|