@getlupa/vue 0.22.3 → 0.23.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/product-list/ProductList.vue.d.ts +2 -0
- package/dist/components/search-container/SearchContainer.vue.d.ts +2 -0
- package/dist/components/search-results/SearchResults.vue.d.ts +4 -0
- package/dist/components/search-results/filters/SearchResultsFilters.vue.d.ts +2 -1
- package/dist/components/search-results/filters/SortDrawer.vue.d.ts +2 -0
- package/dist/components/search-results/filters/facets/DesktopFacetToggle.vue.d.ts +2 -0
- package/dist/components/search-results/filters/facets/FacetDisplay.vue.d.ts +5 -1
- package/dist/components/search-results/filters/facets/FacetsClearButton.vue.d.ts +10 -0
- package/dist/components/search-results/products/SearchResultsMobileToggle.vue.d.ts +1 -6
- package/dist/components/search-results/products/SearchResultsSortDrawerToggle.vue.d.ts +2 -0
- package/dist/components/search-results/products/sort/DesktopSortToggle.vue.d.ts +2 -0
- package/dist/components/search-results/products/sort/SearchResultsSort.vue.d.ts +2 -8
- package/dist/components/search-results/products/sort/SortList.vue.d.ts +2 -0
- package/dist/composables/useSidebarToggle.d.ts +11 -0
- package/dist/composables/useSorting.d.ts +11 -0
- package/dist/lupaContainerStyle.css +1 -1
- package/dist/lupaSearch.js +1163 -763
- package/dist/lupaSearch.mjs +1163 -763
- package/dist/stores/options.d.ts +4 -1
- package/dist/stores/searchResult.d.ts +20 -8
- package/dist/style.css +1 -1
- package/dist/types/search-results/SearchResultsOptions.d.ts +17 -1
- package/package.json +1 -1
package/dist/lupaSearch.js
CHANGED
|
@@ -11791,8 +11791,18 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
|
|
|
11791
11791
|
);
|
|
11792
11792
|
const trackingOptions = vue.ref({});
|
|
11793
11793
|
const searchResultInitialFilters = vue.ref({});
|
|
11794
|
+
const expandedFacetsInner = vue.ref([]);
|
|
11794
11795
|
const productRecommendationOptions = vue.ref({});
|
|
11795
11796
|
const screenStore = useScreenStore();
|
|
11797
|
+
const expandedFacets = vue.computed({
|
|
11798
|
+
get: () => {
|
|
11799
|
+
var _a25, _b25, _c, _d, _e;
|
|
11800
|
+
return ((_a25 = expandedFacetsInner.value) == null ? void 0 : _a25.length) ? expandedFacetsInner.value : (_e = (_d = (_c = (_b25 = searchResultOptions.value) == null ? void 0 : _b25.filters) == null ? void 0 : _c.facets) == null ? void 0 : _d.expand) != null ? _e : [];
|
|
11801
|
+
},
|
|
11802
|
+
set: (value) => {
|
|
11803
|
+
expandedFacetsInner.value = value;
|
|
11804
|
+
}
|
|
11805
|
+
});
|
|
11796
11806
|
const envOptions = vue.computed(
|
|
11797
11807
|
() => {
|
|
11798
11808
|
var _a25;
|
|
@@ -11892,6 +11902,7 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
|
|
|
11892
11902
|
currentResolutionPageSizes,
|
|
11893
11903
|
productRecommendationOptions,
|
|
11894
11904
|
ariaLabels,
|
|
11905
|
+
expandedFacets,
|
|
11895
11906
|
setSearchBoxOptions,
|
|
11896
11907
|
setTrackingOptions,
|
|
11897
11908
|
setSearchResultOptions,
|
|
@@ -13310,7 +13321,7 @@ const getApiUrl = (environment, customBaseUrl) => {
|
|
|
13310
13321
|
}
|
|
13311
13322
|
return Env[environment] || Env["production"];
|
|
13312
13323
|
};
|
|
13313
|
-
const _sfc_main$
|
|
13324
|
+
const _sfc_main$1G = /* @__PURE__ */ vue.defineComponent({
|
|
13314
13325
|
__name: "VoiceSearchProgressCircle",
|
|
13315
13326
|
props: {
|
|
13316
13327
|
isRecording: { type: Boolean },
|
|
@@ -13523,15 +13534,15 @@ function useVoiceRecorder(options) {
|
|
|
13523
13534
|
closeSocket
|
|
13524
13535
|
};
|
|
13525
13536
|
}
|
|
13526
|
-
const _hoisted_1$
|
|
13537
|
+
const _hoisted_1$1o = {
|
|
13527
13538
|
key: 0,
|
|
13528
13539
|
class: "lupa-dialog-overlay"
|
|
13529
13540
|
};
|
|
13530
|
-
const _hoisted_2$
|
|
13531
|
-
const _hoisted_3$
|
|
13532
|
-
const _hoisted_4$
|
|
13533
|
-
const _hoisted_5$
|
|
13534
|
-
const _sfc_main$
|
|
13541
|
+
const _hoisted_2$Y = { class: "lupa-dialog-content" };
|
|
13542
|
+
const _hoisted_3$G = { class: "lupa-listening-text" };
|
|
13543
|
+
const _hoisted_4$w = { class: "lupa-mic-button-wrapper" };
|
|
13544
|
+
const _hoisted_5$m = ["aria-label"];
|
|
13545
|
+
const _sfc_main$1F = /* @__PURE__ */ vue.defineComponent({
|
|
13535
13546
|
__name: "VoiceSearchDialog",
|
|
13536
13547
|
props: {
|
|
13537
13548
|
isOpen: { type: Boolean },
|
|
@@ -13636,21 +13647,21 @@ const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
|
|
|
13636
13647
|
return (_ctx, _cache) => {
|
|
13637
13648
|
var _a25, _b25;
|
|
13638
13649
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
13639
|
-
props.isOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13650
|
+
props.isOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1o, [
|
|
13640
13651
|
vue.createElementVNode("button", {
|
|
13641
13652
|
class: "lupa-dialog-box-close-button",
|
|
13642
13653
|
onClick: _cache[0] || (_cache[0] = () => emit("close"))
|
|
13643
13654
|
}),
|
|
13644
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
13645
|
-
vue.createElementVNode("p", _hoisted_3$
|
|
13646
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
13655
|
+
vue.createElementVNode("div", _hoisted_2$Y, [
|
|
13656
|
+
vue.createElementVNode("p", _hoisted_3$G, vue.toDisplayString(description.value), 1),
|
|
13657
|
+
vue.createElementVNode("div", _hoisted_4$w, [
|
|
13647
13658
|
vue.createElementVNode("button", {
|
|
13648
13659
|
class: vue.normalizeClass(["lupa-mic-button", { recording: vue.unref(isRecording) }]),
|
|
13649
13660
|
onClick: handleRecordingButtonClick,
|
|
13650
13661
|
"aria-controls": "voice-search-microphone",
|
|
13651
13662
|
"aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
|
|
13652
|
-
}, null, 10, _hoisted_5$
|
|
13653
|
-
vue.createVNode(_sfc_main$
|
|
13663
|
+
}, null, 10, _hoisted_5$m),
|
|
13664
|
+
vue.createVNode(_sfc_main$1G, {
|
|
13654
13665
|
ref_key: "voiceSearchProgressBar",
|
|
13655
13666
|
ref: voiceSearchProgressBar,
|
|
13656
13667
|
class: "lupa-progress-circle",
|
|
@@ -13665,18 +13676,18 @@ const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
|
|
|
13665
13676
|
};
|
|
13666
13677
|
}
|
|
13667
13678
|
});
|
|
13668
|
-
const _hoisted_1$
|
|
13669
|
-
const _hoisted_2$
|
|
13670
|
-
const _hoisted_3$
|
|
13671
|
-
const _hoisted_4$
|
|
13672
|
-
const _hoisted_5$
|
|
13673
|
-
const _hoisted_6$
|
|
13679
|
+
const _hoisted_1$1n = { id: "lupa-search-box-input-container" };
|
|
13680
|
+
const _hoisted_2$X = { class: "lupa-input-clear" };
|
|
13681
|
+
const _hoisted_3$F = { id: "lupa-search-box-input" };
|
|
13682
|
+
const _hoisted_4$v = ["value"];
|
|
13683
|
+
const _hoisted_5$l = ["aria-label", "placeholder"];
|
|
13684
|
+
const _hoisted_6$7 = {
|
|
13674
13685
|
key: 0,
|
|
13675
13686
|
class: "lupa-close-label"
|
|
13676
13687
|
};
|
|
13677
13688
|
const _hoisted_7$5 = { key: 1 };
|
|
13678
13689
|
const _hoisted_8$3 = ["aria-label"];
|
|
13679
|
-
const _sfc_main$
|
|
13690
|
+
const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
|
|
13680
13691
|
__name: "SearchBoxInput",
|
|
13681
13692
|
props: {
|
|
13682
13693
|
options: {},
|
|
@@ -13808,20 +13819,20 @@ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
|
|
|
13808
13819
|
};
|
|
13809
13820
|
__expose({ focus });
|
|
13810
13821
|
return (_ctx, _cache) => {
|
|
13811
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13812
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
13822
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1n, [
|
|
13823
|
+
vue.createElementVNode("div", _hoisted_2$X, [
|
|
13813
13824
|
vue.createElementVNode("div", {
|
|
13814
13825
|
class: vue.normalizeClass(["lupa-input-clear-content", { "lupa-input-clear-filled": inputValue.value }]),
|
|
13815
13826
|
onClick: clear
|
|
13816
13827
|
}, null, 2)
|
|
13817
13828
|
]),
|
|
13818
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
13829
|
+
vue.createElementVNode("div", _hoisted_3$F, [
|
|
13819
13830
|
vue.createElementVNode("input", {
|
|
13820
13831
|
class: "lupa-hint",
|
|
13821
13832
|
"aria-hidden": "true",
|
|
13822
13833
|
value: showHint.value ? suggestedValue.value.item.suggestion : "",
|
|
13823
13834
|
disabled: ""
|
|
13824
|
-
}, null, 8, _hoisted_4$
|
|
13835
|
+
}, null, 8, _hoisted_4$v),
|
|
13825
13836
|
vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
|
|
13826
13837
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
|
|
13827
13838
|
}, inputAttributes.value, {
|
|
@@ -13835,7 +13846,7 @@ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
|
|
|
13835
13846
|
placeholder: labels.value.placeholder,
|
|
13836
13847
|
onInput: handleInput,
|
|
13837
13848
|
onFocus: handleFocus
|
|
13838
|
-
}), null, 16, _hoisted_5$
|
|
13849
|
+
}), null, 16, _hoisted_5$l), [
|
|
13839
13850
|
[vue.vModelText, inputValue.value]
|
|
13840
13851
|
]),
|
|
13841
13852
|
_ctx.options.showSubmitButton ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
@@ -13850,7 +13861,7 @@ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
|
|
|
13850
13861
|
class: "lupa-close-search-container",
|
|
13851
13862
|
onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("close"))
|
|
13852
13863
|
}, [
|
|
13853
|
-
labels.value.close ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
13864
|
+
labels.value.close ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$7, vue.toDisplayString(labels.value.close), 1)) : vue.createCommentVNode("", true)
|
|
13854
13865
|
])) : vue.createCommentVNode("", true),
|
|
13855
13866
|
isVoiceSearchEnabled.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$5, [
|
|
13856
13867
|
vue.createElementVNode("button", {
|
|
@@ -13861,7 +13872,7 @@ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
|
|
|
13861
13872
|
"aria-label": voiceSearchAriaLabel.value
|
|
13862
13873
|
}, null, 8, _hoisted_8$3)
|
|
13863
13874
|
])) : vue.createCommentVNode("", true),
|
|
13864
|
-
isVoiceSearchEnabled.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13875
|
+
isVoiceSearchEnabled.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1F, {
|
|
13865
13876
|
key: 2,
|
|
13866
13877
|
ref_key: "voiceDialogOverlay",
|
|
13867
13878
|
ref: voiceDialogOverlay,
|
|
@@ -13875,7 +13886,7 @@ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
|
|
|
13875
13886
|
};
|
|
13876
13887
|
}
|
|
13877
13888
|
});
|
|
13878
|
-
const _sfc_main$
|
|
13889
|
+
const _sfc_main$1D = /* @__PURE__ */ vue.defineComponent({
|
|
13879
13890
|
__name: "SearchBoxMoreResults",
|
|
13880
13891
|
props: {
|
|
13881
13892
|
labels: {},
|
|
@@ -13913,9 +13924,9 @@ const _sfc_main$1x = /* @__PURE__ */ vue.defineComponent({
|
|
|
13913
13924
|
};
|
|
13914
13925
|
}
|
|
13915
13926
|
});
|
|
13916
|
-
const _hoisted_1$
|
|
13917
|
-
const _hoisted_2$
|
|
13918
|
-
const _sfc_main$
|
|
13927
|
+
const _hoisted_1$1m = { class: "lupa-search-box-history-item" };
|
|
13928
|
+
const _hoisted_2$W = { class: "lupa-search-box-history-item-content" };
|
|
13929
|
+
const _sfc_main$1C = /* @__PURE__ */ vue.defineComponent({
|
|
13919
13930
|
__name: "SearchBoxHistoryItem",
|
|
13920
13931
|
props: {
|
|
13921
13932
|
item: {},
|
|
@@ -13932,8 +13943,8 @@ const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
|
|
|
13932
13943
|
emit("click", { query: props.item });
|
|
13933
13944
|
};
|
|
13934
13945
|
return (_ctx, _cache) => {
|
|
13935
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13936
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
13946
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1m, [
|
|
13947
|
+
vue.createElementVNode("div", _hoisted_2$W, [
|
|
13937
13948
|
vue.createElementVNode("div", {
|
|
13938
13949
|
class: vue.normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
|
|
13939
13950
|
onClick: click2
|
|
@@ -13947,11 +13958,11 @@ const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
|
|
|
13947
13958
|
};
|
|
13948
13959
|
}
|
|
13949
13960
|
});
|
|
13950
|
-
const _hoisted_1$
|
|
13961
|
+
const _hoisted_1$1l = {
|
|
13951
13962
|
key: 0,
|
|
13952
13963
|
class: "lupa-search-box-history-panel"
|
|
13953
13964
|
};
|
|
13954
|
-
const _sfc_main$
|
|
13965
|
+
const _sfc_main$1B = /* @__PURE__ */ vue.defineComponent({
|
|
13955
13966
|
__name: "SearchBoxHistoryPanel",
|
|
13956
13967
|
props: {
|
|
13957
13968
|
options: {}
|
|
@@ -14002,9 +14013,9 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
|
|
|
14002
14013
|
}
|
|
14003
14014
|
};
|
|
14004
14015
|
return (_ctx, _cache) => {
|
|
14005
|
-
return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14016
|
+
return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1l, [
|
|
14006
14017
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(limitedHistory.value, (item, index) => {
|
|
14007
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14018
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1C, {
|
|
14008
14019
|
key: item,
|
|
14009
14020
|
item,
|
|
14010
14021
|
highlighted: index === highlightIndex.value,
|
|
@@ -14020,15 +14031,15 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
|
|
|
14020
14031
|
};
|
|
14021
14032
|
}
|
|
14022
14033
|
});
|
|
14023
|
-
const _hoisted_1$
|
|
14024
|
-
const _sfc_main$
|
|
14034
|
+
const _hoisted_1$1k = { class: "lupa-search-box-no-results" };
|
|
14035
|
+
const _sfc_main$1A = /* @__PURE__ */ vue.defineComponent({
|
|
14025
14036
|
__name: "SearchBoxNoResults",
|
|
14026
14037
|
props: {
|
|
14027
14038
|
labels: {}
|
|
14028
14039
|
},
|
|
14029
14040
|
setup(__props) {
|
|
14030
14041
|
return (_ctx, _cache) => {
|
|
14031
|
-
return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$
|
|
14042
|
+
return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$1k, vue.toDisplayString(_ctx.labels.noResults), 1);
|
|
14032
14043
|
};
|
|
14033
14044
|
}
|
|
14034
14045
|
});
|
|
@@ -14060,26 +14071,26 @@ const generateGridTemplate = (elements) => {
|
|
|
14060
14071
|
}
|
|
14061
14072
|
return gridTemplate.join(" ");
|
|
14062
14073
|
};
|
|
14063
|
-
const _hoisted_1$
|
|
14064
|
-
const _hoisted_2$
|
|
14074
|
+
const _hoisted_1$1j = ["innerHTML"];
|
|
14075
|
+
const _hoisted_2$V = {
|
|
14065
14076
|
key: 1,
|
|
14066
14077
|
"data-cy": "lupa-suggestion-value",
|
|
14067
14078
|
class: "lupa-suggestion-value"
|
|
14068
14079
|
};
|
|
14069
|
-
const _hoisted_3$
|
|
14080
|
+
const _hoisted_3$E = {
|
|
14070
14081
|
key: 2,
|
|
14071
14082
|
class: "lupa-suggestion-facet",
|
|
14072
14083
|
"data-cy": "lupa-suggestion-facet"
|
|
14073
14084
|
};
|
|
14074
|
-
const _hoisted_4$
|
|
14085
|
+
const _hoisted_4$u = {
|
|
14075
14086
|
class: "lupa-suggestion-facet-label",
|
|
14076
14087
|
"data-cy": "lupa-suggestion-facet-label"
|
|
14077
14088
|
};
|
|
14078
|
-
const _hoisted_5$
|
|
14089
|
+
const _hoisted_5$k = {
|
|
14079
14090
|
class: "lupa-suggestion-facet-value",
|
|
14080
14091
|
"data-cy": "lupa-suggestion-facet-value"
|
|
14081
14092
|
};
|
|
14082
|
-
const _sfc_main$
|
|
14093
|
+
const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
|
|
14083
14094
|
__name: "SearchBoxSuggestion",
|
|
14084
14095
|
props: {
|
|
14085
14096
|
suggestion: {},
|
|
@@ -14116,20 +14127,20 @@ const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
|
|
|
14116
14127
|
class: "lupa-suggestion-value",
|
|
14117
14128
|
"data-cy": "lupa-suggestion-value",
|
|
14118
14129
|
innerHTML: _ctx.suggestion.displayHighlight
|
|
14119
|
-
}, null, 8, _hoisted_1$
|
|
14120
|
-
_ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
14121
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
14122
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
14130
|
+
}, null, 8, _hoisted_1$1j)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$V, vue.toDisplayString(_ctx.suggestion.display), 1)),
|
|
14131
|
+
_ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$E, [
|
|
14132
|
+
vue.createElementVNode("span", _hoisted_4$u, vue.toDisplayString(facetLabel.value), 1),
|
|
14133
|
+
vue.createElementVNode("span", _hoisted_5$k, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
|
|
14123
14134
|
])) : vue.createCommentVNode("", true)
|
|
14124
14135
|
]);
|
|
14125
14136
|
};
|
|
14126
14137
|
}
|
|
14127
14138
|
});
|
|
14128
|
-
const _hoisted_1$
|
|
14139
|
+
const _hoisted_1$1i = {
|
|
14129
14140
|
id: "lupa-search-box-suggestions",
|
|
14130
14141
|
"data-cy": "lupa-search-box-suggestions"
|
|
14131
14142
|
};
|
|
14132
|
-
const _sfc_main$
|
|
14143
|
+
const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
|
|
14133
14144
|
__name: "SearchBoxSuggestions",
|
|
14134
14145
|
props: {
|
|
14135
14146
|
items: {},
|
|
@@ -14196,9 +14207,9 @@ const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
|
|
|
14196
14207
|
});
|
|
14197
14208
|
});
|
|
14198
14209
|
return (_ctx, _cache) => {
|
|
14199
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14210
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1i, [
|
|
14200
14211
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items.value, (item, index) => {
|
|
14201
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14212
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1z, {
|
|
14202
14213
|
key: getSuggestionKey(item),
|
|
14203
14214
|
class: vue.normalizeClass([
|
|
14204
14215
|
"lupa-suggestion",
|
|
@@ -14230,7 +14241,7 @@ const debounce = (func, timeout) => {
|
|
|
14230
14241
|
}, timeout);
|
|
14231
14242
|
};
|
|
14232
14243
|
};
|
|
14233
|
-
const _sfc_main$
|
|
14244
|
+
const _sfc_main$1x = /* @__PURE__ */ vue.defineComponent({
|
|
14234
14245
|
__name: "SearchBoxSuggestionsWrapper",
|
|
14235
14246
|
props: {
|
|
14236
14247
|
panel: {},
|
|
@@ -14273,7 +14284,7 @@ const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
|
|
|
14273
14284
|
const getSuggestionsDebounced = debounce(getSuggestions, props.debounce);
|
|
14274
14285
|
vue.watch(() => props.panel.limit, getSuggestionsDebounced);
|
|
14275
14286
|
return (_ctx, _cache) => {
|
|
14276
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14287
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1y, {
|
|
14277
14288
|
items: searchResult.value,
|
|
14278
14289
|
highlight: _ctx.panel.highlight,
|
|
14279
14290
|
queryKey: _ctx.panel.queryKey,
|
|
@@ -23613,9 +23624,9 @@ const replaceImageWithPlaceholder = (e2, placeholder) => {
|
|
|
23613
23624
|
targetImage.src = placeholder;
|
|
23614
23625
|
}
|
|
23615
23626
|
};
|
|
23616
|
-
const _hoisted_1$
|
|
23617
|
-
const _hoisted_2$
|
|
23618
|
-
const _sfc_main$
|
|
23627
|
+
const _hoisted_1$1h = ["src"];
|
|
23628
|
+
const _hoisted_2$U = ["src"];
|
|
23629
|
+
const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
|
|
23619
23630
|
__name: "ProductImage",
|
|
23620
23631
|
props: {
|
|
23621
23632
|
item: {},
|
|
@@ -23757,7 +23768,7 @@ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
|
|
|
23757
23768
|
}, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
|
|
23758
23769
|
onError: replaceWithPlaceholder,
|
|
23759
23770
|
key: finalUrl.value
|
|
23760
|
-
}), null, 16, _hoisted_1$
|
|
23771
|
+
}), null, 16, _hoisted_1$1h))
|
|
23761
23772
|
]),
|
|
23762
23773
|
_: 1
|
|
23763
23774
|
})) : (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
|
|
@@ -23765,12 +23776,12 @@ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
|
|
|
23765
23776
|
class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
|
|
23766
23777
|
style: styleOverride.value,
|
|
23767
23778
|
src: finalMainImageUrl.value
|
|
23768
|
-
}, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$
|
|
23779
|
+
}, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$U))
|
|
23769
23780
|
], 38);
|
|
23770
23781
|
};
|
|
23771
23782
|
}
|
|
23772
23783
|
});
|
|
23773
|
-
const _sfc_main$
|
|
23784
|
+
const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
|
|
23774
23785
|
__name: "SearchBoxProductImage",
|
|
23775
23786
|
props: {
|
|
23776
23787
|
item: {},
|
|
@@ -23778,7 +23789,7 @@ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
|
|
|
23778
23789
|
},
|
|
23779
23790
|
setup(__props) {
|
|
23780
23791
|
return (_ctx, _cache) => {
|
|
23781
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
23792
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1w, {
|
|
23782
23793
|
item: _ctx.item,
|
|
23783
23794
|
options: _ctx.options,
|
|
23784
23795
|
"wrapper-class": "lupa-search-box-image-wrapper",
|
|
@@ -23787,12 +23798,12 @@ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
|
|
|
23787
23798
|
};
|
|
23788
23799
|
}
|
|
23789
23800
|
});
|
|
23790
|
-
const _hoisted_1$
|
|
23791
|
-
const _hoisted_2$
|
|
23801
|
+
const _hoisted_1$1g = ["innerHTML"];
|
|
23802
|
+
const _hoisted_2$T = {
|
|
23792
23803
|
key: 1,
|
|
23793
23804
|
class: "lupa-search-box-product-title"
|
|
23794
23805
|
};
|
|
23795
|
-
const _sfc_main$
|
|
23806
|
+
const _sfc_main$1u = /* @__PURE__ */ vue.defineComponent({
|
|
23796
23807
|
__name: "SearchBoxProductTitle",
|
|
23797
23808
|
props: {
|
|
23798
23809
|
item: {},
|
|
@@ -23815,18 +23826,18 @@ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
|
|
|
23815
23826
|
key: 0,
|
|
23816
23827
|
class: "lupa-search-box-product-title",
|
|
23817
23828
|
innerHTML: sanitizedTitle.value
|
|
23818
|
-
}, null, 8, _hoisted_1$
|
|
23829
|
+
}, null, 8, _hoisted_1$1g)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$T, [
|
|
23819
23830
|
vue.createElementVNode("strong", null, vue.toDisplayString(title.value), 1)
|
|
23820
23831
|
]));
|
|
23821
23832
|
};
|
|
23822
23833
|
}
|
|
23823
23834
|
});
|
|
23824
|
-
const _hoisted_1$
|
|
23825
|
-
const _hoisted_2$
|
|
23835
|
+
const _hoisted_1$1f = ["innerHTML"];
|
|
23836
|
+
const _hoisted_2$S = {
|
|
23826
23837
|
key: 1,
|
|
23827
23838
|
class: "lupa-search-box-product-description"
|
|
23828
23839
|
};
|
|
23829
|
-
const _sfc_main$
|
|
23840
|
+
const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
|
|
23830
23841
|
__name: "SearchBoxProductDescription",
|
|
23831
23842
|
props: {
|
|
23832
23843
|
item: {},
|
|
@@ -23849,12 +23860,12 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
|
|
|
23849
23860
|
key: 0,
|
|
23850
23861
|
class: "lupa-search-box-product-description",
|
|
23851
23862
|
innerHTML: sanitizedDescription.value
|
|
23852
|
-
}, null, 8, _hoisted_1$
|
|
23863
|
+
}, null, 8, _hoisted_1$1f)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$S, vue.toDisplayString(description.value), 1));
|
|
23853
23864
|
};
|
|
23854
23865
|
}
|
|
23855
23866
|
});
|
|
23856
|
-
const _hoisted_1$
|
|
23857
|
-
const _sfc_main$
|
|
23867
|
+
const _hoisted_1$1e = { class: "lupa-search-box-product-price" };
|
|
23868
|
+
const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
|
|
23858
23869
|
__name: "SearchBoxProductPrice",
|
|
23859
23870
|
props: {
|
|
23860
23871
|
item: {},
|
|
@@ -23876,13 +23887,13 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
|
23876
23887
|
);
|
|
23877
23888
|
});
|
|
23878
23889
|
return (_ctx, _cache) => {
|
|
23879
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
23890
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1e, [
|
|
23880
23891
|
vue.createElementVNode("strong", null, vue.toDisplayString(price.value), 1)
|
|
23881
23892
|
]);
|
|
23882
23893
|
};
|
|
23883
23894
|
}
|
|
23884
23895
|
});
|
|
23885
|
-
const _sfc_main$
|
|
23896
|
+
const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
|
|
23886
23897
|
__name: "SearchBoxProductRegularPrice",
|
|
23887
23898
|
props: {
|
|
23888
23899
|
item: {},
|
|
@@ -23913,12 +23924,12 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
|
23913
23924
|
};
|
|
23914
23925
|
}
|
|
23915
23926
|
});
|
|
23916
|
-
const _hoisted_1$
|
|
23917
|
-
const _hoisted_2$
|
|
23918
|
-
const _hoisted_3$
|
|
23919
|
-
const _hoisted_4$
|
|
23920
|
-
const _hoisted_5$
|
|
23921
|
-
const _sfc_main$
|
|
23927
|
+
const _hoisted_1$1d = ["innerHTML"];
|
|
23928
|
+
const _hoisted_2$R = { key: 0 };
|
|
23929
|
+
const _hoisted_3$D = { key: 1 };
|
|
23930
|
+
const _hoisted_4$t = { class: "lupa-search-box-custom-label" };
|
|
23931
|
+
const _hoisted_5$j = { class: "lupa-search-box-custom-text" };
|
|
23932
|
+
const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
|
|
23922
23933
|
__name: "SearchBoxProductCustom",
|
|
23923
23934
|
props: {
|
|
23924
23935
|
item: {},
|
|
@@ -23944,20 +23955,20 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
|
23944
23955
|
key: 0,
|
|
23945
23956
|
class: [className.value, "lupa-search-box-product-custom"],
|
|
23946
23957
|
innerHTML: text.value
|
|
23947
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
23958
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1d)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
23948
23959
|
key: 1,
|
|
23949
23960
|
class: [className.value, "lupa-search-box-product-custom"]
|
|
23950
23961
|
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
|
|
23951
|
-
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
23952
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
23953
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
23962
|
+
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$R, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$D, [
|
|
23963
|
+
vue.createElementVNode("div", _hoisted_4$t, vue.toDisplayString(label.value), 1),
|
|
23964
|
+
vue.createElementVNode("div", _hoisted_5$j, vue.toDisplayString(text.value), 1)
|
|
23954
23965
|
]))
|
|
23955
23966
|
], 16));
|
|
23956
23967
|
};
|
|
23957
23968
|
}
|
|
23958
23969
|
});
|
|
23959
|
-
const _hoisted_1$
|
|
23960
|
-
const _sfc_main$
|
|
23970
|
+
const _hoisted_1$1c = ["innerHTML"];
|
|
23971
|
+
const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
|
|
23961
23972
|
__name: "SearchBoxProductCustomHtml",
|
|
23962
23973
|
props: {
|
|
23963
23974
|
item: {},
|
|
@@ -23982,7 +23993,7 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
|
23982
23993
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
23983
23994
|
class: className.value,
|
|
23984
23995
|
innerHTML: text.value
|
|
23985
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
23996
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1c);
|
|
23986
23997
|
};
|
|
23987
23998
|
}
|
|
23988
23999
|
});
|
|
@@ -24040,7 +24051,9 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
|
|
|
24040
24051
|
const loadingFacets = vue.ref(false);
|
|
24041
24052
|
const loadingRefiners = vue.ref(false);
|
|
24042
24053
|
const loadingRelatedQueries = vue.ref(false);
|
|
24043
|
-
const
|
|
24054
|
+
const isFilterSidebarVisible = vue.ref(false);
|
|
24055
|
+
const isSidebarClosing = vue.ref(false);
|
|
24056
|
+
const isSortingSidebarVisible = vue.ref(false);
|
|
24044
24057
|
const relatedCategoryChildren = vue.ref([]);
|
|
24045
24058
|
const lastRequestId = vue.ref("");
|
|
24046
24059
|
const searchRequestResults = vue.ref({});
|
|
@@ -24122,16 +24135,36 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
|
|
|
24122
24135
|
return hasResults.value && ((_a25 = searchResult.value.offset) != null ? _a25 : 0) >= totalItems.value;
|
|
24123
24136
|
}
|
|
24124
24137
|
);
|
|
24138
|
+
const toggleSidebarState = ({
|
|
24139
|
+
visible,
|
|
24140
|
+
sidebar = "filter"
|
|
24141
|
+
}) => {
|
|
24142
|
+
if (sidebar === "sorting") {
|
|
24143
|
+
isSortingSidebarVisible.value = visible;
|
|
24144
|
+
return;
|
|
24145
|
+
}
|
|
24146
|
+
isFilterSidebarVisible.value = visible;
|
|
24147
|
+
};
|
|
24125
24148
|
const setSidebarState = ({
|
|
24126
24149
|
visible,
|
|
24127
|
-
disableBodyScrolling = true
|
|
24150
|
+
disableBodyScrolling = true,
|
|
24151
|
+
sidebar = "filter"
|
|
24128
24152
|
}) => {
|
|
24153
|
+
var _a25, _b25, _c, _d;
|
|
24129
24154
|
if (visible && disableBodyScrolling) {
|
|
24130
24155
|
disableBodyScroll();
|
|
24131
24156
|
} else {
|
|
24132
24157
|
enableBodyScroll();
|
|
24133
24158
|
}
|
|
24134
|
-
|
|
24159
|
+
if (visible || !((_d = (_c = (_b25 = (_a25 = searchResultOptions == null ? void 0 : searchResultOptions.value.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.style) == null ? void 0 : _c.drawer) == null ? void 0 : _d.sidebarCloseDelay)) {
|
|
24160
|
+
toggleSidebarState({ visible, sidebar });
|
|
24161
|
+
} else {
|
|
24162
|
+
isSidebarClosing.value = true;
|
|
24163
|
+
setTimeout(() => {
|
|
24164
|
+
toggleSidebarState({ visible, sidebar });
|
|
24165
|
+
isSidebarClosing.value = false;
|
|
24166
|
+
}, searchResultOptions.value.filters.facets.style.drawer.sidebarCloseDelay);
|
|
24167
|
+
}
|
|
24135
24168
|
};
|
|
24136
24169
|
const queryFacet = (_0) => __async(null, [_0], function* ({ queryKey, facetKey }) {
|
|
24137
24170
|
var _a25, _b25, _c, _d;
|
|
@@ -24233,13 +24266,28 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
|
|
|
24233
24266
|
const setRelatedCategoryChildren = (children) => {
|
|
24234
24267
|
relatedCategoryChildren.value = [...children];
|
|
24235
24268
|
};
|
|
24269
|
+
const preconfiguredRelatedQueryKeys = vue.computed(() => {
|
|
24270
|
+
var _a25, _b25, _c, _d, _e;
|
|
24271
|
+
return (_e = (_d = (_c = (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.relatedQueries) == null ? void 0 : _b25.source) == null ? void 0 : _c.queries) == null ? void 0 : _d.map((q) => q.facetKey)) != null ? _e : [];
|
|
24272
|
+
});
|
|
24273
|
+
const relatedQueryFacetKeys = vue.computed(() => {
|
|
24274
|
+
var _a25, _b25, _c;
|
|
24275
|
+
const keysFromRelatedResults = (_c = (_b25 = (_a25 = relatedQueriesResult.value) == null ? void 0 : _a25.relatedQueries) == null ? void 0 : _b25.map((rq) => rq.facetKey)) != null ? _c : [];
|
|
24276
|
+
return Array.from(/* @__PURE__ */ new Set([...preconfiguredRelatedQueryKeys.value, ...keysFromRelatedResults]));
|
|
24277
|
+
});
|
|
24236
24278
|
const queryRelatedQueries = (queryKey, publicQuery, result2, options) => __async(null, null, function* () {
|
|
24237
|
-
var _a25, _b25;
|
|
24279
|
+
var _a25, _b25, _c;
|
|
24238
24280
|
loadingRelatedQueries.value = true;
|
|
24239
24281
|
const context = getLupaTrackingContext();
|
|
24240
24282
|
const searchText = (_b25 = (_a25 = result2.suggestedSearchText) != null ? _a25 : result2.searchText) != null ? _b25 : "";
|
|
24283
|
+
const publicQueryFiltersWithoutRelatedKeys = __spreadValues({}, (_c = publicQuery.filters) != null ? _c : {});
|
|
24284
|
+
relatedQueryFacetKeys.value.forEach((facetKey) => {
|
|
24285
|
+
delete publicQueryFiltersWithoutRelatedKeys[facetKey];
|
|
24286
|
+
});
|
|
24287
|
+
const hasRemainingFilters = Object.keys(publicQueryFiltersWithoutRelatedKeys != null ? publicQueryFiltersWithoutRelatedKeys : {}).length > 0;
|
|
24241
24288
|
const query = __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, publicQuery), {
|
|
24242
|
-
searchText
|
|
24289
|
+
searchText,
|
|
24290
|
+
filters: hasRemainingFilters ? publicQueryFiltersWithoutRelatedKeys : void 0
|
|
24243
24291
|
}), context), {
|
|
24244
24292
|
modifiers: { facets: false, refiners: true }
|
|
24245
24293
|
});
|
|
@@ -24255,7 +24303,9 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
|
|
|
24255
24303
|
});
|
|
24256
24304
|
});
|
|
24257
24305
|
return {
|
|
24258
|
-
|
|
24306
|
+
isFilterSidebarVisible,
|
|
24307
|
+
isSortingSidebarVisible,
|
|
24308
|
+
isSidebarClosing,
|
|
24259
24309
|
searchResult,
|
|
24260
24310
|
columnCount,
|
|
24261
24311
|
addToCartAmount,
|
|
@@ -24281,6 +24331,7 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
|
|
|
24281
24331
|
relatedQueriesResult,
|
|
24282
24332
|
relatedQueriesApiEnabled,
|
|
24283
24333
|
lastResultsSource,
|
|
24334
|
+
relatedQueryFacetKeys,
|
|
24284
24335
|
setSidebarState,
|
|
24285
24336
|
queryFacet,
|
|
24286
24337
|
setLastRequestId,
|
|
@@ -24297,12 +24348,12 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
|
|
|
24297
24348
|
setRelatedQueriesApiEnabled
|
|
24298
24349
|
};
|
|
24299
24350
|
});
|
|
24300
|
-
const _hoisted_1$
|
|
24301
|
-
const _hoisted_2$
|
|
24302
|
-
const _hoisted_3$
|
|
24303
|
-
const _hoisted_4$
|
|
24304
|
-
const _hoisted_5$
|
|
24305
|
-
const _sfc_main$
|
|
24351
|
+
const _hoisted_1$1b = { class: "lupa-search-box-add-to-cart-wrapper" };
|
|
24352
|
+
const _hoisted_2$Q = { class: "lupa-search-box-product-addtocart" };
|
|
24353
|
+
const _hoisted_3$C = ["disabled"];
|
|
24354
|
+
const _hoisted_4$s = ["href"];
|
|
24355
|
+
const _hoisted_5$i = ["disabled"];
|
|
24356
|
+
const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
|
|
24306
24357
|
__name: "SearchBoxProductAddToCart",
|
|
24307
24358
|
props: {
|
|
24308
24359
|
item: {},
|
|
@@ -24348,45 +24399,45 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
|
|
|
24348
24399
|
return Boolean(props.link && props.options.link);
|
|
24349
24400
|
});
|
|
24350
24401
|
return (_ctx, _cache) => {
|
|
24351
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
24352
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
24402
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1b, [
|
|
24403
|
+
vue.createElementVNode("div", _hoisted_2$Q, [
|
|
24353
24404
|
hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
|
|
24354
24405
|
key: 0,
|
|
24355
24406
|
class: addToCartButtonClass.value,
|
|
24356
24407
|
"data-cy": "lupa-add-to-cart",
|
|
24357
24408
|
disabled: !inStockValue.value || loading.value
|
|
24358
24409
|
}, _ctx.dynamicAttributes, { onClick: handleClick }), [
|
|
24359
|
-
vue.createElementVNode("a", { href: _ctx.link }, vue.toDisplayString(label.value), 9, _hoisted_4$
|
|
24360
|
-
], 16, _hoisted_3$
|
|
24410
|
+
vue.createElementVNode("a", { href: _ctx.link }, vue.toDisplayString(label.value), 9, _hoisted_4$s)
|
|
24411
|
+
], 16, _hoisted_3$C)) : (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
|
|
24361
24412
|
key: 1,
|
|
24362
24413
|
onClick: vue.withModifiers(handleClick, ["stop", "prevent"]),
|
|
24363
24414
|
class: addToCartButtonClass.value,
|
|
24364
24415
|
"data-cy": "lupa-add-to-cart",
|
|
24365
24416
|
type: "button",
|
|
24366
24417
|
disabled: !inStockValue.value || loading.value
|
|
24367
|
-
}, _ctx.dynamicAttributes), vue.toDisplayString(label.value), 17, _hoisted_5$
|
|
24418
|
+
}, _ctx.dynamicAttributes), vue.toDisplayString(label.value), 17, _hoisted_5$i))
|
|
24368
24419
|
])
|
|
24369
24420
|
]);
|
|
24370
24421
|
};
|
|
24371
24422
|
}
|
|
24372
24423
|
});
|
|
24373
|
-
const _hoisted_1$
|
|
24424
|
+
const _hoisted_1$1a = {
|
|
24374
24425
|
key: 1,
|
|
24375
24426
|
class: "lupa-search-box-element-badge-wrapper"
|
|
24376
24427
|
};
|
|
24377
24428
|
const __default__$4 = {
|
|
24378
24429
|
components: {
|
|
24379
|
-
SearchBoxProductImage: _sfc_main$
|
|
24380
|
-
SearchBoxProductTitle: _sfc_main$
|
|
24381
|
-
SearchBoxProductDescription: _sfc_main$
|
|
24382
|
-
SearchBoxProductPrice: _sfc_main$
|
|
24383
|
-
SearchBoxProductRegularPrice: _sfc_main$
|
|
24384
|
-
SearchBoxProductCustom: _sfc_main$
|
|
24385
|
-
SearchBoxProductCustomHtml: _sfc_main$
|
|
24386
|
-
SearchBoxProductAddToCart: _sfc_main$
|
|
24430
|
+
SearchBoxProductImage: _sfc_main$1v,
|
|
24431
|
+
SearchBoxProductTitle: _sfc_main$1u,
|
|
24432
|
+
SearchBoxProductDescription: _sfc_main$1t,
|
|
24433
|
+
SearchBoxProductPrice: _sfc_main$1s,
|
|
24434
|
+
SearchBoxProductRegularPrice: _sfc_main$1r,
|
|
24435
|
+
SearchBoxProductCustom: _sfc_main$1q,
|
|
24436
|
+
SearchBoxProductCustomHtml: _sfc_main$1p,
|
|
24437
|
+
SearchBoxProductAddToCart: _sfc_main$1o
|
|
24387
24438
|
}
|
|
24388
24439
|
};
|
|
24389
|
-
const _sfc_main$
|
|
24440
|
+
const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
|
|
24390
24441
|
__name: "SearchBoxProductElement",
|
|
24391
24442
|
props: {
|
|
24392
24443
|
item: {},
|
|
@@ -24458,7 +24509,7 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
24458
24509
|
"dynamic-attributes": dynamicAttributes.value,
|
|
24459
24510
|
link: _ctx.link
|
|
24460
24511
|
}, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes", "link"])) : vue.createCommentVNode("", true)
|
|
24461
|
-
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
24512
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1a, [
|
|
24462
24513
|
displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
|
|
24463
24514
|
key: 0,
|
|
24464
24515
|
item: enhancedItem.value,
|
|
@@ -24473,14 +24524,14 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
24473
24524
|
};
|
|
24474
24525
|
}
|
|
24475
24526
|
}));
|
|
24476
|
-
const _hoisted_1$
|
|
24477
|
-
const _hoisted_2$
|
|
24478
|
-
const _hoisted_3$
|
|
24479
|
-
const _hoisted_4$
|
|
24527
|
+
const _hoisted_1$19 = { class: "lupa-badge-title" };
|
|
24528
|
+
const _hoisted_2$P = ["src"];
|
|
24529
|
+
const _hoisted_3$B = { key: 1 };
|
|
24530
|
+
const _hoisted_4$r = {
|
|
24480
24531
|
key: 0,
|
|
24481
24532
|
class: "lupa-badge-full-text"
|
|
24482
24533
|
};
|
|
24483
|
-
const _sfc_main$
|
|
24534
|
+
const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
24484
24535
|
__name: "SearchResultGeneratedBadge",
|
|
24485
24536
|
props: {
|
|
24486
24537
|
options: {},
|
|
@@ -24513,20 +24564,20 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
|
24513
24564
|
class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
|
|
24514
24565
|
style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
|
|
24515
24566
|
}, [
|
|
24516
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
24567
|
+
vue.createElementVNode("span", _hoisted_1$19, [
|
|
24517
24568
|
image.value ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
24518
24569
|
key: 0,
|
|
24519
24570
|
src: image.value
|
|
24520
|
-
}, null, 8, _hoisted_2$
|
|
24521
|
-
hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
24571
|
+
}, null, 8, _hoisted_2$P)) : vue.createCommentVNode("", true),
|
|
24572
|
+
hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$B, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
|
|
24522
24573
|
]),
|
|
24523
|
-
hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
24574
|
+
hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$r, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
|
|
24524
24575
|
], 6);
|
|
24525
24576
|
};
|
|
24526
24577
|
}
|
|
24527
24578
|
});
|
|
24528
|
-
const _hoisted_1$
|
|
24529
|
-
const _sfc_main$
|
|
24579
|
+
const _hoisted_1$18 = { class: "lupa-generated-badges" };
|
|
24580
|
+
const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
24530
24581
|
__name: "SearchResultGeneratedBadges",
|
|
24531
24582
|
props: {
|
|
24532
24583
|
options: {}
|
|
@@ -24552,9 +24603,9 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
24552
24603
|
})).filter((b) => Boolean(b.id));
|
|
24553
24604
|
});
|
|
24554
24605
|
return (_ctx, _cache) => {
|
|
24555
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
24606
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
|
|
24556
24607
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
|
|
24557
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
24608
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1m, {
|
|
24558
24609
|
key: badge.id,
|
|
24559
24610
|
badge,
|
|
24560
24611
|
options: _ctx.options
|
|
@@ -24564,8 +24615,8 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
24564
24615
|
};
|
|
24565
24616
|
}
|
|
24566
24617
|
});
|
|
24567
|
-
const _hoisted_1$
|
|
24568
|
-
const _sfc_main$
|
|
24618
|
+
const _hoisted_1$17 = ["innerHTML"];
|
|
24619
|
+
const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
24569
24620
|
__name: "CustomBadge",
|
|
24570
24621
|
props: {
|
|
24571
24622
|
badge: {}
|
|
@@ -24586,12 +24637,12 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
24586
24637
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
24587
24638
|
class: vue.normalizeClass(className.value),
|
|
24588
24639
|
innerHTML: text.value
|
|
24589
|
-
}, null, 10, _hoisted_1$
|
|
24640
|
+
}, null, 10, _hoisted_1$17);
|
|
24590
24641
|
};
|
|
24591
24642
|
}
|
|
24592
24643
|
});
|
|
24593
|
-
const _hoisted_1$
|
|
24594
|
-
const _sfc_main$
|
|
24644
|
+
const _hoisted_1$16 = { class: "lupa-text-badges" };
|
|
24645
|
+
const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
24595
24646
|
__name: "TextBadge",
|
|
24596
24647
|
props: {
|
|
24597
24648
|
badge: {}
|
|
@@ -24605,7 +24656,7 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
|
24605
24656
|
return badges.value.slice(0, props.badge.maxItems);
|
|
24606
24657
|
});
|
|
24607
24658
|
return (_ctx, _cache) => {
|
|
24608
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
24659
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$16, [
|
|
24609
24660
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
24610
24661
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
24611
24662
|
class: "lupa-badge lupa-text-badge",
|
|
@@ -24616,9 +24667,9 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
|
24616
24667
|
};
|
|
24617
24668
|
}
|
|
24618
24669
|
});
|
|
24619
|
-
const _hoisted_1$
|
|
24620
|
-
const _hoisted_2$
|
|
24621
|
-
const _sfc_main$
|
|
24670
|
+
const _hoisted_1$15 = { class: "lupa-image-badges" };
|
|
24671
|
+
const _hoisted_2$O = ["src"];
|
|
24672
|
+
const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
|
|
24622
24673
|
__name: "ImageBadge",
|
|
24623
24674
|
props: {
|
|
24624
24675
|
badge: {}
|
|
@@ -24638,7 +24689,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
|
24638
24689
|
return `${props.badge.rootImageUrl}${src}`;
|
|
24639
24690
|
};
|
|
24640
24691
|
return (_ctx, _cache) => {
|
|
24641
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
24692
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, [
|
|
24642
24693
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
24643
24694
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
24644
24695
|
class: "lupa-badge lupa-image-badge",
|
|
@@ -24646,14 +24697,14 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
|
24646
24697
|
}, [
|
|
24647
24698
|
vue.createElementVNode("img", {
|
|
24648
24699
|
src: getImageUrl(item)
|
|
24649
|
-
}, null, 8, _hoisted_2$
|
|
24700
|
+
}, null, 8, _hoisted_2$O)
|
|
24650
24701
|
]);
|
|
24651
24702
|
}), 128))
|
|
24652
24703
|
]);
|
|
24653
24704
|
};
|
|
24654
24705
|
}
|
|
24655
24706
|
});
|
|
24656
|
-
const _sfc_main$
|
|
24707
|
+
const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
24657
24708
|
__name: "DiscountBadge",
|
|
24658
24709
|
props: {
|
|
24659
24710
|
badge: {}
|
|
@@ -24715,16 +24766,16 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
|
24715
24766
|
};
|
|
24716
24767
|
}
|
|
24717
24768
|
});
|
|
24718
|
-
const _hoisted_1$
|
|
24769
|
+
const _hoisted_1$14 = { id: "lupa-search-results-badges" };
|
|
24719
24770
|
const __default__$3 = {
|
|
24720
24771
|
components: {
|
|
24721
|
-
CustomBadge: _sfc_main$
|
|
24722
|
-
TextBadge: _sfc_main$
|
|
24723
|
-
ImageBadge: _sfc_main$
|
|
24724
|
-
DiscountBadge: _sfc_main$
|
|
24772
|
+
CustomBadge: _sfc_main$1k,
|
|
24773
|
+
TextBadge: _sfc_main$1j,
|
|
24774
|
+
ImageBadge: _sfc_main$1i,
|
|
24775
|
+
DiscountBadge: _sfc_main$1h
|
|
24725
24776
|
}
|
|
24726
24777
|
};
|
|
24727
|
-
const _sfc_main$
|
|
24778
|
+
const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
|
|
24728
24779
|
__name: "SearchResultsBadgeWrapper",
|
|
24729
24780
|
props: {
|
|
24730
24781
|
position: {},
|
|
@@ -24787,7 +24838,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
24787
24838
|
}
|
|
24788
24839
|
};
|
|
24789
24840
|
return (_ctx, _cache) => {
|
|
24790
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
24841
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
|
|
24791
24842
|
vue.createElementVNode("div", {
|
|
24792
24843
|
id: "lupa-badges",
|
|
24793
24844
|
class: vue.normalizeClass(anchorPosition.value)
|
|
@@ -24798,7 +24849,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
24798
24849
|
badge
|
|
24799
24850
|
}, null, 8, ["badge"]);
|
|
24800
24851
|
}), 128)),
|
|
24801
|
-
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
24852
|
+
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$1l, {
|
|
24802
24853
|
key: 0,
|
|
24803
24854
|
options: _ctx.options
|
|
24804
24855
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true)
|
|
@@ -24807,13 +24858,13 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
24807
24858
|
};
|
|
24808
24859
|
}
|
|
24809
24860
|
}));
|
|
24810
|
-
const _hoisted_1$
|
|
24811
|
-
const _hoisted_2$
|
|
24812
|
-
const _hoisted_3$
|
|
24861
|
+
const _hoisted_1$13 = ["href"];
|
|
24862
|
+
const _hoisted_2$N = { class: "lupa-search-box-product-details-section" };
|
|
24863
|
+
const _hoisted_3$A = {
|
|
24813
24864
|
key: 0,
|
|
24814
24865
|
class: "lupa-search-box-product-add-to-cart-section"
|
|
24815
24866
|
};
|
|
24816
|
-
const _sfc_main$
|
|
24867
|
+
const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
24817
24868
|
__name: "SearchBoxProduct",
|
|
24818
24869
|
props: {
|
|
24819
24870
|
item: {},
|
|
@@ -24919,7 +24970,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
24919
24970
|
style: vue.normalizeStyle(imageStyleOverride.value)
|
|
24920
24971
|
}, [
|
|
24921
24972
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
|
|
24922
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
24973
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
|
|
24923
24974
|
class: "lupa-search-box-product-element",
|
|
24924
24975
|
key: element.key,
|
|
24925
24976
|
item: _ctx.item,
|
|
@@ -24929,10 +24980,10 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
24929
24980
|
}, null, 8, ["item", "element", "labels", "link"]);
|
|
24930
24981
|
}), 128))
|
|
24931
24982
|
], 4),
|
|
24932
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
24983
|
+
vue.createElementVNode("div", _hoisted_2$N, [
|
|
24933
24984
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
|
|
24934
24985
|
var _a25;
|
|
24935
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
24986
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
|
|
24936
24987
|
class: "lupa-search-box-product-element",
|
|
24937
24988
|
key: element.key,
|
|
24938
24989
|
item: _ctx.item,
|
|
@@ -24943,7 +24994,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
24943
24994
|
((_a25 = badgeOptions.value) == null ? void 0 : _a25.anchorElementKey) === element.key ? {
|
|
24944
24995
|
name: "badges",
|
|
24945
24996
|
fn: vue.withCtx(() => [
|
|
24946
|
-
vue.createVNode(_sfc_main$
|
|
24997
|
+
vue.createVNode(_sfc_main$1g, {
|
|
24947
24998
|
options: badgeOptions.value,
|
|
24948
24999
|
position: "card"
|
|
24949
25000
|
}, null, 8, ["options"])
|
|
@@ -24959,7 +25010,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
24959
25010
|
class: vue.normalizeClass(`lupa-search-box-group-${group}`)
|
|
24960
25011
|
}, [
|
|
24961
25012
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
|
|
24962
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
25013
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
|
|
24963
25014
|
class: "lupa-search-box-product-element",
|
|
24964
25015
|
key: element.key,
|
|
24965
25016
|
item: _ctx.item,
|
|
@@ -24971,8 +25022,8 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
24971
25022
|
}), 128))
|
|
24972
25023
|
], 2);
|
|
24973
25024
|
}), 128)),
|
|
24974
|
-
addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
24975
|
-
vue.createVNode(_sfc_main$
|
|
25025
|
+
addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
|
|
25026
|
+
vue.createVNode(_sfc_main$1n, {
|
|
24976
25027
|
class: "lupa-search-box-product-element",
|
|
24977
25028
|
item: _ctx.item,
|
|
24978
25029
|
element: addToCartElement.value,
|
|
@@ -24981,7 +25032,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
24981
25032
|
isInStock: isInStock.value
|
|
24982
25033
|
}, null, 8, ["item", "element", "labels", "link", "isInStock"])
|
|
24983
25034
|
])) : vue.createCommentVNode("", true)
|
|
24984
|
-
], 16, _hoisted_1$
|
|
25035
|
+
], 16, _hoisted_1$13);
|
|
24985
25036
|
};
|
|
24986
25037
|
}
|
|
24987
25038
|
});
|
|
@@ -25053,8 +25104,8 @@ const useTrackingStore = /* @__PURE__ */ defineStore("tracking", () => {
|
|
|
25053
25104
|
};
|
|
25054
25105
|
return { trackSearch, trackResults, trackEvent, trackDelayedEvent };
|
|
25055
25106
|
});
|
|
25056
|
-
const _hoisted_1
|
|
25057
|
-
const _sfc_main$
|
|
25107
|
+
const _hoisted_1$12 = { id: "lupa-search-box-products" };
|
|
25108
|
+
const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
25058
25109
|
__name: "SearchBoxProducts",
|
|
25059
25110
|
props: {
|
|
25060
25111
|
items: {},
|
|
@@ -25126,7 +25177,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25126
25177
|
}
|
|
25127
25178
|
};
|
|
25128
25179
|
return (_ctx, _cache) => {
|
|
25129
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1
|
|
25180
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
|
|
25130
25181
|
_ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.items, (item, index) => {
|
|
25131
25182
|
return vue.renderSlot(_ctx.$slots, "productCard", {
|
|
25132
25183
|
key: index,
|
|
@@ -25138,7 +25189,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25138
25189
|
itemClicked: handleProductClick
|
|
25139
25190
|
});
|
|
25140
25191
|
}), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.items, (item, index) => {
|
|
25141
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
25192
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
|
|
25142
25193
|
key: index,
|
|
25143
25194
|
item,
|
|
25144
25195
|
panelOptions: _ctx.panelOptions,
|
|
@@ -25153,9 +25204,9 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25153
25204
|
};
|
|
25154
25205
|
}
|
|
25155
25206
|
});
|
|
25156
|
-
const _hoisted_1$
|
|
25157
|
-
const _hoisted_2$
|
|
25158
|
-
const _sfc_main$
|
|
25207
|
+
const _hoisted_1$11 = { class: "lupa-search-box-documents-go-to-results-wrapper" };
|
|
25208
|
+
const _hoisted_2$M = { key: 0 };
|
|
25209
|
+
const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
25159
25210
|
__name: "SearchBoxProductsGoToResultsButton",
|
|
25160
25211
|
props: {
|
|
25161
25212
|
options: {},
|
|
@@ -25186,13 +25237,13 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25186
25237
|
emit("goToResults");
|
|
25187
25238
|
};
|
|
25188
25239
|
return (_ctx, _cache) => {
|
|
25189
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
25240
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
|
|
25190
25241
|
vue.createElementVNode("button", {
|
|
25191
25242
|
class: "lupa-search-box-documents-go-to-results-button",
|
|
25192
25243
|
onClick: goToResults
|
|
25193
25244
|
}, [
|
|
25194
25245
|
vue.createTextVNode(vue.toDisplayString(goToResultsLabel.value) + " ", 1),
|
|
25195
|
-
totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
25246
|
+
totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$M, " " + vue.toDisplayString(totalCount.value), 1)) : vue.createCommentVNode("", true)
|
|
25196
25247
|
])
|
|
25197
25248
|
]);
|
|
25198
25249
|
};
|
|
@@ -25288,7 +25339,7 @@ const processExtractionObject = (value = {}) => {
|
|
|
25288
25339
|
}
|
|
25289
25340
|
return parsedObject;
|
|
25290
25341
|
};
|
|
25291
|
-
const _sfc_main$
|
|
25342
|
+
const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
25292
25343
|
__name: "SearchBoxProductsWrapper",
|
|
25293
25344
|
props: {
|
|
25294
25345
|
panel: {},
|
|
@@ -25358,7 +25409,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25358
25409
|
vue.watch(() => props.panel.limit, getItemsDebounced);
|
|
25359
25410
|
return (_ctx, _cache) => {
|
|
25360
25411
|
var _a25, _b25;
|
|
25361
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
25412
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1e, {
|
|
25362
25413
|
items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
|
|
25363
25414
|
panelOptions: _ctx.panel,
|
|
25364
25415
|
labels: _ctx.labels,
|
|
@@ -25368,7 +25419,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25368
25419
|
default: vue.withCtx(() => {
|
|
25369
25420
|
var _a26;
|
|
25370
25421
|
return [
|
|
25371
|
-
showGoToResultsButton.value && ((_a26 = searchResult.value) == null ? void 0 : _a26.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
25422
|
+
showGoToResultsButton.value && ((_a26 = searchResult.value) == null ? void 0 : _a26.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$1d, {
|
|
25372
25423
|
key: 0,
|
|
25373
25424
|
options: _ctx.searchBoxOptions,
|
|
25374
25425
|
panel: _ctx.panel,
|
|
@@ -25389,7 +25440,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25389
25440
|
};
|
|
25390
25441
|
}
|
|
25391
25442
|
});
|
|
25392
|
-
const _sfc_main$
|
|
25443
|
+
const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
25393
25444
|
__name: "SearchBoxRelatedSourceWrapper",
|
|
25394
25445
|
props: {
|
|
25395
25446
|
panel: {},
|
|
@@ -25461,7 +25512,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25461
25512
|
});
|
|
25462
25513
|
return (_ctx, _cache) => {
|
|
25463
25514
|
var _a25, _b25;
|
|
25464
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
25515
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1e, {
|
|
25465
25516
|
items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
|
|
25466
25517
|
panelOptions: documentPanelOptions.value,
|
|
25467
25518
|
labels: _ctx.labels,
|
|
@@ -25479,31 +25530,31 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25479
25530
|
};
|
|
25480
25531
|
}
|
|
25481
25532
|
});
|
|
25482
|
-
const _hoisted_1$
|
|
25533
|
+
const _hoisted_1$10 = {
|
|
25483
25534
|
key: 0,
|
|
25484
25535
|
id: "lupa-search-box-panel"
|
|
25485
25536
|
};
|
|
25486
|
-
const _hoisted_2$
|
|
25487
|
-
const _hoisted_3$
|
|
25537
|
+
const _hoisted_2$L = ["data-cy"];
|
|
25538
|
+
const _hoisted_3$z = {
|
|
25488
25539
|
key: 0,
|
|
25489
25540
|
class: "lupa-panel-title lupa-panel-title-top-results"
|
|
25490
25541
|
};
|
|
25491
|
-
const _hoisted_4$
|
|
25542
|
+
const _hoisted_4$q = {
|
|
25492
25543
|
key: 1,
|
|
25493
25544
|
class: "lupa-panel-title"
|
|
25494
25545
|
};
|
|
25495
|
-
const _hoisted_5$
|
|
25546
|
+
const _hoisted_5$h = {
|
|
25496
25547
|
key: 1,
|
|
25497
25548
|
id: "lupa-search-box-panel"
|
|
25498
25549
|
};
|
|
25499
25550
|
const __default__$2 = {
|
|
25500
25551
|
components: {
|
|
25501
|
-
SearchBoxSuggestionsWrapper: _sfc_main$
|
|
25502
|
-
SearchBoxProductsWrapper: _sfc_main$
|
|
25503
|
-
SearchBoxRelatedSourceWrapper: _sfc_main$
|
|
25552
|
+
SearchBoxSuggestionsWrapper: _sfc_main$1x,
|
|
25553
|
+
SearchBoxProductsWrapper: _sfc_main$1c,
|
|
25554
|
+
SearchBoxRelatedSourceWrapper: _sfc_main$1b
|
|
25504
25555
|
}
|
|
25505
25556
|
};
|
|
25506
|
-
const _sfc_main$
|
|
25557
|
+
const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
|
|
25507
25558
|
__name: "SearchBoxMainPanel",
|
|
25508
25559
|
props: {
|
|
25509
25560
|
options: {},
|
|
@@ -25668,7 +25719,7 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
25668
25719
|
ref_key: "panelContainer",
|
|
25669
25720
|
ref: panelContainer
|
|
25670
25721
|
}, [
|
|
25671
|
-
displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
25722
|
+
displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$10, [
|
|
25672
25723
|
labels.value.closePanel ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
25673
25724
|
key: 0,
|
|
25674
25725
|
class: "lupa-search-box-close-panel",
|
|
@@ -25690,8 +25741,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
25690
25741
|
style: vue.normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
|
|
25691
25742
|
"data-cy": "lupa-panel-" + panel.type + "-index"
|
|
25692
25743
|
}, [
|
|
25693
|
-
((_a25 = panel.labels) == null ? void 0 : _a25.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
25694
|
-
((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
25744
|
+
((_a25 = panel.labels) == null ? void 0 : _a25.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, vue.toDisplayString((_b25 = panel.labels) == null ? void 0 : _b25.topResultsTitle), 1)) : vue.createCommentVNode("", true),
|
|
25745
|
+
((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$q, vue.toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
|
|
25695
25746
|
panel.queryKey && canShowPanel(panel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getComponent(panel.type)), {
|
|
25696
25747
|
key: 2,
|
|
25697
25748
|
panel,
|
|
@@ -25713,21 +25764,21 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
25713
25764
|
key: "0"
|
|
25714
25765
|
} : void 0
|
|
25715
25766
|
]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : vue.createCommentVNode("", true)
|
|
25716
|
-
], 14, _hoisted_2$
|
|
25767
|
+
], 14, _hoisted_2$L);
|
|
25717
25768
|
}), 128))
|
|
25718
25769
|
], 4),
|
|
25719
|
-
!vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
25770
|
+
!vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$1A, {
|
|
25720
25771
|
key: 1,
|
|
25721
25772
|
labels: labels.value
|
|
25722
25773
|
}, null, 8, ["labels"])) : vue.createCommentVNode("", true),
|
|
25723
|
-
displayShowMoreResultsButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
25774
|
+
displayShowMoreResultsButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1D, {
|
|
25724
25775
|
key: 2,
|
|
25725
25776
|
labels: labels.value,
|
|
25726
25777
|
options: _ctx.options,
|
|
25727
25778
|
onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
|
|
25728
25779
|
}, null, 8, ["labels", "options"])) : vue.createCommentVNode("", true)
|
|
25729
|
-
])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
25730
|
-
vue.createVNode(_sfc_main$
|
|
25780
|
+
])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$h, [
|
|
25781
|
+
vue.createVNode(_sfc_main$1B, {
|
|
25731
25782
|
options: _ctx.options.history,
|
|
25732
25783
|
history: history.value,
|
|
25733
25784
|
onGoToResults: handleGoToResults,
|
|
@@ -25752,8 +25803,8 @@ const unbindSearchTriggers = (triggers = [], event) => {
|
|
|
25752
25803
|
const elements = getElements(triggers);
|
|
25753
25804
|
elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
|
|
25754
25805
|
};
|
|
25755
|
-
const _hoisted_1
|
|
25756
|
-
const _sfc_main$
|
|
25806
|
+
const _hoisted_1$$ = { class: "lupa-search-box-wrapper" };
|
|
25807
|
+
const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
25757
25808
|
__name: "SearchBox",
|
|
25758
25809
|
props: {
|
|
25759
25810
|
options: {},
|
|
@@ -26076,8 +26127,8 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26076
26127
|
id: "lupa-search-box",
|
|
26077
26128
|
class: vue.normalizeClass({ "lupa-search-box-opened": opened.value })
|
|
26078
26129
|
}, [
|
|
26079
|
-
vue.createElementVNode("div", _hoisted_1
|
|
26080
|
-
vue.createVNode(_sfc_main$
|
|
26130
|
+
vue.createElementVNode("div", _hoisted_1$$, [
|
|
26131
|
+
vue.createVNode(_sfc_main$1E, {
|
|
26081
26132
|
options: inputOptions.value,
|
|
26082
26133
|
suggestedValue: suggestedValue.value,
|
|
26083
26134
|
"can-close": (_a26 = _ctx.isSearchContainer) != null ? _a26 : false,
|
|
@@ -26090,7 +26141,7 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26090
26141
|
onSearch: handleSearch,
|
|
26091
26142
|
onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
|
|
26092
26143
|
}, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
|
|
26093
|
-
opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
26144
|
+
opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$1a, {
|
|
26094
26145
|
key: 0,
|
|
26095
26146
|
options: panelOptions.value,
|
|
26096
26147
|
inputValue: inputValue.value,
|
|
@@ -26194,20 +26245,20 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
|
|
|
26194
26245
|
options.options.onError(e2);
|
|
26195
26246
|
}
|
|
26196
26247
|
});
|
|
26197
|
-
const _hoisted_1$
|
|
26248
|
+
const _hoisted_1$_ = {
|
|
26198
26249
|
key: 0,
|
|
26199
26250
|
id: "lupa-search-results-did-you-mean"
|
|
26200
26251
|
};
|
|
26201
|
-
const _hoisted_2$
|
|
26252
|
+
const _hoisted_2$K = {
|
|
26202
26253
|
key: 0,
|
|
26203
26254
|
"data-cy": "suggested-search-text-label"
|
|
26204
26255
|
};
|
|
26205
|
-
const _hoisted_3$
|
|
26256
|
+
const _hoisted_3$y = {
|
|
26206
26257
|
key: 1,
|
|
26207
26258
|
"data-cy": "did-you-mean-label"
|
|
26208
26259
|
};
|
|
26209
|
-
const _hoisted_4$
|
|
26210
|
-
const _sfc_main$
|
|
26260
|
+
const _hoisted_4$p = { key: 1 };
|
|
26261
|
+
const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
26211
26262
|
__name: "SearchResultsDidYouMean",
|
|
26212
26263
|
props: {
|
|
26213
26264
|
labels: {}
|
|
@@ -26239,8 +26290,8 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26239
26290
|
paramStore.goToResults({ searchText, facet });
|
|
26240
26291
|
};
|
|
26241
26292
|
return (_ctx, _cache) => {
|
|
26242
|
-
return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
26243
|
-
vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
26293
|
+
return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
|
|
26294
|
+
vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$K, [
|
|
26244
26295
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
|
|
26245
26296
|
return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
|
|
26246
26297
|
vue.createElementVNode("span", {
|
|
@@ -26249,7 +26300,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26249
26300
|
]);
|
|
26250
26301
|
}), 128))
|
|
26251
26302
|
])) : vue.createCommentVNode("", true),
|
|
26252
|
-
didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
26303
|
+
didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$y, [
|
|
26253
26304
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.didYouMean.split(" "), (label, index) => {
|
|
26254
26305
|
return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
|
|
26255
26306
|
label.includes("{1}") ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
@@ -26257,7 +26308,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26257
26308
|
class: "lupa-did-you-mean lupa-highlighted-search-text",
|
|
26258
26309
|
"data-cy": "did-you-mean-value",
|
|
26259
26310
|
onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
|
|
26260
|
-
}, vue.toDisplayString(didYouMeanValue.value) + " ", 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
26311
|
+
}, vue.toDisplayString(didYouMeanValue.value) + " ", 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$p, vue.toDisplayString(label) + " ", 1))
|
|
26261
26312
|
]);
|
|
26262
26313
|
}), 128))
|
|
26263
26314
|
])) : vue.createCommentVNode("", true)
|
|
@@ -26265,12 +26316,12 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26265
26316
|
};
|
|
26266
26317
|
}
|
|
26267
26318
|
});
|
|
26268
|
-
const _hoisted_1$
|
|
26319
|
+
const _hoisted_1$Z = {
|
|
26269
26320
|
key: 0,
|
|
26270
26321
|
class: "lupa-search-results-summary"
|
|
26271
26322
|
};
|
|
26272
|
-
const _hoisted_2$
|
|
26273
|
-
const _sfc_main$
|
|
26323
|
+
const _hoisted_2$J = ["innerHTML"];
|
|
26324
|
+
const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
26274
26325
|
__name: "SearchResultsSummary",
|
|
26275
26326
|
props: {
|
|
26276
26327
|
label: {},
|
|
@@ -26285,8 +26336,8 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26285
26336
|
return addParamsToLabel(props.label, range2, `<span>${totalItems.value}</span>`);
|
|
26286
26337
|
});
|
|
26287
26338
|
return (_ctx, _cache) => {
|
|
26288
|
-
return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
26289
|
-
vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$
|
|
26339
|
+
return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
|
|
26340
|
+
vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$J),
|
|
26290
26341
|
_ctx.clearable ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
26291
26342
|
key: 0,
|
|
26292
26343
|
class: "lupa-filter-clear",
|
|
@@ -26297,19 +26348,19 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26297
26348
|
};
|
|
26298
26349
|
}
|
|
26299
26350
|
});
|
|
26300
|
-
const _hoisted_1$
|
|
26351
|
+
const _hoisted_1$Y = {
|
|
26301
26352
|
key: 0,
|
|
26302
26353
|
class: "lupa-result-page-title",
|
|
26303
26354
|
"data-cy": "lupa-result-page-title"
|
|
26304
26355
|
};
|
|
26305
|
-
const _hoisted_2$
|
|
26306
|
-
const _hoisted_3$
|
|
26356
|
+
const _hoisted_2$I = { key: 0 };
|
|
26357
|
+
const _hoisted_3$x = {
|
|
26307
26358
|
key: 1,
|
|
26308
26359
|
class: "lupa-results-total-count"
|
|
26309
26360
|
};
|
|
26310
|
-
const _hoisted_4$
|
|
26311
|
-
const _hoisted_5$
|
|
26312
|
-
const _sfc_main$
|
|
26361
|
+
const _hoisted_4$o = { class: "lupa-results-total-count-number" };
|
|
26362
|
+
const _hoisted_5$g = ["innerHTML"];
|
|
26363
|
+
const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
26313
26364
|
__name: "SearchResultsTitle",
|
|
26314
26365
|
props: {
|
|
26315
26366
|
options: {},
|
|
@@ -26352,16 +26403,16 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26352
26403
|
});
|
|
26353
26404
|
return (_ctx, _cache) => {
|
|
26354
26405
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
26355
|
-
showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$
|
|
26406
|
+
showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$Y, [
|
|
26356
26407
|
vue.createTextVNode(vue.toDisplayString(searchResultsTitleTemplate.value || _ctx.options.labels.searchResults), 1),
|
|
26357
|
-
queryText.value && !searchResultsTitleTemplate.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
26358
|
-
showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
26408
|
+
queryText.value && !searchResultsTitleTemplate.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$I, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
|
|
26409
|
+
showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$x, [
|
|
26359
26410
|
vue.createTextVNode("(" + vue.toDisplayString(searchResultsCountLabel.value), 1),
|
|
26360
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
26411
|
+
vue.createElementVNode("span", _hoisted_4$o, vue.toDisplayString(vue.unref(totalItems)), 1),
|
|
26361
26412
|
_cache[0] || (_cache[0] = vue.createTextVNode(")"))
|
|
26362
26413
|
])) : vue.createCommentVNode("", true)
|
|
26363
26414
|
])) : vue.createCommentVNode("", true),
|
|
26364
|
-
_ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
26415
|
+
_ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$17, {
|
|
26365
26416
|
key: 1,
|
|
26366
26417
|
label: summaryLabel.value
|
|
26367
26418
|
}, null, 8, ["label"])) : vue.createCommentVNode("", true),
|
|
@@ -26369,20 +26420,20 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26369
26420
|
key: 2,
|
|
26370
26421
|
class: "lupa-result-page-description-top",
|
|
26371
26422
|
innerHTML: descriptionTop.value
|
|
26372
|
-
}, null, 8, _hoisted_5$
|
|
26423
|
+
}, null, 8, _hoisted_5$g)) : vue.createCommentVNode("", true)
|
|
26373
26424
|
]);
|
|
26374
26425
|
};
|
|
26375
26426
|
}
|
|
26376
26427
|
});
|
|
26377
|
-
const _hoisted_1$
|
|
26428
|
+
const _hoisted_1$X = {
|
|
26378
26429
|
class: "lupa-current-filter-label",
|
|
26379
26430
|
"data-cy": "lupa-current-filter-label"
|
|
26380
26431
|
};
|
|
26381
|
-
const _hoisted_2$
|
|
26432
|
+
const _hoisted_2$H = {
|
|
26382
26433
|
class: "lupa-current-filter-value",
|
|
26383
26434
|
"data-cy": "lupa-current-filter-value"
|
|
26384
26435
|
};
|
|
26385
|
-
const _sfc_main
|
|
26436
|
+
const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
26386
26437
|
__name: "CurrentFilterDisplay",
|
|
26387
26438
|
props: {
|
|
26388
26439
|
filter: {}
|
|
@@ -26424,23 +26475,23 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
26424
26475
|
onClick: handleClick,
|
|
26425
26476
|
"aria-label": "Remove filter"
|
|
26426
26477
|
}, "⨉"),
|
|
26427
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
26428
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
26478
|
+
vue.createElementVNode("div", _hoisted_1$X, vue.toDisplayString(_ctx.filter.label) + ": ", 1),
|
|
26479
|
+
vue.createElementVNode("div", _hoisted_2$H, vue.toDisplayString(formatFilterValue(props.filter)), 1)
|
|
26429
26480
|
], 2);
|
|
26430
26481
|
};
|
|
26431
26482
|
}
|
|
26432
26483
|
});
|
|
26433
|
-
const _hoisted_1$
|
|
26434
|
-
const _hoisted_2$
|
|
26484
|
+
const _hoisted_1$W = { class: "lupa-filter-title-text" };
|
|
26485
|
+
const _hoisted_2$G = {
|
|
26435
26486
|
key: 0,
|
|
26436
26487
|
class: "lupa-filter-count"
|
|
26437
26488
|
};
|
|
26438
|
-
const _hoisted_3$
|
|
26489
|
+
const _hoisted_3$w = {
|
|
26439
26490
|
key: 0,
|
|
26440
26491
|
class: "filter-values"
|
|
26441
26492
|
};
|
|
26442
|
-
const _hoisted_4$
|
|
26443
|
-
const _sfc_main$
|
|
26493
|
+
const _hoisted_4$n = { class: "lupa-current-filter-list" };
|
|
26494
|
+
const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
26444
26495
|
__name: "CurrentFilters",
|
|
26445
26496
|
props: {
|
|
26446
26497
|
options: {},
|
|
@@ -26521,19 +26572,19 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
26521
26572
|
class: "lupa-current-filter-title",
|
|
26522
26573
|
onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
|
|
26523
26574
|
}, [
|
|
26524
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
26575
|
+
vue.createElementVNode("div", _hoisted_1$W, [
|
|
26525
26576
|
vue.createTextVNode(vue.toDisplayString((_c = (_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) != null ? _c : "") + " ", 1),
|
|
26526
|
-
_ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
26577
|
+
_ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$G, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
|
|
26527
26578
|
]),
|
|
26528
26579
|
_ctx.expandable ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
26529
26580
|
key: 0,
|
|
26530
26581
|
class: vue.normalizeClass(["lupa-filter-title-caret", isOpen.value && "open"])
|
|
26531
26582
|
}, null, 2)) : vue.createCommentVNode("", true)
|
|
26532
26583
|
]),
|
|
26533
|
-
!_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
26534
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
26584
|
+
!_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
|
|
26585
|
+
vue.createElementVNode("div", _hoisted_4$n, [
|
|
26535
26586
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter) => {
|
|
26536
|
-
return vue.openBlock(), vue.createBlock(_sfc_main
|
|
26587
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$15, {
|
|
26537
26588
|
key: filter.key + "_" + filter.value,
|
|
26538
26589
|
filter,
|
|
26539
26590
|
units: units.value,
|
|
@@ -26551,8 +26602,8 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
26551
26602
|
};
|
|
26552
26603
|
}
|
|
26553
26604
|
});
|
|
26554
|
-
const _hoisted_1$
|
|
26555
|
-
const _sfc_main$
|
|
26605
|
+
const _hoisted_1$V = ["href"];
|
|
26606
|
+
const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
26556
26607
|
__name: "CategoryFilterItem",
|
|
26557
26608
|
props: {
|
|
26558
26609
|
options: {},
|
|
@@ -26589,20 +26640,20 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
|
26589
26640
|
"data-cy": "lupa-child-category-item",
|
|
26590
26641
|
href: urlLink.value,
|
|
26591
26642
|
onClick: handleNavigation
|
|
26592
|
-
}, vue.toDisplayString(title.value), 9, _hoisted_1$
|
|
26643
|
+
}, vue.toDisplayString(title.value), 9, _hoisted_1$V)
|
|
26593
26644
|
], 2);
|
|
26594
26645
|
};
|
|
26595
26646
|
}
|
|
26596
26647
|
});
|
|
26597
|
-
const _hoisted_1$
|
|
26648
|
+
const _hoisted_1$U = {
|
|
26598
26649
|
class: "lupa-category-filter",
|
|
26599
26650
|
"data-cy": "lupa-category-filter"
|
|
26600
26651
|
};
|
|
26601
|
-
const _hoisted_2$
|
|
26602
|
-
const _hoisted_3$
|
|
26603
|
-
const _hoisted_4$
|
|
26604
|
-
const _hoisted_5$
|
|
26605
|
-
const _sfc_main$
|
|
26652
|
+
const _hoisted_2$F = { class: "lupa-category-back" };
|
|
26653
|
+
const _hoisted_3$v = ["href"];
|
|
26654
|
+
const _hoisted_4$m = ["href"];
|
|
26655
|
+
const _hoisted_5$f = { class: "lupa-child-category-list" };
|
|
26656
|
+
const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
26606
26657
|
__name: "CategoryFilter",
|
|
26607
26658
|
props: {
|
|
26608
26659
|
options: {}
|
|
@@ -26690,14 +26741,14 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
26690
26741
|
};
|
|
26691
26742
|
__expose({ fetch: fetch2 });
|
|
26692
26743
|
return (_ctx, _cache) => {
|
|
26693
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
26694
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
26744
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
|
|
26745
|
+
vue.createElementVNode("div", _hoisted_2$F, [
|
|
26695
26746
|
hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
26696
26747
|
key: 0,
|
|
26697
26748
|
"data-cy": "lupa-category-back",
|
|
26698
26749
|
href: backUrlLink.value,
|
|
26699
26750
|
onClick: handleNavigationBack
|
|
26700
|
-
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$
|
|
26751
|
+
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$v)) : vue.createCommentVNode("", true)
|
|
26701
26752
|
]),
|
|
26702
26753
|
vue.createElementVNode("div", {
|
|
26703
26754
|
class: vue.normalizeClass(["lupa-current-category", { "lupa-current-category-active": isActive }])
|
|
@@ -26707,11 +26758,11 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
26707
26758
|
href: parentUrlLink.value,
|
|
26708
26759
|
class: vue.normalizeClass({ "lupa-title-category": !hasBackButton.value }),
|
|
26709
26760
|
onClick: handleNavigationParent
|
|
26710
|
-
}, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$
|
|
26761
|
+
}, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$m)
|
|
26711
26762
|
], 2),
|
|
26712
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
26763
|
+
vue.createElementVNode("div", _hoisted_5$f, [
|
|
26713
26764
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
|
|
26714
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
26765
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$13, {
|
|
26715
26766
|
key: getCategoryKey(child),
|
|
26716
26767
|
item: child,
|
|
26717
26768
|
options: _ctx.options
|
|
@@ -26722,22 +26773,22 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
26722
26773
|
};
|
|
26723
26774
|
}
|
|
26724
26775
|
});
|
|
26725
|
-
const _hoisted_1$
|
|
26776
|
+
const _hoisted_1$T = {
|
|
26726
26777
|
class: "lupa-search-result-facet-term-values",
|
|
26727
26778
|
"data-cy": "lupa-search-result-facet-term-values"
|
|
26728
26779
|
};
|
|
26729
|
-
const _hoisted_2$
|
|
26730
|
-
const _hoisted_3$
|
|
26731
|
-
const _hoisted_4$
|
|
26732
|
-
const _hoisted_5$
|
|
26733
|
-
const _hoisted_6$
|
|
26780
|
+
const _hoisted_2$E = ["placeholder"];
|
|
26781
|
+
const _hoisted_3$u = { class: "lupa-terms-list" };
|
|
26782
|
+
const _hoisted_4$l = ["onClick"];
|
|
26783
|
+
const _hoisted_5$e = { class: "lupa-term-checkbox-wrapper" };
|
|
26784
|
+
const _hoisted_6$6 = { class: "lupa-term-label" };
|
|
26734
26785
|
const _hoisted_7$4 = {
|
|
26735
26786
|
key: 0,
|
|
26736
26787
|
class: "lupa-term-count"
|
|
26737
26788
|
};
|
|
26738
26789
|
const _hoisted_8$2 = { key: 0 };
|
|
26739
26790
|
const _hoisted_9$2 = { key: 1 };
|
|
26740
|
-
const _sfc_main$
|
|
26791
|
+
const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
26741
26792
|
__name: "TermFacet",
|
|
26742
26793
|
props: {
|
|
26743
26794
|
options: {},
|
|
@@ -26831,17 +26882,17 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
26831
26882
|
}
|
|
26832
26883
|
};
|
|
26833
26884
|
return (_ctx, _cache) => {
|
|
26834
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
26885
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
|
|
26835
26886
|
isFilterable.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
|
|
26836
26887
|
key: 0,
|
|
26837
26888
|
class: "lupa-term-filter",
|
|
26838
26889
|
"data-cy": "lupa-term-filter",
|
|
26839
26890
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
|
|
26840
26891
|
placeholder: _ctx.options.labels.facetFilter
|
|
26841
|
-
}, null, 8, _hoisted_2$
|
|
26892
|
+
}, null, 8, _hoisted_2$E)), [
|
|
26842
26893
|
[vue.vModelText, termFilter.value]
|
|
26843
26894
|
]) : vue.createCommentVNode("", true),
|
|
26844
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
26895
|
+
vue.createElementVNode("div", _hoisted_3$u, [
|
|
26845
26896
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
|
|
26846
26897
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
26847
26898
|
class: vue.normalizeClass(["lupa-facet-term", { checked: isChecked(item) }]),
|
|
@@ -26849,7 +26900,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
26849
26900
|
key: item.title,
|
|
26850
26901
|
onClick: ($event) => handleFacetClick(item)
|
|
26851
26902
|
}, [
|
|
26852
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
26903
|
+
vue.createElementVNode("div", _hoisted_5$e, [
|
|
26853
26904
|
vue.createElementVNode("span", {
|
|
26854
26905
|
class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
|
|
26855
26906
|
}, null, 2)
|
|
@@ -26857,10 +26908,10 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
26857
26908
|
vue.createElementVNode("div", {
|
|
26858
26909
|
class: vue.normalizeClass(["lupa-term-checkbox-label", { [getFacetValueClass(item)]: true }])
|
|
26859
26910
|
}, [
|
|
26860
|
-
vue.createElementVNode("span", _hoisted_6$
|
|
26911
|
+
vue.createElementVNode("span", _hoisted_6$6, vue.toDisplayString(getItemLabel(item)), 1),
|
|
26861
26912
|
_ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$4, "(" + vue.toDisplayString(item.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
26862
26913
|
], 2)
|
|
26863
|
-
], 10, _hoisted_4$
|
|
26914
|
+
], 10, _hoisted_4$l);
|
|
26864
26915
|
}), 128))
|
|
26865
26916
|
]),
|
|
26866
26917
|
displayShowMore.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -27780,21 +27831,21 @@ const roundToMaxDecimals = (value, maxPrecision = 0.1) => {
|
|
|
27780
27831
|
}
|
|
27781
27832
|
return out;
|
|
27782
27833
|
};
|
|
27783
|
-
const _hoisted_1$
|
|
27784
|
-
const _hoisted_2$
|
|
27834
|
+
const _hoisted_1$S = { class: "lupa-search-result-facet-stats-values" };
|
|
27835
|
+
const _hoisted_2$D = {
|
|
27785
27836
|
key: 0,
|
|
27786
27837
|
class: "lupa-stats-facet-summary"
|
|
27787
27838
|
};
|
|
27788
|
-
const _hoisted_3$
|
|
27839
|
+
const _hoisted_3$t = {
|
|
27789
27840
|
key: 1,
|
|
27790
27841
|
class: "lupa-stats-facet-summary-input"
|
|
27791
27842
|
};
|
|
27792
|
-
const _hoisted_4$
|
|
27793
|
-
const _hoisted_5$
|
|
27843
|
+
const _hoisted_4$k = { class: "lupa-stats-from" };
|
|
27844
|
+
const _hoisted_5$d = {
|
|
27794
27845
|
key: 0,
|
|
27795
27846
|
class: "lupa-stats-range-label"
|
|
27796
27847
|
};
|
|
27797
|
-
const _hoisted_6$
|
|
27848
|
+
const _hoisted_6$5 = ["min", "max", "pattern", "aria-label"];
|
|
27798
27849
|
const _hoisted_7$3 = { key: 1 };
|
|
27799
27850
|
const _hoisted_8$1 = { key: 2 };
|
|
27800
27851
|
const _hoisted_9$1 = { class: "lupa-stats-to" };
|
|
@@ -27809,7 +27860,7 @@ const _hoisted_14 = {
|
|
|
27809
27860
|
key: 2,
|
|
27810
27861
|
class: "lupa-stats-slider-wrapper"
|
|
27811
27862
|
};
|
|
27812
|
-
const _sfc_main$
|
|
27863
|
+
const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
|
|
27813
27864
|
__name: "StatsFacet",
|
|
27814
27865
|
props: {
|
|
27815
27866
|
options: {},
|
|
@@ -28028,10 +28079,10 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
|
|
|
28028
28079
|
}
|
|
28029
28080
|
);
|
|
28030
28081
|
return (_ctx, _cache) => {
|
|
28031
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
28032
|
-
!isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
28033
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
28034
|
-
rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
28082
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
|
|
28083
|
+
!isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$D, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$t, [
|
|
28084
|
+
vue.createElementVNode("div", _hoisted_4$k, [
|
|
28085
|
+
rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
|
|
28035
28086
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
28036
28087
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
|
|
28037
28088
|
type: "text",
|
|
@@ -28040,7 +28091,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
|
|
|
28040
28091
|
max: facetMax.value,
|
|
28041
28092
|
pattern: sliderInputFormat.value,
|
|
28042
28093
|
"aria-label": ariaLabelFrom.value
|
|
28043
|
-
}, null, 8, _hoisted_6$
|
|
28094
|
+
}, null, 8, _hoisted_6$5), [
|
|
28044
28095
|
[
|
|
28045
28096
|
vue.vModelText,
|
|
28046
28097
|
fromValue.value,
|
|
@@ -28093,17 +28144,17 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
|
|
|
28093
28144
|
};
|
|
28094
28145
|
}
|
|
28095
28146
|
});
|
|
28096
|
-
const _hoisted_1$
|
|
28097
|
-
const _hoisted_2$
|
|
28098
|
-
const _hoisted_3$
|
|
28147
|
+
const _hoisted_1$R = { class: "lupa-term-checkbox-wrapper" };
|
|
28148
|
+
const _hoisted_2$C = { class: "lupa-term-label" };
|
|
28149
|
+
const _hoisted_3$s = {
|
|
28099
28150
|
key: 0,
|
|
28100
28151
|
class: "lupa-term-count"
|
|
28101
28152
|
};
|
|
28102
|
-
const _hoisted_4$
|
|
28153
|
+
const _hoisted_4$j = {
|
|
28103
28154
|
key: 0,
|
|
28104
28155
|
class: "lupa-facet-level"
|
|
28105
28156
|
};
|
|
28106
|
-
const _sfc_main
|
|
28157
|
+
const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
28107
28158
|
__name: "HierarchyFacetLevel",
|
|
28108
28159
|
props: {
|
|
28109
28160
|
options: {},
|
|
@@ -28157,7 +28208,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
28157
28208
|
"data-cy": "lupa-facet-term",
|
|
28158
28209
|
onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
|
|
28159
28210
|
}, [
|
|
28160
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
28211
|
+
vue.createElementVNode("div", _hoisted_1$R, [
|
|
28161
28212
|
vue.createElementVNode("span", {
|
|
28162
28213
|
class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
|
|
28163
28214
|
}, null, 2)
|
|
@@ -28165,11 +28216,11 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
28165
28216
|
vue.createElementVNode("div", {
|
|
28166
28217
|
class: vue.normalizeClass(["lupa-term-checkbox-label", { [getFacetValueClass(_ctx.item)]: true }])
|
|
28167
28218
|
}, [
|
|
28168
|
-
vue.createElementVNode("span", _hoisted_2$
|
|
28169
|
-
_ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
28219
|
+
vue.createElementVNode("span", _hoisted_2$C, vue.toDisplayString(_ctx.item.title) + vue.toDisplayString(" "), 1),
|
|
28220
|
+
_ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$s, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
28170
28221
|
], 2)
|
|
28171
28222
|
]),
|
|
28172
|
-
showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
28223
|
+
showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$j, [
|
|
28173
28224
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
|
|
28174
28225
|
return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
|
|
28175
28226
|
key: itemChild.title,
|
|
@@ -28185,13 +28236,13 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
28185
28236
|
};
|
|
28186
28237
|
}
|
|
28187
28238
|
});
|
|
28188
|
-
const _hoisted_1$
|
|
28239
|
+
const _hoisted_1$Q = {
|
|
28189
28240
|
class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
|
|
28190
28241
|
"data-cy": "lupa-search-result-facet-term-values"
|
|
28191
28242
|
};
|
|
28192
|
-
const _hoisted_2$
|
|
28193
|
-
const _hoisted_3$
|
|
28194
|
-
const _sfc_main$
|
|
28243
|
+
const _hoisted_2$B = { key: 0 };
|
|
28244
|
+
const _hoisted_3$r = ["placeholder"];
|
|
28245
|
+
const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
28195
28246
|
__name: "HierarchyFacet",
|
|
28196
28247
|
props: {
|
|
28197
28248
|
options: {},
|
|
@@ -28247,19 +28298,19 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
28247
28298
|
showAll.value = false;
|
|
28248
28299
|
};
|
|
28249
28300
|
return (_ctx, _cache) => {
|
|
28250
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
28251
|
-
isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
28301
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
|
|
28302
|
+
isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$B, [
|
|
28252
28303
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
28253
28304
|
class: "lupa-term-filter",
|
|
28254
28305
|
"data-cy": "lupa-term-filter",
|
|
28255
28306
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
|
|
28256
28307
|
placeholder: _ctx.options.labels.facetFilter
|
|
28257
|
-
}, null, 8, _hoisted_3$
|
|
28308
|
+
}, null, 8, _hoisted_3$r), [
|
|
28258
28309
|
[vue.vModelText, termFilter.value]
|
|
28259
28310
|
])
|
|
28260
28311
|
])) : vue.createCommentVNode("", true),
|
|
28261
28312
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
|
|
28262
|
-
return vue.openBlock(), vue.createBlock(_sfc_main
|
|
28313
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$$, {
|
|
28263
28314
|
key: item.title,
|
|
28264
28315
|
options: _ctx.options,
|
|
28265
28316
|
item,
|
|
@@ -28283,30 +28334,31 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
28283
28334
|
};
|
|
28284
28335
|
}
|
|
28285
28336
|
});
|
|
28286
|
-
const _hoisted_1$
|
|
28287
|
-
const _hoisted_2$
|
|
28337
|
+
const _hoisted_1$P = { class: "lupa-facet-label-text" };
|
|
28338
|
+
const _hoisted_2$A = {
|
|
28288
28339
|
key: 0,
|
|
28289
28340
|
class: "lupa-facet-content",
|
|
28290
28341
|
"data-cy": "lupa-facet-content"
|
|
28291
28342
|
};
|
|
28292
28343
|
const __default__$1 = {
|
|
28293
28344
|
components: {
|
|
28294
|
-
TermFacet: _sfc_main$
|
|
28295
|
-
StatsFacet: _sfc_main$
|
|
28296
|
-
HierarchyFacet: _sfc_main$
|
|
28345
|
+
TermFacet: _sfc_main$11,
|
|
28346
|
+
StatsFacet: _sfc_main$10,
|
|
28347
|
+
HierarchyFacet: _sfc_main$_
|
|
28297
28348
|
}
|
|
28298
28349
|
};
|
|
28299
|
-
const _sfc_main$
|
|
28350
|
+
const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
|
|
28300
28351
|
__name: "FacetDisplay",
|
|
28301
28352
|
props: {
|
|
28302
28353
|
options: {},
|
|
28303
28354
|
facet: {},
|
|
28304
28355
|
currentFilters: {},
|
|
28305
|
-
clearable: { type: Boolean }
|
|
28356
|
+
clearable: { type: Boolean },
|
|
28357
|
+
currentFacetStyle: {}
|
|
28306
28358
|
},
|
|
28307
|
-
emits: ["select", "clear"],
|
|
28359
|
+
emits: ["select", "clear", "expand"],
|
|
28308
28360
|
setup(__props, { emit: __emit }) {
|
|
28309
|
-
var _a25, _b25
|
|
28361
|
+
var _a25, _b25;
|
|
28310
28362
|
const props = __props;
|
|
28311
28363
|
const facet = vue.computed(() => {
|
|
28312
28364
|
var _a26;
|
|
@@ -28320,17 +28372,17 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
28320
28372
|
const optionsStore = useOptionsStore();
|
|
28321
28373
|
const screenStore = useScreenStore();
|
|
28322
28374
|
const { currentFilterKeys } = storeToRefs(searchResultStore);
|
|
28323
|
-
const { searchResultOptions } = storeToRefs(optionsStore);
|
|
28375
|
+
const { searchResultOptions, expandedFacets } = storeToRefs(optionsStore);
|
|
28324
28376
|
const { isMobileWidth } = storeToRefs(screenStore);
|
|
28325
28377
|
const emit = __emit;
|
|
28326
28378
|
const allExpanded = vue.computed(() => {
|
|
28327
|
-
var _a26, _b26,
|
|
28379
|
+
var _a26, _b26, _c, _d, _e, _f;
|
|
28328
28380
|
if (isMobileWidth.value) {
|
|
28329
|
-
return (
|
|
28381
|
+
return (_c = (_b26 = (_a26 = props.options) == null ? void 0 : _a26.expandAll) == null ? void 0 : _b26.mobile) != null ? _c : false;
|
|
28330
28382
|
}
|
|
28331
28383
|
return (_f = (_e = (_d = props.options) == null ? void 0 : _d.expandAll) == null ? void 0 : _e.desktop) != null ? _f : false;
|
|
28332
28384
|
});
|
|
28333
|
-
const isOpen = vue.ref((
|
|
28385
|
+
const isOpen = vue.ref((_b25 = ((_a25 = expandedFacets.value) == null ? void 0 : _a25.includes(props.facet.key)) || allExpanded.value) != null ? _b25 : false);
|
|
28334
28386
|
const facetPanel = vue.ref(null);
|
|
28335
28387
|
const facetType = vue.computed(() => {
|
|
28336
28388
|
switch (facet.value.type) {
|
|
@@ -28372,9 +28424,16 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
28372
28424
|
var _a26;
|
|
28373
28425
|
return getTranslatedFacetKey(props.facet, (_a26 = searchResultOptions.value.filters) == null ? void 0 : _a26.translations);
|
|
28374
28426
|
});
|
|
28427
|
+
const expandSidebarOnFacetClick = vue.computed(() => {
|
|
28428
|
+
var _a26, _b26, _c;
|
|
28429
|
+
if (!props.currentFacetStyle || props.currentFacetStyle === "sidebar") {
|
|
28430
|
+
return false;
|
|
28431
|
+
}
|
|
28432
|
+
return (_c = (_b26 = (_a26 = props.options.style) == null ? void 0 : _a26.drawer) == null ? void 0 : _b26.expandSidebarOnFacetClick) != null ? _c : false;
|
|
28433
|
+
});
|
|
28375
28434
|
vue.onMounted(() => {
|
|
28376
|
-
var _a26;
|
|
28377
|
-
if (((_a26 = props.options.style) == null ? void 0 : _a26.type) === "top-dropdown") {
|
|
28435
|
+
var _a26, _b26, _c;
|
|
28436
|
+
if (((_a26 = props.options.style) == null ? void 0 : _a26.type) === "top-dropdown" || ((_c = (_b26 = props.options) == null ? void 0 : _b26.style) == null ? void 0 : _c.type) === "drawer") {
|
|
28378
28437
|
window.addEventListener("click", handleMouseClick);
|
|
28379
28438
|
}
|
|
28380
28439
|
});
|
|
@@ -28383,7 +28442,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
28383
28442
|
});
|
|
28384
28443
|
const handleMouseClick = (e2) => {
|
|
28385
28444
|
const el = facetPanel.value;
|
|
28386
|
-
if (!el) {
|
|
28445
|
+
if (!el || !props.currentFacetStyle || props.currentFacetStyle === "sidebar") {
|
|
28387
28446
|
return;
|
|
28388
28447
|
}
|
|
28389
28448
|
const isOutsideElement = el && !el.contains(e2.target);
|
|
@@ -28395,6 +28454,11 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
28395
28454
|
handleFacetQueryFilter();
|
|
28396
28455
|
});
|
|
28397
28456
|
const toggleFacet = () => {
|
|
28457
|
+
if (expandSidebarOnFacetClick.value) {
|
|
28458
|
+
expandedFacets.value = [facet.value.key];
|
|
28459
|
+
emit("expand");
|
|
28460
|
+
return;
|
|
28461
|
+
}
|
|
28398
28462
|
isOpen.value = !isOpen.value;
|
|
28399
28463
|
handleFacetQueryFilter();
|
|
28400
28464
|
};
|
|
@@ -28427,12 +28491,12 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
28427
28491
|
"data-cy": "lupa-search-result-facet-label",
|
|
28428
28492
|
onClick: toggleFacet
|
|
28429
28493
|
}, [
|
|
28430
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
28494
|
+
vue.createElementVNode("div", _hoisted_1$P, vue.toDisplayString(facetLabel.value), 1),
|
|
28431
28495
|
vue.createElementVNode("div", {
|
|
28432
28496
|
class: vue.normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
|
|
28433
28497
|
}, null, 2)
|
|
28434
28498
|
], 2),
|
|
28435
|
-
isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
28499
|
+
isOpen.value && !expandSidebarOnFacetClick.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$A, [
|
|
28436
28500
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(facetType.value), {
|
|
28437
28501
|
facet: facet.value,
|
|
28438
28502
|
currentFilters: currentFilters.value[facet.value.key],
|
|
@@ -28450,12 +28514,154 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
28450
28514
|
};
|
|
28451
28515
|
}
|
|
28452
28516
|
}));
|
|
28453
|
-
const
|
|
28454
|
-
const
|
|
28517
|
+
const useSidebarToggle = () => {
|
|
28518
|
+
const searchResultStore = useSearchResultStore();
|
|
28519
|
+
const optionsStore = useOptionsStore();
|
|
28520
|
+
const { currentFilterCount, isFilterSidebarVisible, isSortingSidebarVisible } = storeToRefs(searchResultStore);
|
|
28521
|
+
const { searchResultOptions } = storeToRefs(optionsStore);
|
|
28522
|
+
const labels = vue.computed(() => {
|
|
28523
|
+
return searchResultOptions.value.labels;
|
|
28524
|
+
});
|
|
28525
|
+
const showMobileFilterCount = vue.computed(
|
|
28526
|
+
() => {
|
|
28527
|
+
var _a25, _b25, _c, _d;
|
|
28528
|
+
return (_d = (_c = (_b25 = (_a25 = searchResultOptions.value.filters) == null ? void 0 : _a25.currentFilters) == null ? void 0 : _b25.mobileSidebar) == null ? void 0 : _c.showFilterCount) != null ? _d : false;
|
|
28529
|
+
}
|
|
28530
|
+
);
|
|
28531
|
+
const disableMobileBodyScrollLock = vue.computed(
|
|
28532
|
+
() => {
|
|
28533
|
+
var _a25, _b25, _c;
|
|
28534
|
+
return (_c = (_b25 = (_a25 = searchResultOptions.value.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.disableMobileBodyScrollLock) != null ? _c : false;
|
|
28535
|
+
}
|
|
28536
|
+
);
|
|
28537
|
+
const isSidebarVisible = vue.computed(
|
|
28538
|
+
() => isFilterSidebarVisible.value || isSortingSidebarVisible.value
|
|
28539
|
+
);
|
|
28540
|
+
const sortLabel = vue.computed(() => {
|
|
28541
|
+
var _a25, _b25;
|
|
28542
|
+
return (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.sortBy;
|
|
28543
|
+
});
|
|
28544
|
+
const defaultLabel = vue.computed(() => {
|
|
28545
|
+
var _a25;
|
|
28546
|
+
return (_a25 = labels.value) == null ? void 0 : _a25.mobileFilterButton;
|
|
28547
|
+
});
|
|
28548
|
+
const activeLabel = vue.computed(() => {
|
|
28549
|
+
var _a25;
|
|
28550
|
+
return (_a25 = labels.value) == null ? void 0 : _a25.mobileFilterButtonActive;
|
|
28551
|
+
});
|
|
28552
|
+
const openLabel = vue.computed(() => {
|
|
28553
|
+
var _a25;
|
|
28554
|
+
return (_a25 = labels.value) == null ? void 0 : _a25.mobileFilterButtonOpen;
|
|
28555
|
+
});
|
|
28556
|
+
const label = vue.computed(() => {
|
|
28557
|
+
if (isSidebarVisible.value && openLabel.value) {
|
|
28558
|
+
return openLabel.value;
|
|
28559
|
+
}
|
|
28560
|
+
if (hasActiveFilters.value && activeLabel.value) {
|
|
28561
|
+
return activeLabel.value;
|
|
28562
|
+
}
|
|
28563
|
+
return defaultLabel.value;
|
|
28564
|
+
});
|
|
28565
|
+
const sortToggleVisible = vue.computed(() => {
|
|
28566
|
+
var _a25, _b25;
|
|
28567
|
+
return ((_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.sortStyle) == null ? void 0 : _b25.type) === "drawer";
|
|
28568
|
+
});
|
|
28569
|
+
const handleFilterSidebarToggle = () => {
|
|
28570
|
+
searchResultStore.setSidebarState({
|
|
28571
|
+
visible: !isSidebarVisible.value,
|
|
28572
|
+
disableBodyScrolling: !disableMobileBodyScrollLock.value,
|
|
28573
|
+
sidebar: "filter"
|
|
28574
|
+
});
|
|
28575
|
+
};
|
|
28576
|
+
const handleSortSidebarToggle = () => {
|
|
28577
|
+
searchResultStore.setSidebarState({
|
|
28578
|
+
visible: !isSortingSidebarVisible.value,
|
|
28579
|
+
disableBodyScrolling: !disableMobileBodyScrollLock.value,
|
|
28580
|
+
sidebar: "sorting"
|
|
28581
|
+
});
|
|
28582
|
+
};
|
|
28583
|
+
const hasActiveFilters = vue.computed(() => currentFilterCount.value > 0);
|
|
28584
|
+
const checkCloseOnEscape = (e2) => {
|
|
28585
|
+
var _a25;
|
|
28586
|
+
if (!["Escape", "Esc"].includes((_a25 = e2.key) != null ? _a25 : "")) {
|
|
28587
|
+
return;
|
|
28588
|
+
}
|
|
28589
|
+
if (isSidebarVisible.value) {
|
|
28590
|
+
searchResultStore.setSidebarState({ visible: false, sidebar: "sorting" });
|
|
28591
|
+
searchResultStore.setSidebarState({ visible: false, sidebar: "filter" });
|
|
28592
|
+
}
|
|
28593
|
+
};
|
|
28594
|
+
vue.onMounted(() => {
|
|
28595
|
+
window.addEventListener("keydown", checkCloseOnEscape);
|
|
28596
|
+
});
|
|
28597
|
+
vue.onBeforeUnmount(() => {
|
|
28598
|
+
window.removeEventListener("keydown", checkCloseOnEscape);
|
|
28599
|
+
});
|
|
28600
|
+
return {
|
|
28601
|
+
isSidebarVisible,
|
|
28602
|
+
label,
|
|
28603
|
+
currentFilterCount,
|
|
28604
|
+
hasActiveFilters,
|
|
28605
|
+
showMobileFilterCount,
|
|
28606
|
+
sortLabel,
|
|
28607
|
+
sortToggleVisible,
|
|
28608
|
+
handleFilterSidebarToggle,
|
|
28609
|
+
handleSortSidebarToggle
|
|
28610
|
+
};
|
|
28611
|
+
};
|
|
28612
|
+
const _hoisted_1$O = {
|
|
28613
|
+
key: 0,
|
|
28614
|
+
class: "lupa-desktop-toggle-filter-count"
|
|
28615
|
+
};
|
|
28616
|
+
const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
28617
|
+
__name: "DesktopFacetToggle",
|
|
28618
|
+
setup(__props) {
|
|
28619
|
+
const {
|
|
28620
|
+
isSidebarVisible,
|
|
28621
|
+
label,
|
|
28622
|
+
currentFilterCount,
|
|
28623
|
+
hasActiveFilters,
|
|
28624
|
+
showMobileFilterCount,
|
|
28625
|
+
handleFilterSidebarToggle
|
|
28626
|
+
} = useSidebarToggle();
|
|
28627
|
+
return (_ctx, _cache) => {
|
|
28628
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
28629
|
+
class: vue.normalizeClass(["lupa-desktop-toggle", {
|
|
28630
|
+
"lupa-desktop-toggle-filters-empty": vue.unref(currentFilterCount) < 1,
|
|
28631
|
+
"lupa-desktop-toggle-has-filters": vue.unref(hasActiveFilters),
|
|
28632
|
+
"lupa-sidebar-open": vue.unref(isSidebarVisible)
|
|
28633
|
+
}]),
|
|
28634
|
+
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
28635
|
+
(...args) => vue.unref(handleFilterSidebarToggle) && vue.unref(handleFilterSidebarToggle)(...args))
|
|
28636
|
+
}, [
|
|
28637
|
+
vue.createTextVNode(vue.toDisplayString(vue.unref(label)) + " ", 1),
|
|
28638
|
+
vue.unref(showMobileFilterCount) && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$O, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
|
|
28639
|
+
], 2);
|
|
28640
|
+
};
|
|
28641
|
+
}
|
|
28642
|
+
});
|
|
28643
|
+
const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
28644
|
+
__name: "DesktopSortToggle",
|
|
28645
|
+
setup(__props) {
|
|
28646
|
+
const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
|
|
28647
|
+
return (_ctx, _cache) => {
|
|
28648
|
+
return vue.unref(sortToggleVisible) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
28649
|
+
key: 0,
|
|
28650
|
+
class: vue.normalizeClass(["lupa-desktop-toggle lupa-desktop-sort-toggle", {
|
|
28651
|
+
"lupa-sidebar-open": vue.unref(isSidebarVisible)
|
|
28652
|
+
}]),
|
|
28653
|
+
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
28654
|
+
(...args) => vue.unref(handleSortSidebarToggle) && vue.unref(handleSortSidebarToggle)(...args))
|
|
28655
|
+
}, vue.toDisplayString(vue.unref(sortLabel)), 3)) : vue.createCommentVNode("", true);
|
|
28656
|
+
};
|
|
28657
|
+
}
|
|
28658
|
+
});
|
|
28659
|
+
const _hoisted_1$N = { class: "lupa-search-result-facet-section" };
|
|
28660
|
+
const _hoisted_2$z = {
|
|
28455
28661
|
key: 0,
|
|
28456
28662
|
class: "lupa-facets-title"
|
|
28457
28663
|
};
|
|
28458
|
-
const _sfc_main$
|
|
28664
|
+
const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
|
|
28459
28665
|
__name: "FacetList",
|
|
28460
28666
|
props: {
|
|
28461
28667
|
options: {},
|
|
@@ -28467,6 +28673,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
28467
28673
|
emits: ["select", "clear"],
|
|
28468
28674
|
setup(__props, { emit: __emit }) {
|
|
28469
28675
|
const props = __props;
|
|
28676
|
+
const { handleFilterSidebarToggle } = useSidebarToggle();
|
|
28470
28677
|
const emit = __emit;
|
|
28471
28678
|
const currentFiltersValue = vue.computed(() => {
|
|
28472
28679
|
var _a25;
|
|
@@ -28482,6 +28689,12 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
28482
28689
|
return !((_a25 = props.options.exclude) == null ? void 0 : _a25.includes(f2.key));
|
|
28483
28690
|
}) : facetsValue.value;
|
|
28484
28691
|
});
|
|
28692
|
+
const displayFacetStyle = vue.computed(() => {
|
|
28693
|
+
if (!props.facetStyle || props.facetStyle === "sidebar") {
|
|
28694
|
+
return "sidebar";
|
|
28695
|
+
}
|
|
28696
|
+
return "top-dropdown";
|
|
28697
|
+
});
|
|
28485
28698
|
const handleFacetSelect = (facetAction) => {
|
|
28486
28699
|
emit("select", facetAction);
|
|
28487
28700
|
};
|
|
@@ -28490,29 +28703,33 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
28490
28703
|
};
|
|
28491
28704
|
return (_ctx, _cache) => {
|
|
28492
28705
|
var _a25;
|
|
28493
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
28494
|
-
_ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
28706
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
|
|
28707
|
+
_ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
|
|
28495
28708
|
vue.createElementVNode("div", {
|
|
28496
|
-
class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a25 =
|
|
28709
|
+
class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a25 = displayFacetStyle.value) != null ? _a25 : "")])
|
|
28497
28710
|
}, [
|
|
28498
28711
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFacets.value, (facet) => {
|
|
28499
28712
|
var _a26;
|
|
28500
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
28713
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$Z, {
|
|
28501
28714
|
key: facet.key,
|
|
28502
28715
|
facet,
|
|
28503
28716
|
currentFilters: currentFiltersValue.value,
|
|
28504
28717
|
options: _ctx.options,
|
|
28505
28718
|
clearable: (_a26 = _ctx.clearable) != null ? _a26 : false,
|
|
28719
|
+
"current-facet-style": _ctx.facetStyle,
|
|
28506
28720
|
onSelect: handleFacetSelect,
|
|
28507
|
-
onClear: clear
|
|
28508
|
-
|
|
28509
|
-
|
|
28721
|
+
onClear: clear,
|
|
28722
|
+
onExpand: vue.unref(handleFilterSidebarToggle)
|
|
28723
|
+
}, null, 8, ["facet", "currentFilters", "options", "clearable", "current-facet-style", "onExpand"]);
|
|
28724
|
+
}), 128)),
|
|
28725
|
+
_ctx.facetStyle === "drawer" ? (vue.openBlock(), vue.createBlock(_sfc_main$Y, { key: 0 })) : vue.createCommentVNode("", true),
|
|
28726
|
+
_ctx.facetStyle === "drawer" || _ctx.facetStyle === "top-dropdown" ? (vue.openBlock(), vue.createBlock(_sfc_main$X, { key: 1 })) : vue.createCommentVNode("", true)
|
|
28510
28727
|
], 2)
|
|
28511
28728
|
]);
|
|
28512
28729
|
};
|
|
28513
28730
|
}
|
|
28514
28731
|
});
|
|
28515
|
-
const _sfc_main$
|
|
28732
|
+
const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
28516
28733
|
__name: "FacetsButton",
|
|
28517
28734
|
props: {
|
|
28518
28735
|
options: {}
|
|
@@ -28537,8 +28754,33 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
28537
28754
|
};
|
|
28538
28755
|
}
|
|
28539
28756
|
});
|
|
28540
|
-
const
|
|
28541
|
-
|
|
28757
|
+
const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
28758
|
+
__name: "FacetsClearButton",
|
|
28759
|
+
props: {
|
|
28760
|
+
options: {}
|
|
28761
|
+
},
|
|
28762
|
+
emits: ["clear"],
|
|
28763
|
+
setup(__props, { emit: __emit }) {
|
|
28764
|
+
const props = __props;
|
|
28765
|
+
const emit = __emit;
|
|
28766
|
+
const label = vue.computed(() => {
|
|
28767
|
+
var _a25, _b25;
|
|
28768
|
+
return (_b25 = (_a25 = props.options.labels) == null ? void 0 : _a25.facetClearAllButton) != null ? _b25 : "";
|
|
28769
|
+
});
|
|
28770
|
+
const handleClick = () => {
|
|
28771
|
+
emit("clear");
|
|
28772
|
+
};
|
|
28773
|
+
return (_ctx, _cache) => {
|
|
28774
|
+
return label.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
28775
|
+
key: 0,
|
|
28776
|
+
class: "lupa-facets-button-clear",
|
|
28777
|
+
onClick: vue.withModifiers(handleClick, ["stop"])
|
|
28778
|
+
}, vue.toDisplayString(label.value), 1)) : vue.createCommentVNode("", true);
|
|
28779
|
+
};
|
|
28780
|
+
}
|
|
28781
|
+
});
|
|
28782
|
+
const _hoisted_1$M = { class: "lupa-facets-filter-button-wrapper" };
|
|
28783
|
+
const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
28542
28784
|
__name: "Facets",
|
|
28543
28785
|
props: {
|
|
28544
28786
|
options: {},
|
|
@@ -28551,6 +28793,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
28551
28793
|
const paramStore = useParamsStore();
|
|
28552
28794
|
const searchResultStore = useSearchResultStore();
|
|
28553
28795
|
const optionsStore = useOptionsStore();
|
|
28796
|
+
const { handleFilterSidebarToggle } = useSidebarToggle();
|
|
28554
28797
|
const { filters } = storeToRefs(paramStore);
|
|
28555
28798
|
const { facets: facets2, loadingFacets } = storeToRefs(searchResultStore);
|
|
28556
28799
|
const { searchResultOptions } = storeToRefs(optionsStore);
|
|
@@ -28578,7 +28821,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
28578
28821
|
};
|
|
28579
28822
|
});
|
|
28580
28823
|
const showFilterButton = vue.computed(() => {
|
|
28581
|
-
return props.options.filterBehavior === "withFilterButton";
|
|
28824
|
+
return props.options.filterBehavior === "withFilterButton" && props.facetStyle === "sidebar";
|
|
28582
28825
|
});
|
|
28583
28826
|
const handleFacetSelect = (facetAction) => {
|
|
28584
28827
|
switch (facetAction.type) {
|
|
@@ -28619,6 +28862,10 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
28619
28862
|
const param = getFacetKey(facet.key, facet.type);
|
|
28620
28863
|
paramStore.removeParameters({ paramsToRemove: [param] });
|
|
28621
28864
|
};
|
|
28865
|
+
const clearAll = () => {
|
|
28866
|
+
paramStore.removeAllFilters();
|
|
28867
|
+
handleFilterSidebarToggle();
|
|
28868
|
+
};
|
|
28622
28869
|
const filter = () => {
|
|
28623
28870
|
emit("filter");
|
|
28624
28871
|
};
|
|
@@ -28626,7 +28873,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
28626
28873
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
28627
28874
|
class: vue.normalizeClass(["lupa-search-result-facets", { "lupa-search-result-facets-loading": vue.unref(loadingFacets) }])
|
|
28628
28875
|
}, [
|
|
28629
|
-
regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
28876
|
+
regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$W, {
|
|
28630
28877
|
key: 0,
|
|
28631
28878
|
options: _ctx.options,
|
|
28632
28879
|
facets: regularFacets.value,
|
|
@@ -28636,10 +28883,15 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
28636
28883
|
onSelect: handleFacetSelect,
|
|
28637
28884
|
onClear: clear
|
|
28638
28885
|
}, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : vue.createCommentVNode("", true),
|
|
28639
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
28640
|
-
showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
28886
|
+
vue.createElementVNode("div", _hoisted_1$M, [
|
|
28887
|
+
showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
|
|
28641
28888
|
key: 0,
|
|
28642
28889
|
options: _ctx.options,
|
|
28890
|
+
onClear: clearAll
|
|
28891
|
+
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
28892
|
+
showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
|
|
28893
|
+
key: 1,
|
|
28894
|
+
options: _ctx.options,
|
|
28643
28895
|
onFilter: filter
|
|
28644
28896
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true)
|
|
28645
28897
|
])
|
|
@@ -28647,16 +28899,17 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
28647
28899
|
};
|
|
28648
28900
|
}
|
|
28649
28901
|
});
|
|
28650
|
-
const _hoisted_1$
|
|
28902
|
+
const _hoisted_1$L = {
|
|
28651
28903
|
key: 0,
|
|
28652
28904
|
id: "lupa-search-result-filters",
|
|
28653
28905
|
class: "lupa-search-result-filters"
|
|
28654
28906
|
};
|
|
28655
|
-
const _sfc_main$
|
|
28907
|
+
const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
28656
28908
|
__name: "SearchResultsFilters",
|
|
28657
28909
|
props: {
|
|
28658
28910
|
options: {},
|
|
28659
|
-
expandable: { type: Boolean }
|
|
28911
|
+
expandable: { type: Boolean },
|
|
28912
|
+
style: {}
|
|
28660
28913
|
},
|
|
28661
28914
|
emits: ["filter"],
|
|
28662
28915
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
@@ -28690,40 +28943,37 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
28690
28943
|
__expose({ fetch: fetch2 });
|
|
28691
28944
|
return (_ctx, _cache) => {
|
|
28692
28945
|
var _a25;
|
|
28693
|
-
return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
28694
|
-
showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
28946
|
+
return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
|
|
28947
|
+
showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
|
|
28695
28948
|
key: 0,
|
|
28696
28949
|
options: _ctx.options.currentFilters,
|
|
28697
28950
|
expandable: (_a25 = _ctx.expandable) != null ? _a25 : false
|
|
28698
28951
|
}, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
|
|
28699
|
-
_ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
28952
|
+
_ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$12, {
|
|
28700
28953
|
key: 1,
|
|
28701
28954
|
options: _ctx.options.categories,
|
|
28702
28955
|
ref_key: "categoryFilters",
|
|
28703
28956
|
ref: categoryFilters
|
|
28704
28957
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
28705
|
-
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
28958
|
+
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
|
|
28706
28959
|
key: 2,
|
|
28707
28960
|
options: _ctx.options.facets,
|
|
28961
|
+
"facet-style": _ctx.style,
|
|
28708
28962
|
onFilter: filter
|
|
28709
|
-
}, null, 8, ["options"])) : vue.createCommentVNode("", true)
|
|
28963
|
+
}, null, 8, ["options", "facet-style"])) : vue.createCommentVNode("", true)
|
|
28710
28964
|
])) : vue.createCommentVNode("", true);
|
|
28711
28965
|
};
|
|
28712
28966
|
}
|
|
28713
28967
|
});
|
|
28714
|
-
const _hoisted_1$
|
|
28715
|
-
|
|
28716
|
-
|
|
28717
|
-
|
|
28718
|
-
const _hoisted_2$w = { class: "lupa-mobile-sidebar-content" };
|
|
28719
|
-
const _hoisted_3$o = { class: "lupa-sidebar-top" };
|
|
28720
|
-
const _hoisted_4$g = { class: "lupa-sidebar-title" };
|
|
28721
|
-
const _hoisted_5$b = {
|
|
28968
|
+
const _hoisted_1$K = { class: "lupa-mobile-sidebar-content" };
|
|
28969
|
+
const _hoisted_2$y = { class: "lupa-sidebar-top" };
|
|
28970
|
+
const _hoisted_3$q = { class: "lupa-sidebar-title" };
|
|
28971
|
+
const _hoisted_4$i = {
|
|
28722
28972
|
key: 0,
|
|
28723
28973
|
class: "lupa-sidebar-filter-count"
|
|
28724
28974
|
};
|
|
28725
|
-
const
|
|
28726
|
-
const _sfc_main$
|
|
28975
|
+
const _hoisted_5$c = { class: "lupa-sidebar-filter-options" };
|
|
28976
|
+
const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
28727
28977
|
__name: "MobileFilterSidebar",
|
|
28728
28978
|
props: {
|
|
28729
28979
|
options: {}
|
|
@@ -28732,7 +28982,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
28732
28982
|
setup(__props, { emit: __emit }) {
|
|
28733
28983
|
const props = __props;
|
|
28734
28984
|
const searchResultStore = useSearchResultStore();
|
|
28735
|
-
const { currentFilterCount } = storeToRefs(searchResultStore);
|
|
28985
|
+
const { currentFilterCount, isFilterSidebarVisible, isSidebarClosing } = storeToRefs(searchResultStore);
|
|
28736
28986
|
const emit = __emit;
|
|
28737
28987
|
const sidebarTitle = vue.computed(() => {
|
|
28738
28988
|
var _a25, _b25, _c;
|
|
@@ -28742,7 +28992,6 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
28742
28992
|
var _a25, _b25;
|
|
28743
28993
|
return Boolean((_b25 = (_a25 = props.options.currentFilters) == null ? void 0 : _a25.mobileSidebar) == null ? void 0 : _b25.showFilterCount) && currentFilterCount.value > 0;
|
|
28744
28994
|
});
|
|
28745
|
-
const isMobileSidebarVisible = vue.computed(() => searchResultStore.isMobileSidebarVisible);
|
|
28746
28995
|
const isActiveFiltersExpanded = vue.computed(() => {
|
|
28747
28996
|
var _a25, _b25;
|
|
28748
28997
|
return !((_b25 = (_a25 = props.options.currentFilters) == null ? void 0 : _a25.mobileSidebar) == null ? void 0 : _b25.activeFiltersExpanded);
|
|
@@ -28755,42 +29004,46 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
28755
29004
|
handleMobileToggle();
|
|
28756
29005
|
};
|
|
28757
29006
|
return (_ctx, _cache) => {
|
|
28758
|
-
return
|
|
29007
|
+
return vue.unref(isFilterSidebarVisible) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
29008
|
+
key: 0,
|
|
29009
|
+
class: vue.normalizeClass(["lupa-mobile-filter-sidebar", { "lupa-mobile-filter-sidebar-is-closing": vue.unref(isSidebarClosing) }])
|
|
29010
|
+
}, [
|
|
28759
29011
|
vue.createElementVNode("div", {
|
|
28760
29012
|
class: "lupa-sidebar-close",
|
|
28761
29013
|
onClick: vue.withModifiers(handleMobileToggle, ["stop"])
|
|
28762
29014
|
}),
|
|
28763
|
-
vue.createElementVNode("div",
|
|
28764
|
-
vue.createElementVNode("div",
|
|
28765
|
-
vue.createElementVNode("div",
|
|
29015
|
+
vue.createElementVNode("div", _hoisted_1$K, [
|
|
29016
|
+
vue.createElementVNode("div", _hoisted_2$y, [
|
|
29017
|
+
vue.createElementVNode("div", _hoisted_3$q, [
|
|
28766
29018
|
vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
|
|
28767
|
-
isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span",
|
|
29019
|
+
isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$i, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
|
|
28768
29020
|
]),
|
|
28769
29021
|
vue.createElementVNode("div", {
|
|
28770
29022
|
class: "lupa-filter-toggle-mobile",
|
|
28771
29023
|
onClick: handleMobileToggle
|
|
28772
29024
|
})
|
|
28773
29025
|
]),
|
|
28774
|
-
vue.createElementVNode("div",
|
|
28775
|
-
vue.createVNode(_sfc_main$
|
|
29026
|
+
vue.createElementVNode("div", _hoisted_5$c, [
|
|
29027
|
+
vue.createVNode(_sfc_main$S, {
|
|
28776
29028
|
options: _ctx.options,
|
|
28777
29029
|
expandable: isActiveFiltersExpanded.value,
|
|
29030
|
+
style: "sidebar",
|
|
28778
29031
|
onFilter: filter
|
|
28779
29032
|
}, null, 8, ["options", "expandable"])
|
|
28780
29033
|
])
|
|
28781
29034
|
])
|
|
28782
|
-
])) : vue.createCommentVNode("", true);
|
|
29035
|
+
], 2)) : vue.createCommentVNode("", true);
|
|
28783
29036
|
};
|
|
28784
29037
|
}
|
|
28785
29038
|
});
|
|
28786
|
-
const _hoisted_1$
|
|
28787
|
-
const _hoisted_2$
|
|
28788
|
-
const _hoisted_3$
|
|
29039
|
+
const _hoisted_1$J = { id: "lupa-search-results-breadcrumbs" };
|
|
29040
|
+
const _hoisted_2$x = ["href", "onClick"];
|
|
29041
|
+
const _hoisted_3$p = {
|
|
28789
29042
|
key: 1,
|
|
28790
29043
|
class: "lupa-search-results-breadcrumb-text"
|
|
28791
29044
|
};
|
|
28792
|
-
const _hoisted_4$
|
|
28793
|
-
const _sfc_main$
|
|
29045
|
+
const _hoisted_4$h = { key: 2 };
|
|
29046
|
+
const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
28794
29047
|
__name: "SearchResultsBreadcrumbs",
|
|
28795
29048
|
props: {
|
|
28796
29049
|
breadcrumbs: {}
|
|
@@ -28815,7 +29068,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
28815
29068
|
handleRoutingEvent(link, event, hasEventRouting.value);
|
|
28816
29069
|
};
|
|
28817
29070
|
return (_ctx, _cache) => {
|
|
28818
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
29071
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
|
|
28819
29072
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(breadcrumbsValue.value, (breadcrumb, index) => {
|
|
28820
29073
|
var _a25;
|
|
28821
29074
|
return vue.openBlock(), vue.createElementBlock("span", {
|
|
@@ -28830,20 +29083,20 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
28830
29083
|
var _a26;
|
|
28831
29084
|
return handleNavigation(e2, (_a26 = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a26 : "");
|
|
28832
29085
|
}
|
|
28833
|
-
}, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$
|
|
28834
|
-
index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$
|
|
29086
|
+
}, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$x)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$p, vue.toDisplayString(getLabel(breadcrumb.label)), 1)),
|
|
29087
|
+
index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, vue.toDisplayString((_a25 = breadcrumb.separator) != null ? _a25 : "/"), 1)) : vue.createCommentVNode("", true)
|
|
28835
29088
|
]);
|
|
28836
29089
|
}), 128))
|
|
28837
29090
|
]);
|
|
28838
29091
|
};
|
|
28839
29092
|
}
|
|
28840
29093
|
});
|
|
28841
|
-
const _hoisted_1$
|
|
29094
|
+
const _hoisted_1$I = {
|
|
28842
29095
|
key: 0,
|
|
28843
29096
|
id: "lupa-search-result-filters",
|
|
28844
29097
|
class: "lupa-search-result-filters lupa-search-result-top-filters"
|
|
28845
29098
|
};
|
|
28846
|
-
const _sfc_main$
|
|
29099
|
+
const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
28847
29100
|
__name: "FiltersTopDropdown",
|
|
28848
29101
|
props: {
|
|
28849
29102
|
options: {}
|
|
@@ -28861,8 +29114,8 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
28861
29114
|
});
|
|
28862
29115
|
return (_ctx, _cache) => {
|
|
28863
29116
|
var _a25;
|
|
28864
|
-
return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
28865
|
-
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
29117
|
+
return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
|
|
29118
|
+
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
|
|
28866
29119
|
key: 0,
|
|
28867
29120
|
options: _ctx.options.facets,
|
|
28868
29121
|
"facet-style": (_a25 = _ctx.options.facets.style) == null ? void 0 : _a25.type,
|
|
@@ -28873,8 +29126,8 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
28873
29126
|
};
|
|
28874
29127
|
}
|
|
28875
29128
|
});
|
|
28876
|
-
const _hoisted_1$
|
|
28877
|
-
const _sfc_main$
|
|
29129
|
+
const _hoisted_1$H = { id: "lupa-search-results-layout-selection" };
|
|
29130
|
+
const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
28878
29131
|
__name: "SearchResultsLayoutSelection",
|
|
28879
29132
|
setup(__props) {
|
|
28880
29133
|
const searchResultStore = useSearchResultStore();
|
|
@@ -28885,7 +29138,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
28885
29138
|
searchResultStore.setLayout(layout2);
|
|
28886
29139
|
};
|
|
28887
29140
|
return (_ctx, _cache) => {
|
|
28888
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
29141
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
|
|
28889
29142
|
vue.createElementVNode("div", {
|
|
28890
29143
|
class: vue.normalizeClass([
|
|
28891
29144
|
"lupa-layout-selection-grid",
|
|
@@ -28907,64 +29160,38 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
28907
29160
|
};
|
|
28908
29161
|
}
|
|
28909
29162
|
});
|
|
28910
|
-
const _hoisted_1$
|
|
29163
|
+
const _hoisted_1$G = {
|
|
28911
29164
|
key: 0,
|
|
28912
29165
|
class: "lupa-mobile-toggle-filter-count"
|
|
28913
29166
|
};
|
|
28914
|
-
const _sfc_main$
|
|
29167
|
+
const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
28915
29168
|
__name: "SearchResultsMobileToggle",
|
|
28916
|
-
props: {
|
|
28917
|
-
labels: {},
|
|
28918
|
-
showFilterCount: { type: Boolean }
|
|
28919
|
-
},
|
|
28920
29169
|
setup(__props) {
|
|
28921
|
-
const
|
|
28922
|
-
|
|
28923
|
-
|
|
28924
|
-
|
|
28925
|
-
|
|
28926
|
-
|
|
28927
|
-
|
|
28928
|
-
|
|
28929
|
-
return (_c = (_b25 = (_a25 = searchResultOptions.value.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.disableMobileBodyScrollLock) != null ? _c : false;
|
|
28930
|
-
}
|
|
28931
|
-
);
|
|
28932
|
-
const isSidebarVisible = vue.computed(() => isMobileSidebarVisible.value);
|
|
28933
|
-
const defaultLabel = vue.computed(() => props.labels.mobileFilterButton);
|
|
28934
|
-
const activeLabel = vue.computed(() => props.labels.mobileFilterButtonActive);
|
|
28935
|
-
const openLabel = vue.computed(() => props.labels.mobileFilterButtonOpen);
|
|
28936
|
-
const label = vue.computed(() => {
|
|
28937
|
-
if (isSidebarVisible.value && openLabel.value) {
|
|
28938
|
-
return openLabel.value;
|
|
28939
|
-
}
|
|
28940
|
-
if (hasActiveFilters.value && activeLabel.value) {
|
|
28941
|
-
return activeLabel.value;
|
|
28942
|
-
}
|
|
28943
|
-
return defaultLabel.value;
|
|
28944
|
-
});
|
|
28945
|
-
const handleMobileToggle = () => {
|
|
28946
|
-
searchResultStore.setSidebarState({
|
|
28947
|
-
visible: !isSidebarVisible.value,
|
|
28948
|
-
disableBodyScrolling: !disableMobileBodyScrollLock.value
|
|
28949
|
-
});
|
|
28950
|
-
};
|
|
28951
|
-
const hasActiveFilters = vue.computed(() => currentFilterCount.value > 0);
|
|
29170
|
+
const {
|
|
29171
|
+
isSidebarVisible,
|
|
29172
|
+
label,
|
|
29173
|
+
currentFilterCount,
|
|
29174
|
+
hasActiveFilters,
|
|
29175
|
+
showMobileFilterCount,
|
|
29176
|
+
handleFilterSidebarToggle
|
|
29177
|
+
} = useSidebarToggle();
|
|
28952
29178
|
return (_ctx, _cache) => {
|
|
28953
29179
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
28954
29180
|
class: vue.normalizeClass(["lupa-mobile-toggle", {
|
|
28955
29181
|
"lupa-mobile-toggle-filters-empty": vue.unref(currentFilterCount) < 1,
|
|
28956
|
-
"lupa-mobile-toggle-has-filters": hasActiveFilters
|
|
28957
|
-
"lupa-sidebar-open": isSidebarVisible
|
|
29182
|
+
"lupa-mobile-toggle-has-filters": vue.unref(hasActiveFilters),
|
|
29183
|
+
"lupa-sidebar-open": vue.unref(isSidebarVisible)
|
|
28958
29184
|
}]),
|
|
28959
|
-
onClick:
|
|
29185
|
+
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
29186
|
+
(...args) => vue.unref(handleFilterSidebarToggle) && vue.unref(handleFilterSidebarToggle)(...args))
|
|
28960
29187
|
}, [
|
|
28961
|
-
vue.createTextVNode(vue.toDisplayString(label
|
|
28962
|
-
|
|
29188
|
+
vue.createTextVNode(vue.toDisplayString(vue.unref(label)) + " ", 1),
|
|
29189
|
+
vue.unref(showMobileFilterCount) && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$G, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
|
|
28963
29190
|
], 2);
|
|
28964
29191
|
};
|
|
28965
29192
|
}
|
|
28966
29193
|
});
|
|
28967
|
-
const _sfc_main$
|
|
29194
|
+
const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
28968
29195
|
__name: "SearchResultsMobileFilterClose",
|
|
28969
29196
|
props: {
|
|
28970
29197
|
label: {}
|
|
@@ -28984,20 +29211,20 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
28984
29211
|
};
|
|
28985
29212
|
}
|
|
28986
29213
|
});
|
|
28987
|
-
const _hoisted_1$
|
|
29214
|
+
const _hoisted_1$F = {
|
|
28988
29215
|
key: 0,
|
|
28989
29216
|
id: "lupa-search-results-page-select",
|
|
28990
29217
|
"data-cy": "lupa-search-results-page-select"
|
|
28991
29218
|
};
|
|
28992
|
-
const _hoisted_2$
|
|
29219
|
+
const _hoisted_2$w = {
|
|
28993
29220
|
key: 0,
|
|
28994
29221
|
class: "lupa-page-number-separator"
|
|
28995
29222
|
};
|
|
28996
|
-
const _hoisted_3$
|
|
29223
|
+
const _hoisted_3$o = {
|
|
28997
29224
|
key: 0,
|
|
28998
29225
|
class: "lupa-page-number-separator"
|
|
28999
29226
|
};
|
|
29000
|
-
const _sfc_main$
|
|
29227
|
+
const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
29001
29228
|
__name: "SearchResultsPageSelect",
|
|
29002
29229
|
props: {
|
|
29003
29230
|
lastPageLabel: {},
|
|
@@ -29092,7 +29319,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
29092
29319
|
};
|
|
29093
29320
|
return (_ctx, _cache) => {
|
|
29094
29321
|
var _a25;
|
|
29095
|
-
return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
29322
|
+
return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
|
|
29096
29323
|
showBack.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tagName.value), {
|
|
29097
29324
|
key: 0,
|
|
29098
29325
|
class: vue.normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
|
|
@@ -29116,7 +29343,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
29116
29343
|
_: 1,
|
|
29117
29344
|
__: [4]
|
|
29118
29345
|
}, 8, ["href"])),
|
|
29119
|
-
showFirstPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
29346
|
+
showFirstPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, "...")) : vue.createCommentVNode("", true)
|
|
29120
29347
|
], 64)) : vue.createCommentVNode("", true),
|
|
29121
29348
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(pages.value, (page) => {
|
|
29122
29349
|
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tagName.value), {
|
|
@@ -29136,7 +29363,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
29136
29363
|
}, 1032, ["href", "onClick", "class"]);
|
|
29137
29364
|
}), 128)),
|
|
29138
29365
|
showLastPage.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
29139
|
-
showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
29366
|
+
showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$o, "...")) : vue.createCommentVNode("", true),
|
|
29140
29367
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tagName.value), {
|
|
29141
29368
|
href: getHref((_a25 = lastPage.value) != null ? _a25 : 1),
|
|
29142
29369
|
class: "lupa-page-number lupa-page-number-last",
|
|
@@ -29167,18 +29394,18 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
29167
29394
|
};
|
|
29168
29395
|
}
|
|
29169
29396
|
});
|
|
29170
|
-
const _hoisted_1$
|
|
29397
|
+
const _hoisted_1$E = {
|
|
29171
29398
|
id: "lupa-search-results-page-size",
|
|
29172
29399
|
"data-cy": "lupa-search-results-page-size"
|
|
29173
29400
|
};
|
|
29174
|
-
const _hoisted_2$
|
|
29175
|
-
const _hoisted_3$
|
|
29401
|
+
const _hoisted_2$v = { id: "lupa-select" };
|
|
29402
|
+
const _hoisted_3$n = {
|
|
29176
29403
|
class: "lupa-select-label",
|
|
29177
29404
|
for: "lupa-page-size-select-dropdown"
|
|
29178
29405
|
};
|
|
29179
|
-
const _hoisted_4$
|
|
29180
|
-
const _hoisted_5$
|
|
29181
|
-
const _sfc_main$
|
|
29406
|
+
const _hoisted_4$g = ["aria-label"];
|
|
29407
|
+
const _hoisted_5$b = ["value"];
|
|
29408
|
+
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
29182
29409
|
__name: "SearchResultsPageSize",
|
|
29183
29410
|
props: {
|
|
29184
29411
|
labels: {},
|
|
@@ -29208,9 +29435,9 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
29208
29435
|
};
|
|
29209
29436
|
return (_ctx, _cache) => {
|
|
29210
29437
|
var _a25, _b25, _c;
|
|
29211
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
29212
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
29213
|
-
vue.createElementVNode("label", _hoisted_3$
|
|
29438
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
|
|
29439
|
+
vue.createElementVNode("div", _hoisted_2$v, [
|
|
29440
|
+
vue.createElementVNode("label", _hoisted_3$n, vue.toDisplayString(label.value), 1),
|
|
29214
29441
|
vue.createElementVNode("select", {
|
|
29215
29442
|
id: "lupa-page-size-select-dropdown",
|
|
29216
29443
|
class: "lupa-select-dropdown",
|
|
@@ -29224,110 +29451,161 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
29224
29451
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
29225
29452
|
key: option,
|
|
29226
29453
|
value: option
|
|
29227
|
-
}, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$
|
|
29454
|
+
}, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$b);
|
|
29228
29455
|
}), 128))
|
|
29229
|
-
], 40, _hoisted_4$
|
|
29456
|
+
], 40, _hoisted_4$g)
|
|
29230
29457
|
])
|
|
29231
29458
|
]);
|
|
29232
29459
|
};
|
|
29233
29460
|
}
|
|
29234
29461
|
});
|
|
29235
|
-
const
|
|
29462
|
+
const useSorting = () => {
|
|
29463
|
+
const paramStore = useParamsStore();
|
|
29464
|
+
const optionStore = useOptionsStore();
|
|
29465
|
+
const { sort } = storeToRefs(paramStore);
|
|
29466
|
+
const { ariaLabels, searchResultOptions } = storeToRefs(optionStore);
|
|
29467
|
+
const selectedKey = vue.ref("");
|
|
29468
|
+
const previousKey = vue.ref("");
|
|
29469
|
+
const sortStyle = vue.computed(() => {
|
|
29470
|
+
return searchResultOptions.value.sortStyle;
|
|
29471
|
+
});
|
|
29472
|
+
const sortOptions = vue.computed(() => {
|
|
29473
|
+
return searchResultOptions.value.sort;
|
|
29474
|
+
});
|
|
29475
|
+
const callbacks = vue.computed(() => {
|
|
29476
|
+
return searchResultOptions.value.callbacks;
|
|
29477
|
+
});
|
|
29478
|
+
const sotyByTitleLabel = vue.computed(() => {
|
|
29479
|
+
var _a25;
|
|
29480
|
+
return (_a25 = searchResultOptions.value.labels) == null ? void 0 : _a25.sortBy;
|
|
29481
|
+
});
|
|
29482
|
+
const sortItems = vue.computed(() => {
|
|
29483
|
+
if (sortOptions.value && sortOptions.value.length) {
|
|
29484
|
+
return sortOptions.value;
|
|
29485
|
+
} else {
|
|
29486
|
+
return [];
|
|
29487
|
+
}
|
|
29488
|
+
});
|
|
29489
|
+
const defaultSortValue = vue.computed(() => {
|
|
29490
|
+
var _a25, _b25, _c;
|
|
29491
|
+
return (_c = (_a25 = sortOptions.value) == null ? void 0 : _a25.find((x) => x.default)) != null ? _c : (_b25 = sortItems.value) == null ? void 0 : _b25[0];
|
|
29492
|
+
});
|
|
29493
|
+
const setSortValue = () => {
|
|
29494
|
+
var _a25, _b25;
|
|
29495
|
+
const optionToSelect = (_a25 = sortItems.value.find((x) => x.key === sort.value)) == null ? void 0 : _a25.key;
|
|
29496
|
+
selectedKey.value = optionToSelect != null ? optionToSelect : (_b25 = defaultSortValue.value) == null ? void 0 : _b25.key;
|
|
29497
|
+
previousKey.value = selectedKey.value;
|
|
29498
|
+
};
|
|
29499
|
+
vue.watch(sort, () => setSortValue());
|
|
29500
|
+
const handleSelect = () => {
|
|
29501
|
+
var _a25, _b25, _c;
|
|
29502
|
+
const value = (_a25 = sortItems.value.find((x) => x.key === selectedKey.value)) == null ? void 0 : _a25.key;
|
|
29503
|
+
if (!value) {
|
|
29504
|
+
return;
|
|
29505
|
+
}
|
|
29506
|
+
paramStore.setSortSettings({ selectedSortKey: value, previousSortKey: previousKey.value });
|
|
29507
|
+
(_c = (_b25 = callbacks.value) == null ? void 0 : _b25.onSortChange) == null ? void 0 : _c.call(_b25, { selectedSortKey: value, previousSortKey: previousKey.value });
|
|
29508
|
+
paramStore.appendParams({
|
|
29509
|
+
params: [{ name: optionStore.getQueryParamName(QUERY_PARAMS.SORT), value }],
|
|
29510
|
+
paramsToRemove: [optionStore.getQueryParamName(QUERY_PARAMS.PAGE)]
|
|
29511
|
+
});
|
|
29512
|
+
previousKey.value = selectedKey.value;
|
|
29513
|
+
};
|
|
29514
|
+
return {
|
|
29515
|
+
sotyByTitleLabel,
|
|
29516
|
+
sortItems,
|
|
29517
|
+
selectedKey,
|
|
29518
|
+
ariaLabels,
|
|
29519
|
+
sortOptions,
|
|
29520
|
+
sortStyle,
|
|
29521
|
+
handleSelect,
|
|
29522
|
+
setSortValue
|
|
29523
|
+
};
|
|
29524
|
+
};
|
|
29525
|
+
const _hoisted_1$D = {
|
|
29526
|
+
key: 0,
|
|
29236
29527
|
id: "lupa-search-results-sort",
|
|
29237
29528
|
class: "lupa-search-results-sort"
|
|
29238
29529
|
};
|
|
29239
|
-
const _hoisted_2$
|
|
29240
|
-
const _hoisted_3$
|
|
29530
|
+
const _hoisted_2$u = { id: "lupa-select" };
|
|
29531
|
+
const _hoisted_3$m = {
|
|
29241
29532
|
class: "lupa-select-label",
|
|
29242
29533
|
for: "lupa-sort-select-dropdown"
|
|
29243
29534
|
};
|
|
29244
|
-
const _hoisted_4$
|
|
29245
|
-
const _hoisted_5$
|
|
29246
|
-
const _sfc_main$
|
|
29535
|
+
const _hoisted_4$f = ["aria-label"];
|
|
29536
|
+
const _hoisted_5$a = ["value"];
|
|
29537
|
+
const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
29247
29538
|
__name: "SearchResultsSort",
|
|
29248
|
-
props: {
|
|
29249
|
-
options: {},
|
|
29250
|
-
callbacks: {}
|
|
29251
|
-
},
|
|
29252
29539
|
setup(__props) {
|
|
29253
|
-
const
|
|
29254
|
-
|
|
29255
|
-
|
|
29256
|
-
|
|
29257
|
-
|
|
29258
|
-
|
|
29259
|
-
|
|
29260
|
-
|
|
29261
|
-
|
|
29262
|
-
return props.options.options;
|
|
29263
|
-
} else {
|
|
29264
|
-
return [];
|
|
29265
|
-
}
|
|
29266
|
-
});
|
|
29267
|
-
const defaultSortValue = vue.computed(() => {
|
|
29268
|
-
var _a25;
|
|
29269
|
-
return (_a25 = props.options.options.find((x) => x.default)) != null ? _a25 : props.options.options[0];
|
|
29270
|
-
});
|
|
29271
|
-
const setSortValue = () => {
|
|
29272
|
-
var _a25, _b25;
|
|
29273
|
-
const optionToSelect = (_a25 = sortItems.value.find((x) => x.key === sort.value)) == null ? void 0 : _a25.key;
|
|
29274
|
-
selectedKey.value = optionToSelect != null ? optionToSelect : (_b25 = defaultSortValue.value) == null ? void 0 : _b25.key;
|
|
29275
|
-
previousKey.value = selectedKey.value;
|
|
29276
|
-
};
|
|
29277
|
-
vue.watch(sort, () => setSortValue());
|
|
29540
|
+
const {
|
|
29541
|
+
sortItems,
|
|
29542
|
+
selectedKey,
|
|
29543
|
+
ariaLabels,
|
|
29544
|
+
sotyByTitleLabel,
|
|
29545
|
+
sortStyle,
|
|
29546
|
+
handleSelect,
|
|
29547
|
+
setSortValue
|
|
29548
|
+
} = useSorting();
|
|
29278
29549
|
vue.onMounted(() => {
|
|
29279
29550
|
setSortValue();
|
|
29280
29551
|
});
|
|
29281
|
-
const
|
|
29282
|
-
var _a25
|
|
29283
|
-
|
|
29284
|
-
|
|
29285
|
-
return;
|
|
29286
|
-
}
|
|
29287
|
-
paramStore.setSortSettings({ selectedSortKey: value, previousSortKey: previousKey.value });
|
|
29288
|
-
(_c = (_b25 = props.callbacks) == null ? void 0 : _b25.onSortChange) == null ? void 0 : _c.call(_b25, { selectedSortKey: value, previousSortKey: previousKey.value });
|
|
29289
|
-
paramStore.appendParams({
|
|
29290
|
-
params: [{ name: optionStore.getQueryParamName(QUERY_PARAMS.SORT), value }],
|
|
29291
|
-
paramsToRemove: [optionStore.getQueryParamName(QUERY_PARAMS.PAGE)]
|
|
29292
|
-
});
|
|
29293
|
-
previousKey.value = selectedKey.value;
|
|
29294
|
-
};
|
|
29552
|
+
const showDefaultSort = vue.computed(() => {
|
|
29553
|
+
var _a25;
|
|
29554
|
+
return !sortStyle.value || ((_a25 = sortStyle.value) == null ? void 0 : _a25.type) !== "drawer";
|
|
29555
|
+
});
|
|
29295
29556
|
return (_ctx, _cache) => {
|
|
29296
29557
|
var _a25, _b25;
|
|
29297
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
29298
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
29299
|
-
vue.createElementVNode("label", _hoisted_3$
|
|
29558
|
+
return showDefaultSort.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
|
|
29559
|
+
vue.createElementVNode("div", _hoisted_2$u, [
|
|
29560
|
+
vue.createElementVNode("label", _hoisted_3$m, vue.toDisplayString(vue.unref(sotyByTitleLabel)), 1),
|
|
29300
29561
|
vue.withDirectives(vue.createElementVNode("select", {
|
|
29301
29562
|
id: "lupa-sort-select-dropdown",
|
|
29302
29563
|
class: "lupa-select-dropdown",
|
|
29303
|
-
"aria-label": (_b25 = (_a25 = vue.unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 :
|
|
29564
|
+
"aria-label": (_b25 = (_a25 = vue.unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : vue.unref(sotyByTitleLabel),
|
|
29304
29565
|
"data-cy": "lupa-sort-select-dropdown",
|
|
29305
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
|
|
29306
|
-
onChange:
|
|
29566
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(selectedKey) ? selectedKey.value = $event : null),
|
|
29567
|
+
onChange: _cache[1] || (_cache[1] = //@ts-ignore
|
|
29568
|
+
(...args) => vue.unref(handleSelect) && vue.unref(handleSelect)(...args)),
|
|
29307
29569
|
ref: "select"
|
|
29308
29570
|
}, [
|
|
29309
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(sortItems
|
|
29571
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(sortItems), (option) => {
|
|
29310
29572
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
29311
29573
|
key: option.key,
|
|
29312
29574
|
value: option.key
|
|
29313
|
-
}, vue.toDisplayString(option.label), 9, _hoisted_5$
|
|
29575
|
+
}, vue.toDisplayString(option.label), 9, _hoisted_5$a);
|
|
29314
29576
|
}), 128))
|
|
29315
|
-
], 40, _hoisted_4$
|
|
29316
|
-
[vue.vModelSelect, selectedKey
|
|
29577
|
+
], 40, _hoisted_4$f), [
|
|
29578
|
+
[vue.vModelSelect, vue.unref(selectedKey)]
|
|
29317
29579
|
])
|
|
29318
29580
|
])
|
|
29319
|
-
]);
|
|
29581
|
+
])) : vue.createCommentVNode("", true);
|
|
29582
|
+
};
|
|
29583
|
+
}
|
|
29584
|
+
});
|
|
29585
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
29586
|
+
__name: "SearchResultsSortDrawerToggle",
|
|
29587
|
+
setup(__props) {
|
|
29588
|
+
const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
|
|
29589
|
+
return (_ctx, _cache) => {
|
|
29590
|
+
return vue.unref(sortToggleVisible) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
29591
|
+
key: 0,
|
|
29592
|
+
class: vue.normalizeClass(["lupa-mobile-toggle lupa-mobile-sort-toggle", {
|
|
29593
|
+
"lupa-sidebar-open": vue.unref(isSidebarVisible)
|
|
29594
|
+
}]),
|
|
29595
|
+
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
29596
|
+
(...args) => vue.unref(handleSortSidebarToggle) && vue.unref(handleSortSidebarToggle)(...args))
|
|
29597
|
+
}, vue.toDisplayString(vue.unref(sortLabel)), 3)) : vue.createCommentVNode("", true);
|
|
29320
29598
|
};
|
|
29321
29599
|
}
|
|
29322
29600
|
});
|
|
29323
|
-
const _hoisted_1$
|
|
29324
|
-
const _hoisted_2$
|
|
29601
|
+
const _hoisted_1$C = { class: "lupa-toolbar-left" };
|
|
29602
|
+
const _hoisted_2$t = {
|
|
29325
29603
|
key: 0,
|
|
29326
29604
|
class: "lupa-toolbar-right-title"
|
|
29327
29605
|
};
|
|
29328
|
-
const _hoisted_3$
|
|
29329
|
-
const _hoisted_4$
|
|
29330
|
-
const _hoisted_5$
|
|
29606
|
+
const _hoisted_3$l = { key: 2 };
|
|
29607
|
+
const _hoisted_4$e = { key: 4 };
|
|
29608
|
+
const _hoisted_5$9 = { key: 6 };
|
|
29331
29609
|
const _hoisted_6$4 = { class: "lupa-toolbar-right" };
|
|
29332
29610
|
const _hoisted_7$2 = {
|
|
29333
29611
|
key: 0,
|
|
@@ -29335,7 +29613,7 @@ const _hoisted_7$2 = {
|
|
|
29335
29613
|
};
|
|
29336
29614
|
const _hoisted_8 = { key: 2 };
|
|
29337
29615
|
const _hoisted_9 = { key: 4 };
|
|
29338
|
-
const _sfc_main$
|
|
29616
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
29339
29617
|
__name: "SearchResultsToolbar",
|
|
29340
29618
|
props: {
|
|
29341
29619
|
options: {},
|
|
@@ -29351,7 +29629,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
29351
29629
|
const searchResultStore = useSearchResultStore();
|
|
29352
29630
|
const optionsStore = useOptionsStore();
|
|
29353
29631
|
const { page, limit } = storeToRefs(paramStore);
|
|
29354
|
-
const { hasAnyFilter, searchResult,
|
|
29632
|
+
const { hasAnyFilter, searchResult, isFilterSidebarVisible } = storeToRefs(searchResultStore);
|
|
29355
29633
|
const { currentResolutionPageSizes } = storeToRefs(optionsStore);
|
|
29356
29634
|
const isBottomLocation = vue.computed(() => {
|
|
29357
29635
|
return props.paginationLocation === "bottom";
|
|
@@ -29429,7 +29707,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
29429
29707
|
var _a25;
|
|
29430
29708
|
return (_a25 = optionsValue.value.labels.toolbarRightLabel) != null ? _a25 : "";
|
|
29431
29709
|
});
|
|
29432
|
-
|
|
29710
|
+
vue.computed(() => {
|
|
29433
29711
|
var _a25, _b25, _c;
|
|
29434
29712
|
return Boolean((_c = (_b25 = (_a25 = optionsValue.value.filters) == null ? void 0 : _a25.currentFilters) == null ? void 0 : _b25.mobileSidebar) == null ? void 0 : _c.showFilterCount);
|
|
29435
29713
|
});
|
|
@@ -29448,39 +29726,37 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
29448
29726
|
id: "lupa-search-results-toolbar",
|
|
29449
29727
|
class: vue.normalizeClass({ "lupa-filter-no-results": !hasResults.value })
|
|
29450
29728
|
}, [
|
|
29451
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
29452
|
-
toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
29453
|
-
showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
29454
|
-
showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
29729
|
+
vue.createElementVNode("div", _hoisted_1$C, [
|
|
29730
|
+
toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
|
|
29731
|
+
showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$O, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$l)),
|
|
29732
|
+
showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$17, {
|
|
29455
29733
|
key: 3,
|
|
29456
29734
|
label: searchSummaryLabel.value,
|
|
29457
29735
|
clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
|
|
29458
29736
|
onClear: handleClearAll
|
|
29459
|
-
}, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
29460
|
-
displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
29737
|
+
}, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e)),
|
|
29738
|
+
displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, {
|
|
29461
29739
|
key: 5,
|
|
29462
29740
|
options: paginationOptions.value.pageSelect,
|
|
29463
29741
|
"last-page-label": paginationOptions.value.labels.showMore,
|
|
29464
29742
|
"first-page-label": paginationOptions.value.labels.showLess
|
|
29465
|
-
}, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
29743
|
+
}, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$9))
|
|
29466
29744
|
]),
|
|
29467
29745
|
vue.createElementVNode("div", _hoisted_6$4, [
|
|
29468
29746
|
toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
|
|
29469
|
-
vue.createVNode(_sfc_main$
|
|
29470
|
-
|
|
29471
|
-
|
|
29472
|
-
}, null, 8, ["labels", "show-filter-count"]),
|
|
29473
|
-
paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
29747
|
+
vue.createVNode(_sfc_main$N),
|
|
29748
|
+
vue.createVNode(_sfc_main$I),
|
|
29749
|
+
paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
|
|
29474
29750
|
key: 1,
|
|
29475
29751
|
options: paginationOptions.value.pageSize,
|
|
29476
29752
|
labels: paginationOptions.value.labels
|
|
29477
29753
|
}, null, 8, ["options", "labels"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8)),
|
|
29478
|
-
sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
29754
|
+
sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
|
|
29479
29755
|
key: 3,
|
|
29480
29756
|
options: sortOptions.value,
|
|
29481
29757
|
callbacks: callbacks.value
|
|
29482
29758
|
}, null, 8, ["options", "callbacks"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9)),
|
|
29483
|
-
showFiltersCloseButton.value && vue.unref(
|
|
29759
|
+
showFiltersCloseButton.value && vue.unref(isFilterSidebarVisible) ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
|
|
29484
29760
|
key: 5,
|
|
29485
29761
|
label: optionsValue.value.labels.mobileFilterCloseButton
|
|
29486
29762
|
}, null, 8, ["label"])) : vue.createCommentVNode("", true)
|
|
@@ -29489,7 +29765,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
29489
29765
|
};
|
|
29490
29766
|
}
|
|
29491
29767
|
});
|
|
29492
|
-
const _sfc_main$
|
|
29768
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
29493
29769
|
__name: "SearchResultsProductImage",
|
|
29494
29770
|
props: {
|
|
29495
29771
|
item: {},
|
|
@@ -29497,7 +29773,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
29497
29773
|
},
|
|
29498
29774
|
setup(__props) {
|
|
29499
29775
|
return (_ctx, _cache) => {
|
|
29500
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
29776
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1w, {
|
|
29501
29777
|
item: _ctx.item,
|
|
29502
29778
|
options: _ctx.options,
|
|
29503
29779
|
"wrapper-class": "lupa-search-results-image-wrapper",
|
|
@@ -29506,16 +29782,16 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
29506
29782
|
};
|
|
29507
29783
|
}
|
|
29508
29784
|
});
|
|
29509
|
-
const _hoisted_1$
|
|
29510
|
-
const _hoisted_2$
|
|
29511
|
-
const _hoisted_3$
|
|
29512
|
-
const _hoisted_4$
|
|
29513
|
-
const _hoisted_5$
|
|
29785
|
+
const _hoisted_1$B = ["title", "innerHTML"];
|
|
29786
|
+
const _hoisted_2$s = ["title"];
|
|
29787
|
+
const _hoisted_3$k = ["href", "innerHTML"];
|
|
29788
|
+
const _hoisted_4$d = ["title"];
|
|
29789
|
+
const _hoisted_5$8 = {
|
|
29514
29790
|
key: 0,
|
|
29515
29791
|
class: "lupa-search-results-product-title-text"
|
|
29516
29792
|
};
|
|
29517
29793
|
const _hoisted_6$3 = ["href"];
|
|
29518
|
-
const _sfc_main$
|
|
29794
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
29519
29795
|
__name: "SearchResultsProductTitle",
|
|
29520
29796
|
props: {
|
|
29521
29797
|
item: {},
|
|
@@ -29552,7 +29828,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
29552
29828
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
29553
29829
|
title: sanitizedTitle.value,
|
|
29554
29830
|
innerHTML: sanitizedTitle.value
|
|
29555
|
-
}, null, 12, _hoisted_1$
|
|
29831
|
+
}, null, 12, _hoisted_1$B)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
29556
29832
|
key: 1,
|
|
29557
29833
|
class: "lupa-search-results-product-title",
|
|
29558
29834
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
@@ -29563,26 +29839,26 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
29563
29839
|
class: "lupa-search-results-product-title-text lupa-title-link",
|
|
29564
29840
|
innerHTML: sanitizedTitle.value,
|
|
29565
29841
|
onClick: handleNavigation
|
|
29566
|
-
}, null, 8, _hoisted_3$
|
|
29567
|
-
], 12, _hoisted_2$
|
|
29842
|
+
}, null, 8, _hoisted_3$k)
|
|
29843
|
+
], 12, _hoisted_2$s)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
29568
29844
|
key: 2,
|
|
29569
29845
|
class: "lupa-search-results-product-title",
|
|
29570
29846
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
29571
29847
|
title: title.value
|
|
29572
29848
|
}, [
|
|
29573
|
-
!_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
29849
|
+
!_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$8, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
|
|
29574
29850
|
_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
29575
29851
|
key: 1,
|
|
29576
29852
|
href: _ctx.link,
|
|
29577
29853
|
class: "lupa-search-results-product-title-text lupa-title-link",
|
|
29578
29854
|
onClick: handleNavigation
|
|
29579
29855
|
}, vue.toDisplayString(title.value), 9, _hoisted_6$3)) : vue.createCommentVNode("", true)
|
|
29580
|
-
], 12, _hoisted_4$
|
|
29856
|
+
], 12, _hoisted_4$d));
|
|
29581
29857
|
};
|
|
29582
29858
|
}
|
|
29583
29859
|
});
|
|
29584
|
-
const _hoisted_1$
|
|
29585
|
-
const _sfc_main$
|
|
29860
|
+
const _hoisted_1$A = ["innerHTML"];
|
|
29861
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
29586
29862
|
__name: "SearchResultsProductDescription",
|
|
29587
29863
|
props: {
|
|
29588
29864
|
item: {},
|
|
@@ -29609,7 +29885,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
29609
29885
|
class: "lupa-search-results-product-description",
|
|
29610
29886
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
29611
29887
|
innerHTML: sanitizedDescription.value
|
|
29612
|
-
}, null, 12, _hoisted_1$
|
|
29888
|
+
}, null, 12, _hoisted_1$A)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
29613
29889
|
key: 1,
|
|
29614
29890
|
class: "lupa-search-results-product-description",
|
|
29615
29891
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
|
|
@@ -29617,15 +29893,15 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
29617
29893
|
};
|
|
29618
29894
|
}
|
|
29619
29895
|
});
|
|
29620
|
-
const _hoisted_1$
|
|
29621
|
-
const _hoisted_2$
|
|
29622
|
-
const _hoisted_3$
|
|
29623
|
-
const _hoisted_4$
|
|
29624
|
-
const _hoisted_5$
|
|
29896
|
+
const _hoisted_1$z = { id: "lupa-search-results-rating" };
|
|
29897
|
+
const _hoisted_2$r = { class: "lupa-ratings" };
|
|
29898
|
+
const _hoisted_3$j = { class: "lupa-ratings-base" };
|
|
29899
|
+
const _hoisted_4$c = ["innerHTML"];
|
|
29900
|
+
const _hoisted_5$7 = { class: "lupa-rating-wrapper" };
|
|
29625
29901
|
const _hoisted_6$2 = ["innerHTML"];
|
|
29626
29902
|
const _hoisted_7$1 = ["href"];
|
|
29627
29903
|
const STAR_COUNT = 5;
|
|
29628
|
-
const _sfc_main$
|
|
29904
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
29629
29905
|
__name: "SearchResultsProductRating",
|
|
29630
29906
|
props: {
|
|
29631
29907
|
item: {},
|
|
@@ -29662,18 +29938,18 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
29662
29938
|
return generateLink(props.options.links.ratingDetails, props.item);
|
|
29663
29939
|
});
|
|
29664
29940
|
return (_ctx, _cache) => {
|
|
29665
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
29666
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
29667
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
29941
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
|
|
29942
|
+
vue.createElementVNode("div", _hoisted_2$r, [
|
|
29943
|
+
vue.createElementVNode("div", _hoisted_3$j, [
|
|
29668
29944
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(baseStars.value, (star, index) => {
|
|
29669
29945
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
29670
29946
|
key: index,
|
|
29671
29947
|
innerHTML: star,
|
|
29672
29948
|
class: "lupa-rating lupa-rating-not-highlighted"
|
|
29673
|
-
}, null, 8, _hoisted_4$
|
|
29949
|
+
}, null, 8, _hoisted_4$c);
|
|
29674
29950
|
}), 128))
|
|
29675
29951
|
]),
|
|
29676
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
29952
|
+
vue.createElementVNode("div", _hoisted_5$7, [
|
|
29677
29953
|
vue.createElementVNode("div", {
|
|
29678
29954
|
class: "lupa-ratings-highlighted",
|
|
29679
29955
|
style: vue.normalizeStyle({ width: ratingPercentage.value + "%" })
|
|
@@ -29696,11 +29972,11 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
29696
29972
|
};
|
|
29697
29973
|
}
|
|
29698
29974
|
});
|
|
29699
|
-
const _hoisted_1$
|
|
29975
|
+
const _hoisted_1$y = {
|
|
29700
29976
|
class: "lupa-search-results-product-regular-price",
|
|
29701
29977
|
"data-cy": "lupa-search-results-product-regular-price"
|
|
29702
29978
|
};
|
|
29703
|
-
const _sfc_main$
|
|
29979
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
29704
29980
|
__name: "SearchResultsProductRegularPrice",
|
|
29705
29981
|
props: {
|
|
29706
29982
|
item: {},
|
|
@@ -29722,11 +29998,11 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
29722
29998
|
);
|
|
29723
29999
|
});
|
|
29724
30000
|
return (_ctx, _cache) => {
|
|
29725
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30001
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, vue.toDisplayString(price.value), 1);
|
|
29726
30002
|
};
|
|
29727
30003
|
}
|
|
29728
30004
|
});
|
|
29729
|
-
const _sfc_main$
|
|
30005
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
29730
30006
|
__name: "SearchResultsProductPrice",
|
|
29731
30007
|
props: {
|
|
29732
30008
|
item: {},
|
|
@@ -29760,12 +30036,12 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
29760
30036
|
};
|
|
29761
30037
|
}
|
|
29762
30038
|
});
|
|
29763
|
-
const _hoisted_1$
|
|
29764
|
-
const _hoisted_2$
|
|
29765
|
-
const _hoisted_3$
|
|
29766
|
-
const _hoisted_4$
|
|
29767
|
-
const _hoisted_5$
|
|
29768
|
-
const _sfc_main$
|
|
30039
|
+
const _hoisted_1$x = { class: "lupa-search-results-add-to-cart-wrapper" };
|
|
30040
|
+
const _hoisted_2$q = { class: "lupa-search-results-product-addtocart" };
|
|
30041
|
+
const _hoisted_3$i = ["disabled"];
|
|
30042
|
+
const _hoisted_4$b = ["href"];
|
|
30043
|
+
const _hoisted_5$6 = ["id", "disabled"];
|
|
30044
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
29769
30045
|
__name: "SearchResultsProductAddToCart",
|
|
29770
30046
|
props: {
|
|
29771
30047
|
item: {},
|
|
@@ -29824,16 +30100,16 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
29824
30100
|
loading.value = false;
|
|
29825
30101
|
});
|
|
29826
30102
|
return (_ctx, _cache) => {
|
|
29827
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
29828
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
30103
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
|
|
30104
|
+
vue.createElementVNode("div", _hoisted_2$q, [
|
|
29829
30105
|
hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
|
|
29830
30106
|
key: 0,
|
|
29831
30107
|
class: addToCartButtonClass.value,
|
|
29832
30108
|
"data-cy": "lupa-add-to-cart",
|
|
29833
30109
|
disabled: !inStockValue.value || loading.value
|
|
29834
30110
|
}, _ctx.dynamicAttributes, { onClick: handleClick }), [
|
|
29835
|
-
vue.createElementVNode("a", { href: _ctx.link }, vue.toDisplayString(label.value), 9, _hoisted_4$
|
|
29836
|
-
], 16, _hoisted_3$
|
|
30111
|
+
vue.createElementVNode("a", { href: _ctx.link }, vue.toDisplayString(label.value), 9, _hoisted_4$b)
|
|
30112
|
+
], 16, _hoisted_3$i)) : (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
|
|
29837
30113
|
key: 1,
|
|
29838
30114
|
id: id.value,
|
|
29839
30115
|
class: addToCartButtonClass.value,
|
|
@@ -29841,18 +30117,18 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
29841
30117
|
disabled: !inStockValue.value || loading.value
|
|
29842
30118
|
}, _ctx.dynamicAttributes, {
|
|
29843
30119
|
onClick: vue.withModifiers(handleClick, ["stop"])
|
|
29844
|
-
}), vue.toDisplayString(label.value), 17, _hoisted_5$
|
|
30120
|
+
}), vue.toDisplayString(label.value), 17, _hoisted_5$6))
|
|
29845
30121
|
])
|
|
29846
30122
|
]);
|
|
29847
30123
|
};
|
|
29848
30124
|
}
|
|
29849
30125
|
});
|
|
29850
|
-
const _hoisted_1$
|
|
29851
|
-
const _hoisted_2$
|
|
29852
|
-
const _hoisted_3$
|
|
29853
|
-
const _hoisted_4$
|
|
29854
|
-
const _hoisted_5$
|
|
29855
|
-
const _sfc_main$
|
|
30126
|
+
const _hoisted_1$w = ["innerHTML"];
|
|
30127
|
+
const _hoisted_2$p = { key: 0 };
|
|
30128
|
+
const _hoisted_3$h = { key: 1 };
|
|
30129
|
+
const _hoisted_4$a = { class: "lupa-search-box-custom-label" };
|
|
30130
|
+
const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
|
|
30131
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
29856
30132
|
__name: "SearchResultsProductCustom",
|
|
29857
30133
|
props: {
|
|
29858
30134
|
item: {},
|
|
@@ -29894,20 +30170,20 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
29894
30170
|
key: 0,
|
|
29895
30171
|
class: className.value,
|
|
29896
30172
|
innerHTML: text.value
|
|
29897
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
30173
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$w)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
29898
30174
|
key: 1,
|
|
29899
30175
|
class: className.value
|
|
29900
30176
|
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
|
|
29901
|
-
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
29902
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
29903
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
30177
|
+
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$h, [
|
|
30178
|
+
vue.createElementVNode("div", _hoisted_4$a, vue.toDisplayString(label.value), 1),
|
|
30179
|
+
vue.createElementVNode("div", _hoisted_5$5, vue.toDisplayString(text.value), 1)
|
|
29904
30180
|
]))
|
|
29905
30181
|
], 16));
|
|
29906
30182
|
};
|
|
29907
30183
|
}
|
|
29908
30184
|
});
|
|
29909
|
-
const _hoisted_1$
|
|
29910
|
-
const _sfc_main$
|
|
30185
|
+
const _hoisted_1$v = ["innerHTML"];
|
|
30186
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
29911
30187
|
__name: "SearchResultsProductCustomHtmlElement",
|
|
29912
30188
|
props: {
|
|
29913
30189
|
item: {},
|
|
@@ -29943,15 +30219,15 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
29943
30219
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
29944
30220
|
class: className.value,
|
|
29945
30221
|
innerHTML: text.value
|
|
29946
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
30222
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$v);
|
|
29947
30223
|
};
|
|
29948
30224
|
}
|
|
29949
30225
|
});
|
|
29950
|
-
const _hoisted_1$
|
|
29951
|
-
const _hoisted_2$
|
|
29952
|
-
const _hoisted_3$
|
|
29953
|
-
const _hoisted_4$
|
|
29954
|
-
const _sfc_main$
|
|
30226
|
+
const _hoisted_1$u = { id: "lupa-search-results-rating" };
|
|
30227
|
+
const _hoisted_2$o = ["innerHTML"];
|
|
30228
|
+
const _hoisted_3$g = { class: "lupa-ratings" };
|
|
30229
|
+
const _hoisted_4$9 = ["href"];
|
|
30230
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
29955
30231
|
__name: "SearchResultsProductSingleStarRating",
|
|
29956
30232
|
props: {
|
|
29957
30233
|
item: {},
|
|
@@ -29979,35 +30255,35 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
29979
30255
|
return RATING_STAR_HTML;
|
|
29980
30256
|
});
|
|
29981
30257
|
return (_ctx, _cache) => {
|
|
29982
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30258
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
|
|
29983
30259
|
vue.createElementVNode("div", {
|
|
29984
30260
|
innerHTML: star.value,
|
|
29985
30261
|
class: "lupa-rating lupa-rating-highlighted"
|
|
29986
|
-
}, null, 8, _hoisted_2$
|
|
29987
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
30262
|
+
}, null, 8, _hoisted_2$o),
|
|
30263
|
+
vue.createElementVNode("div", _hoisted_3$g, vue.toDisplayString(rating.value), 1),
|
|
29988
30264
|
vue.createElementVNode("a", {
|
|
29989
30265
|
href: ratingLink.value,
|
|
29990
30266
|
class: "lupa-total-ratings"
|
|
29991
|
-
}, vue.toDisplayString(totalRatings.value), 9, _hoisted_4$
|
|
30267
|
+
}, vue.toDisplayString(totalRatings.value), 9, _hoisted_4$9)
|
|
29992
30268
|
]);
|
|
29993
30269
|
};
|
|
29994
30270
|
}
|
|
29995
30271
|
});
|
|
29996
30272
|
const __default__ = {
|
|
29997
30273
|
components: {
|
|
29998
|
-
SearchResultsProductImage: _sfc_main$
|
|
29999
|
-
SearchResultsProductTitle: _sfc_main$
|
|
30000
|
-
SearchResultsProductDescription: _sfc_main$
|
|
30001
|
-
SearchResultsProductRating: _sfc_main$
|
|
30002
|
-
SearchResultsProductRegularPrice: _sfc_main$
|
|
30003
|
-
SearchResultsProductPrice: _sfc_main$
|
|
30004
|
-
SearchResultsProductAddToCart: _sfc_main$
|
|
30005
|
-
SearchResultsProductCustom: _sfc_main$
|
|
30006
|
-
SearchResultsProductCustomHtmlElement: _sfc_main$
|
|
30007
|
-
SearchResultsProductSingleStarRating: _sfc_main$
|
|
30008
|
-
}
|
|
30009
|
-
};
|
|
30010
|
-
const _sfc_main$
|
|
30274
|
+
SearchResultsProductImage: _sfc_main$G,
|
|
30275
|
+
SearchResultsProductTitle: _sfc_main$F,
|
|
30276
|
+
SearchResultsProductDescription: _sfc_main$E,
|
|
30277
|
+
SearchResultsProductRating: _sfc_main$D,
|
|
30278
|
+
SearchResultsProductRegularPrice: _sfc_main$C,
|
|
30279
|
+
SearchResultsProductPrice: _sfc_main$B,
|
|
30280
|
+
SearchResultsProductAddToCart: _sfc_main$A,
|
|
30281
|
+
SearchResultsProductCustom: _sfc_main$z,
|
|
30282
|
+
SearchResultsProductCustomHtmlElement: _sfc_main$y,
|
|
30283
|
+
SearchResultsProductSingleStarRating: _sfc_main$x
|
|
30284
|
+
}
|
|
30285
|
+
};
|
|
30286
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
|
|
30011
30287
|
__name: "SearchResultsProductCardElement",
|
|
30012
30288
|
props: {
|
|
30013
30289
|
item: {},
|
|
@@ -30085,13 +30361,13 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
30085
30361
|
};
|
|
30086
30362
|
}
|
|
30087
30363
|
}));
|
|
30088
|
-
const _hoisted_1$
|
|
30089
|
-
const _hoisted_2$
|
|
30364
|
+
const _hoisted_1$t = ["href"];
|
|
30365
|
+
const _hoisted_2$n = {
|
|
30090
30366
|
key: 0,
|
|
30091
30367
|
class: "lupa-out-of-stock"
|
|
30092
30368
|
};
|
|
30093
|
-
const _hoisted_3$
|
|
30094
|
-
const _sfc_main$
|
|
30369
|
+
const _hoisted_3$f = { class: "lupa-search-result-product-details-section" };
|
|
30370
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
30095
30371
|
__name: "SearchResultsProductCard",
|
|
30096
30372
|
props: {
|
|
30097
30373
|
product: {},
|
|
@@ -30267,7 +30543,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
30267
30543
|
default: vue.withCtx(() => {
|
|
30268
30544
|
var _a25;
|
|
30269
30545
|
return [
|
|
30270
|
-
vue.createVNode(_sfc_main$
|
|
30546
|
+
vue.createVNode(_sfc_main$1g, { options: badgesOptions.value }, null, 8, ["options"]),
|
|
30271
30547
|
vue.createElementVNode("div", {
|
|
30272
30548
|
class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
|
|
30273
30549
|
}, [
|
|
@@ -30277,7 +30553,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
30277
30553
|
onClick: handleNavigation
|
|
30278
30554
|
}, [
|
|
30279
30555
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
|
|
30280
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
30556
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
30281
30557
|
class: "lupa-search-results-product-element",
|
|
30282
30558
|
item: _ctx.product,
|
|
30283
30559
|
element,
|
|
@@ -30288,16 +30564,16 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
30288
30564
|
onProductEvent: handleProductEvent
|
|
30289
30565
|
}, null, 8, ["item", "element", "labels", "inStock", "link"]);
|
|
30290
30566
|
}), 128)),
|
|
30291
|
-
vue.createVNode(_sfc_main$
|
|
30567
|
+
vue.createVNode(_sfc_main$1g, {
|
|
30292
30568
|
options: badgesOptions.value,
|
|
30293
30569
|
position: "image",
|
|
30294
30570
|
class: "lupa-image-badges"
|
|
30295
30571
|
}, null, 8, ["options"]),
|
|
30296
|
-
((_a25 = labels.value) == null ? void 0 : _a25.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
30297
|
-
], 8, _hoisted_1$
|
|
30298
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
30572
|
+
((_a25 = labels.value) == null ? void 0 : _a25.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$n, vue.toDisplayString(labels.value.outOfStock), 1)) : vue.createCommentVNode("", true)
|
|
30573
|
+
], 8, _hoisted_1$t),
|
|
30574
|
+
vue.createElementVNode("div", _hoisted_3$f, [
|
|
30299
30575
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
|
|
30300
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
30576
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
30301
30577
|
class: "lupa-search-results-product-element",
|
|
30302
30578
|
item: _ctx.product,
|
|
30303
30579
|
element,
|
|
@@ -30315,7 +30591,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
30315
30591
|
class: vue.normalizeClass("lupa-element-group-" + group)
|
|
30316
30592
|
}, [
|
|
30317
30593
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
|
|
30318
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
30594
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$w, {
|
|
30319
30595
|
class: "lupa-search-results-product-element",
|
|
30320
30596
|
item: _ctx.product,
|
|
30321
30597
|
element,
|
|
@@ -30336,23 +30612,23 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
30336
30612
|
};
|
|
30337
30613
|
}
|
|
30338
30614
|
});
|
|
30339
|
-
const _hoisted_1$
|
|
30615
|
+
const _hoisted_1$s = {
|
|
30340
30616
|
id: "lupa-search-results-similar-queries",
|
|
30341
30617
|
"data-cy": "lupa-search-results-similar-queries"
|
|
30342
30618
|
};
|
|
30343
|
-
const _hoisted_2$
|
|
30344
|
-
const _hoisted_3$
|
|
30619
|
+
const _hoisted_2$m = { class: "lupa-similar-queries-label" };
|
|
30620
|
+
const _hoisted_3$e = {
|
|
30345
30621
|
class: "lupa-similar-query-label",
|
|
30346
30622
|
"data-cy": "lupa-similar-query-label"
|
|
30347
30623
|
};
|
|
30348
|
-
const _hoisted_4$
|
|
30349
|
-
const _hoisted_5$
|
|
30624
|
+
const _hoisted_4$8 = ["onClick"];
|
|
30625
|
+
const _hoisted_5$4 = ["innerHTML"];
|
|
30350
30626
|
const _hoisted_6$1 = { key: 0 };
|
|
30351
30627
|
const _hoisted_7 = {
|
|
30352
30628
|
class: "lupa-products",
|
|
30353
30629
|
"data-cy": "lupa-products"
|
|
30354
30630
|
};
|
|
30355
|
-
const _sfc_main$
|
|
30631
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
30356
30632
|
__name: "SearchResultsSimilarQueries",
|
|
30357
30633
|
props: {
|
|
30358
30634
|
labels: {},
|
|
@@ -30390,11 +30666,11 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
30390
30666
|
};
|
|
30391
30667
|
};
|
|
30392
30668
|
return (_ctx, _cache) => {
|
|
30393
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30394
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
30669
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
|
|
30670
|
+
vue.createElementVNode("div", _hoisted_2$m, vue.toDisplayString(_ctx.labels.similarQueries), 1),
|
|
30395
30671
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQueries.value, (similarQuery, index) => {
|
|
30396
30672
|
return vue.openBlock(), vue.createElementBlock("div", { key: index }, [
|
|
30397
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
30673
|
+
vue.createElementVNode("div", _hoisted_3$e, [
|
|
30398
30674
|
vue.createElementVNode("span", null, vue.toDisplayString(similarQueryLabel.value), 1),
|
|
30399
30675
|
vue.createElementVNode("span", {
|
|
30400
30676
|
id: "lupa-similar-query-text-component",
|
|
@@ -30404,13 +30680,13 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
30404
30680
|
}, [
|
|
30405
30681
|
vue.createElementVNode("span", {
|
|
30406
30682
|
innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
|
|
30407
|
-
}, null, 8, _hoisted_5$
|
|
30683
|
+
}, null, 8, _hoisted_5$4),
|
|
30408
30684
|
similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$1, " (" + vue.toDisplayString(similarQuery.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
30409
|
-
], 8, _hoisted_4$
|
|
30685
|
+
], 8, _hoisted_4$8)
|
|
30410
30686
|
]),
|
|
30411
30687
|
vue.createElementVNode("div", _hoisted_7, [
|
|
30412
30688
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQuery.items, (product, index2) => {
|
|
30413
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
30689
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
30414
30690
|
style: vue.normalizeStyle(_ctx.columnSize),
|
|
30415
30691
|
key: getDocumentKey(index2, product),
|
|
30416
30692
|
product,
|
|
@@ -30425,15 +30701,15 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
30425
30701
|
};
|
|
30426
30702
|
}
|
|
30427
30703
|
});
|
|
30428
|
-
const _hoisted_1$
|
|
30704
|
+
const _hoisted_1$r = {
|
|
30429
30705
|
key: 0,
|
|
30430
30706
|
class: "lupa-results-additional-panel"
|
|
30431
30707
|
};
|
|
30432
|
-
const _hoisted_2$
|
|
30708
|
+
const _hoisted_2$l = {
|
|
30433
30709
|
class: "lupa-results-additional-panel-items",
|
|
30434
30710
|
"data-cy": "lupa-results-additional-panel-items"
|
|
30435
30711
|
};
|
|
30436
|
-
const _sfc_main$
|
|
30712
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
30437
30713
|
__name: "AdditionalPanel",
|
|
30438
30714
|
props: {
|
|
30439
30715
|
panel: {},
|
|
@@ -30506,10 +30782,10 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
30506
30782
|
handleQueryChange();
|
|
30507
30783
|
});
|
|
30508
30784
|
return (_ctx, _cache) => {
|
|
30509
|
-
return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30510
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
30785
|
+
return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
|
|
30786
|
+
vue.createElementVNode("div", _hoisted_2$l, [
|
|
30511
30787
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index) => {
|
|
30512
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
30788
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
30513
30789
|
key: index,
|
|
30514
30790
|
product: item,
|
|
30515
30791
|
options: _ctx.panel,
|
|
@@ -30527,11 +30803,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
30527
30803
|
};
|
|
30528
30804
|
}
|
|
30529
30805
|
});
|
|
30530
|
-
const _hoisted_1$
|
|
30806
|
+
const _hoisted_1$q = {
|
|
30531
30807
|
key: 0,
|
|
30532
30808
|
class: "lupa-results-additional-panels"
|
|
30533
30809
|
};
|
|
30534
|
-
const _sfc_main$
|
|
30810
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
30535
30811
|
__name: "AdditionalPanels",
|
|
30536
30812
|
props: {
|
|
30537
30813
|
options: {},
|
|
@@ -30548,9 +30824,9 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
30548
30824
|
return locationPanels.value.length > 0;
|
|
30549
30825
|
});
|
|
30550
30826
|
return (_ctx, _cache) => {
|
|
30551
|
-
return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30827
|
+
return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
|
|
30552
30828
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(locationPanels.value, (panel) => {
|
|
30553
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
30829
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
30554
30830
|
key: panel.queryKey,
|
|
30555
30831
|
panel,
|
|
30556
30832
|
options: _ctx.sdkOptions
|
|
@@ -30567,29 +30843,29 @@ const _export_sfc = (sfc, props) => {
|
|
|
30567
30843
|
}
|
|
30568
30844
|
return target2;
|
|
30569
30845
|
};
|
|
30570
|
-
const _sfc_main$
|
|
30571
|
-
const _hoisted_1$
|
|
30572
|
-
const _hoisted_2$
|
|
30846
|
+
const _sfc_main$r = {};
|
|
30847
|
+
const _hoisted_1$p = { class: "lupa-spinner-wrapper" };
|
|
30848
|
+
const _hoisted_2$k = { class: "lupa-spinner" };
|
|
30573
30849
|
function _sfc_render(_ctx, _cache) {
|
|
30574
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30575
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
30850
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
|
|
30851
|
+
vue.createElementVNode("div", _hoisted_2$k, [
|
|
30576
30852
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(12, (x) => {
|
|
30577
30853
|
return vue.createElementVNode("div", { key: x });
|
|
30578
30854
|
}), 64))
|
|
30579
30855
|
])
|
|
30580
30856
|
]);
|
|
30581
30857
|
}
|
|
30582
|
-
const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
30583
|
-
const _hoisted_1$
|
|
30858
|
+
const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render]]);
|
|
30859
|
+
const _hoisted_1$o = {
|
|
30584
30860
|
id: "lupa-search-results-similar-results",
|
|
30585
30861
|
"data-cy": "lupa-search-results-similar-results"
|
|
30586
30862
|
};
|
|
30587
|
-
const _hoisted_2$
|
|
30588
|
-
const _hoisted_3$
|
|
30863
|
+
const _hoisted_2$j = { class: "lupa-similar-results-label" };
|
|
30864
|
+
const _hoisted_3$d = {
|
|
30589
30865
|
class: "lupa-products",
|
|
30590
30866
|
"data-cy": "lupa-products"
|
|
30591
30867
|
};
|
|
30592
|
-
const _sfc_main$
|
|
30868
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
30593
30869
|
__name: "SearchResultsSimilarResults",
|
|
30594
30870
|
props: {
|
|
30595
30871
|
columnSize: {},
|
|
@@ -30610,11 +30886,11 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
30610
30886
|
};
|
|
30611
30887
|
});
|
|
30612
30888
|
return (_ctx, _cache) => {
|
|
30613
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30614
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
30615
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
30889
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
|
|
30890
|
+
vue.createElementVNode("div", _hoisted_2$j, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
|
|
30891
|
+
vue.createElementVNode("div", _hoisted_3$d, [
|
|
30616
30892
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarResults.value.items, (product, index) => {
|
|
30617
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
30893
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
30618
30894
|
style: vue.normalizeStyle(_ctx.columnSize),
|
|
30619
30895
|
key: getDocumentKey(index, product),
|
|
30620
30896
|
product,
|
|
@@ -30735,15 +31011,15 @@ const extractRelatedSource = (source, searchResults, options, activeFilters) =>
|
|
|
30735
31011
|
return extractFacetsRelatedSource(source, searchResults, options, activeFilters);
|
|
30736
31012
|
}
|
|
30737
31013
|
});
|
|
30738
|
-
const _hoisted_1$
|
|
30739
|
-
const _hoisted_2$
|
|
30740
|
-
const _hoisted_3$
|
|
30741
|
-
const _hoisted_4$
|
|
30742
|
-
const _hoisted_5$
|
|
31014
|
+
const _hoisted_1$n = { class: "lupa-related-query-item" };
|
|
31015
|
+
const _hoisted_2$i = { class: "lupa-related-query-image" };
|
|
31016
|
+
const _hoisted_3$c = { class: "lupa-related-query-label" };
|
|
31017
|
+
const _hoisted_4$7 = { class: "lupa-related-query-title" };
|
|
31018
|
+
const _hoisted_5$3 = {
|
|
30743
31019
|
key: 0,
|
|
30744
31020
|
class: "lupa-related-query-count"
|
|
30745
31021
|
};
|
|
30746
|
-
const _sfc_main$
|
|
31022
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
30747
31023
|
__name: "RelatedQueryPanel",
|
|
30748
31024
|
props: {
|
|
30749
31025
|
query: {},
|
|
@@ -30839,9 +31115,9 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
30839
31115
|
});
|
|
30840
31116
|
return (_ctx, _cache) => {
|
|
30841
31117
|
var _a25;
|
|
30842
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30843
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
30844
|
-
itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31118
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
|
|
31119
|
+
vue.createElementVNode("div", _hoisted_2$i, [
|
|
31120
|
+
itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1w, {
|
|
30845
31121
|
key: 0,
|
|
30846
31122
|
"wrapper-class": "lupa-related-query-image-wrapper",
|
|
30847
31123
|
"image-class": "lupa-related-query-image",
|
|
@@ -30849,24 +31125,24 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
30849
31125
|
options: image.value
|
|
30850
31126
|
}, null, 8, ["item", "options"])) : vue.createCommentVNode("", true)
|
|
30851
31127
|
]),
|
|
30852
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
30853
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
30854
|
-
((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
31128
|
+
vue.createElementVNode("div", _hoisted_3$c, [
|
|
31129
|
+
vue.createElementVNode("span", _hoisted_4$7, vue.toDisplayString(_ctx.query), 1),
|
|
31130
|
+
((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$3, "(" + vue.toDisplayString(totalItemCount.value) + ")", 1)) : vue.createCommentVNode("", true)
|
|
30855
31131
|
])
|
|
30856
31132
|
]);
|
|
30857
31133
|
};
|
|
30858
31134
|
}
|
|
30859
31135
|
});
|
|
30860
|
-
const _hoisted_1$
|
|
31136
|
+
const _hoisted_1$m = {
|
|
30861
31137
|
key: 0,
|
|
30862
31138
|
class: "lupa-related-queries"
|
|
30863
31139
|
};
|
|
30864
|
-
const _hoisted_2$
|
|
31140
|
+
const _hoisted_2$h = {
|
|
30865
31141
|
key: 0,
|
|
30866
31142
|
class: "lupa-related-queries-title"
|
|
30867
31143
|
};
|
|
30868
|
-
const _hoisted_3$
|
|
30869
|
-
const _sfc_main$
|
|
31144
|
+
const _hoisted_3$b = ["onClick"];
|
|
31145
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
30870
31146
|
__name: "RelatedQueries",
|
|
30871
31147
|
props: {
|
|
30872
31148
|
options: {}
|
|
@@ -30960,8 +31236,8 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
30960
31236
|
};
|
|
30961
31237
|
return (_ctx, _cache) => {
|
|
30962
31238
|
var _a25, _b25, _c, _d;
|
|
30963
|
-
return _ctx.options && hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
30964
|
-
((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$
|
|
31239
|
+
return _ctx.options && hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
|
|
31240
|
+
((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$h, vue.toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
|
|
30965
31241
|
vue.createElementVNode("ul", null, [
|
|
30966
31242
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries2.value, (query) => {
|
|
30967
31243
|
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", {
|
|
@@ -30971,14 +31247,14 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
30971
31247
|
vue.createElementVNode("a", {
|
|
30972
31248
|
onClick: ($event) => handleRelatedQueryClick(query)
|
|
30973
31249
|
}, [
|
|
30974
|
-
vue.createVNode(_sfc_main$
|
|
31250
|
+
vue.createVNode(_sfc_main$p, {
|
|
30975
31251
|
"source-key": query.key,
|
|
30976
31252
|
options: _ctx.options,
|
|
30977
31253
|
query: query.value,
|
|
30978
31254
|
"existing-items-from-other-queries": allDisplayItems.value,
|
|
30979
31255
|
onLoaded: (item) => processLoadedItem(query, item)
|
|
30980
31256
|
}, null, 8, ["source-key", "options", "query", "existing-items-from-other-queries", "onLoaded"])
|
|
30981
|
-
], 8, _hoisted_3$
|
|
31257
|
+
], 8, _hoisted_3$b)
|
|
30982
31258
|
], 2)), [
|
|
30983
31259
|
[vue.vShow, querySourceResultMap.value[query.value] !== false]
|
|
30984
31260
|
]);
|
|
@@ -31015,13 +31291,13 @@ const extractRedirectionSuggestion = (searchText = "", options) => {
|
|
|
31015
31291
|
}
|
|
31016
31292
|
return null;
|
|
31017
31293
|
};
|
|
31018
|
-
const _hoisted_1$
|
|
31294
|
+
const _hoisted_1$l = {
|
|
31019
31295
|
key: 0,
|
|
31020
31296
|
class: "lupa-redirection-suggestion"
|
|
31021
31297
|
};
|
|
31022
|
-
const _hoisted_2$
|
|
31023
|
-
const _hoisted_3$
|
|
31024
|
-
const _sfc_main$
|
|
31298
|
+
const _hoisted_2$g = { class: "lupa-redirections-suggestion-label" };
|
|
31299
|
+
const _hoisted_3$a = ["href"];
|
|
31300
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
31025
31301
|
__name: "RedirectionSuggestions",
|
|
31026
31302
|
props: {
|
|
31027
31303
|
options: {}
|
|
@@ -31044,19 +31320,19 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
31044
31320
|
)
|
|
31045
31321
|
);
|
|
31046
31322
|
return (_ctx, _cache) => {
|
|
31047
|
-
return redirectionSuggestion.value && label.value && link.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
31048
|
-
vue.createElementVNode("h4", _hoisted_2$
|
|
31049
|
-
vue.createElementVNode("a", { href: link.value }, vue.toDisplayString(label.value), 9, _hoisted_3$
|
|
31323
|
+
return redirectionSuggestion.value && label.value && link.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
|
|
31324
|
+
vue.createElementVNode("h4", _hoisted_2$g, [
|
|
31325
|
+
vue.createElementVNode("a", { href: link.value }, vue.toDisplayString(label.value), 9, _hoisted_3$a)
|
|
31050
31326
|
])
|
|
31051
31327
|
])) : vue.createCommentVNode("", true);
|
|
31052
31328
|
};
|
|
31053
31329
|
}
|
|
31054
31330
|
});
|
|
31055
|
-
const _hoisted_1$
|
|
31331
|
+
const _hoisted_1$k = {
|
|
31056
31332
|
key: 0,
|
|
31057
31333
|
class: "lupa-refiners-loading-notice"
|
|
31058
31334
|
};
|
|
31059
|
-
const _sfc_main$
|
|
31335
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
31060
31336
|
__name: "RefinersLoadingNotice",
|
|
31061
31337
|
props: {
|
|
31062
31338
|
labels: {}
|
|
@@ -31067,22 +31343,22 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
31067
31343
|
const props = __props;
|
|
31068
31344
|
const label = vue.computed(() => props.labels.refinersLoadingNotice);
|
|
31069
31345
|
return (_ctx, _cache) => {
|
|
31070
|
-
return label.value && vue.unref(loadingRefiners) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
31346
|
+
return label.value && vue.unref(loadingRefiners) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
|
|
31071
31347
|
vue.createElementVNode("p", null, vue.toDisplayString(label.value), 1),
|
|
31072
31348
|
vue.createVNode(Spinner)
|
|
31073
31349
|
])) : vue.createCommentVNode("", true);
|
|
31074
31350
|
};
|
|
31075
31351
|
}
|
|
31076
31352
|
});
|
|
31077
|
-
const _hoisted_1$
|
|
31078
|
-
const _hoisted_2$
|
|
31079
|
-
const _hoisted_3$
|
|
31080
|
-
const _hoisted_4$
|
|
31081
|
-
const _hoisted_5$
|
|
31353
|
+
const _hoisted_1$j = { class: "lupa-related-query-item" };
|
|
31354
|
+
const _hoisted_2$f = { class: "lupa-related-query-image" };
|
|
31355
|
+
const _hoisted_3$9 = { class: "lupa-related-query-label" };
|
|
31356
|
+
const _hoisted_4$6 = { class: "lupa-related-query-title" };
|
|
31357
|
+
const _hoisted_5$2 = {
|
|
31082
31358
|
key: 0,
|
|
31083
31359
|
class: "lupa-related-query-count"
|
|
31084
31360
|
};
|
|
31085
|
-
const _sfc_main$
|
|
31361
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
31086
31362
|
__name: "RelatedQueryPanelApi",
|
|
31087
31363
|
props: {
|
|
31088
31364
|
relatedQuery: {},
|
|
@@ -31114,9 +31390,9 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
31114
31390
|
});
|
|
31115
31391
|
return (_ctx, _cache) => {
|
|
31116
31392
|
var _a25;
|
|
31117
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
31118
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
31119
|
-
itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31393
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
|
|
31394
|
+
vue.createElementVNode("div", _hoisted_2$f, [
|
|
31395
|
+
itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1w, {
|
|
31120
31396
|
key: 0,
|
|
31121
31397
|
"wrapper-class": "lupa-related-query-image-wrapper",
|
|
31122
31398
|
"image-class": "lupa-related-query-image",
|
|
@@ -31124,24 +31400,24 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
31124
31400
|
options: image.value
|
|
31125
31401
|
}, null, 8, ["item", "options"])) : vue.createCommentVNode("", true)
|
|
31126
31402
|
]),
|
|
31127
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
31128
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
31129
|
-
((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
31403
|
+
vue.createElementVNode("div", _hoisted_3$9, [
|
|
31404
|
+
vue.createElementVNode("span", _hoisted_4$6, vue.toDisplayString(query.value), 1),
|
|
31405
|
+
((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$2, "(" + vue.toDisplayString(totalItemCount.value) + ")", 1)) : vue.createCommentVNode("", true)
|
|
31130
31406
|
])
|
|
31131
31407
|
]);
|
|
31132
31408
|
};
|
|
31133
31409
|
}
|
|
31134
31410
|
});
|
|
31135
|
-
const _hoisted_1$
|
|
31411
|
+
const _hoisted_1$i = {
|
|
31136
31412
|
key: 0,
|
|
31137
31413
|
class: "lupa-related-queries"
|
|
31138
31414
|
};
|
|
31139
|
-
const _hoisted_2$
|
|
31415
|
+
const _hoisted_2$e = {
|
|
31140
31416
|
key: 0,
|
|
31141
31417
|
class: "lupa-related-queries-title"
|
|
31142
31418
|
};
|
|
31143
|
-
const _hoisted_3$
|
|
31144
|
-
const _sfc_main$
|
|
31419
|
+
const _hoisted_3$8 = ["onClick"];
|
|
31420
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
31145
31421
|
__name: "RelatedQueriesApi",
|
|
31146
31422
|
props: {
|
|
31147
31423
|
options: {}
|
|
@@ -31151,7 +31427,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
31151
31427
|
const searchResultStore = useSearchResultStore();
|
|
31152
31428
|
const paramsStore = useParamsStore();
|
|
31153
31429
|
const optionsStore = useOptionsStore();
|
|
31154
|
-
const { searchResult, relatedQueriesResult } = storeToRefs(searchResultStore);
|
|
31430
|
+
const { searchResult, relatedQueriesResult, relatedQueryFacetKeys } = storeToRefs(searchResultStore);
|
|
31155
31431
|
const relatedQueries2 = vue.computed(() => {
|
|
31156
31432
|
var _a25, _b25, _c, _d;
|
|
31157
31433
|
const allQueries = (_b25 = (_a25 = relatedQueriesResult.value) == null ? void 0 : _a25.relatedQueries) != null ? _b25 : [];
|
|
@@ -31179,7 +31455,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
31179
31455
|
{ key: query.key, value: query.value },
|
|
31180
31456
|
optionsStore.getQueryParamName,
|
|
31181
31457
|
{},
|
|
31182
|
-
(_a25 =
|
|
31458
|
+
(_a25 = relatedQueryFacetKeys.value) == null ? void 0 : _a25.map((key) => `f.${key}`)
|
|
31183
31459
|
);
|
|
31184
31460
|
};
|
|
31185
31461
|
const getSelectedFilterClass = (relatedQuery) => {
|
|
@@ -31193,8 +31469,8 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
31193
31469
|
};
|
|
31194
31470
|
return (_ctx, _cache) => {
|
|
31195
31471
|
var _a25, _b25, _c, _d;
|
|
31196
|
-
return hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
31197
|
-
((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$
|
|
31472
|
+
return hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
|
|
31473
|
+
((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$e, vue.toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
|
|
31198
31474
|
vue.createElementVNode("ul", null, [
|
|
31199
31475
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries2.value, (query) => {
|
|
31200
31476
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
@@ -31204,11 +31480,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
31204
31480
|
vue.createElementVNode("a", {
|
|
31205
31481
|
onClick: ($event) => handleRelatedQueryClick(query)
|
|
31206
31482
|
}, [
|
|
31207
|
-
vue.createVNode(_sfc_main$
|
|
31483
|
+
vue.createVNode(_sfc_main$l, {
|
|
31208
31484
|
relatedQuery: query,
|
|
31209
31485
|
options: _ctx.options
|
|
31210
31486
|
}, null, 8, ["relatedQuery", "options"])
|
|
31211
|
-
], 8, _hoisted_3$
|
|
31487
|
+
], 8, _hoisted_3$8)
|
|
31212
31488
|
], 2);
|
|
31213
31489
|
}), 128))
|
|
31214
31490
|
])
|
|
@@ -31216,9 +31492,9 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
31216
31492
|
};
|
|
31217
31493
|
}
|
|
31218
31494
|
});
|
|
31219
|
-
const _hoisted_1$
|
|
31220
|
-
const _hoisted_2$
|
|
31221
|
-
const _sfc_main$
|
|
31495
|
+
const _hoisted_1$h = { key: 0 };
|
|
31496
|
+
const _hoisted_2$d = ["innerHTML"];
|
|
31497
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
31222
31498
|
__name: "ZeroResults",
|
|
31223
31499
|
props: {
|
|
31224
31500
|
emptyResultsLabel: {},
|
|
@@ -31247,36 +31523,36 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
31247
31523
|
});
|
|
31248
31524
|
return (_ctx, _cache) => {
|
|
31249
31525
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
31250
|
-
showDefaultZeroResultsTemplate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
31526
|
+
showDefaultZeroResultsTemplate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
|
|
31251
31527
|
vue.createTextVNode(vue.toDisplayString(_ctx.emptyResultsLabel) + " ", 1),
|
|
31252
31528
|
vue.createElementVNode("span", null, vue.toDisplayString(_ctx.currentQueryText), 1)
|
|
31253
31529
|
])) : vue.createCommentVNode("", true),
|
|
31254
31530
|
showCustomZeroResultsTemplate.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
31255
31531
|
key: 1,
|
|
31256
31532
|
innerHTML: htmlTemplate.value
|
|
31257
|
-
}, null, 8, _hoisted_2$
|
|
31533
|
+
}, null, 8, _hoisted_2$d)) : vue.createCommentVNode("", true)
|
|
31258
31534
|
], 64);
|
|
31259
31535
|
};
|
|
31260
31536
|
}
|
|
31261
31537
|
});
|
|
31262
|
-
const _hoisted_1$
|
|
31263
|
-
const _hoisted_2$
|
|
31538
|
+
const _hoisted_1$g = { id: "lupa-search-results-products" };
|
|
31539
|
+
const _hoisted_2$c = {
|
|
31264
31540
|
class: "lupa-products",
|
|
31265
31541
|
"data-cy": "lupa-products"
|
|
31266
31542
|
};
|
|
31267
|
-
const _hoisted_3$
|
|
31543
|
+
const _hoisted_3$7 = {
|
|
31268
31544
|
key: 1,
|
|
31269
31545
|
class: "lupa-empty-results",
|
|
31270
31546
|
"data-cy": "lupa-no-results-in-page"
|
|
31271
31547
|
};
|
|
31272
|
-
const _hoisted_4$
|
|
31548
|
+
const _hoisted_4$5 = {
|
|
31273
31549
|
key: 5,
|
|
31274
31550
|
class: "lupa-empty-results",
|
|
31275
31551
|
"data-cy": "lupa-no-results"
|
|
31276
31552
|
};
|
|
31277
|
-
const _hoisted_5 = { key: 6 };
|
|
31553
|
+
const _hoisted_5$1 = { key: 6 };
|
|
31278
31554
|
const _hoisted_6 = { key: 7 };
|
|
31279
|
-
const _sfc_main$
|
|
31555
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
31280
31556
|
__name: "SearchResultsProducts",
|
|
31281
31557
|
props: {
|
|
31282
31558
|
options: {},
|
|
@@ -31292,7 +31568,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31292
31568
|
hasResults,
|
|
31293
31569
|
currentQueryText,
|
|
31294
31570
|
isPageEmpty,
|
|
31295
|
-
|
|
31571
|
+
isFilterSidebarVisible,
|
|
31296
31572
|
columnCount,
|
|
31297
31573
|
searchResult,
|
|
31298
31574
|
layout,
|
|
@@ -31323,7 +31599,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31323
31599
|
});
|
|
31324
31600
|
const showTopFilters = vue.computed(() => {
|
|
31325
31601
|
var _a25, _b25, _c;
|
|
31326
|
-
return ((_c = (_b25 = (_a25 = props.options.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.style) == null ? void 0 : _c.type)
|
|
31602
|
+
return ((_c = (_b25 = (_a25 = props.options.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.style) == null ? void 0 : _c.type) !== "sidebar";
|
|
31327
31603
|
});
|
|
31328
31604
|
const showMobileFilters = vue.computed(() => {
|
|
31329
31605
|
return props.options.searchTitlePosition !== "search-results-top";
|
|
@@ -31400,40 +31676,40 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31400
31676
|
};
|
|
31401
31677
|
return (_ctx, _cache) => {
|
|
31402
31678
|
var _a25, _b25, _c;
|
|
31403
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
31404
|
-
vue.unref(loading) && !vue.unref(
|
|
31679
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
|
|
31680
|
+
vue.unref(loading) && !vue.unref(isFilterSidebarVisible) ? (vue.openBlock(), vue.createBlock(Spinner, {
|
|
31405
31681
|
key: 0,
|
|
31406
31682
|
class: "lupa-loader"
|
|
31407
31683
|
})) : vue.createCommentVNode("", true),
|
|
31408
|
-
vue.createVNode(_sfc_main$
|
|
31684
|
+
vue.createVNode(_sfc_main$n, {
|
|
31409
31685
|
options: _ctx.options.redirectionSuggestions
|
|
31410
31686
|
}, null, 8, ["options"]),
|
|
31411
|
-
vue.createVNode(_sfc_main$
|
|
31687
|
+
vue.createVNode(_sfc_main$s, {
|
|
31412
31688
|
options: _ctx.options,
|
|
31413
31689
|
location: "top",
|
|
31414
31690
|
sdkOptions: _ctx.options.options
|
|
31415
31691
|
}, null, 8, ["options", "sdkOptions"]),
|
|
31416
|
-
showLocalRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31692
|
+
showLocalRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
31417
31693
|
key: 1,
|
|
31418
31694
|
options: _ctx.options.relatedQueries
|
|
31419
31695
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31420
|
-
showApiRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31696
|
+
showApiRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$k, {
|
|
31421
31697
|
key: 2,
|
|
31422
31698
|
options: _ctx.options.relatedQueries
|
|
31423
31699
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31424
31700
|
vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
|
|
31425
|
-
showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31701
|
+
showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$P, {
|
|
31426
31702
|
key: 0,
|
|
31427
31703
|
options: (_a25 = _ctx.options.filters) != null ? _a25 : {}
|
|
31428
31704
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31429
|
-
showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31705
|
+
showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
31430
31706
|
key: 1,
|
|
31431
31707
|
class: "lupa-toolbar-mobile",
|
|
31432
31708
|
options: _ctx.options,
|
|
31433
31709
|
"pagination-location": "top",
|
|
31434
31710
|
onFilter: filter
|
|
31435
31711
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31436
|
-
currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31712
|
+
currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
|
|
31437
31713
|
key: 2,
|
|
31438
31714
|
class: vue.normalizeClass(currentFiltersClass.value),
|
|
31439
31715
|
"data-cy": "lupa-search-result-filters-mobile-toolbar",
|
|
@@ -31442,19 +31718,19 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31442
31718
|
}, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true)
|
|
31443
31719
|
], 64)) : vue.createCommentVNode("", true),
|
|
31444
31720
|
vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 4 }, [
|
|
31445
|
-
vue.createVNode(_sfc_main$
|
|
31721
|
+
vue.createVNode(_sfc_main$H, {
|
|
31446
31722
|
class: "lupa-toolbar-top",
|
|
31447
31723
|
options: _ctx.options,
|
|
31448
31724
|
"pagination-location": "top"
|
|
31449
31725
|
}, null, 8, ["options"]),
|
|
31450
|
-
currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31726
|
+
currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
|
|
31451
31727
|
key: 0,
|
|
31452
31728
|
class: vue.normalizeClass(currentFiltersClass.value),
|
|
31453
31729
|
"data-cy": "lupa-search-result-filters-mobile-toolbar",
|
|
31454
31730
|
options: currentFilterOptions.value,
|
|
31455
31731
|
expandable: !desktopFiltersExpanded.value
|
|
31456
31732
|
}, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true),
|
|
31457
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
31733
|
+
vue.createElementVNode("div", _hoisted_2$c, [
|
|
31458
31734
|
_ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
|
|
31459
31735
|
return vue.renderSlot(_ctx.$slots, "productCard", {
|
|
31460
31736
|
style: vue.normalizeStyle(columnSize.value),
|
|
@@ -31463,7 +31739,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31463
31739
|
options: productCardOptions.value
|
|
31464
31740
|
});
|
|
31465
31741
|
}), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
|
|
31466
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31742
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
31467
31743
|
style: vue.normalizeStyle(columnSize.value),
|
|
31468
31744
|
key: getProductKeyAction(index, product),
|
|
31469
31745
|
product,
|
|
@@ -31472,7 +31748,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31472
31748
|
}, null, 8, ["style", "product", "options", "analytics-metadata"]);
|
|
31473
31749
|
}), 128))
|
|
31474
31750
|
]),
|
|
31475
|
-
vue.unref(isPageEmpty) && _ctx.options.labels.noItemsInPage ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
31751
|
+
vue.unref(isPageEmpty) && _ctx.options.labels.noItemsInPage ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, [
|
|
31476
31752
|
vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.noItemsInPage) + " ", 1),
|
|
31477
31753
|
_ctx.options.labels.backToFirstPage ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
31478
31754
|
key: 0,
|
|
@@ -31480,36 +31756,36 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31480
31756
|
onClick: goToFirstPage
|
|
31481
31757
|
}, vue.toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : vue.createCommentVNode("", true)
|
|
31482
31758
|
])) : vue.createCommentVNode("", true),
|
|
31483
|
-
vue.createVNode(_sfc_main$
|
|
31759
|
+
vue.createVNode(_sfc_main$H, {
|
|
31484
31760
|
class: "lupa-toolbar-bottom",
|
|
31485
31761
|
options: _ctx.options,
|
|
31486
31762
|
"pagination-location": "bottom"
|
|
31487
31763
|
}, null, 8, ["options"]),
|
|
31488
|
-
vue.createVNode(_sfc_main$
|
|
31764
|
+
vue.createVNode(_sfc_main$s, {
|
|
31489
31765
|
options: _ctx.options,
|
|
31490
31766
|
location: "bottom",
|
|
31491
31767
|
sdkOptions: _ctx.options.options
|
|
31492
31768
|
}, null, 8, ["options", "sdkOptions"])
|
|
31493
|
-
], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
31494
|
-
vue.createVNode(_sfc_main$
|
|
31769
|
+
], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
|
|
31770
|
+
vue.createVNode(_sfc_main$j, {
|
|
31495
31771
|
emptyResultsLabel: (_b25 = _ctx.options.labels) == null ? void 0 : _b25.emptyResults,
|
|
31496
31772
|
currentQueryText: vue.unref(currentQueryText),
|
|
31497
31773
|
hasSimilarQueries: hasSimilarQueries.value || hasSimilarResults.value,
|
|
31498
31774
|
zeroResults: (_c = _ctx.options) == null ? void 0 : _c.zeroResults
|
|
31499
31775
|
}, null, 8, ["emptyResultsLabel", "currentQueryText", "hasSimilarQueries", "zeroResults"])
|
|
31500
31776
|
])) : vue.createCommentVNode("", true),
|
|
31501
|
-
vue.createVNode(_sfc_main$
|
|
31777
|
+
vue.createVNode(_sfc_main$m, {
|
|
31502
31778
|
labels: _ctx.options.labels
|
|
31503
31779
|
}, null, 8, ["labels"]),
|
|
31504
|
-
hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
|
|
31505
|
-
vue.createVNode(_sfc_main$
|
|
31780
|
+
hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
|
|
31781
|
+
vue.createVNode(_sfc_main$u, {
|
|
31506
31782
|
labels: similarQueriesLabels.value,
|
|
31507
31783
|
columnSize: columnSize.value,
|
|
31508
31784
|
productCardOptions: productCardOptions.value
|
|
31509
31785
|
}, null, 8, ["labels", "columnSize", "productCardOptions"])
|
|
31510
31786
|
])) : vue.createCommentVNode("", true),
|
|
31511
31787
|
hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
|
|
31512
|
-
vue.createVNode(_sfc_main$
|
|
31788
|
+
vue.createVNode(_sfc_main$q, {
|
|
31513
31789
|
labels: similarResultsLabels.value,
|
|
31514
31790
|
columnSize: columnSize.value,
|
|
31515
31791
|
productCardOptions: productCardOptions.value
|
|
@@ -31520,17 +31796,17 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
31520
31796
|
};
|
|
31521
31797
|
}
|
|
31522
31798
|
});
|
|
31523
|
-
const _hoisted_1$
|
|
31524
|
-
const _hoisted_2$
|
|
31799
|
+
const _hoisted_1$f = { class: "lupa-top-mobile-filter-wrapper" };
|
|
31800
|
+
const _hoisted_2$b = {
|
|
31525
31801
|
key: 0,
|
|
31526
31802
|
class: "lupa-category-back"
|
|
31527
31803
|
};
|
|
31528
|
-
const _hoisted_3$
|
|
31529
|
-
const _hoisted_4$
|
|
31804
|
+
const _hoisted_3$6 = ["href"];
|
|
31805
|
+
const _hoisted_4$4 = {
|
|
31530
31806
|
key: 1,
|
|
31531
31807
|
class: "lupa-child-category-list"
|
|
31532
31808
|
};
|
|
31533
|
-
const _sfc_main$
|
|
31809
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
31534
31810
|
__name: "CategoryTopFilters",
|
|
31535
31811
|
props: {
|
|
31536
31812
|
options: {}
|
|
@@ -31578,24 +31854,24 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
31578
31854
|
"has-related-category-children": hasRelatedCategoryChildren.value
|
|
31579
31855
|
}])
|
|
31580
31856
|
}, [
|
|
31581
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
31582
|
-
hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
31857
|
+
vue.createElementVNode("div", _hoisted_1$f, [
|
|
31858
|
+
hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$b, [
|
|
31583
31859
|
vue.createElementVNode("a", {
|
|
31584
31860
|
"data-cy": "lupa-category-back",
|
|
31585
31861
|
href: backUrlLink.value,
|
|
31586
31862
|
onClick: handleNavigationBack
|
|
31587
|
-
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$
|
|
31863
|
+
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$6)
|
|
31588
31864
|
])) : vue.createCommentVNode("", true),
|
|
31589
|
-
hasRelatedCategoryChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
31865
|
+
hasRelatedCategoryChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
|
|
31590
31866
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relatedCategoryChildren), (child) => {
|
|
31591
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31867
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$13, {
|
|
31592
31868
|
key: getCategoryKey(child),
|
|
31593
31869
|
item: child,
|
|
31594
31870
|
options: categoryOptions.value
|
|
31595
31871
|
}, null, 8, ["item", "options"]);
|
|
31596
31872
|
}), 128))
|
|
31597
31873
|
])) : vue.createCommentVNode("", true),
|
|
31598
|
-
vue.createVNode(_sfc_main$
|
|
31874
|
+
vue.createVNode(_sfc_main$H, {
|
|
31599
31875
|
class: "lupa-toolbar-mobile",
|
|
31600
31876
|
"pagination-location": "top",
|
|
31601
31877
|
options: _ctx.options
|
|
@@ -31605,6 +31881,129 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
31605
31881
|
};
|
|
31606
31882
|
}
|
|
31607
31883
|
});
|
|
31884
|
+
const _hoisted_1$e = {
|
|
31885
|
+
id: "lupa-search-results-sort-list",
|
|
31886
|
+
class: "lupa-search-results-sort-list"
|
|
31887
|
+
};
|
|
31888
|
+
const _hoisted_2$a = ["onClick"];
|
|
31889
|
+
const _hoisted_3$5 = ["for"];
|
|
31890
|
+
const _hoisted_4$3 = ["id", "checked"];
|
|
31891
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
31892
|
+
__name: "SortList",
|
|
31893
|
+
setup(__props) {
|
|
31894
|
+
const { sortItems, selectedKey, handleSelect, setSortValue } = useSorting();
|
|
31895
|
+
vue.onMounted(() => {
|
|
31896
|
+
setSortValue();
|
|
31897
|
+
});
|
|
31898
|
+
const selectValue = (key) => {
|
|
31899
|
+
selectedKey.value = key;
|
|
31900
|
+
handleSelect();
|
|
31901
|
+
};
|
|
31902
|
+
return (_ctx, _cache) => {
|
|
31903
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
|
|
31904
|
+
vue.createElementVNode("ul", null, [
|
|
31905
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(sortItems), (option) => {
|
|
31906
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
31907
|
+
key: option.key,
|
|
31908
|
+
class: vue.normalizeClass({ "lupa-sort-item-selected": option.key === vue.unref(selectedKey) }),
|
|
31909
|
+
onClick: ($event) => selectValue(option.key)
|
|
31910
|
+
}, [
|
|
31911
|
+
vue.createElementVNode("label", {
|
|
31912
|
+
for: "lupa-sort-list-" + option.key
|
|
31913
|
+
}, vue.toDisplayString(option.label), 9, _hoisted_3$5),
|
|
31914
|
+
vue.createElementVNode("input", {
|
|
31915
|
+
id: "lupa-sort-list-" + option.key,
|
|
31916
|
+
type: "radio",
|
|
31917
|
+
checked: option.key === vue.unref(selectedKey)
|
|
31918
|
+
}, null, 8, _hoisted_4$3)
|
|
31919
|
+
], 10, _hoisted_2$a);
|
|
31920
|
+
}), 128))
|
|
31921
|
+
])
|
|
31922
|
+
]);
|
|
31923
|
+
};
|
|
31924
|
+
}
|
|
31925
|
+
});
|
|
31926
|
+
const _hoisted_1$d = { class: "lupa-sort-sidebar-content" };
|
|
31927
|
+
const _hoisted_2$9 = { class: "lupa-sidebar-top" };
|
|
31928
|
+
const _hoisted_3$4 = { class: "lupa-sidebar-title" };
|
|
31929
|
+
const _hoisted_4$2 = { class: "lupa-sidebar-sort-options" };
|
|
31930
|
+
const _hoisted_5 = { class: "lupa-sidebar-sort-actions" };
|
|
31931
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
31932
|
+
__name: "SortDrawer",
|
|
31933
|
+
setup(__props) {
|
|
31934
|
+
const optionsStore = useOptionsStore();
|
|
31935
|
+
const searchResultStore = useSearchResultStore();
|
|
31936
|
+
const paramStore = useParamsStore();
|
|
31937
|
+
const { searchResultOptions } = storeToRefs(optionsStore);
|
|
31938
|
+
const { isSidebarClosing, isSortingSidebarVisible } = storeToRefs(searchResultStore);
|
|
31939
|
+
const { handleSortSidebarToggle } = useSidebarToggle();
|
|
31940
|
+
const sortStyleOptions = vue.computed(() => {
|
|
31941
|
+
var _a25;
|
|
31942
|
+
return (_a25 = searchResultOptions.value) == null ? void 0 : _a25.sortStyle;
|
|
31943
|
+
});
|
|
31944
|
+
const sidebarTitle = vue.computed(() => {
|
|
31945
|
+
var _a25, _b25, _c, _d;
|
|
31946
|
+
return (_d = (_c = (_b25 = (_a25 = sortStyleOptions == null ? void 0 : sortStyleOptions.value) == null ? void 0 : _a25.drawer) == null ? void 0 : _b25.labels) == null ? void 0 : _c.title) != null ? _d : "";
|
|
31947
|
+
});
|
|
31948
|
+
const clearSortLabel = vue.computed(() => {
|
|
31949
|
+
var _a25, _b25, _c, _d;
|
|
31950
|
+
return (_d = (_c = (_b25 = (_a25 = sortStyleOptions == null ? void 0 : sortStyleOptions.value) == null ? void 0 : _a25.drawer) == null ? void 0 : _b25.labels) == null ? void 0 : _c.clearLabel) != null ? _d : "";
|
|
31951
|
+
});
|
|
31952
|
+
const applySortLabel = vue.computed(() => {
|
|
31953
|
+
var _a25, _b25, _c, _d;
|
|
31954
|
+
return (_d = (_c = (_b25 = (_a25 = sortStyleOptions == null ? void 0 : sortStyleOptions.value) == null ? void 0 : _a25.drawer) == null ? void 0 : _b25.labels) == null ? void 0 : _c.applyLabel) != null ? _d : "";
|
|
31955
|
+
});
|
|
31956
|
+
const handleDrawerToggle = () => {
|
|
31957
|
+
searchResultStore.setSidebarState({ visible: false, sidebar: "sorting" });
|
|
31958
|
+
};
|
|
31959
|
+
const clearSort = () => {
|
|
31960
|
+
paramStore.removeParameters({
|
|
31961
|
+
paramsToRemove: [optionsStore.getQueryParamName(QUERY_PARAMS.SORT)]
|
|
31962
|
+
});
|
|
31963
|
+
handleSortSidebarToggle();
|
|
31964
|
+
};
|
|
31965
|
+
const applySort = () => {
|
|
31966
|
+
handleSortSidebarToggle();
|
|
31967
|
+
};
|
|
31968
|
+
return (_ctx, _cache) => {
|
|
31969
|
+
return vue.unref(isSortingSidebarVisible) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
31970
|
+
key: 0,
|
|
31971
|
+
class: vue.normalizeClass(["lupa-sort-sidebar", { "lupa-sort-is-closing": vue.unref(isSidebarClosing) }])
|
|
31972
|
+
}, [
|
|
31973
|
+
vue.createElementVNode("div", {
|
|
31974
|
+
class: "lupa-sidebar-close",
|
|
31975
|
+
onClick: vue.withModifiers(handleDrawerToggle, ["stop"])
|
|
31976
|
+
}),
|
|
31977
|
+
vue.createElementVNode("div", _hoisted_1$d, [
|
|
31978
|
+
vue.createElementVNode("div", _hoisted_2$9, [
|
|
31979
|
+
vue.createElementVNode("div", _hoisted_3$4, vue.toDisplayString(sidebarTitle.value), 1),
|
|
31980
|
+
vue.createElementVNode("div", {
|
|
31981
|
+
class: "lupa-filter-toggle-mobile",
|
|
31982
|
+
onClick: handleDrawerToggle
|
|
31983
|
+
})
|
|
31984
|
+
]),
|
|
31985
|
+
vue.createElementVNode("div", _hoisted_4$2, [
|
|
31986
|
+
vue.createVNode(_sfc_main$g)
|
|
31987
|
+
]),
|
|
31988
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
31989
|
+
clearSortLabel.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
31990
|
+
key: 0,
|
|
31991
|
+
type: "button",
|
|
31992
|
+
class: "lupa-sidebar-sort-clear",
|
|
31993
|
+
onClick: vue.withModifiers(clearSort, ["stop"])
|
|
31994
|
+
}, vue.toDisplayString(clearSortLabel.value), 1)) : vue.createCommentVNode("", true),
|
|
31995
|
+
applySortLabel.value ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
31996
|
+
key: 1,
|
|
31997
|
+
type: "button",
|
|
31998
|
+
class: "lupa-sidebar-sort-apply",
|
|
31999
|
+
onClick: vue.withModifiers(applySort, ["stop"])
|
|
32000
|
+
}, vue.toDisplayString(applySortLabel.value), 1)) : vue.createCommentVNode("", true)
|
|
32001
|
+
])
|
|
32002
|
+
])
|
|
32003
|
+
], 2)) : vue.createCommentVNode("", true);
|
|
32004
|
+
};
|
|
32005
|
+
}
|
|
32006
|
+
});
|
|
31608
32007
|
const _hoisted_1$c = {
|
|
31609
32008
|
key: 0,
|
|
31610
32009
|
class: "lupa-container-title-summary-mobile"
|
|
@@ -31639,7 +32038,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
31639
32038
|
currentQueryText,
|
|
31640
32039
|
hasResults,
|
|
31641
32040
|
currentFilterCount,
|
|
31642
|
-
|
|
32041
|
+
isFilterSidebarVisible,
|
|
31643
32042
|
layout,
|
|
31644
32043
|
loadingFacets,
|
|
31645
32044
|
loadingRefiners
|
|
@@ -31661,7 +32060,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
31661
32060
|
});
|
|
31662
32061
|
const indicatorClasses = vue.computed(() => {
|
|
31663
32062
|
return {
|
|
31664
|
-
"lupa-mobile-sidebar-visible":
|
|
32063
|
+
"lupa-mobile-sidebar-visible": isFilterSidebarVisible.value,
|
|
31665
32064
|
"lupa-layout-grid": !layout.value || layout.value === ResultsLayoutEnum.GRID,
|
|
31666
32065
|
"lupa-layout-list": layout.value === ResultsLayoutEnum.LIST
|
|
31667
32066
|
};
|
|
@@ -31903,32 +32302,33 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
31903
32302
|
class: vue.normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !vue.unref(hasResults) }])
|
|
31904
32303
|
}, [
|
|
31905
32304
|
_ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
|
|
31906
|
-
vue.createVNode(_sfc_main$
|
|
31907
|
-
vue.createVNode(_sfc_main$
|
|
32305
|
+
vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
32306
|
+
vue.createVNode(_sfc_main$16, {
|
|
31908
32307
|
"show-summary": true,
|
|
31909
32308
|
options: _ctx.options,
|
|
31910
32309
|
"is-product-list": (_a25 = _ctx.isProductList) != null ? _a25 : false
|
|
31911
32310
|
}, null, 8, ["options", "is-product-list"])
|
|
31912
32311
|
])) : vue.createCommentVNode("", true),
|
|
31913
|
-
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
32312
|
+
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$h, {
|
|
31914
32313
|
key: 1,
|
|
31915
32314
|
options: _ctx.options
|
|
31916
32315
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31917
|
-
_ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
32316
|
+
_ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$R, {
|
|
31918
32317
|
key: 2,
|
|
31919
32318
|
options: _ctx.options.filters,
|
|
31920
32319
|
onFilter: handleParamsChange
|
|
31921
32320
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31922
|
-
|
|
31923
|
-
|
|
32321
|
+
_ctx.options.sort ? (vue.openBlock(), vue.createBlock(_sfc_main$f, { key: 3 })) : vue.createCommentVNode("", true),
|
|
32322
|
+
vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
|
|
32323
|
+
key: 4,
|
|
31924
32324
|
breadcrumbs: _ctx.options.breadcrumbs
|
|
31925
32325
|
}, null, 8, ["breadcrumbs"])) : vue.createCommentVNode("", true),
|
|
31926
32326
|
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
31927
|
-
key:
|
|
32327
|
+
key: 5,
|
|
31928
32328
|
id: "lupa-search-results",
|
|
31929
32329
|
class: vue.normalizeClass(["top-layout-wrapper", indicatorClasses.value])
|
|
31930
32330
|
}, [
|
|
31931
|
-
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
32331
|
+
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
|
|
31932
32332
|
key: 0,
|
|
31933
32333
|
options: (_b25 = _ctx.options.filters) != null ? _b25 : {},
|
|
31934
32334
|
ref_key: "searchResultsFilters",
|
|
@@ -31936,12 +32336,12 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
31936
32336
|
onFilter: handleParamsChange
|
|
31937
32337
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31938
32338
|
vue.createElementVNode("div", _hoisted_2$8, [
|
|
31939
|
-
vue.createVNode(_sfc_main$
|
|
31940
|
-
vue.createVNode(_sfc_main$
|
|
32339
|
+
vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
32340
|
+
vue.createVNode(_sfc_main$16, {
|
|
31941
32341
|
options: _ctx.options,
|
|
31942
32342
|
"is-product-list": (_c = _ctx.isProductList) != null ? _c : false
|
|
31943
32343
|
}, null, 8, ["options", "is-product-list"]),
|
|
31944
|
-
vue.createVNode(_sfc_main$
|
|
32344
|
+
vue.createVNode(_sfc_main$i, {
|
|
31945
32345
|
options: _ctx.options,
|
|
31946
32346
|
ssr: ssrEnabled.value,
|
|
31947
32347
|
onFilter: handleParamsChange
|
|
@@ -31952,9 +32352,9 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
31952
32352
|
_: 3
|
|
31953
32353
|
}, 8, ["options", "ssr"])
|
|
31954
32354
|
])
|
|
31955
|
-
], 2)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key:
|
|
31956
|
-
vue.createVNode(_sfc_main$
|
|
31957
|
-
vue.createVNode(_sfc_main$
|
|
32355
|
+
], 2)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 6 }, [
|
|
32356
|
+
vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
32357
|
+
vue.createVNode(_sfc_main$16, {
|
|
31958
32358
|
options: _ctx.options,
|
|
31959
32359
|
"is-product-list": (_d = _ctx.isProductList) != null ? _d : false
|
|
31960
32360
|
}, null, 8, ["options", "is-product-list"]),
|
|
@@ -31962,14 +32362,14 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
31962
32362
|
id: "lupa-search-results",
|
|
31963
32363
|
class: vue.normalizeClass(indicatorClasses.value)
|
|
31964
32364
|
}, [
|
|
31965
|
-
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
32365
|
+
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
|
|
31966
32366
|
key: 0,
|
|
31967
32367
|
options: (_e = _ctx.options.filters) != null ? _e : {},
|
|
31968
32368
|
ref_key: "searchResultsFilters",
|
|
31969
32369
|
ref: searchResultsFilters,
|
|
31970
32370
|
onFilter: handleParamsChange
|
|
31971
32371
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
31972
|
-
vue.createVNode(_sfc_main$
|
|
32372
|
+
vue.createVNode(_sfc_main$i, {
|
|
31973
32373
|
options: _ctx.options,
|
|
31974
32374
|
ssr: ssrEnabled.value,
|
|
31975
32375
|
onFilter: handleParamsChange
|
|
@@ -32113,7 +32513,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
32113
32513
|
onClick: vue.withModifiers(innerClick, ["stop"])
|
|
32114
32514
|
}, [
|
|
32115
32515
|
vue.createElementVNode("div", _hoisted_1$a, [
|
|
32116
|
-
vue.createVNode(_sfc_main$
|
|
32516
|
+
vue.createVNode(_sfc_main$19, {
|
|
32117
32517
|
options: fullSearchBoxOptions.value,
|
|
32118
32518
|
"is-search-container": true,
|
|
32119
32519
|
ref_key: "searchBox",
|
|
@@ -33768,7 +34168,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
33768
34168
|
key: getProductKeyAction(index, product)
|
|
33769
34169
|
}, {
|
|
33770
34170
|
default: vue.withCtx(() => [
|
|
33771
|
-
vue.createVNode(_sfc_main$
|
|
34171
|
+
vue.createVNode(_sfc_main$v, {
|
|
33772
34172
|
product,
|
|
33773
34173
|
options: _ctx.options,
|
|
33774
34174
|
"click-tracking-settings": clickTrackingSettings.value,
|
|
@@ -33783,7 +34183,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
33783
34183
|
_: 1
|
|
33784
34184
|
}, 16, ["wrap-around"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
|
|
33785
34185
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(recommendations.value, (product, index) => {
|
|
33786
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
34186
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
33787
34187
|
style: vue.normalizeStyle(columnSize.value),
|
|
33788
34188
|
key: getProductKeyAction(index, product),
|
|
33789
34189
|
product,
|
|
@@ -34029,7 +34429,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
34029
34429
|
vue.createElementVNode("a", {
|
|
34030
34430
|
href: getLink(product)
|
|
34031
34431
|
}, [
|
|
34032
|
-
vue.createVNode(_sfc_main$
|
|
34432
|
+
vue.createVNode(_sfc_main$G, {
|
|
34033
34433
|
item: product,
|
|
34034
34434
|
options: image.value
|
|
34035
34435
|
}, null, 8, ["item", "options"])
|
|
@@ -34194,7 +34594,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
34194
34594
|
return (_ctx, _cache) => {
|
|
34195
34595
|
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$3, [
|
|
34196
34596
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
|
|
34197
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
34597
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
34198
34598
|
class: "lupa-chat-product-card",
|
|
34199
34599
|
key: getProductKeyAction(index, product),
|
|
34200
34600
|
product,
|
|
@@ -34528,7 +34928,7 @@ exports.DocumentElementType = DocumentElementType;
|
|
|
34528
34928
|
exports.LupaSearch = LupaSearch;
|
|
34529
34929
|
exports.ProductList = _sfc_main$c;
|
|
34530
34930
|
exports.Recommendations = _sfc_main$a;
|
|
34531
|
-
exports.SearchBox = _sfc_main$
|
|
34931
|
+
exports.SearchBox = _sfc_main$19;
|
|
34532
34932
|
exports.SearchBoxPanelType = SearchBoxPanelType;
|
|
34533
34933
|
exports.SearchContainer = _sfc_main$b;
|
|
34534
34934
|
exports.SearchResults = _sfc_main$e;
|