@useinsider/guido 3.27.0-beta.3e42e7a → 3.27.0
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/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +46 -45
- package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +5 -5
- package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +15 -15
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +6 -6
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +28 -27
- package/dist/components/organisms/onboarding/RecommendationLegacyStrategyOnboarding.vue.js +3 -3
- package/dist/components/organisms/onboarding/RecommendationLegacyStrategyOnboarding.vue2.js +42 -27
- package/dist/composables/useCustomInterfaceAppearance.js +50 -50
- package/dist/composables/useFullStoryBridge.js +10 -9
- package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +14 -14
- package/dist/extensions/Blocks/Recommendation/controls/main/strategy.js +52 -40
- package/dist/extensions/Blocks/Recommendation/controls/syncInfoMessage.js +15 -15
- package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +17 -15
- package/dist/extensions/Blocks/common-control.js +25 -25
- package/dist/extensions/DynamicContent/dynamic-content.js +15 -17
- package/dist/guido.css +1 -1
- package/dist/package.json.js +4 -4
- package/dist/src/extensions/Blocks/Recommendation/controls/main/strategy.d.ts +2 -0
- package/dist/src/extensions/Blocks/common-control.d.ts +1 -1
- package/dist/src/stores/onboarding.d.ts +1 -0
- package/dist/src/utils/editorShadowRoot.d.ts +1 -0
- package/dist/stores/onboarding.js +4 -1
- package/dist/utils/editorShadowRoot.js +8 -0
- package/package.json +10 -2
- package/dist/src/extensions/Blocks/_Boilerplate/block.d.ts +0 -11
- package/dist/src/extensions/Blocks/_Boilerplate/constants/controlIds.d.ts +0 -7
- package/dist/src/extensions/Blocks/_Boilerplate/constants/index.d.ts +0 -10
- package/dist/src/extensions/Blocks/_Boilerplate/constants/selectors.d.ts +0 -16
- package/dist/src/extensions/Blocks/_Boilerplate/control.d.ts +0 -17
- package/dist/src/extensions/Blocks/_Boilerplate/controls/blockBackground/index.d.ts +0 -15
- package/dist/src/extensions/Blocks/_Boilerplate/extension.d.ts +0 -2
- package/dist/src/extensions/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -4
- package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +0 -4
- package/dist/src/extensions/Blocks/_Boilerplate/template.d.ts +0 -6
|
@@ -1,44 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import
|
|
1
|
+
import S from "../static/assets/icons/filled-arrow-rising.svg.js";
|
|
2
|
+
import p from "../static/assets/icons/line-change.svg.js";
|
|
3
|
+
import s from "../static/assets/icons/line-delete.svg.js";
|
|
4
|
+
import f from "../static/assets/icons/line-info.svg.js";
|
|
5
|
+
import a from "../static/assets/icons/line-plus.svg.js";
|
|
6
|
+
import c from "../static/styles/base.css.js";
|
|
7
|
+
import l from "../static/styles/components/accessibility.css.js";
|
|
8
|
+
import C from "../static/styles/components/alert-message.css.js";
|
|
9
|
+
import d from "../static/styles/components/amp-block.css.js";
|
|
10
|
+
import u from "../static/styles/components/base-input.css.js";
|
|
11
|
+
import h from "../static/styles/components/button-group.css.js";
|
|
12
|
+
import I from "../static/styles/components/button.css.js";
|
|
13
|
+
import g from "../static/styles/components/combobox.css.js";
|
|
14
|
+
import w from "../static/styles/components/counter.css.js";
|
|
15
|
+
import y from "../static/styles/components/dropdown-menu.css.js";
|
|
16
|
+
import A from "../static/styles/components/loader.css.js";
|
|
17
|
+
import $ from "../static/styles/components/narrow-panel.css.js";
|
|
18
|
+
import b from "../static/styles/components/popup.css.js";
|
|
19
|
+
import B from "../static/styles/components/recommendation-strategy.css.js";
|
|
20
|
+
import D from "../static/styles/components/skeleton.css.js";
|
|
21
|
+
import R from "../static/styles/components/switcher.css.js";
|
|
22
|
+
import P from "../static/styles/components/tabs.css.js";
|
|
23
|
+
import T from "../static/styles/components/tools.css.js";
|
|
24
|
+
import x from "../static/styles/components/version-history.css.js";
|
|
25
|
+
import E from "../static/styles/components/wide-panel.css.js";
|
|
26
|
+
import M from "../static/styles/variables.css.js";
|
|
27
|
+
import { findEditorShadowRoot as O } from "../utils/editorShadowRoot.js";
|
|
27
28
|
function o(i, r) {
|
|
28
29
|
return `--guido-icon-${i}: url("data:image/svg+xml,${encodeURIComponent(r.trim())}");`;
|
|
29
30
|
}
|
|
30
|
-
const
|
|
31
|
-
${o("line-change",
|
|
32
|
-
${o("line-delete",
|
|
33
|
-
${o("filled-arrow-rising",
|
|
34
|
-
${o("line-info",
|
|
35
|
-
${o("line-plus",
|
|
36
|
-
}`,
|
|
37
|
-
|
|
31
|
+
const V = `:host {
|
|
32
|
+
${o("line-change", p)}
|
|
33
|
+
${o("line-delete", s)}
|
|
34
|
+
${o("filled-arrow-rising", S)}
|
|
35
|
+
${o("line-info", f)}
|
|
36
|
+
${o("line-plus", a)}
|
|
37
|
+
}`, W = [
|
|
38
|
+
M,
|
|
38
39
|
// Must be on top
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
V,
|
|
41
|
+
c,
|
|
41
42
|
// Must be on top
|
|
43
|
+
C,
|
|
42
44
|
d,
|
|
43
45
|
u,
|
|
44
46
|
h,
|
|
@@ -49,34 +51,32 @@ const W = `:host {
|
|
|
49
51
|
A,
|
|
50
52
|
$,
|
|
51
53
|
b,
|
|
52
|
-
|
|
54
|
+
D,
|
|
53
55
|
R,
|
|
54
56
|
P,
|
|
55
57
|
T,
|
|
56
58
|
x,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
C
|
|
59
|
+
E,
|
|
60
|
+
B,
|
|
61
|
+
l
|
|
61
62
|
].join(`
|
|
62
63
|
|
|
63
|
-
`),
|
|
64
|
+
`), _ = 3e4;
|
|
64
65
|
let e = null;
|
|
65
|
-
function
|
|
66
|
-
return e || (e = new CSSStyleSheet(), e.replaceSync(
|
|
66
|
+
function k() {
|
|
67
|
+
return e || (e = new CSSStyleSheet(), e.replaceSync(W)), e;
|
|
67
68
|
}
|
|
68
|
-
const
|
|
69
|
-
const r =
|
|
70
|
-
|
|
71
|
-
const t = (n = document.querySelector("ui-editor")) == null ? void 0 : n.shadowRoot;
|
|
69
|
+
const ao = () => ({ importCss: () => {
|
|
70
|
+
const r = k(), n = Date.now() + _, m = () => {
|
|
71
|
+
const t = O();
|
|
72
72
|
if (t) {
|
|
73
73
|
t.adoptedStyleSheets.includes(r) || (t.adoptedStyleSheets = [...t.adoptedStyleSheets, r]);
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
|
-
Date.now() <
|
|
76
|
+
Date.now() < n && requestAnimationFrame(m);
|
|
77
77
|
};
|
|
78
78
|
m();
|
|
79
79
|
} });
|
|
80
80
|
export {
|
|
81
|
-
|
|
81
|
+
ao as useCustomInterfaceAppearance
|
|
82
82
|
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { findEditorShadowRoot as i } from "../utils/editorShadowRoot.js";
|
|
1
2
|
import { FULLSTORY_BRIDGE_SCRIPT_URL as s } from "../utils/fullStoryScripts.js";
|
|
2
|
-
const
|
|
3
|
-
var
|
|
4
|
-
const
|
|
5
|
-
if (typeof
|
|
3
|
+
const d = () => ({ injectFullStory: () => {
|
|
4
|
+
var n;
|
|
5
|
+
const e = window;
|
|
6
|
+
if (typeof e._fs_org != "string" || !e._fs_org)
|
|
6
7
|
return;
|
|
7
|
-
const
|
|
8
|
-
if (!
|
|
8
|
+
const o = (n = i()) == null ? void 0 : n.querySelector("iframe"), t = o == null ? void 0 : o.contentDocument;
|
|
9
|
+
if (!t || t.querySelector('script[data-fullstory-bridge="true"]'))
|
|
9
10
|
return;
|
|
10
|
-
const
|
|
11
|
-
|
|
11
|
+
const r = t.createElement("script");
|
|
12
|
+
r.src = s, r.async = !0, r.crossOrigin = "anonymous", r.dataset.fullstoryBridge = "true", t.head.appendChild(r);
|
|
12
13
|
} });
|
|
13
14
|
export {
|
|
14
|
-
|
|
15
|
+
d as useFullStoryBridge
|
|
15
16
|
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var r = (i, e, t) =>
|
|
4
|
-
import { CommonControl as
|
|
5
|
-
import { useRecommendationExtensionStore as
|
|
6
|
-
const
|
|
1
|
+
var o = Object.defineProperty;
|
|
2
|
+
var s = (i, e, t) => e in i ? o(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
|
|
3
|
+
var r = (i, e, t) => s(i, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
+
import { CommonControl as l } from "../../../common-control.js";
|
|
5
|
+
import { useRecommendationExtensionStore as d } from "../../store/recommendation.js";
|
|
6
|
+
const a = "recommendation-filters-control", u = {
|
|
7
7
|
FILTERS: "filterStatus"
|
|
8
8
|
};
|
|
9
|
-
class
|
|
9
|
+
class m extends l {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
-
r(this, "store",
|
|
12
|
+
r(this, "store", d());
|
|
13
13
|
r(this, "addFilterListener", () => {
|
|
14
14
|
});
|
|
15
15
|
r(this, "addFilterButton", null);
|
|
16
16
|
}
|
|
17
17
|
getId() {
|
|
18
|
-
return
|
|
18
|
+
return a;
|
|
19
19
|
}
|
|
20
20
|
getTemplate() {
|
|
21
21
|
return `
|
|
@@ -23,7 +23,7 @@ class h extends s {
|
|
|
23
23
|
${this._GuTwoColumns([
|
|
24
24
|
this._GuLabel({ text: this.api.translate("Filters") }),
|
|
25
25
|
this._GuButton({
|
|
26
|
-
name:
|
|
26
|
+
name: u.FILTERS,
|
|
27
27
|
label: this.api.translate("Add Filter"),
|
|
28
28
|
id: "guido__btn-add-filter"
|
|
29
29
|
})
|
|
@@ -42,11 +42,11 @@ class h extends s {
|
|
|
42
42
|
this.store.openFilterDrawer();
|
|
43
43
|
}
|
|
44
44
|
_setupButtonListener() {
|
|
45
|
-
var t;
|
|
46
|
-
this.addFilterListener = this._onFilterSelectClick.bind(this), this.addFilterButton = this.getContainer().querySelector("#guido__btn-add-filter"), (
|
|
45
|
+
var t, n;
|
|
46
|
+
this.addFilterListener = this._onFilterSelectClick.bind(this), this.addFilterButton = (t = this.getContainer()) == null ? void 0 : t.querySelector("#guido__btn-add-filter"), (n = this.addFilterButton) == null || n.addEventListener("click", this.addFilterListener);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
export {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
a as FILTERS_CONTROL_ID,
|
|
51
|
+
m as FiltersControl
|
|
52
52
|
};
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
var
|
|
2
|
-
var N = (
|
|
3
|
-
var
|
|
4
|
-
import { useLegacyStrategyConversion as
|
|
5
|
-
import { ACADEMY_LINKS as
|
|
6
|
-
import { useOnboardingStore as
|
|
1
|
+
var A = Object.defineProperty;
|
|
2
|
+
var N = (g, o, t) => o in g ? A(g, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : g[o] = t;
|
|
3
|
+
var r = (g, o, t) => N(g, typeof o != "symbol" ? o + "" : o, t);
|
|
4
|
+
import { useLegacyStrategyConversion as O } from "../../../../../composables/useLegacyStrategyConversion.js";
|
|
5
|
+
import { ACADEMY_LINKS as w } from "../../../../../enums/academy.js";
|
|
6
|
+
import { useOnboardingStore as $ } from "../../../../../stores/onboarding.js";
|
|
7
7
|
import { CommonControl as R } from "../../../common-control.js";
|
|
8
8
|
import { RRS_CONFIG_VERSION as E } from "../../constants/defaultConfig.js";
|
|
9
|
-
import { RecommendationConfigService as
|
|
10
|
-
import { useRecommendationExtensionStore as
|
|
11
|
-
const
|
|
12
|
-
class
|
|
9
|
+
import { RecommendationConfigService as k } from "../../services/configService.js";
|
|
10
|
+
import { useRecommendationExtensionStore as I } from "../../store/recommendation.js";
|
|
11
|
+
const q = "recommendation-strategy-control", y = "recommendationLegacyStrategyOnboarding";
|
|
12
|
+
class Y extends R {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
r(this, "store", I());
|
|
16
|
+
r(this, "onboardingStore", $());
|
|
17
|
+
r(this, "legacyConversion", O());
|
|
18
|
+
r(this, "storeUnsubscription", () => {
|
|
19
19
|
});
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
r(this, "listeners", []);
|
|
21
|
+
r(this, "lastPaintedState", null);
|
|
22
22
|
}
|
|
23
23
|
getId() {
|
|
24
|
-
return
|
|
24
|
+
return q;
|
|
25
25
|
}
|
|
26
26
|
getTemplate() {
|
|
27
27
|
const t = this.api.translate(
|
|
28
28
|
"You can assign a recommendation strategy by selecting an existing one or creating a new one to show specific content."
|
|
29
|
-
), e = this.api.translate("For more information, you can"), a = this.api.translate("visit Academy"),
|
|
29
|
+
), e = this.api.translate("For more information, you can"), a = this.api.translate("visit Academy"), i = this.api.translate("Legacy Strategy"), s = this.api.translate(
|
|
30
30
|
"Note that this is an older version of the Recommendation Strategy. We recommend you update it to the new Recommendation Strategy for an improved experience."
|
|
31
|
-
),
|
|
31
|
+
), l = this.api.translate(
|
|
32
32
|
"The recommendation strategy used in the recommendation block is no longer available. You can assign a different strategy to it."
|
|
33
33
|
);
|
|
34
34
|
return `
|
|
@@ -54,7 +54,7 @@ class P extends R {
|
|
|
54
54
|
${t}
|
|
55
55
|
${e}
|
|
56
56
|
<a
|
|
57
|
-
href="${
|
|
57
|
+
href="${w.EMAIL_RECOMMENDATION_BLOCK}"
|
|
58
58
|
target="_blank"
|
|
59
59
|
rel="noopener noreferrer">${a}</a>.
|
|
60
60
|
</p>
|
|
@@ -78,7 +78,7 @@ class P extends R {
|
|
|
78
78
|
<div data-strategy-unavailable-state style="display: none;">
|
|
79
79
|
<div class="strategy-control-notice-row">
|
|
80
80
|
<div class="strategy-control-notice strategy-control-notice--error" role="alert">
|
|
81
|
-
<p class="strategy-control-notice-text">${
|
|
81
|
+
<p class="strategy-control-notice-text">${l}</p>
|
|
82
82
|
</div>
|
|
83
83
|
</div>
|
|
84
84
|
${this._GuTwoColumns([
|
|
@@ -103,7 +103,7 @@ class P extends R {
|
|
|
103
103
|
</div>
|
|
104
104
|
</div>
|
|
105
105
|
<div class="strategy-control-name-band">
|
|
106
|
-
<span class="strategy-control-name">${
|
|
106
|
+
<span class="strategy-control-name">${i}</span>
|
|
107
107
|
${this._strategyAction({
|
|
108
108
|
id: "guido__btn-update-legacy-strategy",
|
|
109
109
|
label: this.api.translate("Update"),
|
|
@@ -170,13 +170,15 @@ class P extends R {
|
|
|
170
170
|
* strategyId) for an assigned block.
|
|
171
171
|
*/
|
|
172
172
|
_isNodeUnassigned() {
|
|
173
|
-
if (!
|
|
173
|
+
if (!k.hasConfig(this.currentNode))
|
|
174
174
|
return !1;
|
|
175
|
-
const t =
|
|
175
|
+
const t = k.getConfig(this.currentNode);
|
|
176
176
|
return !t.strategyId && (t.configVersion ?? 0) >= E;
|
|
177
177
|
}
|
|
178
178
|
onDestroy() {
|
|
179
|
-
this._teardown()
|
|
179
|
+
this._teardown(), requestAnimationFrame(() => {
|
|
180
|
+
this.store.strategyPanelOpen || this._closeLegacyOnboarding();
|
|
181
|
+
});
|
|
180
182
|
}
|
|
181
183
|
_teardown() {
|
|
182
184
|
this.store.strategyPanelOpen = !1, this.storeUnsubscription(), this.storeUnsubscription = () => {
|
|
@@ -186,37 +188,47 @@ class P extends R {
|
|
|
186
188
|
const t = this.getContainer();
|
|
187
189
|
if (!t)
|
|
188
190
|
return;
|
|
189
|
-
const e = (a,
|
|
191
|
+
const e = (a, i) => {
|
|
190
192
|
const s = t.querySelector(a);
|
|
191
|
-
s && (s.addEventListener("click",
|
|
193
|
+
s && (s.addEventListener("click", i), this.listeners.push({ element: s, handler: i }));
|
|
192
194
|
};
|
|
193
195
|
e("#guido__btn-assign-strategy", () => this.store.openAssignStrategyDrawer()), e("#guido__btn-create-strategy", () => this.store.openStrategyCreation()), e("#guido__btn-assign-unavailable-strategy", () => this.store.openAssignStrategyDrawer()), e("#guido__btn-create-unavailable-strategy", () => this.store.openStrategyCreation()), e("#guido__btn-change-strategy", () => this.store.openAssignStrategyDrawer()), e("#guido__btn-change-legacy-strategy", () => this.store.openAssignStrategyDrawer()), e("#guido__btn-remove-strategy", () => this.store.openRemoveStrategyModal()), e("#guido__btn-remove-legacy-strategy", () => this.store.openRemoveStrategyModal()), e("#guido__btn-update-legacy-strategy", () => {
|
|
194
196
|
this.legacyConversion.convertLegacyStrategy();
|
|
195
197
|
});
|
|
196
198
|
}
|
|
199
|
+
_closeLegacyOnboarding() {
|
|
200
|
+
this.onboardingStore.isActive(y) && this.onboardingStore.resetOnboarding(y);
|
|
201
|
+
}
|
|
202
|
+
_syncLegacyOnboarding(t) {
|
|
203
|
+
if (!t) {
|
|
204
|
+
this._closeLegacyOnboarding();
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
this.onboardingStore.closedThisSession.includes(y) || this.onboardingStore.startOnboarding(y);
|
|
208
|
+
}
|
|
197
209
|
_renderState() {
|
|
198
|
-
var
|
|
199
|
-
const { strategyId: t } = this.store.recommendationConfigs, e = t ? ((
|
|
200
|
-
if (
|
|
210
|
+
var L;
|
|
211
|
+
const { strategyId: t } = this.store.recommendationConfigs, e = t ? ((L = this.store.assignedStrategy) == null ? void 0 : L.name) ?? "" : "", a = !!t && !e && (this.store.strategiesLoading || !this.store.strategiesSettled), i = !!t && !e && !a && this.store.strategiesFetched, s = this.store.legacyConversionLoading, l = this.store.isLegacyStrategyBlock, v = [t, e, a, i, s, l].join("\0");
|
|
212
|
+
if (v === this.lastPaintedState)
|
|
201
213
|
return;
|
|
202
214
|
const n = this.getContainer();
|
|
203
215
|
if (!n)
|
|
204
216
|
return;
|
|
205
|
-
const
|
|
206
|
-
if (!
|
|
217
|
+
const h = n.querySelector("[data-strategy-empty-state]"), u = n.querySelector("[data-strategy-assigned-state]"), c = n.querySelector("[data-strategy-legacy-state]"), m = n.querySelector("[data-strategy-unavailable-state]"), b = n.querySelector("[data-strategy-loading-state]"), _ = n.querySelector("[data-strategy-content]"), p = n.querySelector("[data-strategy-name]"), S = n.querySelector("[data-strategy-name-skeleton]");
|
|
218
|
+
if (!h || !u || !c || !m)
|
|
207
219
|
return;
|
|
208
|
-
|
|
209
|
-
const
|
|
210
|
-
[
|
|
211
|
-
d.style.display = d ===
|
|
220
|
+
b && (b.style.display = "none"), _ && (_.style.display = "");
|
|
221
|
+
const f = t ? i ? m : u : l ? c : h;
|
|
222
|
+
[h, u, c, m].forEach((d) => {
|
|
223
|
+
d.style.display = d === f ? "" : "none";
|
|
212
224
|
}), c.querySelectorAll("button").forEach((d) => {
|
|
213
225
|
d.disabled = s;
|
|
214
226
|
}), c.classList.toggle("is-converting", s), !t && this._isNodeUnassigned() && this.onboardingStore.startOnboarding("recommendationStrategyOnboarding");
|
|
215
|
-
const
|
|
216
|
-
|
|
227
|
+
const C = this.store.currentRecommendationId;
|
|
228
|
+
C !== null && this.store.blockStates[C] && this._syncLegacyOnboarding(f === c), p && (p.style.display = a ? "none" : "", t && !a && (p.textContent = e || `#${t}`)), S && (S.style.display = a ? "block" : "none"), this.lastPaintedState = v;
|
|
217
229
|
}
|
|
218
230
|
}
|
|
219
231
|
export {
|
|
220
|
-
|
|
221
|
-
|
|
232
|
+
q as STRATEGY_CONTROL_ID,
|
|
233
|
+
Y as StrategyControl
|
|
222
234
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
var m = Object.defineProperty;
|
|
2
|
-
var p = (o,
|
|
3
|
-
var a = (o,
|
|
2
|
+
var p = (o, t, e) => t in o ? m(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
|
|
3
|
+
var a = (o, t, e) => p(o, typeof t != "symbol" ? t + "" : t, e);
|
|
4
4
|
import { UIElementType as c, UEAttr as _ } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
5
5
|
import { CommonControl as d } from "../../common-control.js";
|
|
6
6
|
import { RecommendationControlId as C } from "../constants/controlIds.js";
|
|
7
7
|
import "../constants/selectors.js";
|
|
8
|
-
const S = C.SYNC_INFO_MESSAGE,
|
|
8
|
+
const S = C.SYNC_INFO_MESSAGE, n = "sync-info-message", u = "Note that changes will be applied to all product cards in your recommendation block.";
|
|
9
9
|
class O extends d {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
@@ -16,12 +16,12 @@ class O extends d {
|
|
|
16
16
|
}
|
|
17
17
|
getTemplate() {
|
|
18
18
|
return `
|
|
19
|
-
<div class="${
|
|
19
|
+
<div class="${n}">
|
|
20
20
|
<${c.ICON}
|
|
21
21
|
${_.ICON.src}="migration-info-icon"
|
|
22
|
-
class="${
|
|
22
|
+
class="${n}__icon">
|
|
23
23
|
</${c.ICON}>
|
|
24
|
-
<p class="${
|
|
24
|
+
<p class="${n}__text">
|
|
25
25
|
${this.api.translate(u)}
|
|
26
26
|
</p>
|
|
27
27
|
</div>
|
|
@@ -31,8 +31,8 @@ class O extends d {
|
|
|
31
31
|
this._repositionAboveTabs();
|
|
32
32
|
}
|
|
33
33
|
onDestroy() {
|
|
34
|
-
var
|
|
35
|
-
super.onDestroy(), (
|
|
34
|
+
var e;
|
|
35
|
+
super.onDestroy(), (e = this._repositionedElement) == null || e.remove(), this._repositionedElement = null;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Moves the info message from inside the Settings tab content
|
|
@@ -49,15 +49,15 @@ class O extends d {
|
|
|
49
49
|
* The element reference is stored so onDestroy() can remove it.
|
|
50
50
|
*/
|
|
51
51
|
_repositionAboveTabs() {
|
|
52
|
-
var l;
|
|
53
|
-
const
|
|
54
|
-
if (!
|
|
52
|
+
var i, l;
|
|
53
|
+
const e = (i = this.getContainer()) == null ? void 0 : i.querySelector(`.${n}`);
|
|
54
|
+
if (!e)
|
|
55
55
|
return;
|
|
56
|
-
const
|
|
57
|
-
if (!
|
|
56
|
+
const s = e.closest("ue-control-panel");
|
|
57
|
+
if (!s)
|
|
58
58
|
return;
|
|
59
|
-
const
|
|
60
|
-
|
|
59
|
+
const r = s.querySelector("ue-tabs-header");
|
|
60
|
+
r && ((l = r.parentElement) == null || l.insertBefore(e, r), this._repositionedElement = e);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
export {
|
|
@@ -1,30 +1,32 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
1
|
+
function f(t) {
|
|
2
|
+
return typeof t != "number" || !Number.isFinite(t) ? 2 : Math.min(Math.max(Math.trunc(t), 0), 20);
|
|
3
|
+
}
|
|
4
|
+
function d(t, n) {
|
|
5
|
+
const { thousandSeparator: c, decimalSeparator: e, decimalCount: r } = n, [u, i = ""] = String(t).split("."), o = i.slice(0, r).padEnd(r, "0"), a = u.replace(
|
|
3
6
|
/\B(?=(\d{3})+(?!\d))/g,
|
|
4
|
-
|
|
7
|
+
c
|
|
5
8
|
);
|
|
6
|
-
return r > 0 &&
|
|
9
|
+
return r > 0 && o ? `${a}${e}${o}` : a;
|
|
7
10
|
}
|
|
8
|
-
function
|
|
9
|
-
const { price:
|
|
11
|
+
function $(t) {
|
|
12
|
+
const { price: n, currency: c } = t, {
|
|
10
13
|
symbol: e,
|
|
11
14
|
alignment: r,
|
|
12
15
|
thousandSeparator: u,
|
|
13
|
-
decimalSeparator:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const s = "0".repeat(n), m = `0${o}${s}`;
|
|
16
|
+
decimalSeparator: i
|
|
17
|
+
} = c, o = f(c.decimalCount);
|
|
18
|
+
if (typeof n != "number" || Number.isNaN(n)) {
|
|
19
|
+
const s = "0".repeat(o), m = `0${i}${s}`;
|
|
18
20
|
return r === "before" ? `${e} ${m}` : `${m} ${e}`;
|
|
19
21
|
}
|
|
20
|
-
const a = d(
|
|
22
|
+
const a = d(n, {
|
|
21
23
|
thousandSeparator: u,
|
|
22
|
-
decimalSeparator:
|
|
23
|
-
decimalCount:
|
|
24
|
+
decimalSeparator: i,
|
|
25
|
+
decimalCount: o
|
|
24
26
|
});
|
|
25
27
|
return r === "before" ? `${e} ${a}` : `${a} ${e}`;
|
|
26
28
|
}
|
|
27
29
|
export {
|
|
28
30
|
d as formatNumber,
|
|
29
|
-
|
|
31
|
+
$ as formatPrice
|
|
30
32
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
var u = Object.defineProperty;
|
|
2
|
-
var c = (l,
|
|
3
|
-
var i = (l,
|
|
4
|
-
import {
|
|
5
|
-
|
|
2
|
+
var c = (l, a, e) => a in l ? u(l, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : l[a] = e;
|
|
3
|
+
var i = (l, a, e) => c(l, typeof a != "symbol" ? a + "" : a, e);
|
|
4
|
+
import { findEditorShadowRoot as I } from "../../utils/editorShadowRoot.js";
|
|
5
|
+
import { Control as O, UIElementType as n, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
6
|
+
class R extends O {
|
|
6
7
|
constructor() {
|
|
7
8
|
super(...arguments);
|
|
8
9
|
i(this, "currentNode");
|
|
@@ -11,8 +12,7 @@ class _ extends I {
|
|
|
11
12
|
i(this, "isAwaitingPanelNode", !1);
|
|
12
13
|
}
|
|
13
14
|
getContainer() {
|
|
14
|
-
|
|
15
|
-
return (e = document.querySelector("ui-editor")) == null ? void 0 : e.shadowRoot;
|
|
15
|
+
return I();
|
|
16
16
|
}
|
|
17
17
|
onTemplateNodeUpdated(e) {
|
|
18
18
|
this.currentNode = e;
|
|
@@ -54,8 +54,8 @@ class _ extends I {
|
|
|
54
54
|
const t = this.getBlockInstanceId(), o = this.isAwaitingPanelNode;
|
|
55
55
|
if (this.isAwaitingPanelNode = !1, !t)
|
|
56
56
|
return o && e(), !1;
|
|
57
|
-
const
|
|
58
|
-
return e(),
|
|
57
|
+
const E = t !== this.lastBlockInstanceId;
|
|
58
|
+
return e(), E && (this.lastBlockInstanceId = t), E;
|
|
59
59
|
}
|
|
60
60
|
_GuLabel({ text: e, name: t = "", hint: o }) {
|
|
61
61
|
return `
|
|
@@ -98,7 +98,7 @@ class _ extends I {
|
|
|
98
98
|
* and combines it with the text in Stripo's alert-message layout.
|
|
99
99
|
*/
|
|
100
100
|
_setInfoMessageValue(e, t) {
|
|
101
|
-
const o = this.getContainer(),
|
|
101
|
+
const o = this.getContainer(), E = o == null ? void 0 : o.querySelector(`[data-icon-key="${e}"]`), s = E == null ? void 0 : E.querySelector("ue-icon-component"), r = (s == null ? void 0 : s.outerHTML) ?? "";
|
|
102
102
|
this.api.setUIEAttribute(
|
|
103
103
|
e,
|
|
104
104
|
"value",
|
|
@@ -111,7 +111,7 @@ class _ extends I {
|
|
|
111
111
|
</div>
|
|
112
112
|
`
|
|
113
113
|
);
|
|
114
|
-
const T = o.querySelector(`[data-info-message="${e}"]`);
|
|
114
|
+
const T = o == null ? void 0 : o.querySelector(`[data-info-message="${e}"]`);
|
|
115
115
|
T && (T.style.display = "");
|
|
116
116
|
}
|
|
117
117
|
_GuToggle(e) {
|
|
@@ -132,12 +132,12 @@ class _ extends I {
|
|
|
132
132
|
name: e,
|
|
133
133
|
placeholder: t,
|
|
134
134
|
options: o,
|
|
135
|
-
className:
|
|
135
|
+
className: E = "es-180w",
|
|
136
136
|
searchable: s = !1
|
|
137
137
|
}) {
|
|
138
138
|
return `
|
|
139
139
|
<${n.SELECTPICKER}
|
|
140
|
-
class="${
|
|
140
|
+
class="${E}"
|
|
141
141
|
${$.SELECTPICKER.name}="${e}"
|
|
142
142
|
${s ? `${$.SELECTPICKER.searchable}="true"` : ""}
|
|
143
143
|
${$.SELECTPICKER.placeholder}="${t}">
|
|
@@ -145,23 +145,23 @@ class _ extends I {
|
|
|
145
145
|
</${n.SELECTPICKER}>
|
|
146
146
|
`;
|
|
147
147
|
}
|
|
148
|
-
_GuTextInput({ name: e, placeholder: t, className: o = "", disabled:
|
|
148
|
+
_GuTextInput({ name: e, placeholder: t, className: o = "", disabled: E = !1 }) {
|
|
149
149
|
return `
|
|
150
150
|
<${n.TEXT}
|
|
151
151
|
class=${o}
|
|
152
152
|
${$.TEXT.name}="${e}"
|
|
153
153
|
placeholder="${t || e}"
|
|
154
|
-
${
|
|
154
|
+
${E ? `${$.TEXT.disabled}="true"` : ""}>
|
|
155
155
|
</${n.TEXT}>
|
|
156
156
|
`;
|
|
157
157
|
}
|
|
158
|
-
_GuCounter({ name: e, maxValue: t, minValue: o = 1, step:
|
|
158
|
+
_GuCounter({ name: e, maxValue: t, minValue: o = 1, step: E = 1 }) {
|
|
159
159
|
return `
|
|
160
160
|
<${n.COUNTER}
|
|
161
161
|
${$.COUNTER.name}="${e}"
|
|
162
162
|
${$.COUNTER.minValue}="${o}"
|
|
163
163
|
${$.COUNTER.maxValue}="${t}"
|
|
164
|
-
${$.COUNTER.step}="${
|
|
164
|
+
${$.COUNTER.step}="${E}">
|
|
165
165
|
</${n.COUNTER}>
|
|
166
166
|
`;
|
|
167
167
|
}
|
|
@@ -179,16 +179,16 @@ class _ extends I {
|
|
|
179
179
|
<${n.RADIO_BUTTONS}
|
|
180
180
|
${o ? `id="${o}"` : ""}
|
|
181
181
|
${$.RADIO_BUTTONS.name}="${e}">
|
|
182
|
-
${t.map((
|
|
182
|
+
${t.map((E) => this._GuRadioButtonItem(E)).join("")}
|
|
183
183
|
</${n.RADIO_BUTTONS}>
|
|
184
184
|
`;
|
|
185
185
|
}
|
|
186
|
-
_GuButton({ name: e, label: t, id: o = "", className:
|
|
186
|
+
_GuButton({ name: e, label: t, id: o = "", className: E = "", icon: s = "", disabled: r = !1 }) {
|
|
187
187
|
return `
|
|
188
188
|
<${n.BUTTON}
|
|
189
189
|
${$.BUTTON.name}="${e}"
|
|
190
190
|
${o ? `id="${o}"` : ""}
|
|
191
|
-
${
|
|
191
|
+
${E ? `class="${E}"` : ""}
|
|
192
192
|
${s ? `${$.BUTTON.icon}="${s}"` : ""}
|
|
193
193
|
${r ? `${$.BUTTON.disabled}="true"` : ""}
|
|
194
194
|
${$.BUTTON.caption}="${t}">
|
|
@@ -248,9 +248,9 @@ class _ extends I {
|
|
|
248
248
|
</${n.ORDERABLE_ITEM}>
|
|
249
249
|
`;
|
|
250
250
|
});
|
|
251
|
-
const
|
|
251
|
+
const E = $.ORDERABLE && "name" in $.ORDERABLE ? $.ORDERABLE.name : "name";
|
|
252
252
|
return `
|
|
253
|
-
<${n.ORDERABLE} ${
|
|
253
|
+
<${n.ORDERABLE} ${E}="${e}">
|
|
254
254
|
${o}
|
|
255
255
|
</${n.ORDERABLE}>
|
|
256
256
|
`;
|
|
@@ -292,10 +292,10 @@ class _ extends I {
|
|
|
292
292
|
`;
|
|
293
293
|
}
|
|
294
294
|
_GuRadioButtons(e, t) {
|
|
295
|
-
const o = t.map((
|
|
295
|
+
const o = t.map((E) => `
|
|
296
296
|
<${n.RADIO_ITEM}
|
|
297
|
-
${$.RADIO_ITEM.text}="${
|
|
298
|
-
${$.RADIO_ITEM.value}="${
|
|
297
|
+
${$.RADIO_ITEM.text}="${E.text}"
|
|
298
|
+
${$.RADIO_ITEM.value}="${E.value}">
|
|
299
299
|
</${n.RADIO_ITEM}>
|
|
300
300
|
`).join("");
|
|
301
301
|
return `
|
|
@@ -315,5 +315,5 @@ class _ extends I {
|
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
export {
|
|
318
|
-
|
|
318
|
+
R as CommonControl
|
|
319
319
|
};
|