@getlupa/vue 0.11.7 → 0.11.9
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/lupaContainerStyle.css +1 -1
- package/dist/lupaSearch.js +193 -128
- package/dist/lupaSearch.mjs +194 -129
- package/dist/src/components/search-box/products/SearchBoxProductsGoToResultsButton.vue.d.ts +25 -0
- package/dist/src/components/search-box/products/SearchBoxProductsWrapper.vue.d.ts +12 -1
- package/dist/src/types/search-box/SearchBoxPanel.d.ts +2 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/lupaSearch.js
CHANGED
|
@@ -1675,11 +1675,12 @@ const LupaSearchSdk = {
|
|
|
1675
1675
|
}
|
|
1676
1676
|
};
|
|
1677
1677
|
const getNormalizedString = (str) => {
|
|
1678
|
+
var _a, _b;
|
|
1678
1679
|
if (!str) {
|
|
1679
1680
|
return "";
|
|
1680
1681
|
}
|
|
1681
1682
|
const transformedStr = typeof str === "string" ? str : str.toString();
|
|
1682
|
-
return transformedStr.normalize === void 0 ? transformedStr.toLocaleLowerCase() : transformedStr.toLocaleLowerCase().normalize("NFKD").replace(/[^\w\s.-_/]/g, "");
|
|
1683
|
+
return transformedStr.normalize === void 0 ? (_a = transformedStr.toLocaleLowerCase()) == null ? void 0 : _a.trim() : (_b = transformedStr.toLocaleLowerCase().normalize("NFKD").replace(/[^\w\s.-_/]/g, "")) == null ? void 0 : _b.trim();
|
|
1683
1684
|
};
|
|
1684
1685
|
const capitalize = (str) => {
|
|
1685
1686
|
if (!str) {
|
|
@@ -3222,8 +3223,8 @@ const useSearchBoxStore = defineStore("searchBox", () => {
|
|
|
3222
3223
|
resetHighlightIndex
|
|
3223
3224
|
};
|
|
3224
3225
|
});
|
|
3225
|
-
const _hoisted_1$
|
|
3226
|
-
const _hoisted_2$
|
|
3226
|
+
const _hoisted_1$1f = { id: "lupa-search-box-input-container" };
|
|
3227
|
+
const _hoisted_2$R = { class: "lupa-input-clear" };
|
|
3227
3228
|
const _hoisted_3$A = { id: "lupa-search-box-input" };
|
|
3228
3229
|
const _hoisted_4$s = ["value"];
|
|
3229
3230
|
const _hoisted_5$h = ["aria-label", "placeholder"];
|
|
@@ -3235,7 +3236,7 @@ const _hoisted_8$3 = {
|
|
|
3235
3236
|
key: 0,
|
|
3236
3237
|
class: "lupa-close-label"
|
|
3237
3238
|
};
|
|
3238
|
-
const _sfc_main$
|
|
3239
|
+
const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
|
|
3239
3240
|
__name: "SearchBoxInput",
|
|
3240
3241
|
props: {
|
|
3241
3242
|
options: {},
|
|
@@ -3319,8 +3320,8 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
|
3319
3320
|
};
|
|
3320
3321
|
__expose({ focus });
|
|
3321
3322
|
return (_ctx, _cache) => {
|
|
3322
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3323
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
3323
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1f, [
|
|
3324
|
+
vue.createElementVNode("div", _hoisted_2$R, [
|
|
3324
3325
|
vue.createElementVNode("div", {
|
|
3325
3326
|
class: vue.normalizeClass(["lupa-input-clear-content", { "lupa-input-clear-filled": inputValue.value }]),
|
|
3326
3327
|
onClick: clear
|
|
@@ -3365,7 +3366,7 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
|
3365
3366
|
};
|
|
3366
3367
|
}
|
|
3367
3368
|
});
|
|
3368
|
-
const _sfc_main$
|
|
3369
|
+
const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
3369
3370
|
__name: "SearchBoxMoreResults",
|
|
3370
3371
|
props: {
|
|
3371
3372
|
labels: {},
|
|
@@ -3397,9 +3398,9 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
|
3397
3398
|
};
|
|
3398
3399
|
}
|
|
3399
3400
|
});
|
|
3400
|
-
const _hoisted_1$
|
|
3401
|
-
const _hoisted_2$
|
|
3402
|
-
const _sfc_main$
|
|
3401
|
+
const _hoisted_1$1e = { class: "lupa-search-box-history-item" };
|
|
3402
|
+
const _hoisted_2$Q = { class: "lupa-search-box-history-item-content" };
|
|
3403
|
+
const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
3403
3404
|
__name: "SearchBoxHistoryItem",
|
|
3404
3405
|
props: {
|
|
3405
3406
|
item: {},
|
|
@@ -3415,8 +3416,8 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
|
3415
3416
|
emit("click", { query: props.item });
|
|
3416
3417
|
};
|
|
3417
3418
|
return (_ctx, _cache) => {
|
|
3418
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3419
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
3419
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1e, [
|
|
3420
|
+
vue.createElementVNode("div", _hoisted_2$Q, [
|
|
3420
3421
|
vue.createElementVNode("div", {
|
|
3421
3422
|
class: vue.normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
|
|
3422
3423
|
onClick: click2
|
|
@@ -3430,11 +3431,11 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
|
3430
3431
|
};
|
|
3431
3432
|
}
|
|
3432
3433
|
});
|
|
3433
|
-
const _hoisted_1$
|
|
3434
|
+
const _hoisted_1$1d = {
|
|
3434
3435
|
key: 0,
|
|
3435
3436
|
class: "lupa-search-box-history-panel"
|
|
3436
3437
|
};
|
|
3437
|
-
const _sfc_main$
|
|
3438
|
+
const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
3438
3439
|
__name: "SearchBoxHistoryPanel",
|
|
3439
3440
|
props: {
|
|
3440
3441
|
options: {}
|
|
@@ -3475,9 +3476,9 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
|
3475
3476
|
}
|
|
3476
3477
|
};
|
|
3477
3478
|
return (_ctx, _cache) => {
|
|
3478
|
-
return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3479
|
+
return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1d, [
|
|
3479
3480
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(history), (item, index) => {
|
|
3480
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3481
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1l, {
|
|
3481
3482
|
key: item,
|
|
3482
3483
|
item,
|
|
3483
3484
|
highlighted: index === highlightIndex.value,
|
|
@@ -3493,20 +3494,20 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
|
3493
3494
|
};
|
|
3494
3495
|
}
|
|
3495
3496
|
});
|
|
3496
|
-
const _hoisted_1$
|
|
3497
|
-
const _sfc_main$
|
|
3497
|
+
const _hoisted_1$1c = { class: "lupa-search-box-no-results" };
|
|
3498
|
+
const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
3498
3499
|
__name: "SearchBoxNoResults",
|
|
3499
3500
|
props: {
|
|
3500
3501
|
labels: {}
|
|
3501
3502
|
},
|
|
3502
3503
|
setup(__props) {
|
|
3503
3504
|
return (_ctx, _cache) => {
|
|
3504
|
-
return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$
|
|
3505
|
+
return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$1c, vue.toDisplayString(_ctx.labels.noResults), 1);
|
|
3505
3506
|
};
|
|
3506
3507
|
}
|
|
3507
3508
|
});
|
|
3508
|
-
const _hoisted_1$
|
|
3509
|
-
const _hoisted_2$
|
|
3509
|
+
const _hoisted_1$1b = ["innerHTML"];
|
|
3510
|
+
const _hoisted_2$P = {
|
|
3510
3511
|
key: 1,
|
|
3511
3512
|
"data-cy": "lupa-suggestion-value",
|
|
3512
3513
|
class: "lupa-suggestion-value"
|
|
@@ -3524,7 +3525,7 @@ const _hoisted_5$g = {
|
|
|
3524
3525
|
class: "lupa-suggestion-facet-value",
|
|
3525
3526
|
"data-cy": "lupa-suggestion-facet-value"
|
|
3526
3527
|
};
|
|
3527
|
-
const _sfc_main$
|
|
3528
|
+
const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
|
|
3528
3529
|
__name: "SearchBoxSuggestion",
|
|
3529
3530
|
props: {
|
|
3530
3531
|
suggestion: {},
|
|
@@ -3560,7 +3561,7 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
|
3560
3561
|
class: "lupa-suggestion-value",
|
|
3561
3562
|
"data-cy": "lupa-suggestion-value",
|
|
3562
3563
|
innerHTML: _ctx.suggestion.displayHighlight
|
|
3563
|
-
}, null, 8, _hoisted_1$
|
|
3564
|
+
}, null, 8, _hoisted_1$1b)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$P, vue.toDisplayString(_ctx.suggestion.display), 1)),
|
|
3564
3565
|
_ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, [
|
|
3565
3566
|
vue.createElementVNode("span", _hoisted_4$r, vue.toDisplayString(facetLabel.value), 1),
|
|
3566
3567
|
vue.createElementVNode("span", _hoisted_5$g, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
|
|
@@ -3569,11 +3570,11 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
|
3569
3570
|
};
|
|
3570
3571
|
}
|
|
3571
3572
|
});
|
|
3572
|
-
const _hoisted_1$
|
|
3573
|
+
const _hoisted_1$1a = {
|
|
3573
3574
|
id: "lupa-search-box-suggestions",
|
|
3574
3575
|
"data-cy": "lupa-search-box-suggestions"
|
|
3575
3576
|
};
|
|
3576
|
-
const _sfc_main$
|
|
3577
|
+
const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
3577
3578
|
__name: "SearchBoxSuggestions",
|
|
3578
3579
|
props: {
|
|
3579
3580
|
items: {},
|
|
@@ -3633,9 +3634,9 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
|
3633
3634
|
});
|
|
3634
3635
|
});
|
|
3635
3636
|
return (_ctx, _cache) => {
|
|
3636
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3637
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1a, [
|
|
3637
3638
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items.value, (item, index) => {
|
|
3638
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3639
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1i, {
|
|
3639
3640
|
key: getSuggestionKey(item),
|
|
3640
3641
|
class: vue.normalizeClass(["lupa-suggestion", index === highlightedIndex.value ? "lupa-suggestion-highlighted" : ""]),
|
|
3641
3642
|
suggestion: item,
|
|
@@ -3663,7 +3664,7 @@ const debounce$1 = (func, timeout) => {
|
|
|
3663
3664
|
}, timeout);
|
|
3664
3665
|
};
|
|
3665
3666
|
};
|
|
3666
|
-
const _sfc_main$
|
|
3667
|
+
const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
3667
3668
|
__name: "SearchBoxSuggestionsWrapper",
|
|
3668
3669
|
props: {
|
|
3669
3670
|
panel: {},
|
|
@@ -3704,7 +3705,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
3704
3705
|
};
|
|
3705
3706
|
const getSuggestionsDebounced = debounce$1(getSuggestions, props.debounce);
|
|
3706
3707
|
return (_ctx, _cache) => {
|
|
3707
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3708
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1h, {
|
|
3708
3709
|
items: searchResult.value,
|
|
3709
3710
|
highlight: _ctx.panel.highlight,
|
|
3710
3711
|
queryKey: _ctx.panel.queryKey,
|
|
@@ -3808,8 +3809,8 @@ const replaceImageWithPlaceholder = (e, placeholder) => {
|
|
|
3808
3809
|
targetImage.src = placeholder;
|
|
3809
3810
|
}
|
|
3810
3811
|
};
|
|
3811
|
-
const _hoisted_1$
|
|
3812
|
-
const _sfc_main$
|
|
3812
|
+
const _hoisted_1$19 = ["src"];
|
|
3813
|
+
const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
3813
3814
|
__name: "ProductImage",
|
|
3814
3815
|
props: {
|
|
3815
3816
|
item: {},
|
|
@@ -3927,7 +3928,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
3927
3928
|
}, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
|
|
3928
3929
|
onError: replaceWithPlaceholder,
|
|
3929
3930
|
key: finalUrl.value
|
|
3930
|
-
}), null, 16, _hoisted_1$
|
|
3931
|
+
}), null, 16, _hoisted_1$19))
|
|
3931
3932
|
]),
|
|
3932
3933
|
_: 1
|
|
3933
3934
|
})
|
|
@@ -3935,7 +3936,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
3935
3936
|
};
|
|
3936
3937
|
}
|
|
3937
3938
|
});
|
|
3938
|
-
const _sfc_main$
|
|
3939
|
+
const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
3939
3940
|
__name: "SearchBoxProductImage",
|
|
3940
3941
|
props: {
|
|
3941
3942
|
item: {},
|
|
@@ -3943,7 +3944,7 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
|
3943
3944
|
},
|
|
3944
3945
|
setup(__props) {
|
|
3945
3946
|
return (_ctx, _cache) => {
|
|
3946
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3947
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
|
|
3947
3948
|
item: _ctx.item,
|
|
3948
3949
|
options: _ctx.options,
|
|
3949
3950
|
"wrapper-class": "lupa-search-box-image-wrapper",
|
|
@@ -3952,12 +3953,12 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
|
3952
3953
|
};
|
|
3953
3954
|
}
|
|
3954
3955
|
});
|
|
3955
|
-
const _hoisted_1$
|
|
3956
|
-
const _hoisted_2$
|
|
3956
|
+
const _hoisted_1$18 = ["innerHTML"];
|
|
3957
|
+
const _hoisted_2$O = {
|
|
3957
3958
|
key: 1,
|
|
3958
3959
|
class: "lupa-search-box-product-title"
|
|
3959
3960
|
};
|
|
3960
|
-
const _sfc_main$
|
|
3961
|
+
const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
3961
3962
|
__name: "SearchBoxProductTitle",
|
|
3962
3963
|
props: {
|
|
3963
3964
|
item: {},
|
|
@@ -3977,18 +3978,18 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
|
3977
3978
|
key: 0,
|
|
3978
3979
|
class: "lupa-search-box-product-title",
|
|
3979
3980
|
innerHTML: title.value
|
|
3980
|
-
}, null, 8, _hoisted_1$
|
|
3981
|
+
}, null, 8, _hoisted_1$18)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, [
|
|
3981
3982
|
vue.createElementVNode("strong", null, vue.toDisplayString(title.value), 1)
|
|
3982
3983
|
]));
|
|
3983
3984
|
};
|
|
3984
3985
|
}
|
|
3985
3986
|
});
|
|
3986
|
-
const _hoisted_1$
|
|
3987
|
-
const _hoisted_2$
|
|
3987
|
+
const _hoisted_1$17 = ["innerHTML"];
|
|
3988
|
+
const _hoisted_2$N = {
|
|
3988
3989
|
key: 1,
|
|
3989
3990
|
class: "lupa-search-box-product-description"
|
|
3990
3991
|
};
|
|
3991
|
-
const _sfc_main$
|
|
3992
|
+
const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
3992
3993
|
__name: "SearchBoxProductDescription",
|
|
3993
3994
|
props: {
|
|
3994
3995
|
item: {},
|
|
@@ -4008,12 +4009,12 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
|
4008
4009
|
key: 0,
|
|
4009
4010
|
class: "lupa-search-box-product-description",
|
|
4010
4011
|
innerHTML: description.value
|
|
4011
|
-
}, null, 8, _hoisted_1$
|
|
4012
|
+
}, null, 8, _hoisted_1$17)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, vue.toDisplayString(description.value), 1));
|
|
4012
4013
|
};
|
|
4013
4014
|
}
|
|
4014
4015
|
});
|
|
4015
|
-
const _hoisted_1$
|
|
4016
|
-
const _sfc_main$
|
|
4016
|
+
const _hoisted_1$16 = { class: "lupa-search-box-product-price" };
|
|
4017
|
+
const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
4017
4018
|
__name: "SearchBoxProductPrice",
|
|
4018
4019
|
props: {
|
|
4019
4020
|
item: {},
|
|
@@ -4031,14 +4032,14 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
|
|
|
4031
4032
|
);
|
|
4032
4033
|
});
|
|
4033
4034
|
return (_ctx, _cache) => {
|
|
4034
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4035
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$16, [
|
|
4035
4036
|
vue.createElementVNode("strong", null, vue.toDisplayString(price.value), 1)
|
|
4036
4037
|
]);
|
|
4037
4038
|
};
|
|
4038
4039
|
}
|
|
4039
4040
|
});
|
|
4040
|
-
const _hoisted_1$
|
|
4041
|
-
const _sfc_main$
|
|
4041
|
+
const _hoisted_1$15 = { class: "lupa-search-box-product-regular-price" };
|
|
4042
|
+
const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
|
|
4042
4043
|
__name: "SearchBoxProductRegularPrice",
|
|
4043
4044
|
props: {
|
|
4044
4045
|
item: {},
|
|
@@ -4056,16 +4057,16 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4056
4057
|
);
|
|
4057
4058
|
});
|
|
4058
4059
|
return (_ctx, _cache) => {
|
|
4059
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4060
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, vue.toDisplayString(price.value), 1);
|
|
4060
4061
|
};
|
|
4061
4062
|
}
|
|
4062
4063
|
});
|
|
4063
|
-
const _hoisted_1$
|
|
4064
|
-
const _hoisted_2$
|
|
4064
|
+
const _hoisted_1$14 = ["innerHTML"];
|
|
4065
|
+
const _hoisted_2$M = { key: 0 };
|
|
4065
4066
|
const _hoisted_3$y = { key: 1 };
|
|
4066
4067
|
const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
|
|
4067
4068
|
const _hoisted_5$f = { class: "lupa-search-box-custom-text" };
|
|
4068
|
-
const _sfc_main$
|
|
4069
|
+
const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
4069
4070
|
__name: "SearchBoxProductCustom",
|
|
4070
4071
|
props: {
|
|
4071
4072
|
item: {},
|
|
@@ -4091,11 +4092,11 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4091
4092
|
key: 0,
|
|
4092
4093
|
class: [className.value, "lupa-search-box-product-custom"],
|
|
4093
4094
|
innerHTML: text.value
|
|
4094
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
4095
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$14)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
4095
4096
|
key: 1,
|
|
4096
4097
|
class: [className.value, "lupa-search-box-product-custom"]
|
|
4097
4098
|
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
|
|
4098
|
-
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
4099
|
+
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$M, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$y, [
|
|
4099
4100
|
vue.createElementVNode("div", _hoisted_4$q, vue.toDisplayString(label.value), 1),
|
|
4100
4101
|
vue.createElementVNode("div", _hoisted_5$f, vue.toDisplayString(text.value), 1)
|
|
4101
4102
|
]))
|
|
@@ -4103,8 +4104,8 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4103
4104
|
};
|
|
4104
4105
|
}
|
|
4105
4106
|
});
|
|
4106
|
-
const _hoisted_1$
|
|
4107
|
-
const _sfc_main$
|
|
4107
|
+
const _hoisted_1$13 = ["innerHTML"];
|
|
4108
|
+
const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
4108
4109
|
__name: "SearchBoxProductCustomHtml",
|
|
4109
4110
|
props: {
|
|
4110
4111
|
item: {},
|
|
@@ -4124,7 +4125,7 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4124
4125
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
4125
4126
|
class: className.value,
|
|
4126
4127
|
innerHTML: text.value
|
|
4127
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
4128
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$13);
|
|
4128
4129
|
};
|
|
4129
4130
|
}
|
|
4130
4131
|
});
|
|
@@ -4342,10 +4343,10 @@ const useSearchResultStore = defineStore("searchResult", () => {
|
|
|
4342
4343
|
clearSearchResult
|
|
4343
4344
|
};
|
|
4344
4345
|
});
|
|
4345
|
-
const _hoisted_1$
|
|
4346
|
-
const _hoisted_2$
|
|
4346
|
+
const _hoisted_1$12 = { class: "lupa-search-box-add-to-cart-wrapper" };
|
|
4347
|
+
const _hoisted_2$L = { class: "lupa-search-box-product-addtocart" };
|
|
4347
4348
|
const _hoisted_3$x = ["onClick", "disabled"];
|
|
4348
|
-
const _sfc_main$
|
|
4349
|
+
const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
4349
4350
|
__name: "SearchBoxProductAddToCart",
|
|
4350
4351
|
props: {
|
|
4351
4352
|
item: {},
|
|
@@ -4372,8 +4373,8 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4372
4373
|
loading.value = false;
|
|
4373
4374
|
});
|
|
4374
4375
|
return (_ctx, _cache) => {
|
|
4375
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4376
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
4376
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
|
|
4377
|
+
vue.createElementVNode("div", _hoisted_2$L, [
|
|
4377
4378
|
vue.createElementVNode("button", {
|
|
4378
4379
|
onClick: vue.withModifiers(handleClick, ["stop", "prevent"]),
|
|
4379
4380
|
class: vue.normalizeClass(loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart"),
|
|
@@ -4386,23 +4387,23 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4386
4387
|
};
|
|
4387
4388
|
}
|
|
4388
4389
|
});
|
|
4389
|
-
const _hoisted_1$
|
|
4390
|
+
const _hoisted_1$11 = {
|
|
4390
4391
|
key: 1,
|
|
4391
4392
|
class: "lupa-search-box-element-badge-wrapper"
|
|
4392
4393
|
};
|
|
4393
4394
|
const __default__$4 = {
|
|
4394
4395
|
components: {
|
|
4395
|
-
SearchBoxProductImage: _sfc_main$
|
|
4396
|
-
SearchBoxProductTitle: _sfc_main$
|
|
4397
|
-
SearchBoxProductDescription: _sfc_main$
|
|
4398
|
-
SearchBoxProductPrice: _sfc_main$
|
|
4399
|
-
SearchBoxProductRegularPrice: _sfc_main$
|
|
4400
|
-
SearchBoxProductCustom: _sfc_main$
|
|
4401
|
-
SearchBoxProductCustomHtml: _sfc_main$
|
|
4402
|
-
SearchBoxProductAddToCart: _sfc_main$
|
|
4396
|
+
SearchBoxProductImage: _sfc_main$1e,
|
|
4397
|
+
SearchBoxProductTitle: _sfc_main$1d,
|
|
4398
|
+
SearchBoxProductDescription: _sfc_main$1c,
|
|
4399
|
+
SearchBoxProductPrice: _sfc_main$1b,
|
|
4400
|
+
SearchBoxProductRegularPrice: _sfc_main$1a,
|
|
4401
|
+
SearchBoxProductCustom: _sfc_main$19,
|
|
4402
|
+
SearchBoxProductCustomHtml: _sfc_main$18,
|
|
4403
|
+
SearchBoxProductAddToCart: _sfc_main$17
|
|
4403
4404
|
}
|
|
4404
4405
|
};
|
|
4405
|
-
const _sfc_main$
|
|
4406
|
+
const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
|
|
4406
4407
|
__name: "SearchBoxProductElement",
|
|
4407
4408
|
props: {
|
|
4408
4409
|
item: {},
|
|
@@ -4460,7 +4461,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
4460
4461
|
class: vue.normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) }),
|
|
4461
4462
|
inStock: _ctx.isInStock
|
|
4462
4463
|
}, null, 8, ["item", "options", "labels", "class", "inStock"])) : vue.createCommentVNode("", true)
|
|
4463
|
-
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4464
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
|
|
4464
4465
|
displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
|
|
4465
4466
|
key: 0,
|
|
4466
4467
|
item: enhancedItem.value,
|
|
@@ -4474,14 +4475,14 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
4474
4475
|
};
|
|
4475
4476
|
}
|
|
4476
4477
|
}));
|
|
4477
|
-
const _hoisted_1
|
|
4478
|
-
const _hoisted_2$
|
|
4478
|
+
const _hoisted_1$10 = { class: "lupa-badge-title" };
|
|
4479
|
+
const _hoisted_2$K = ["src"];
|
|
4479
4480
|
const _hoisted_3$w = { key: 1 };
|
|
4480
4481
|
const _hoisted_4$p = {
|
|
4481
4482
|
key: 0,
|
|
4482
4483
|
class: "lupa-badge-full-text"
|
|
4483
4484
|
};
|
|
4484
|
-
const _sfc_main$
|
|
4485
|
+
const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
4485
4486
|
__name: "SearchResultGeneratedBadge",
|
|
4486
4487
|
props: {
|
|
4487
4488
|
options: {},
|
|
@@ -4514,11 +4515,11 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4514
4515
|
class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
|
|
4515
4516
|
style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
|
|
4516
4517
|
}, [
|
|
4517
|
-
vue.createElementVNode("span", _hoisted_1
|
|
4518
|
+
vue.createElementVNode("span", _hoisted_1$10, [
|
|
4518
4519
|
image.value ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
4519
4520
|
key: 0,
|
|
4520
4521
|
src: image.value
|
|
4521
|
-
}, null, 8, _hoisted_2$
|
|
4522
|
+
}, null, 8, _hoisted_2$K)) : vue.createCommentVNode("", true),
|
|
4522
4523
|
hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$w, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
|
|
4523
4524
|
]),
|
|
4524
4525
|
hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$p, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
|
|
@@ -4526,8 +4527,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4526
4527
|
};
|
|
4527
4528
|
}
|
|
4528
4529
|
});
|
|
4529
|
-
const _hoisted_1
|
|
4530
|
-
const _sfc_main$
|
|
4530
|
+
const _hoisted_1$$ = { class: "lupa-generated-badges" };
|
|
4531
|
+
const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
4531
4532
|
__name: "SearchResultGeneratedBadges",
|
|
4532
4533
|
props: {
|
|
4533
4534
|
options: {}
|
|
@@ -4553,9 +4554,9 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4553
4554
|
})).filter((b) => Boolean(b.id));
|
|
4554
4555
|
});
|
|
4555
4556
|
return (_ctx, _cache) => {
|
|
4556
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1
|
|
4557
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$$, [
|
|
4557
4558
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
|
|
4558
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
4559
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$15, {
|
|
4559
4560
|
key: badge.id,
|
|
4560
4561
|
badge,
|
|
4561
4562
|
options: _ctx.options
|
|
@@ -4565,8 +4566,8 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4565
4566
|
};
|
|
4566
4567
|
}
|
|
4567
4568
|
});
|
|
4568
|
-
const _hoisted_1$
|
|
4569
|
-
const _sfc_main$
|
|
4569
|
+
const _hoisted_1$_ = ["innerHTML"];
|
|
4570
|
+
const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
4570
4571
|
__name: "CustomBadge",
|
|
4571
4572
|
props: {
|
|
4572
4573
|
badge: {}
|
|
@@ -4585,12 +4586,12 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4585
4586
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
4586
4587
|
class: vue.normalizeClass(className.value),
|
|
4587
4588
|
innerHTML: text.value
|
|
4588
|
-
}, null, 10, _hoisted_1$
|
|
4589
|
+
}, null, 10, _hoisted_1$_);
|
|
4589
4590
|
};
|
|
4590
4591
|
}
|
|
4591
4592
|
});
|
|
4592
|
-
const _hoisted_1$
|
|
4593
|
-
const _sfc_main$
|
|
4593
|
+
const _hoisted_1$Z = { class: "lupa-text-badges" };
|
|
4594
|
+
const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
4594
4595
|
__name: "TextBadge",
|
|
4595
4596
|
props: {
|
|
4596
4597
|
badge: {}
|
|
@@ -4605,7 +4606,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4605
4606
|
return badges.value.slice(0, props.badge.maxItems);
|
|
4606
4607
|
});
|
|
4607
4608
|
return (_ctx, _cache) => {
|
|
4608
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4609
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
|
|
4609
4610
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
4610
4611
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
4611
4612
|
class: "lupa-badge lupa-text-badge",
|
|
@@ -4616,9 +4617,9 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4616
4617
|
};
|
|
4617
4618
|
}
|
|
4618
4619
|
});
|
|
4619
|
-
const _hoisted_1$
|
|
4620
|
-
const _hoisted_2$
|
|
4621
|
-
const _sfc_main$
|
|
4620
|
+
const _hoisted_1$Y = { class: "lupa-image-badges" };
|
|
4621
|
+
const _hoisted_2$J = ["src"];
|
|
4622
|
+
const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
4622
4623
|
__name: "ImageBadge",
|
|
4623
4624
|
props: {
|
|
4624
4625
|
badge: {}
|
|
@@ -4638,7 +4639,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4638
4639
|
return `${props.badge.rootImageUrl}${src}`;
|
|
4639
4640
|
};
|
|
4640
4641
|
return (_ctx, _cache) => {
|
|
4641
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4642
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Y, [
|
|
4642
4643
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
4643
4644
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
4644
4645
|
class: "lupa-badge lupa-image-badge",
|
|
@@ -4646,22 +4647,22 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4646
4647
|
}, [
|
|
4647
4648
|
vue.createElementVNode("img", {
|
|
4648
4649
|
src: getImageUrl(item)
|
|
4649
|
-
}, null, 8, _hoisted_2$
|
|
4650
|
+
}, null, 8, _hoisted_2$J)
|
|
4650
4651
|
]);
|
|
4651
4652
|
}), 128))
|
|
4652
4653
|
]);
|
|
4653
4654
|
};
|
|
4654
4655
|
}
|
|
4655
4656
|
});
|
|
4656
|
-
const _hoisted_1$
|
|
4657
|
+
const _hoisted_1$X = { id: "lupa-search-results-badges" };
|
|
4657
4658
|
const __default__$3 = {
|
|
4658
4659
|
components: {
|
|
4659
|
-
CustomBadge: _sfc_main$
|
|
4660
|
-
TextBadge: _sfc_main$
|
|
4661
|
-
ImageBadge: _sfc_main$
|
|
4660
|
+
CustomBadge: _sfc_main$13,
|
|
4661
|
+
TextBadge: _sfc_main$12,
|
|
4662
|
+
ImageBadge: _sfc_main$11
|
|
4662
4663
|
}
|
|
4663
4664
|
};
|
|
4664
|
-
const _sfc_main
|
|
4665
|
+
const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
|
|
4665
4666
|
__name: "SearchResultsBadgeWrapper",
|
|
4666
4667
|
props: {
|
|
4667
4668
|
position: {},
|
|
@@ -4717,7 +4718,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
4717
4718
|
}
|
|
4718
4719
|
};
|
|
4719
4720
|
return (_ctx, _cache) => {
|
|
4720
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4721
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
|
|
4721
4722
|
vue.createElementVNode("div", {
|
|
4722
4723
|
id: "lupa-badges",
|
|
4723
4724
|
class: vue.normalizeClass(anchorPosition.value)
|
|
@@ -4728,7 +4729,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
4728
4729
|
badge
|
|
4729
4730
|
}, null, 8, ["badge"]);
|
|
4730
4731
|
}), 128)),
|
|
4731
|
-
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
4732
|
+
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
|
|
4732
4733
|
key: 0,
|
|
4733
4734
|
options: _ctx.options
|
|
4734
4735
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true)
|
|
@@ -4737,14 +4738,14 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
4737
4738
|
};
|
|
4738
4739
|
}
|
|
4739
4740
|
}));
|
|
4740
|
-
const _hoisted_1$
|
|
4741
|
-
const _hoisted_2$
|
|
4741
|
+
const _hoisted_1$W = ["href"];
|
|
4742
|
+
const _hoisted_2$I = { class: "lupa-search-box-product-image-section" };
|
|
4742
4743
|
const _hoisted_3$v = { class: "lupa-search-box-product-details-section" };
|
|
4743
4744
|
const _hoisted_4$o = {
|
|
4744
4745
|
key: 0,
|
|
4745
4746
|
class: "lupa-search-box-product-add-to-cart-section"
|
|
4746
4747
|
};
|
|
4747
|
-
const _sfc_main
|
|
4748
|
+
const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
4748
4749
|
__name: "SearchBoxProduct",
|
|
4749
4750
|
props: {
|
|
4750
4751
|
item: {},
|
|
@@ -4803,9 +4804,9 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
4803
4804
|
"data-cy": "lupa-search-box-product",
|
|
4804
4805
|
onClick: handleClick
|
|
4805
4806
|
}), [
|
|
4806
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
4807
|
+
vue.createElementVNode("div", _hoisted_2$I, [
|
|
4807
4808
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
|
|
4808
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
4809
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$16, {
|
|
4809
4810
|
class: "lupa-search-box-product-element",
|
|
4810
4811
|
item: _ctx.item,
|
|
4811
4812
|
element,
|
|
@@ -4818,7 +4819,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
4818
4819
|
vue.createElementVNode("div", _hoisted_3$v, [
|
|
4819
4820
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
|
|
4820
4821
|
var _a;
|
|
4821
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
4822
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$16, {
|
|
4822
4823
|
key: element.key,
|
|
4823
4824
|
class: "lupa-search-box-product-element",
|
|
4824
4825
|
item: _ctx.item,
|
|
@@ -4829,7 +4830,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
4829
4830
|
badgeOptions.value && ((_a = badgeOptions.value) == null ? void 0 : _a.anchorElementKey) === element.key ? {
|
|
4830
4831
|
name: "badges",
|
|
4831
4832
|
fn: vue.withCtx(() => [
|
|
4832
|
-
vue.createVNode(_sfc_main
|
|
4833
|
+
vue.createVNode(_sfc_main$10, {
|
|
4833
4834
|
options: badgeOptions.value,
|
|
4834
4835
|
position: "card"
|
|
4835
4836
|
}, null, 8, ["options"])
|
|
@@ -4840,7 +4841,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
4840
4841
|
}), 128))
|
|
4841
4842
|
]),
|
|
4842
4843
|
addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$o, [
|
|
4843
|
-
vue.createVNode(_sfc_main$
|
|
4844
|
+
vue.createVNode(_sfc_main$16, {
|
|
4844
4845
|
class: "lupa-search-box-product-element",
|
|
4845
4846
|
item: _ctx.item,
|
|
4846
4847
|
element: addToCartElement.value,
|
|
@@ -4849,7 +4850,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
4849
4850
|
isInStock: isInStock.value
|
|
4850
4851
|
}, null, 8, ["item", "element", "labels", "link", "isInStock"])
|
|
4851
4852
|
])) : vue.createCommentVNode("", true)
|
|
4852
|
-
], 16, _hoisted_1$
|
|
4853
|
+
], 16, _hoisted_1$W);
|
|
4853
4854
|
};
|
|
4854
4855
|
}
|
|
4855
4856
|
});
|
|
@@ -4910,8 +4911,8 @@ const useTrackingStore = defineStore("tracking", () => {
|
|
|
4910
4911
|
};
|
|
4911
4912
|
return { trackSearch, trackResults, trackEvent };
|
|
4912
4913
|
});
|
|
4913
|
-
const _hoisted_1$
|
|
4914
|
-
const _sfc_main$
|
|
4914
|
+
const _hoisted_1$V = { id: "lupa-search-box-products" };
|
|
4915
|
+
const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
4915
4916
|
__name: "SearchBoxProducts",
|
|
4916
4917
|
props: {
|
|
4917
4918
|
items: {},
|
|
@@ -4972,7 +4973,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
|
4972
4973
|
handleRoutingEvent(link, event, boxRoutingBehavior.value === "event");
|
|
4973
4974
|
};
|
|
4974
4975
|
return (_ctx, _cache) => {
|
|
4975
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
4976
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
|
|
4976
4977
|
_ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.items, (item, index) => {
|
|
4977
4978
|
return vue.renderSlot(_ctx.$slots, "productCard", {
|
|
4978
4979
|
key: index,
|
|
@@ -4984,7 +4985,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
|
4984
4985
|
itemClicked: handleProductClick
|
|
4985
4986
|
});
|
|
4986
4987
|
}), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.items, (item, index) => {
|
|
4987
|
-
return vue.openBlock(), vue.createBlock(_sfc_main
|
|
4988
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$$, {
|
|
4988
4989
|
key: index,
|
|
4989
4990
|
item,
|
|
4990
4991
|
panelOptions: _ctx.panelOptions,
|
|
@@ -4993,7 +4994,52 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
|
4993
4994
|
inputValue: _ctx.inputValue,
|
|
4994
4995
|
onProductClick: handleProductClick
|
|
4995
4996
|
}, null, 8, ["item", "panelOptions", "labels", "highlighted", "inputValue"]);
|
|
4996
|
-
}), 128))
|
|
4997
|
+
}), 128)),
|
|
4998
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
4999
|
+
]);
|
|
5000
|
+
};
|
|
5001
|
+
}
|
|
5002
|
+
});
|
|
5003
|
+
const _hoisted_1$U = { class: "lupa-search-box-documents-go-to-results-wrapper" };
|
|
5004
|
+
const _hoisted_2$H = { key: 0 };
|
|
5005
|
+
const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
5006
|
+
__name: "SearchBoxProductsGoToResultsButton",
|
|
5007
|
+
props: {
|
|
5008
|
+
options: {},
|
|
5009
|
+
panel: {}
|
|
5010
|
+
},
|
|
5011
|
+
emits: ["goToResults"],
|
|
5012
|
+
setup(__props, { emit }) {
|
|
5013
|
+
const props = __props;
|
|
5014
|
+
const searchBoxStore = useSearchBoxStore();
|
|
5015
|
+
const { docResults } = storeToRefs(searchBoxStore);
|
|
5016
|
+
const goToResultsLabel = vue.computed(
|
|
5017
|
+
() => {
|
|
5018
|
+
var _a, _b, _c;
|
|
5019
|
+
return (_c = (_a = props.panel.labels) == null ? void 0 : _a.goToResultsTitle) != null ? _c : (_b = props.options.labels) == null ? void 0 : _b.moreResults;
|
|
5020
|
+
}
|
|
5021
|
+
);
|
|
5022
|
+
const totalCount = vue.computed(() => {
|
|
5023
|
+
var _a;
|
|
5024
|
+
if (!props.options.showTotalCount) {
|
|
5025
|
+
return "";
|
|
5026
|
+
}
|
|
5027
|
+
const queryKey = props.panel.queryKey;
|
|
5028
|
+
const total = queryKey ? (_a = docResults.value[queryKey]) == null ? void 0 : _a.total : "";
|
|
5029
|
+
return total ? `(${total})` : "";
|
|
5030
|
+
});
|
|
5031
|
+
const goToResults = () => {
|
|
5032
|
+
emit("goToResults");
|
|
5033
|
+
};
|
|
5034
|
+
return (_ctx, _cache) => {
|
|
5035
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
|
|
5036
|
+
vue.createElementVNode("button", {
|
|
5037
|
+
class: "lupa-search-box-documents-go-to-results-button",
|
|
5038
|
+
onClick: goToResults
|
|
5039
|
+
}, [
|
|
5040
|
+
vue.createTextVNode(vue.toDisplayString(goToResultsLabel.value) + " ", 1),
|
|
5041
|
+
totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$H, " " + vue.toDisplayString(totalCount.value), 1)) : vue.createCommentVNode("", true)
|
|
5042
|
+
])
|
|
4997
5043
|
]);
|
|
4998
5044
|
};
|
|
4999
5045
|
}
|
|
@@ -5002,12 +5048,13 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
5002
5048
|
__name: "SearchBoxProductsWrapper",
|
|
5003
5049
|
props: {
|
|
5004
5050
|
panel: {},
|
|
5051
|
+
searchBoxOptions: {},
|
|
5005
5052
|
inputValue: {},
|
|
5006
5053
|
options: {},
|
|
5007
5054
|
labels: {},
|
|
5008
5055
|
debounce: {}
|
|
5009
5056
|
},
|
|
5010
|
-
emits: ["fetched"],
|
|
5057
|
+
emits: ["fetched", "product-click", "go-to-results"],
|
|
5011
5058
|
setup(__props, { emit }) {
|
|
5012
5059
|
const props = __props;
|
|
5013
5060
|
const searchBoxStore = useSearchBoxStore();
|
|
@@ -5017,6 +5064,9 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
5017
5064
|
var _a;
|
|
5018
5065
|
return (_a = docResults.value[props.panel.queryKey]) != null ? _a : null;
|
|
5019
5066
|
});
|
|
5067
|
+
const showGoToResultsButton = vue.computed(() => {
|
|
5068
|
+
return props.panel.showGoToResults;
|
|
5069
|
+
});
|
|
5020
5070
|
const inputValueProp = vue.computed(() => props.inputValue);
|
|
5021
5071
|
vue.onMounted(() => {
|
|
5022
5072
|
getItemsDebounced();
|
|
@@ -5050,13 +5100,26 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
5050
5100
|
const getItemsDebounced = debounce$1(getItems, props.debounce);
|
|
5051
5101
|
return (_ctx, _cache) => {
|
|
5052
5102
|
var _a, _b;
|
|
5053
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
5103
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$_, {
|
|
5054
5104
|
items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
|
|
5055
5105
|
panelOptions: _ctx.panel,
|
|
5056
5106
|
labels: _ctx.labels,
|
|
5057
5107
|
inputValue: _ctx.inputValue,
|
|
5058
|
-
onProductClick: _cache[
|
|
5059
|
-
}, vue.createSlots({
|
|
5108
|
+
onProductClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("product-click"))
|
|
5109
|
+
}, vue.createSlots({
|
|
5110
|
+
default: vue.withCtx(() => {
|
|
5111
|
+
var _a2;
|
|
5112
|
+
return [
|
|
5113
|
+
showGoToResultsButton.value && ((_a2 = searchResult.value) == null ? void 0 : _a2.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$Z, {
|
|
5114
|
+
key: 0,
|
|
5115
|
+
options: _ctx.searchBoxOptions,
|
|
5116
|
+
panel: _ctx.panel,
|
|
5117
|
+
onGoToResults: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("go-to-results"))
|
|
5118
|
+
}, null, 8, ["options", "panel"])) : vue.createCommentVNode("", true)
|
|
5119
|
+
];
|
|
5120
|
+
}),
|
|
5121
|
+
_: 2
|
|
5122
|
+
}, [
|
|
5060
5123
|
_ctx.$slots.productCard ? {
|
|
5061
5124
|
name: "productCard",
|
|
5062
5125
|
fn: vue.withCtx((props2) => [
|
|
@@ -5140,7 +5203,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
5140
5203
|
});
|
|
5141
5204
|
return (_ctx, _cache) => {
|
|
5142
5205
|
var _a, _b;
|
|
5143
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
5206
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$_, {
|
|
5144
5207
|
items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
|
|
5145
5208
|
panelOptions: documentPanelOptions.value,
|
|
5146
5209
|
labels: _ctx.labels,
|
|
@@ -5177,7 +5240,7 @@ const _hoisted_5$e = {
|
|
|
5177
5240
|
};
|
|
5178
5241
|
const __default__$2 = {
|
|
5179
5242
|
components: {
|
|
5180
|
-
SearchBoxSuggestionsWrapper: _sfc_main$
|
|
5243
|
+
SearchBoxSuggestionsWrapper: _sfc_main$1g,
|
|
5181
5244
|
SearchBoxProductsWrapper: _sfc_main$Y,
|
|
5182
5245
|
SearchBoxRelatedSourceWrapper: _sfc_main$X
|
|
5183
5246
|
}
|
|
@@ -5354,13 +5417,15 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
5354
5417
|
panel.queryKey && canShowPanel(panel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getComponent(panel.type)), {
|
|
5355
5418
|
key: 2,
|
|
5356
5419
|
panel,
|
|
5420
|
+
"search-box-options": _ctx.options,
|
|
5357
5421
|
options: sdkOptions.value,
|
|
5358
5422
|
debounce: _ctx.options.debounce,
|
|
5359
5423
|
inputValue: getInput(panel),
|
|
5360
5424
|
labels: labels.value,
|
|
5361
5425
|
onFetched: _cache[1] || (_cache[1] = (data) => _ctx.$emit("fetched", data)),
|
|
5362
5426
|
onItemSelect: _cache[2] || (_cache[2] = (item) => _ctx.$emit("itemSelect", item)),
|
|
5363
|
-
onProductClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("product-click"))
|
|
5427
|
+
onProductClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("product-click")),
|
|
5428
|
+
onGoToResults: handleGoToResults
|
|
5364
5429
|
}, vue.createSlots({ _: 2 }, [
|
|
5365
5430
|
_ctx.$slots.productCard ? {
|
|
5366
5431
|
name: "productCard",
|
|
@@ -5369,22 +5434,22 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
5369
5434
|
]),
|
|
5370
5435
|
key: "0"
|
|
5371
5436
|
} : void 0
|
|
5372
|
-
]), 1064, ["panel", "options", "debounce", "inputValue", "labels"])) : vue.createCommentVNode("", true)
|
|
5437
|
+
]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : vue.createCommentVNode("", true)
|
|
5373
5438
|
], 10, _hoisted_2$G);
|
|
5374
5439
|
}), 128))
|
|
5375
5440
|
], 4),
|
|
5376
|
-
!vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
5441
|
+
!vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$1j, {
|
|
5377
5442
|
key: 1,
|
|
5378
5443
|
labels: labels.value
|
|
5379
5444
|
}, null, 8, ["labels"])) : vue.createCommentVNode("", true),
|
|
5380
|
-
vue.unref(hasAnyResults) || !_ctx.options.hideMoreResultsButtonOnNoResults ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
5445
|
+
vue.unref(hasAnyResults) || !_ctx.options.hideMoreResultsButtonOnNoResults ? (vue.openBlock(), vue.createBlock(_sfc_main$1m, {
|
|
5381
5446
|
key: 2,
|
|
5382
5447
|
labels: labels.value,
|
|
5383
5448
|
showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
|
|
5384
5449
|
onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
|
|
5385
5450
|
}, null, 8, ["labels", "showTotalCount"])) : vue.createCommentVNode("", true)
|
|
5386
5451
|
])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$e, [
|
|
5387
|
-
vue.createVNode(_sfc_main$
|
|
5452
|
+
vue.createVNode(_sfc_main$1k, {
|
|
5388
5453
|
options: _ctx.options.history,
|
|
5389
5454
|
history: history.value,
|
|
5390
5455
|
onGoToResults: handleGoToResults,
|
|
@@ -5664,7 +5729,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
5664
5729
|
var _a2;
|
|
5665
5730
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
|
|
5666
5731
|
vue.createElementVNode("div", _hoisted_2$F, [
|
|
5667
|
-
vue.createVNode(_sfc_main$
|
|
5732
|
+
vue.createVNode(_sfc_main$1n, {
|
|
5668
5733
|
options: inputOptions.value,
|
|
5669
5734
|
suggestedValue: suggestedValue.value,
|
|
5670
5735
|
"can-close": (_a2 = _ctx.isSearchContainer) != null ? _a2 : false,
|
|
@@ -8837,7 +8902,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
8837
8902
|
},
|
|
8838
8903
|
setup(__props) {
|
|
8839
8904
|
return (_ctx, _cache) => {
|
|
8840
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
8905
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
|
|
8841
8906
|
item: _ctx.item,
|
|
8842
8907
|
options: _ctx.options,
|
|
8843
8908
|
"wrapper-class": "lupa-search-results-image-wrapper",
|
|
@@ -9479,7 +9544,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
9479
9544
|
"data-cy": "lupa-search-result-product-card",
|
|
9480
9545
|
class: ["lupa-search-result-product-card", !isInStock.value ? "lupa-out-of-stock" : ""]
|
|
9481
9546
|
}, customDocumentHtmlAttributes.value, { onClick: handleClick }), [
|
|
9482
|
-
vue.createVNode(_sfc_main
|
|
9547
|
+
vue.createVNode(_sfc_main$10, { options: badgesOptions.value }, null, 8, ["options"]),
|
|
9483
9548
|
vue.createElementVNode("div", {
|
|
9484
9549
|
class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
|
|
9485
9550
|
}, [
|
|
@@ -9500,7 +9565,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
9500
9565
|
onProductEvent: handleProductEvent
|
|
9501
9566
|
}, null, 8, ["item", "element", "labels", "inStock", "link"]);
|
|
9502
9567
|
}), 128)),
|
|
9503
|
-
vue.createVNode(_sfc_main
|
|
9568
|
+
vue.createVNode(_sfc_main$10, {
|
|
9504
9569
|
options: badgesOptions.value,
|
|
9505
9570
|
position: "image",
|
|
9506
9571
|
class: "lupa-image-badges"
|