@getlupa/vue 0.14.4 → 0.14.6
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/lupaChatStyle.css +1 -1
- package/dist/lupaContainerStyle.css +1 -1
- package/dist/lupaSearch.js +644 -535
- package/dist/lupaSearch.mjs +645 -536
- package/dist/src/components/chat/ChatContentListEntry.vue.d.ts +34 -0
- package/dist/src/components/chat/ChatInput.vue.d.ts +13 -1
- package/dist/src/components/chat/ChatPhraseProductsCardList.vue.d.ts +23 -0
- package/dist/src/components/chat/ChatPhraseProductsList.vue.d.ts +1 -1
- package/dist/src/components/search-box/SearchBoxInput.vue.d.ts +1 -1
- package/dist/src/components/search-results/filters/facets/FacetDisplay.vue.d.ts +1 -1
- package/dist/src/components/search-results/filters/facets/FacetList.vue.d.ts +1 -1
- package/dist/src/stores/searchResult.d.ts +8 -2
- package/dist/src/types/chat/ChatLog.d.ts +1 -0
- package/dist/src/types/chat/ChatOptions.d.ts +7 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/lupaSearch.js
CHANGED
|
@@ -3314,20 +3314,20 @@ const useSearchBoxStore = defineStore("searchBox", () => {
|
|
|
3314
3314
|
resetHighlightIndex
|
|
3315
3315
|
};
|
|
3316
3316
|
});
|
|
3317
|
-
const _hoisted_1$
|
|
3317
|
+
const _hoisted_1$1e = { id: "lupa-search-box-input-container" };
|
|
3318
3318
|
const _hoisted_2$S = { class: "lupa-input-clear" };
|
|
3319
3319
|
const _hoisted_3$B = { id: "lupa-search-box-input" };
|
|
3320
3320
|
const _hoisted_4$s = ["value"];
|
|
3321
|
-
const _hoisted_5$
|
|
3322
|
-
const _hoisted_6$
|
|
3321
|
+
const _hoisted_5$i = ["aria-label", "placeholder"];
|
|
3322
|
+
const _hoisted_6$9 = /* @__PURE__ */ vue.createElementVNode("span", { class: "lupa-search-submit-icon" }, null, -1);
|
|
3323
3323
|
const _hoisted_7$7 = [
|
|
3324
|
-
_hoisted_6$
|
|
3324
|
+
_hoisted_6$9
|
|
3325
3325
|
];
|
|
3326
3326
|
const _hoisted_8$3 = {
|
|
3327
3327
|
key: 0,
|
|
3328
3328
|
class: "lupa-close-label"
|
|
3329
3329
|
};
|
|
3330
|
-
const _sfc_main$
|
|
3330
|
+
const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
|
|
3331
3331
|
__name: "SearchBoxInput",
|
|
3332
3332
|
props: {
|
|
3333
3333
|
options: {},
|
|
@@ -3411,7 +3411,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
|
|
|
3411
3411
|
};
|
|
3412
3412
|
__expose({ focus });
|
|
3413
3413
|
return (_ctx, _cache) => {
|
|
3414
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3414
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1e, [
|
|
3415
3415
|
vue.createElementVNode("div", _hoisted_2$S, [
|
|
3416
3416
|
vue.createElementVNode("div", {
|
|
3417
3417
|
class: vue.normalizeClass(["lupa-input-clear-content", { "lupa-input-clear-filled": inputValue.value }]),
|
|
@@ -3438,7 +3438,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
|
|
|
3438
3438
|
placeholder: labels.value.placeholder,
|
|
3439
3439
|
onInput: handleInput,
|
|
3440
3440
|
onFocus: handleFocus
|
|
3441
|
-
}), null, 16, _hoisted_5$
|
|
3441
|
+
}), null, 16, _hoisted_5$i), [
|
|
3442
3442
|
[vue.vModelText, inputValue.value]
|
|
3443
3443
|
]),
|
|
3444
3444
|
_ctx.options.showSubmitButton ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
@@ -3457,7 +3457,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
|
|
|
3457
3457
|
};
|
|
3458
3458
|
}
|
|
3459
3459
|
});
|
|
3460
|
-
const _sfc_main$
|
|
3460
|
+
const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
|
|
3461
3461
|
__name: "SearchBoxMoreResults",
|
|
3462
3462
|
props: {
|
|
3463
3463
|
labels: {},
|
|
@@ -3489,9 +3489,9 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
|
3489
3489
|
};
|
|
3490
3490
|
}
|
|
3491
3491
|
});
|
|
3492
|
-
const _hoisted_1$
|
|
3492
|
+
const _hoisted_1$1d = { class: "lupa-search-box-history-item" };
|
|
3493
3493
|
const _hoisted_2$R = { class: "lupa-search-box-history-item-content" };
|
|
3494
|
-
const _sfc_main$
|
|
3494
|
+
const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
|
|
3495
3495
|
__name: "SearchBoxHistoryItem",
|
|
3496
3496
|
props: {
|
|
3497
3497
|
item: {},
|
|
@@ -3507,7 +3507,7 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
|
3507
3507
|
emit("click", { query: props.item });
|
|
3508
3508
|
};
|
|
3509
3509
|
return (_ctx, _cache) => {
|
|
3510
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3510
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1d, [
|
|
3511
3511
|
vue.createElementVNode("div", _hoisted_2$R, [
|
|
3512
3512
|
vue.createElementVNode("div", {
|
|
3513
3513
|
class: vue.normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
|
|
@@ -3522,11 +3522,11 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
|
3522
3522
|
};
|
|
3523
3523
|
}
|
|
3524
3524
|
});
|
|
3525
|
-
const _hoisted_1$
|
|
3525
|
+
const _hoisted_1$1c = {
|
|
3526
3526
|
key: 0,
|
|
3527
3527
|
class: "lupa-search-box-history-panel"
|
|
3528
3528
|
};
|
|
3529
|
-
const _sfc_main$
|
|
3529
|
+
const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
|
|
3530
3530
|
__name: "SearchBoxHistoryPanel",
|
|
3531
3531
|
props: {
|
|
3532
3532
|
options: {}
|
|
@@ -3567,9 +3567,9 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
|
3567
3567
|
}
|
|
3568
3568
|
};
|
|
3569
3569
|
return (_ctx, _cache) => {
|
|
3570
|
-
return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3570
|
+
return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1c, [
|
|
3571
3571
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(history), (item, index) => {
|
|
3572
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3572
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
|
|
3573
3573
|
key: item,
|
|
3574
3574
|
item,
|
|
3575
3575
|
highlighted: index === highlightIndex.value,
|
|
@@ -3585,15 +3585,15 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
|
3585
3585
|
};
|
|
3586
3586
|
}
|
|
3587
3587
|
});
|
|
3588
|
-
const _hoisted_1$
|
|
3589
|
-
const _sfc_main$
|
|
3588
|
+
const _hoisted_1$1b = { class: "lupa-search-box-no-results" };
|
|
3589
|
+
const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
|
|
3590
3590
|
__name: "SearchBoxNoResults",
|
|
3591
3591
|
props: {
|
|
3592
3592
|
labels: {}
|
|
3593
3593
|
},
|
|
3594
3594
|
setup(__props) {
|
|
3595
3595
|
return (_ctx, _cache) => {
|
|
3596
|
-
return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$
|
|
3596
|
+
return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$1b, vue.toDisplayString(_ctx.labels.noResults), 1);
|
|
3597
3597
|
};
|
|
3598
3598
|
}
|
|
3599
3599
|
});
|
|
@@ -3625,7 +3625,7 @@ const generateGridTemplate = (elements) => {
|
|
|
3625
3625
|
}
|
|
3626
3626
|
return gridTemplate.join(" ");
|
|
3627
3627
|
};
|
|
3628
|
-
const _hoisted_1$
|
|
3628
|
+
const _hoisted_1$1a = ["innerHTML"];
|
|
3629
3629
|
const _hoisted_2$Q = {
|
|
3630
3630
|
key: 1,
|
|
3631
3631
|
"data-cy": "lupa-suggestion-value",
|
|
@@ -3640,11 +3640,11 @@ const _hoisted_4$r = {
|
|
|
3640
3640
|
class: "lupa-suggestion-facet-label",
|
|
3641
3641
|
"data-cy": "lupa-suggestion-facet-label"
|
|
3642
3642
|
};
|
|
3643
|
-
const _hoisted_5$
|
|
3643
|
+
const _hoisted_5$h = {
|
|
3644
3644
|
class: "lupa-suggestion-facet-value",
|
|
3645
3645
|
"data-cy": "lupa-suggestion-facet-value"
|
|
3646
3646
|
};
|
|
3647
|
-
const _sfc_main$
|
|
3647
|
+
const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
3648
3648
|
__name: "SearchBoxSuggestion",
|
|
3649
3649
|
props: {
|
|
3650
3650
|
suggestion: {},
|
|
@@ -3680,20 +3680,20 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
|
|
|
3680
3680
|
class: "lupa-suggestion-value",
|
|
3681
3681
|
"data-cy": "lupa-suggestion-value",
|
|
3682
3682
|
innerHTML: _ctx.suggestion.displayHighlight
|
|
3683
|
-
}, null, 8, _hoisted_1$
|
|
3683
|
+
}, null, 8, _hoisted_1$1a)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$Q, vue.toDisplayString(_ctx.suggestion.display), 1)),
|
|
3684
3684
|
_ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
|
|
3685
3685
|
vue.createElementVNode("span", _hoisted_4$r, vue.toDisplayString(facetLabel.value), 1),
|
|
3686
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
3686
|
+
vue.createElementVNode("span", _hoisted_5$h, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
|
|
3687
3687
|
])) : vue.createCommentVNode("", true)
|
|
3688
3688
|
]);
|
|
3689
3689
|
};
|
|
3690
3690
|
}
|
|
3691
3691
|
});
|
|
3692
|
-
const _hoisted_1$
|
|
3692
|
+
const _hoisted_1$19 = {
|
|
3693
3693
|
id: "lupa-search-box-suggestions",
|
|
3694
3694
|
"data-cy": "lupa-search-box-suggestions"
|
|
3695
3695
|
};
|
|
3696
|
-
const _sfc_main$
|
|
3696
|
+
const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
|
|
3697
3697
|
__name: "SearchBoxSuggestions",
|
|
3698
3698
|
props: {
|
|
3699
3699
|
items: {},
|
|
@@ -3753,9 +3753,9 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
|
3753
3753
|
});
|
|
3754
3754
|
});
|
|
3755
3755
|
return (_ctx, _cache) => {
|
|
3756
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
3756
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$19, [
|
|
3757
3757
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items.value, (item, index) => {
|
|
3758
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3758
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1k, {
|
|
3759
3759
|
key: getSuggestionKey(item),
|
|
3760
3760
|
class: vue.normalizeClass(["lupa-suggestion", index === highlightedIndex.value ? "lupa-suggestion-highlighted" : ""]),
|
|
3761
3761
|
suggestion: item,
|
|
@@ -3783,7 +3783,7 @@ const debounce$1 = (func, timeout) => {
|
|
|
3783
3783
|
}, timeout);
|
|
3784
3784
|
};
|
|
3785
3785
|
};
|
|
3786
|
-
const _sfc_main$
|
|
3786
|
+
const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
|
|
3787
3787
|
__name: "SearchBoxSuggestionsWrapper",
|
|
3788
3788
|
props: {
|
|
3789
3789
|
panel: {},
|
|
@@ -3825,7 +3825,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
|
3825
3825
|
const getSuggestionsDebounced = debounce$1(getSuggestions, props.debounce);
|
|
3826
3826
|
vue.watch(() => props.panel.limit, getSuggestionsDebounced);
|
|
3827
3827
|
return (_ctx, _cache) => {
|
|
3828
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3828
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1j, {
|
|
3829
3829
|
items: searchResult.value,
|
|
3830
3830
|
highlight: _ctx.panel.highlight,
|
|
3831
3831
|
queryKey: _ctx.panel.queryKey,
|
|
@@ -12949,9 +12949,9 @@ const replaceImageWithPlaceholder = (e2, placeholder) => {
|
|
|
12949
12949
|
targetImage.src = placeholder;
|
|
12950
12950
|
}
|
|
12951
12951
|
};
|
|
12952
|
-
const _hoisted_1$
|
|
12952
|
+
const _hoisted_1$18 = ["src"];
|
|
12953
12953
|
const _hoisted_2$P = ["src"];
|
|
12954
|
-
const _sfc_main$
|
|
12954
|
+
const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
|
|
12955
12955
|
__name: "ProductImage",
|
|
12956
12956
|
props: {
|
|
12957
12957
|
item: {},
|
|
@@ -13093,7 +13093,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
13093
13093
|
}, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
|
|
13094
13094
|
onError: replaceWithPlaceholder,
|
|
13095
13095
|
key: finalUrl.value
|
|
13096
|
-
}), null, 16, _hoisted_1$
|
|
13096
|
+
}), null, 16, _hoisted_1$18))
|
|
13097
13097
|
]),
|
|
13098
13098
|
_: 1
|
|
13099
13099
|
})) : (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
|
|
@@ -13106,7 +13106,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
13106
13106
|
};
|
|
13107
13107
|
}
|
|
13108
13108
|
});
|
|
13109
|
-
const _sfc_main$
|
|
13109
|
+
const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
13110
13110
|
__name: "SearchBoxProductImage",
|
|
13111
13111
|
props: {
|
|
13112
13112
|
item: {},
|
|
@@ -13114,7 +13114,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
13114
13114
|
},
|
|
13115
13115
|
setup(__props) {
|
|
13116
13116
|
return (_ctx, _cache) => {
|
|
13117
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13117
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1h, {
|
|
13118
13118
|
item: _ctx.item,
|
|
13119
13119
|
options: _ctx.options,
|
|
13120
13120
|
"wrapper-class": "lupa-search-box-image-wrapper",
|
|
@@ -13123,12 +13123,12 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
|
13123
13123
|
};
|
|
13124
13124
|
}
|
|
13125
13125
|
});
|
|
13126
|
-
const _hoisted_1$
|
|
13126
|
+
const _hoisted_1$17 = ["innerHTML"];
|
|
13127
13127
|
const _hoisted_2$O = {
|
|
13128
13128
|
key: 1,
|
|
13129
13129
|
class: "lupa-search-box-product-title"
|
|
13130
13130
|
};
|
|
13131
|
-
const _sfc_main$
|
|
13131
|
+
const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
13132
13132
|
__name: "SearchBoxProductTitle",
|
|
13133
13133
|
props: {
|
|
13134
13134
|
item: {},
|
|
@@ -13151,18 +13151,18 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
|
13151
13151
|
key: 0,
|
|
13152
13152
|
class: "lupa-search-box-product-title",
|
|
13153
13153
|
innerHTML: sanitizedTitle.value
|
|
13154
|
-
}, null, 8, _hoisted_1$
|
|
13154
|
+
}, null, 8, _hoisted_1$17)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, [
|
|
13155
13155
|
vue.createElementVNode("strong", null, vue.toDisplayString(title.value), 1)
|
|
13156
13156
|
]));
|
|
13157
13157
|
};
|
|
13158
13158
|
}
|
|
13159
13159
|
});
|
|
13160
|
-
const _hoisted_1$
|
|
13160
|
+
const _hoisted_1$16 = ["innerHTML"];
|
|
13161
13161
|
const _hoisted_2$N = {
|
|
13162
13162
|
key: 1,
|
|
13163
13163
|
class: "lupa-search-box-product-description"
|
|
13164
13164
|
};
|
|
13165
|
-
const _sfc_main$
|
|
13165
|
+
const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
|
|
13166
13166
|
__name: "SearchBoxProductDescription",
|
|
13167
13167
|
props: {
|
|
13168
13168
|
item: {},
|
|
@@ -13185,12 +13185,12 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
|
13185
13185
|
key: 0,
|
|
13186
13186
|
class: "lupa-search-box-product-description",
|
|
13187
13187
|
innerHTML: sanitizedDescription.value
|
|
13188
|
-
}, null, 8, _hoisted_1$
|
|
13188
|
+
}, null, 8, _hoisted_1$16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, vue.toDisplayString(description.value), 1));
|
|
13189
13189
|
};
|
|
13190
13190
|
}
|
|
13191
13191
|
});
|
|
13192
|
-
const _hoisted_1$
|
|
13193
|
-
const _sfc_main$
|
|
13192
|
+
const _hoisted_1$15 = { class: "lupa-search-box-product-price" };
|
|
13193
|
+
const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
|
|
13194
13194
|
__name: "SearchBoxProductPrice",
|
|
13195
13195
|
props: {
|
|
13196
13196
|
item: {},
|
|
@@ -13208,13 +13208,13 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
|
13208
13208
|
);
|
|
13209
13209
|
});
|
|
13210
13210
|
return (_ctx, _cache) => {
|
|
13211
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13211
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, [
|
|
13212
13212
|
vue.createElementVNode("strong", null, vue.toDisplayString(price.value), 1)
|
|
13213
13213
|
]);
|
|
13214
13214
|
};
|
|
13215
13215
|
}
|
|
13216
13216
|
});
|
|
13217
|
-
const _sfc_main$
|
|
13217
|
+
const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
|
|
13218
13218
|
__name: "SearchBoxProductRegularPrice",
|
|
13219
13219
|
props: {
|
|
13220
13220
|
item: {},
|
|
@@ -13241,12 +13241,12 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
|
|
|
13241
13241
|
};
|
|
13242
13242
|
}
|
|
13243
13243
|
});
|
|
13244
|
-
const _hoisted_1$
|
|
13244
|
+
const _hoisted_1$14 = ["innerHTML"];
|
|
13245
13245
|
const _hoisted_2$M = { key: 0 };
|
|
13246
13246
|
const _hoisted_3$z = { key: 1 };
|
|
13247
13247
|
const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
|
|
13248
|
-
const _hoisted_5$
|
|
13249
|
-
const _sfc_main$
|
|
13248
|
+
const _hoisted_5$g = { class: "lupa-search-box-custom-text" };
|
|
13249
|
+
const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
13250
13250
|
__name: "SearchBoxProductCustom",
|
|
13251
13251
|
props: {
|
|
13252
13252
|
item: {},
|
|
@@ -13272,20 +13272,20 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13272
13272
|
key: 0,
|
|
13273
13273
|
class: [className.value, "lupa-search-box-product-custom"],
|
|
13274
13274
|
innerHTML: text.value
|
|
13275
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
13275
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$14)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
13276
13276
|
key: 1,
|
|
13277
13277
|
class: [className.value, "lupa-search-box-product-custom"]
|
|
13278
13278
|
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
|
|
13279
13279
|
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$M, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, [
|
|
13280
13280
|
vue.createElementVNode("div", _hoisted_4$q, vue.toDisplayString(label.value), 1),
|
|
13281
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
13281
|
+
vue.createElementVNode("div", _hoisted_5$g, vue.toDisplayString(text.value), 1)
|
|
13282
13282
|
]))
|
|
13283
13283
|
], 16));
|
|
13284
13284
|
};
|
|
13285
13285
|
}
|
|
13286
13286
|
});
|
|
13287
|
-
const _hoisted_1$
|
|
13288
|
-
const _sfc_main$
|
|
13287
|
+
const _hoisted_1$13 = ["innerHTML"];
|
|
13288
|
+
const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
|
|
13289
13289
|
__name: "SearchBoxProductCustomHtml",
|
|
13290
13290
|
props: {
|
|
13291
13291
|
item: {},
|
|
@@ -13310,7 +13310,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13310
13310
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
13311
13311
|
class: className.value,
|
|
13312
13312
|
innerHTML: text.value
|
|
13313
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
13313
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$13);
|
|
13314
13314
|
};
|
|
13315
13315
|
}
|
|
13316
13316
|
});
|
|
@@ -13366,6 +13366,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
|
|
|
13366
13366
|
const layout = vue.ref(ResultsLayoutEnum.GRID);
|
|
13367
13367
|
const loading = vue.ref(false);
|
|
13368
13368
|
const isMobileSidebarVisible = vue.ref(false);
|
|
13369
|
+
const relatedCategoryChildren = vue.ref([]);
|
|
13369
13370
|
const optionsStore = useOptionsStore();
|
|
13370
13371
|
const paramsStore = useParamsStore();
|
|
13371
13372
|
const screenStore = useScreenStore();
|
|
@@ -13507,6 +13508,9 @@ const useSearchResultStore = defineStore("searchResult", () => {
|
|
|
13507
13508
|
const hasExactMatch = items.some((item) => getNormalizedString(item.title) === searchInput);
|
|
13508
13509
|
return hasExactMatch ? items.filter((item) => getNormalizedString(item.title) === searchInput) : items;
|
|
13509
13510
|
};
|
|
13511
|
+
const setRelatedCategoryChildren = (children) => {
|
|
13512
|
+
relatedCategoryChildren.value = [...children];
|
|
13513
|
+
};
|
|
13510
13514
|
return {
|
|
13511
13515
|
isMobileSidebarVisible,
|
|
13512
13516
|
searchResult,
|
|
@@ -13527,6 +13531,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
|
|
|
13527
13531
|
itemRange,
|
|
13528
13532
|
isPageEmpty,
|
|
13529
13533
|
hideFiltersOnExactMatchForKeys,
|
|
13534
|
+
relatedCategoryChildren,
|
|
13530
13535
|
setSidebarState,
|
|
13531
13536
|
queryFacet,
|
|
13532
13537
|
add,
|
|
@@ -13535,13 +13540,14 @@ const useSearchResultStore = defineStore("searchResult", () => {
|
|
|
13535
13540
|
setLayout,
|
|
13536
13541
|
setLoading,
|
|
13537
13542
|
clearSearchResult,
|
|
13538
|
-
filterVisibleFilterValues
|
|
13543
|
+
filterVisibleFilterValues,
|
|
13544
|
+
setRelatedCategoryChildren
|
|
13539
13545
|
};
|
|
13540
13546
|
});
|
|
13541
|
-
const _hoisted_1$
|
|
13547
|
+
const _hoisted_1$12 = { class: "lupa-search-box-add-to-cart-wrapper" };
|
|
13542
13548
|
const _hoisted_2$L = { class: "lupa-search-box-product-addtocart" };
|
|
13543
13549
|
const _hoisted_3$y = ["onClick", "disabled"];
|
|
13544
|
-
const _sfc_main$
|
|
13550
|
+
const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
13545
13551
|
__name: "SearchBoxProductAddToCart",
|
|
13546
13552
|
props: {
|
|
13547
13553
|
item: {},
|
|
@@ -13574,7 +13580,7 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13574
13580
|
loading.value = false;
|
|
13575
13581
|
});
|
|
13576
13582
|
return (_ctx, _cache) => {
|
|
13577
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13583
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
|
|
13578
13584
|
vue.createElementVNode("div", _hoisted_2$L, [
|
|
13579
13585
|
vue.createElementVNode("button", {
|
|
13580
13586
|
onClick: vue.withModifiers(handleClick, ["stop", "prevent"]),
|
|
@@ -13588,23 +13594,23 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13588
13594
|
};
|
|
13589
13595
|
}
|
|
13590
13596
|
});
|
|
13591
|
-
const _hoisted_1$
|
|
13597
|
+
const _hoisted_1$11 = {
|
|
13592
13598
|
key: 1,
|
|
13593
13599
|
class: "lupa-search-box-element-badge-wrapper"
|
|
13594
13600
|
};
|
|
13595
13601
|
const __default__$4 = {
|
|
13596
13602
|
components: {
|
|
13597
|
-
SearchBoxProductImage: _sfc_main$
|
|
13598
|
-
SearchBoxProductTitle: _sfc_main$
|
|
13599
|
-
SearchBoxProductDescription: _sfc_main$
|
|
13600
|
-
SearchBoxProductPrice: _sfc_main$
|
|
13601
|
-
SearchBoxProductRegularPrice: _sfc_main$
|
|
13602
|
-
SearchBoxProductCustom: _sfc_main$
|
|
13603
|
-
SearchBoxProductCustomHtml: _sfc_main$
|
|
13604
|
-
SearchBoxProductAddToCart: _sfc_main$
|
|
13603
|
+
SearchBoxProductImage: _sfc_main$1g,
|
|
13604
|
+
SearchBoxProductTitle: _sfc_main$1f,
|
|
13605
|
+
SearchBoxProductDescription: _sfc_main$1e,
|
|
13606
|
+
SearchBoxProductPrice: _sfc_main$1d,
|
|
13607
|
+
SearchBoxProductRegularPrice: _sfc_main$1c,
|
|
13608
|
+
SearchBoxProductCustom: _sfc_main$1b,
|
|
13609
|
+
SearchBoxProductCustomHtml: _sfc_main$1a,
|
|
13610
|
+
SearchBoxProductAddToCart: _sfc_main$19
|
|
13605
13611
|
}
|
|
13606
13612
|
};
|
|
13607
|
-
const _sfc_main$
|
|
13613
|
+
const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
|
|
13608
13614
|
__name: "SearchBoxProductElement",
|
|
13609
13615
|
props: {
|
|
13610
13616
|
item: {},
|
|
@@ -13667,7 +13673,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13667
13673
|
class: vue.normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) }),
|
|
13668
13674
|
inStock: _ctx.isInStock
|
|
13669
13675
|
}, null, 8, ["item", "options", "labels", "class", "inStock"])) : vue.createCommentVNode("", true)
|
|
13670
|
-
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13676
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
|
|
13671
13677
|
displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
|
|
13672
13678
|
key: 0,
|
|
13673
13679
|
item: enhancedItem.value,
|
|
@@ -13681,14 +13687,14 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13681
13687
|
};
|
|
13682
13688
|
}
|
|
13683
13689
|
}));
|
|
13684
|
-
const _hoisted_1
|
|
13690
|
+
const _hoisted_1$10 = { class: "lupa-badge-title" };
|
|
13685
13691
|
const _hoisted_2$K = ["src"];
|
|
13686
13692
|
const _hoisted_3$x = { key: 1 };
|
|
13687
13693
|
const _hoisted_4$p = {
|
|
13688
13694
|
key: 0,
|
|
13689
13695
|
class: "lupa-badge-full-text"
|
|
13690
13696
|
};
|
|
13691
|
-
const _sfc_main$
|
|
13697
|
+
const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
13692
13698
|
__name: "SearchResultGeneratedBadge",
|
|
13693
13699
|
props: {
|
|
13694
13700
|
options: {},
|
|
@@ -13721,7 +13727,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13721
13727
|
class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
|
|
13722
13728
|
style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
|
|
13723
13729
|
}, [
|
|
13724
|
-
vue.createElementVNode("span", _hoisted_1
|
|
13730
|
+
vue.createElementVNode("span", _hoisted_1$10, [
|
|
13725
13731
|
image.value ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
13726
13732
|
key: 0,
|
|
13727
13733
|
src: image.value
|
|
@@ -13733,8 +13739,8 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13733
13739
|
};
|
|
13734
13740
|
}
|
|
13735
13741
|
});
|
|
13736
|
-
const _hoisted_1
|
|
13737
|
-
const _sfc_main$
|
|
13742
|
+
const _hoisted_1$$ = { class: "lupa-generated-badges" };
|
|
13743
|
+
const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
13738
13744
|
__name: "SearchResultGeneratedBadges",
|
|
13739
13745
|
props: {
|
|
13740
13746
|
options: {}
|
|
@@ -13760,9 +13766,9 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13760
13766
|
})).filter((b) => Boolean(b.id));
|
|
13761
13767
|
});
|
|
13762
13768
|
return (_ctx, _cache) => {
|
|
13763
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1
|
|
13769
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$$, [
|
|
13764
13770
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
|
|
13765
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13771
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$17, {
|
|
13766
13772
|
key: badge.id,
|
|
13767
13773
|
badge,
|
|
13768
13774
|
options: _ctx.options
|
|
@@ -13772,8 +13778,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13772
13778
|
};
|
|
13773
13779
|
}
|
|
13774
13780
|
});
|
|
13775
|
-
const _hoisted_1$
|
|
13776
|
-
const _sfc_main$
|
|
13781
|
+
const _hoisted_1$_ = ["innerHTML"];
|
|
13782
|
+
const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
13777
13783
|
__name: "CustomBadge",
|
|
13778
13784
|
props: {
|
|
13779
13785
|
badge: {}
|
|
@@ -13794,12 +13800,12 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13794
13800
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13795
13801
|
class: vue.normalizeClass(className.value),
|
|
13796
13802
|
innerHTML: text.value
|
|
13797
|
-
}, null, 10, _hoisted_1$
|
|
13803
|
+
}, null, 10, _hoisted_1$_);
|
|
13798
13804
|
};
|
|
13799
13805
|
}
|
|
13800
13806
|
});
|
|
13801
|
-
const _hoisted_1$
|
|
13802
|
-
const _sfc_main$
|
|
13807
|
+
const _hoisted_1$Z = { class: "lupa-text-badges" };
|
|
13808
|
+
const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
13803
13809
|
__name: "TextBadge",
|
|
13804
13810
|
props: {
|
|
13805
13811
|
badge: {}
|
|
@@ -13814,7 +13820,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13814
13820
|
return badges.value.slice(0, props.badge.maxItems);
|
|
13815
13821
|
});
|
|
13816
13822
|
return (_ctx, _cache) => {
|
|
13817
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13823
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
|
|
13818
13824
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
13819
13825
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13820
13826
|
class: "lupa-badge lupa-text-badge",
|
|
@@ -13825,9 +13831,9 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13825
13831
|
};
|
|
13826
13832
|
}
|
|
13827
13833
|
});
|
|
13828
|
-
const _hoisted_1$
|
|
13834
|
+
const _hoisted_1$Y = { class: "lupa-image-badges" };
|
|
13829
13835
|
const _hoisted_2$J = ["src"];
|
|
13830
|
-
const _sfc_main$
|
|
13836
|
+
const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
13831
13837
|
__name: "ImageBadge",
|
|
13832
13838
|
props: {
|
|
13833
13839
|
badge: {}
|
|
@@ -13847,7 +13853,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13847
13853
|
return `${props.badge.rootImageUrl}${src}`;
|
|
13848
13854
|
};
|
|
13849
13855
|
return (_ctx, _cache) => {
|
|
13850
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13856
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Y, [
|
|
13851
13857
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
13852
13858
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13853
13859
|
class: "lupa-badge lupa-image-badge",
|
|
@@ -13862,15 +13868,15 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13862
13868
|
};
|
|
13863
13869
|
}
|
|
13864
13870
|
});
|
|
13865
|
-
const _hoisted_1$
|
|
13871
|
+
const _hoisted_1$X = { id: "lupa-search-results-badges" };
|
|
13866
13872
|
const __default__$3 = {
|
|
13867
13873
|
components: {
|
|
13868
|
-
CustomBadge: _sfc_main$
|
|
13869
|
-
TextBadge: _sfc_main$
|
|
13870
|
-
ImageBadge: _sfc_main$
|
|
13874
|
+
CustomBadge: _sfc_main$15,
|
|
13875
|
+
TextBadge: _sfc_main$14,
|
|
13876
|
+
ImageBadge: _sfc_main$13
|
|
13871
13877
|
}
|
|
13872
13878
|
};
|
|
13873
|
-
const _sfc_main$
|
|
13879
|
+
const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
|
|
13874
13880
|
__name: "SearchResultsBadgeWrapper",
|
|
13875
13881
|
props: {
|
|
13876
13882
|
position: {},
|
|
@@ -13931,7 +13937,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13931
13937
|
}
|
|
13932
13938
|
};
|
|
13933
13939
|
return (_ctx, _cache) => {
|
|
13934
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13940
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
|
|
13935
13941
|
vue.createElementVNode("div", {
|
|
13936
13942
|
id: "lupa-badges",
|
|
13937
13943
|
class: vue.normalizeClass(anchorPosition.value)
|
|
@@ -13942,7 +13948,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13942
13948
|
badge
|
|
13943
13949
|
}, null, 8, ["badge"]);
|
|
13944
13950
|
}), 128)),
|
|
13945
|
-
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13951
|
+
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$16, {
|
|
13946
13952
|
key: 0,
|
|
13947
13953
|
options: _ctx.options
|
|
13948
13954
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true)
|
|
@@ -13951,13 +13957,13 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13951
13957
|
};
|
|
13952
13958
|
}
|
|
13953
13959
|
}));
|
|
13954
|
-
const _hoisted_1$
|
|
13960
|
+
const _hoisted_1$W = ["href"];
|
|
13955
13961
|
const _hoisted_2$I = { class: "lupa-search-box-product-details-section" };
|
|
13956
13962
|
const _hoisted_3$w = {
|
|
13957
13963
|
key: 0,
|
|
13958
13964
|
class: "lupa-search-box-product-add-to-cart-section"
|
|
13959
13965
|
};
|
|
13960
|
-
const _sfc_main
|
|
13966
|
+
const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
13961
13967
|
__name: "SearchBoxProduct",
|
|
13962
13968
|
props: {
|
|
13963
13969
|
item: {},
|
|
@@ -14043,7 +14049,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14043
14049
|
style: vue.normalizeStyle(imageStyleOverride.value)
|
|
14044
14050
|
}, [
|
|
14045
14051
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
|
|
14046
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14052
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$18, {
|
|
14047
14053
|
class: "lupa-search-box-product-element",
|
|
14048
14054
|
item: _ctx.item,
|
|
14049
14055
|
element,
|
|
@@ -14056,7 +14062,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14056
14062
|
vue.createElementVNode("div", _hoisted_2$I, [
|
|
14057
14063
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
|
|
14058
14064
|
var _a;
|
|
14059
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14065
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$18, {
|
|
14060
14066
|
key: element.key,
|
|
14061
14067
|
class: "lupa-search-box-product-element",
|
|
14062
14068
|
item: _ctx.item,
|
|
@@ -14067,7 +14073,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14067
14073
|
badgeOptions.value && ((_a = badgeOptions.value) == null ? void 0 : _a.anchorElementKey) === element.key ? {
|
|
14068
14074
|
name: "badges",
|
|
14069
14075
|
fn: vue.withCtx(() => [
|
|
14070
|
-
vue.createVNode(_sfc_main$
|
|
14076
|
+
vue.createVNode(_sfc_main$12, {
|
|
14071
14077
|
options: badgeOptions.value,
|
|
14072
14078
|
position: "card"
|
|
14073
14079
|
}, null, 8, ["options"])
|
|
@@ -14078,7 +14084,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14078
14084
|
}), 128))
|
|
14079
14085
|
]),
|
|
14080
14086
|
addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
|
|
14081
|
-
vue.createVNode(_sfc_main$
|
|
14087
|
+
vue.createVNode(_sfc_main$18, {
|
|
14082
14088
|
class: "lupa-search-box-product-element",
|
|
14083
14089
|
item: _ctx.item,
|
|
14084
14090
|
element: addToCartElement.value,
|
|
@@ -14087,7 +14093,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14087
14093
|
isInStock: isInStock.value
|
|
14088
14094
|
}, null, 8, ["item", "element", "labels", "link", "isInStock"])
|
|
14089
14095
|
])) : vue.createCommentVNode("", true)
|
|
14090
|
-
], 16, _hoisted_1$
|
|
14096
|
+
], 16, _hoisted_1$W);
|
|
14091
14097
|
};
|
|
14092
14098
|
}
|
|
14093
14099
|
});
|
|
@@ -14148,8 +14154,8 @@ const useTrackingStore = defineStore("tracking", () => {
|
|
|
14148
14154
|
};
|
|
14149
14155
|
return { trackSearch, trackResults, trackEvent };
|
|
14150
14156
|
});
|
|
14151
|
-
const _hoisted_1$
|
|
14152
|
-
const _sfc_main$
|
|
14157
|
+
const _hoisted_1$V = { id: "lupa-search-box-products" };
|
|
14158
|
+
const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
|
|
14153
14159
|
__name: "SearchBoxProducts",
|
|
14154
14160
|
props: {
|
|
14155
14161
|
items: {},
|
|
@@ -14210,7 +14216,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14210
14216
|
handleRoutingEvent(link, event, boxRoutingBehavior.value === "event");
|
|
14211
14217
|
};
|
|
14212
14218
|
return (_ctx, _cache) => {
|
|
14213
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14219
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
|
|
14214
14220
|
_ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.items, (item, index) => {
|
|
14215
14221
|
return vue.renderSlot(_ctx.$slots, "productCard", {
|
|
14216
14222
|
key: index,
|
|
@@ -14222,7 +14228,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14222
14228
|
itemClicked: handleProductClick
|
|
14223
14229
|
});
|
|
14224
14230
|
}), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.items, (item, index) => {
|
|
14225
|
-
return vue.openBlock(), vue.createBlock(_sfc_main
|
|
14231
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$11, {
|
|
14226
14232
|
key: index,
|
|
14227
14233
|
item,
|
|
14228
14234
|
panelOptions: _ctx.panelOptions,
|
|
@@ -14237,9 +14243,9 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14237
14243
|
};
|
|
14238
14244
|
}
|
|
14239
14245
|
});
|
|
14240
|
-
const _hoisted_1$
|
|
14246
|
+
const _hoisted_1$U = { class: "lupa-search-box-documents-go-to-results-wrapper" };
|
|
14241
14247
|
const _hoisted_2$H = { key: 0 };
|
|
14242
|
-
const _sfc_main
|
|
14248
|
+
const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
14243
14249
|
__name: "SearchBoxProductsGoToResultsButton",
|
|
14244
14250
|
props: {
|
|
14245
14251
|
options: {},
|
|
@@ -14269,7 +14275,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
|
14269
14275
|
emit("goToResults");
|
|
14270
14276
|
};
|
|
14271
14277
|
return (_ctx, _cache) => {
|
|
14272
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14278
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
|
|
14273
14279
|
vue.createElementVNode("button", {
|
|
14274
14280
|
class: "lupa-search-box-documents-go-to-results-button",
|
|
14275
14281
|
onClick: goToResults
|
|
@@ -14281,7 +14287,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
|
14281
14287
|
};
|
|
14282
14288
|
}
|
|
14283
14289
|
});
|
|
14284
|
-
const _sfc_main$
|
|
14290
|
+
const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
14285
14291
|
__name: "SearchBoxProductsWrapper",
|
|
14286
14292
|
props: {
|
|
14287
14293
|
panel: {},
|
|
@@ -14338,7 +14344,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
14338
14344
|
vue.watch(() => props.panel.limit, getItemsDebounced);
|
|
14339
14345
|
return (_ctx, _cache) => {
|
|
14340
14346
|
var _a, _b;
|
|
14341
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14347
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$10, {
|
|
14342
14348
|
items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
|
|
14343
14349
|
panelOptions: _ctx.panel,
|
|
14344
14350
|
labels: _ctx.labels,
|
|
@@ -14348,7 +14354,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
14348
14354
|
default: vue.withCtx(() => {
|
|
14349
14355
|
var _a2;
|
|
14350
14356
|
return [
|
|
14351
|
-
showGoToResultsButton.value && ((_a2 = searchResult.value) == null ? void 0 : _a2.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main
|
|
14357
|
+
showGoToResultsButton.value && ((_a2 = searchResult.value) == null ? void 0 : _a2.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$$, {
|
|
14352
14358
|
key: 0,
|
|
14353
14359
|
options: _ctx.searchBoxOptions,
|
|
14354
14360
|
panel: _ctx.panel,
|
|
@@ -14369,7 +14375,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
14369
14375
|
};
|
|
14370
14376
|
}
|
|
14371
14377
|
});
|
|
14372
|
-
const _sfc_main$
|
|
14378
|
+
const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
14373
14379
|
__name: "SearchBoxRelatedSourceWrapper",
|
|
14374
14380
|
props: {
|
|
14375
14381
|
panel: {},
|
|
@@ -14441,7 +14447,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
14441
14447
|
});
|
|
14442
14448
|
return (_ctx, _cache) => {
|
|
14443
14449
|
var _a, _b;
|
|
14444
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14450
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$10, {
|
|
14445
14451
|
items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
|
|
14446
14452
|
panelOptions: documentPanelOptions.value,
|
|
14447
14453
|
labels: _ctx.labels,
|
|
@@ -14459,7 +14465,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
14459
14465
|
};
|
|
14460
14466
|
}
|
|
14461
14467
|
});
|
|
14462
|
-
const _hoisted_1$
|
|
14468
|
+
const _hoisted_1$T = {
|
|
14463
14469
|
key: 0,
|
|
14464
14470
|
id: "lupa-search-box-panel"
|
|
14465
14471
|
};
|
|
@@ -14472,18 +14478,18 @@ const _hoisted_4$o = {
|
|
|
14472
14478
|
key: 1,
|
|
14473
14479
|
class: "lupa-panel-title"
|
|
14474
14480
|
};
|
|
14475
|
-
const _hoisted_5$
|
|
14481
|
+
const _hoisted_5$f = {
|
|
14476
14482
|
key: 1,
|
|
14477
14483
|
id: "lupa-search-box-panel"
|
|
14478
14484
|
};
|
|
14479
14485
|
const __default__$2 = {
|
|
14480
14486
|
components: {
|
|
14481
|
-
SearchBoxSuggestionsWrapper: _sfc_main$
|
|
14482
|
-
SearchBoxProductsWrapper: _sfc_main$
|
|
14483
|
-
SearchBoxRelatedSourceWrapper: _sfc_main$
|
|
14487
|
+
SearchBoxSuggestionsWrapper: _sfc_main$1i,
|
|
14488
|
+
SearchBoxProductsWrapper: _sfc_main$_,
|
|
14489
|
+
SearchBoxRelatedSourceWrapper: _sfc_main$Z
|
|
14484
14490
|
}
|
|
14485
14491
|
};
|
|
14486
|
-
const _sfc_main$
|
|
14492
|
+
const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
|
|
14487
14493
|
__name: "SearchBoxMainPanel",
|
|
14488
14494
|
props: {
|
|
14489
14495
|
options: {},
|
|
@@ -14639,7 +14645,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
14639
14645
|
ref_key: "panelContainer",
|
|
14640
14646
|
ref: panelContainer
|
|
14641
14647
|
}, [
|
|
14642
|
-
displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14648
|
+
displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
|
|
14643
14649
|
labels.value.closePanel ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
14644
14650
|
key: 0,
|
|
14645
14651
|
class: "lupa-search-box-close-panel",
|
|
@@ -14687,18 +14693,18 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
14687
14693
|
], 14, _hoisted_2$G);
|
|
14688
14694
|
}), 128))
|
|
14689
14695
|
], 4),
|
|
14690
|
-
!vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14696
|
+
!vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$1l, {
|
|
14691
14697
|
key: 1,
|
|
14692
14698
|
labels: labels.value
|
|
14693
14699
|
}, null, 8, ["labels"])) : vue.createCommentVNode("", true),
|
|
14694
|
-
vue.unref(hasAnyResults) || !_ctx.options.hideMoreResultsButtonOnNoResults ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14700
|
+
vue.unref(hasAnyResults) || !_ctx.options.hideMoreResultsButtonOnNoResults ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
|
|
14695
14701
|
key: 2,
|
|
14696
14702
|
labels: labels.value,
|
|
14697
14703
|
showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
|
|
14698
14704
|
onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
|
|
14699
14705
|
}, null, 8, ["labels", "showTotalCount"])) : vue.createCommentVNode("", true)
|
|
14700
|
-
])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
14701
|
-
vue.createVNode(_sfc_main$
|
|
14706
|
+
])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$f, [
|
|
14707
|
+
vue.createVNode(_sfc_main$1m, {
|
|
14702
14708
|
options: _ctx.options.history,
|
|
14703
14709
|
history: history.value,
|
|
14704
14710
|
onGoToResults: handleGoToResults,
|
|
@@ -14723,9 +14729,9 @@ const unbindSearchTriggers = (triggers = [], event) => {
|
|
|
14723
14729
|
const elements = getElements(triggers);
|
|
14724
14730
|
elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
|
|
14725
14731
|
};
|
|
14726
|
-
const _hoisted_1$
|
|
14732
|
+
const _hoisted_1$S = { id: "lupa-search-box" };
|
|
14727
14733
|
const _hoisted_2$F = { class: "lupa-search-box-wrapper" };
|
|
14728
|
-
const _sfc_main$
|
|
14734
|
+
const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
14729
14735
|
__name: "SearchBox",
|
|
14730
14736
|
props: {
|
|
14731
14737
|
options: {},
|
|
@@ -14985,9 +14991,9 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
14985
14991
|
};
|
|
14986
14992
|
return (_ctx, _cache) => {
|
|
14987
14993
|
var _a2;
|
|
14988
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14994
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
|
|
14989
14995
|
vue.createElementVNode("div", _hoisted_2$F, [
|
|
14990
|
-
vue.createVNode(_sfc_main$
|
|
14996
|
+
vue.createVNode(_sfc_main$1p, {
|
|
14991
14997
|
options: inputOptions.value,
|
|
14992
14998
|
suggestedValue: suggestedValue.value,
|
|
14993
14999
|
"can-close": (_a2 = _ctx.isSearchContainer) != null ? _a2 : false,
|
|
@@ -15000,7 +15006,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
15000
15006
|
onSearch: handleSearch,
|
|
15001
15007
|
onClose: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("close"))
|
|
15002
15008
|
}, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
|
|
15003
|
-
opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15009
|
+
opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$Y, {
|
|
15004
15010
|
key: 0,
|
|
15005
15011
|
options: panelOptions.value,
|
|
15006
15012
|
inputValue: inputValue.value,
|
|
@@ -15105,7 +15111,7 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
|
|
|
15105
15111
|
options.options.onError(e2);
|
|
15106
15112
|
}
|
|
15107
15113
|
});
|
|
15108
|
-
const _hoisted_1$
|
|
15114
|
+
const _hoisted_1$R = {
|
|
15109
15115
|
key: 0,
|
|
15110
15116
|
id: "lupa-search-results-did-you-mean"
|
|
15111
15117
|
};
|
|
@@ -15118,7 +15124,7 @@ const _hoisted_3$u = {
|
|
|
15118
15124
|
"data-cy": "did-you-mean-label"
|
|
15119
15125
|
};
|
|
15120
15126
|
const _hoisted_4$n = { key: 1 };
|
|
15121
|
-
const _sfc_main$
|
|
15127
|
+
const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
|
|
15122
15128
|
__name: "SearchResultsDidYouMean",
|
|
15123
15129
|
props: {
|
|
15124
15130
|
labels: {}
|
|
@@ -15150,7 +15156,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
15150
15156
|
paramStore.goToResults({ searchText, facet });
|
|
15151
15157
|
};
|
|
15152
15158
|
return (_ctx, _cache) => {
|
|
15153
|
-
return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15159
|
+
return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$R, [
|
|
15154
15160
|
vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$E, [
|
|
15155
15161
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
|
|
15156
15162
|
return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
|
|
@@ -15176,12 +15182,12 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
15176
15182
|
};
|
|
15177
15183
|
}
|
|
15178
15184
|
});
|
|
15179
|
-
const _hoisted_1$
|
|
15185
|
+
const _hoisted_1$Q = {
|
|
15180
15186
|
key: 0,
|
|
15181
15187
|
class: "lupa-search-results-summary"
|
|
15182
15188
|
};
|
|
15183
15189
|
const _hoisted_2$D = ["innerHTML"];
|
|
15184
|
-
const _sfc_main$
|
|
15190
|
+
const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
15185
15191
|
__name: "SearchResultsSummary",
|
|
15186
15192
|
props: {
|
|
15187
15193
|
label: {},
|
|
@@ -15196,7 +15202,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15196
15202
|
return addParamsToLabel(props.label, range, `<span>${totalItems.value}</span>`);
|
|
15197
15203
|
});
|
|
15198
15204
|
return (_ctx, _cache) => {
|
|
15199
|
-
return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15205
|
+
return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
|
|
15200
15206
|
vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$D),
|
|
15201
15207
|
_ctx.clearable ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
15202
15208
|
key: 0,
|
|
@@ -15208,7 +15214,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15208
15214
|
};
|
|
15209
15215
|
}
|
|
15210
15216
|
});
|
|
15211
|
-
const _hoisted_1$
|
|
15217
|
+
const _hoisted_1$P = {
|
|
15212
15218
|
key: 0,
|
|
15213
15219
|
class: "lupa-result-page-title",
|
|
15214
15220
|
"data-cy": "lupa-result-page-title"
|
|
@@ -15219,8 +15225,8 @@ const _hoisted_3$t = {
|
|
|
15219
15225
|
class: "lupa-results-total-count"
|
|
15220
15226
|
};
|
|
15221
15227
|
const _hoisted_4$m = { class: "lupa-results-total-count-number" };
|
|
15222
|
-
const _hoisted_5$
|
|
15223
|
-
const _sfc_main$
|
|
15228
|
+
const _hoisted_5$e = ["innerHTML"];
|
|
15229
|
+
const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
15224
15230
|
__name: "SearchResultsTitle",
|
|
15225
15231
|
props: {
|
|
15226
15232
|
options: {},
|
|
@@ -15259,7 +15265,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
15259
15265
|
});
|
|
15260
15266
|
return (_ctx, _cache) => {
|
|
15261
15267
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
15262
|
-
showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$
|
|
15268
|
+
showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$P, [
|
|
15263
15269
|
vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.searchResults), 1),
|
|
15264
15270
|
queryText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$C, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
|
|
15265
15271
|
showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$t, [
|
|
@@ -15268,7 +15274,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
15268
15274
|
vue.createTextVNode(")")
|
|
15269
15275
|
])) : vue.createCommentVNode("", true)
|
|
15270
15276
|
])) : vue.createCommentVNode("", true),
|
|
15271
|
-
_ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15277
|
+
_ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
|
|
15272
15278
|
key: 1,
|
|
15273
15279
|
label: summaryLabel.value
|
|
15274
15280
|
}, null, 8, ["label"])) : vue.createCommentVNode("", true),
|
|
@@ -15276,12 +15282,12 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
15276
15282
|
key: 2,
|
|
15277
15283
|
class: "lupa-result-page-description-top",
|
|
15278
15284
|
innerHTML: descriptionTop.value
|
|
15279
|
-
}, null, 8, _hoisted_5$
|
|
15285
|
+
}, null, 8, _hoisted_5$e)) : vue.createCommentVNode("", true)
|
|
15280
15286
|
]);
|
|
15281
15287
|
};
|
|
15282
15288
|
}
|
|
15283
15289
|
});
|
|
15284
|
-
const _hoisted_1$
|
|
15290
|
+
const _hoisted_1$O = { class: "lupa-search-result-filter-value" };
|
|
15285
15291
|
const _hoisted_2$B = {
|
|
15286
15292
|
class: "lupa-current-filter-label",
|
|
15287
15293
|
"data-cy": "lupa-current-filter-label"
|
|
@@ -15290,7 +15296,7 @@ const _hoisted_3$s = {
|
|
|
15290
15296
|
class: "lupa-current-filter-value",
|
|
15291
15297
|
"data-cy": "lupa-current-filter-value"
|
|
15292
15298
|
};
|
|
15293
|
-
const _sfc_main$
|
|
15299
|
+
const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
15294
15300
|
__name: "CurrentFilterDisplay",
|
|
15295
15301
|
props: {
|
|
15296
15302
|
filter: {}
|
|
@@ -15302,7 +15308,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
15302
15308
|
emit("remove", { filter: props.filter });
|
|
15303
15309
|
};
|
|
15304
15310
|
return (_ctx, _cache) => {
|
|
15305
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15311
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
|
|
15306
15312
|
vue.createElementVNode("div", {
|
|
15307
15313
|
class: "lupa-current-filter-action",
|
|
15308
15314
|
onClick: handleClick
|
|
@@ -15313,7 +15319,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
15313
15319
|
};
|
|
15314
15320
|
}
|
|
15315
15321
|
});
|
|
15316
|
-
const _hoisted_1$
|
|
15322
|
+
const _hoisted_1$N = { class: "lupa-filter-title-text" };
|
|
15317
15323
|
const _hoisted_2$A = {
|
|
15318
15324
|
key: 0,
|
|
15319
15325
|
class: "lupa-filter-count"
|
|
@@ -15323,7 +15329,7 @@ const _hoisted_3$r = {
|
|
|
15323
15329
|
class: "filter-values"
|
|
15324
15330
|
};
|
|
15325
15331
|
const _hoisted_4$l = { class: "lupa-current-filter-list" };
|
|
15326
|
-
const _sfc_main$
|
|
15332
|
+
const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
15327
15333
|
__name: "CurrentFilters",
|
|
15328
15334
|
props: {
|
|
15329
15335
|
options: {},
|
|
@@ -15396,7 +15402,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
15396
15402
|
class: "lupa-current-filter-title",
|
|
15397
15403
|
onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
|
|
15398
15404
|
}, [
|
|
15399
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
15405
|
+
vue.createElementVNode("div", _hoisted_1$N, [
|
|
15400
15406
|
vue.createTextVNode(vue.toDisplayString((_c = (_b = (_a = _ctx.options) == null ? void 0 : _a.labels) == null ? void 0 : _b.title) != null ? _c : "") + " ", 1),
|
|
15401
15407
|
_ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$A, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
|
|
15402
15408
|
]),
|
|
@@ -15408,7 +15414,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
15408
15414
|
!_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$r, [
|
|
15409
15415
|
vue.createElementVNode("div", _hoisted_4$l, [
|
|
15410
15416
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter2) => {
|
|
15411
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15417
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$T, {
|
|
15412
15418
|
key: filter2.key + "_" + filter2.value,
|
|
15413
15419
|
filter: filter2,
|
|
15414
15420
|
onRemove: handleRemove
|
|
@@ -15425,8 +15431,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
15425
15431
|
};
|
|
15426
15432
|
}
|
|
15427
15433
|
});
|
|
15428
|
-
const _hoisted_1$
|
|
15429
|
-
const _sfc_main$
|
|
15434
|
+
const _hoisted_1$M = ["href"];
|
|
15435
|
+
const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
15430
15436
|
__name: "CategoryFilterItem",
|
|
15431
15437
|
props: {
|
|
15432
15438
|
options: {},
|
|
@@ -15463,20 +15469,20 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
15463
15469
|
"data-cy": "lupa-child-category-item",
|
|
15464
15470
|
href: urlLink.value,
|
|
15465
15471
|
onClick: handleNavigation
|
|
15466
|
-
}, vue.toDisplayString(title.value), 9, _hoisted_1$
|
|
15472
|
+
}, vue.toDisplayString(title.value), 9, _hoisted_1$M)
|
|
15467
15473
|
], 2);
|
|
15468
15474
|
};
|
|
15469
15475
|
}
|
|
15470
15476
|
});
|
|
15471
|
-
const _hoisted_1$
|
|
15477
|
+
const _hoisted_1$L = {
|
|
15472
15478
|
class: "lupa-category-filter",
|
|
15473
15479
|
"data-cy": "lupa-category-filter"
|
|
15474
15480
|
};
|
|
15475
15481
|
const _hoisted_2$z = { class: "lupa-category-back" };
|
|
15476
15482
|
const _hoisted_3$q = ["href"];
|
|
15477
15483
|
const _hoisted_4$k = ["href"];
|
|
15478
|
-
const _hoisted_5$
|
|
15479
|
-
const _sfc_main$
|
|
15484
|
+
const _hoisted_5$d = { class: "lupa-child-category-list" };
|
|
15485
|
+
const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
15480
15486
|
__name: "CategoryFilter",
|
|
15481
15487
|
props: {
|
|
15482
15488
|
options: {}
|
|
@@ -15485,6 +15491,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15485
15491
|
const props = __props;
|
|
15486
15492
|
const categoryChildren = vue.ref([]);
|
|
15487
15493
|
const optionStore = useOptionsStore();
|
|
15494
|
+
const searchResultsStore = useSearchResultStore();
|
|
15488
15495
|
const { envOptions, searchResultOptions } = storeToRefs(optionStore);
|
|
15489
15496
|
const hasBackButton = vue.computed(() => {
|
|
15490
15497
|
var _a;
|
|
@@ -15521,6 +15528,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15521
15528
|
return;
|
|
15522
15529
|
}
|
|
15523
15530
|
categoryChildren.value = result2.items;
|
|
15531
|
+
searchResultsStore.setRelatedCategoryChildren(categoryChildren.value);
|
|
15524
15532
|
(_c = (_b = searchResultOptions.value.callbacks) == null ? void 0 : _b.onCategoryFilterResults) == null ? void 0 : _c.call(_b, {
|
|
15525
15533
|
queryKey: props.options.queryKey,
|
|
15526
15534
|
hasResults: result2.total > 0
|
|
@@ -15562,7 +15570,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15562
15570
|
};
|
|
15563
15571
|
__expose({ fetch: fetch2 });
|
|
15564
15572
|
return (_ctx, _cache) => {
|
|
15565
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15573
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
|
|
15566
15574
|
vue.createElementVNode("div", _hoisted_2$z, [
|
|
15567
15575
|
hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
15568
15576
|
key: 0,
|
|
@@ -15581,9 +15589,9 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15581
15589
|
onClick: handleNavigationParent
|
|
15582
15590
|
}, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$k)
|
|
15583
15591
|
], 2),
|
|
15584
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
15592
|
+
vue.createElementVNode("div", _hoisted_5$d, [
|
|
15585
15593
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
|
|
15586
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15594
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$R, {
|
|
15587
15595
|
key: getCategoryKey(child),
|
|
15588
15596
|
item: child,
|
|
15589
15597
|
options: _ctx.options
|
|
@@ -15594,15 +15602,15 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15594
15602
|
};
|
|
15595
15603
|
}
|
|
15596
15604
|
});
|
|
15597
|
-
const _hoisted_1$
|
|
15605
|
+
const _hoisted_1$K = {
|
|
15598
15606
|
class: "lupa-search-result-facet-term-values",
|
|
15599
15607
|
"data-cy": "lupa-search-result-facet-term-values"
|
|
15600
15608
|
};
|
|
15601
15609
|
const _hoisted_2$y = ["placeholder"];
|
|
15602
15610
|
const _hoisted_3$p = { class: "lupa-terms-list" };
|
|
15603
15611
|
const _hoisted_4$j = ["onClick"];
|
|
15604
|
-
const _hoisted_5$
|
|
15605
|
-
const _hoisted_6$
|
|
15612
|
+
const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
|
|
15613
|
+
const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
|
|
15606
15614
|
const _hoisted_7$6 = { class: "lupa-term-label" };
|
|
15607
15615
|
const _hoisted_8$2 = {
|
|
15608
15616
|
key: 0,
|
|
@@ -15610,7 +15618,7 @@ const _hoisted_8$2 = {
|
|
|
15610
15618
|
};
|
|
15611
15619
|
const _hoisted_9$2 = { key: 0 };
|
|
15612
15620
|
const _hoisted_10$1 = { key: 1 };
|
|
15613
|
-
const _sfc_main$
|
|
15621
|
+
const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
15614
15622
|
__name: "TermFacet",
|
|
15615
15623
|
props: {
|
|
15616
15624
|
options: {},
|
|
@@ -15681,7 +15689,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
15681
15689
|
return selectedItems == null ? void 0 : selectedItems.includes((_b = item.title) == null ? void 0 : _b.toString());
|
|
15682
15690
|
};
|
|
15683
15691
|
return (_ctx, _cache) => {
|
|
15684
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15692
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
|
|
15685
15693
|
isFilterable.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
|
|
15686
15694
|
key: 0,
|
|
15687
15695
|
class: "lupa-term-filter",
|
|
@@ -15699,12 +15707,12 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
15699
15707
|
key: item.title,
|
|
15700
15708
|
onClick: ($event) => handleFacetClick(item)
|
|
15701
15709
|
}, [
|
|
15702
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
15710
|
+
vue.createElementVNode("div", _hoisted_5$c, [
|
|
15703
15711
|
vue.createElementVNode("span", {
|
|
15704
15712
|
class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
|
|
15705
15713
|
}, null, 2)
|
|
15706
15714
|
]),
|
|
15707
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
15715
|
+
vue.createElementVNode("div", _hoisted_6$8, [
|
|
15708
15716
|
vue.createElementVNode("span", _hoisted_7$6, vue.toDisplayString(item.title), 1),
|
|
15709
15717
|
_ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$2, "(" + vue.toDisplayString(item.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
15710
15718
|
])
|
|
@@ -16699,7 +16707,7 @@ var m = { name: "Slider", emits: ["input", "update:modelValue", "start", "slide"
|
|
|
16699
16707
|
m.render = function(e2, t, r, i, n, o) {
|
|
16700
16708
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps(e2.sliderProps, { ref: "slider" }), null, 16);
|
|
16701
16709
|
}, m.__file = "src/Slider.vue";
|
|
16702
|
-
const _hoisted_1$
|
|
16710
|
+
const _hoisted_1$J = { class: "lupa-search-result-facet-stats-values" };
|
|
16703
16711
|
const _hoisted_2$x = {
|
|
16704
16712
|
key: 0,
|
|
16705
16713
|
class: "lupa-stats-facet-summary"
|
|
@@ -16712,8 +16720,8 @@ const _hoisted_4$i = {
|
|
|
16712
16720
|
key: 0,
|
|
16713
16721
|
class: "lupa-stats-range-label"
|
|
16714
16722
|
};
|
|
16715
|
-
const _hoisted_5$
|
|
16716
|
-
const _hoisted_6$
|
|
16723
|
+
const _hoisted_5$b = { class: "lupa-stats-from" };
|
|
16724
|
+
const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
|
|
16717
16725
|
const _hoisted_7$5 = { key: 0 };
|
|
16718
16726
|
const _hoisted_8$1 = /* @__PURE__ */ vue.createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
|
|
16719
16727
|
const _hoisted_9$1 = {
|
|
@@ -16727,7 +16735,7 @@ const _hoisted_13 = {
|
|
|
16727
16735
|
key: 2,
|
|
16728
16736
|
class: "lupa-stats-slider-wrapper"
|
|
16729
16737
|
};
|
|
16730
|
-
const _sfc_main$
|
|
16738
|
+
const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
16731
16739
|
__name: "StatsFacet",
|
|
16732
16740
|
props: {
|
|
16733
16741
|
options: {},
|
|
@@ -16900,11 +16908,11 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
16900
16908
|
innerSliderRange.value = value;
|
|
16901
16909
|
};
|
|
16902
16910
|
return (_ctx, _cache) => {
|
|
16903
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
16911
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
|
|
16904
16912
|
!isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$o, [
|
|
16905
16913
|
vue.createElementVNode("div", null, [
|
|
16906
16914
|
rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$i, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
|
|
16907
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
16915
|
+
vue.createElementVNode("div", _hoisted_5$b, [
|
|
16908
16916
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
16909
16917
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
|
|
16910
16918
|
type: "text",
|
|
@@ -16913,7 +16921,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
16913
16921
|
min: facetMin.value,
|
|
16914
16922
|
pattern: sliderInputFormat.value,
|
|
16915
16923
|
"aria-label": ariaLabelFrom.value
|
|
16916
|
-
}, null, 8, _hoisted_6$
|
|
16924
|
+
}, null, 8, _hoisted_6$7), [
|
|
16917
16925
|
[
|
|
16918
16926
|
vue.vModelText,
|
|
16919
16927
|
fromValue.value,
|
|
@@ -16967,18 +16975,18 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
16967
16975
|
};
|
|
16968
16976
|
}
|
|
16969
16977
|
});
|
|
16970
|
-
const _hoisted_1$
|
|
16978
|
+
const _hoisted_1$I = { class: "lupa-term-checkbox-wrapper" };
|
|
16971
16979
|
const _hoisted_2$w = { class: "lupa-term-checkbox-label" };
|
|
16972
16980
|
const _hoisted_3$n = { class: "lupa-term-label" };
|
|
16973
16981
|
const _hoisted_4$h = {
|
|
16974
16982
|
key: 0,
|
|
16975
16983
|
class: "lupa-term-count"
|
|
16976
16984
|
};
|
|
16977
|
-
const _hoisted_5$
|
|
16985
|
+
const _hoisted_5$a = {
|
|
16978
16986
|
key: 0,
|
|
16979
16987
|
class: "lupa-facet-level"
|
|
16980
16988
|
};
|
|
16981
|
-
const _sfc_main$
|
|
16989
|
+
const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
16982
16990
|
__name: "HierarchyFacetLevel",
|
|
16983
16991
|
props: {
|
|
16984
16992
|
options: {},
|
|
@@ -17024,7 +17032,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
17024
17032
|
"data-cy": "lupa-facet-term",
|
|
17025
17033
|
onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
|
|
17026
17034
|
}, [
|
|
17027
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
17035
|
+
vue.createElementVNode("div", _hoisted_1$I, [
|
|
17028
17036
|
vue.createElementVNode("span", {
|
|
17029
17037
|
class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
|
|
17030
17038
|
}, null, 2)
|
|
@@ -17034,7 +17042,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
17034
17042
|
_ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
17035
17043
|
])
|
|
17036
17044
|
]),
|
|
17037
|
-
showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
17045
|
+
showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$a, [
|
|
17038
17046
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
|
|
17039
17047
|
return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
|
|
17040
17048
|
key: itemChild.title,
|
|
@@ -17050,13 +17058,13 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
17050
17058
|
};
|
|
17051
17059
|
}
|
|
17052
17060
|
});
|
|
17053
|
-
const _hoisted_1$
|
|
17061
|
+
const _hoisted_1$H = {
|
|
17054
17062
|
class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
|
|
17055
17063
|
"data-cy": "lupa-search-result-facet-term-values"
|
|
17056
17064
|
};
|
|
17057
17065
|
const _hoisted_2$v = { key: 0 };
|
|
17058
17066
|
const _hoisted_3$m = ["placeholder"];
|
|
17059
|
-
const _sfc_main$
|
|
17067
|
+
const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
17060
17068
|
__name: "HierarchyFacet",
|
|
17061
17069
|
props: {
|
|
17062
17070
|
options: {},
|
|
@@ -17106,7 +17114,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
17106
17114
|
showAll.value = true;
|
|
17107
17115
|
};
|
|
17108
17116
|
return (_ctx, _cache) => {
|
|
17109
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17117
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
|
|
17110
17118
|
isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$v, [
|
|
17111
17119
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
17112
17120
|
class: "lupa-term-filter",
|
|
@@ -17118,7 +17126,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
17118
17126
|
])
|
|
17119
17127
|
])) : vue.createCommentVNode("", true),
|
|
17120
17128
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
|
|
17121
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17129
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
17122
17130
|
key: item.title,
|
|
17123
17131
|
options: _ctx.options,
|
|
17124
17132
|
item,
|
|
@@ -17138,7 +17146,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
17138
17146
|
};
|
|
17139
17147
|
}
|
|
17140
17148
|
});
|
|
17141
|
-
const _hoisted_1$
|
|
17149
|
+
const _hoisted_1$G = { class: "lupa-facet-label-text" };
|
|
17142
17150
|
const _hoisted_2$u = {
|
|
17143
17151
|
key: 0,
|
|
17144
17152
|
class: "lupa-facet-content",
|
|
@@ -17146,12 +17154,12 @@ const _hoisted_2$u = {
|
|
|
17146
17154
|
};
|
|
17147
17155
|
const __default__$1 = {
|
|
17148
17156
|
components: {
|
|
17149
|
-
TermFacet: _sfc_main$
|
|
17150
|
-
StatsFacet: _sfc_main$
|
|
17151
|
-
HierarchyFacet: _sfc_main$
|
|
17157
|
+
TermFacet: _sfc_main$P,
|
|
17158
|
+
StatsFacet: _sfc_main$O,
|
|
17159
|
+
HierarchyFacet: _sfc_main$M
|
|
17152
17160
|
}
|
|
17153
17161
|
};
|
|
17154
|
-
const _sfc_main$
|
|
17162
|
+
const _sfc_main$L = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
|
|
17155
17163
|
__name: "FacetDisplay",
|
|
17156
17164
|
props: {
|
|
17157
17165
|
options: {},
|
|
@@ -17263,7 +17271,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
17263
17271
|
"data-cy": "lupa-search-result-facet-label",
|
|
17264
17272
|
onClick: toggleFacet
|
|
17265
17273
|
}, [
|
|
17266
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
17274
|
+
vue.createElementVNode("div", _hoisted_1$G, vue.toDisplayString(facet.value.label), 1),
|
|
17267
17275
|
vue.createElementVNode("div", {
|
|
17268
17276
|
class: vue.normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
|
|
17269
17277
|
}, null, 2)
|
|
@@ -17286,12 +17294,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
17286
17294
|
};
|
|
17287
17295
|
}
|
|
17288
17296
|
}));
|
|
17289
|
-
const _hoisted_1$
|
|
17297
|
+
const _hoisted_1$F = { class: "lupa-search-result-facet-section" };
|
|
17290
17298
|
const _hoisted_2$t = {
|
|
17291
17299
|
key: 0,
|
|
17292
17300
|
class: "lupa-facets-title"
|
|
17293
17301
|
};
|
|
17294
|
-
const _sfc_main$
|
|
17302
|
+
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
17295
17303
|
__name: "FacetList",
|
|
17296
17304
|
props: {
|
|
17297
17305
|
options: {},
|
|
@@ -17325,14 +17333,14 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
17325
17333
|
};
|
|
17326
17334
|
return (_ctx, _cache) => {
|
|
17327
17335
|
var _a;
|
|
17328
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17336
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
|
|
17329
17337
|
_ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
|
|
17330
17338
|
vue.createElementVNode("div", {
|
|
17331
17339
|
class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a = _ctx.facetStyle) != null ? _a : "")])
|
|
17332
17340
|
}, [
|
|
17333
17341
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFacets.value, (facet) => {
|
|
17334
17342
|
var _a2;
|
|
17335
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17343
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$L, {
|
|
17336
17344
|
key: facet.key,
|
|
17337
17345
|
facet,
|
|
17338
17346
|
currentFilters: currentFiltersValue.value,
|
|
@@ -17347,8 +17355,8 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
17347
17355
|
};
|
|
17348
17356
|
}
|
|
17349
17357
|
});
|
|
17350
|
-
const _hoisted_1$
|
|
17351
|
-
const _sfc_main$
|
|
17358
|
+
const _hoisted_1$E = ["onClick"];
|
|
17359
|
+
const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
17352
17360
|
__name: "FacetsButton",
|
|
17353
17361
|
props: {
|
|
17354
17362
|
options: {}
|
|
@@ -17368,13 +17376,13 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
17368
17376
|
key: 0,
|
|
17369
17377
|
class: "lupa-facets-button-filter",
|
|
17370
17378
|
onClick: vue.withModifiers(handleClick, ["stop"])
|
|
17371
|
-
}, vue.toDisplayString(label.value), 9, _hoisted_1$
|
|
17379
|
+
}, vue.toDisplayString(label.value), 9, _hoisted_1$E)) : vue.createCommentVNode("", true);
|
|
17372
17380
|
};
|
|
17373
17381
|
}
|
|
17374
17382
|
});
|
|
17375
|
-
const _hoisted_1$
|
|
17383
|
+
const _hoisted_1$D = { class: "lupa-search-result-facets" };
|
|
17376
17384
|
const _hoisted_2$s = { class: "lupa-facets-filter-button-wrapper" };
|
|
17377
|
-
const _sfc_main$
|
|
17385
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
17378
17386
|
__name: "Facets",
|
|
17379
17387
|
props: {
|
|
17380
17388
|
options: {},
|
|
@@ -17457,8 +17465,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17457
17465
|
emit("filter");
|
|
17458
17466
|
};
|
|
17459
17467
|
return (_ctx, _cache) => {
|
|
17460
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17461
|
-
regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17468
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
|
|
17469
|
+
regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
|
|
17462
17470
|
key: 0,
|
|
17463
17471
|
options: _ctx.options,
|
|
17464
17472
|
facets: regularFacets.value,
|
|
@@ -17469,7 +17477,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17469
17477
|
onClear: clear
|
|
17470
17478
|
}, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : vue.createCommentVNode("", true),
|
|
17471
17479
|
vue.createElementVNode("div", _hoisted_2$s, [
|
|
17472
|
-
showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17480
|
+
showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
|
|
17473
17481
|
key: 0,
|
|
17474
17482
|
options: _ctx.options,
|
|
17475
17483
|
onFilter: filter2
|
|
@@ -17479,11 +17487,11 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17479
17487
|
};
|
|
17480
17488
|
}
|
|
17481
17489
|
});
|
|
17482
|
-
const _hoisted_1$
|
|
17490
|
+
const _hoisted_1$C = {
|
|
17483
17491
|
id: "lupa-search-result-filters",
|
|
17484
17492
|
class: "lupa-search-result-filters"
|
|
17485
17493
|
};
|
|
17486
|
-
const _sfc_main$
|
|
17494
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
17487
17495
|
__name: "SearchResultsFilters",
|
|
17488
17496
|
props: {
|
|
17489
17497
|
options: {},
|
|
@@ -17516,19 +17524,19 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
17516
17524
|
__expose({ fetch: fetch2 });
|
|
17517
17525
|
return (_ctx, _cache) => {
|
|
17518
17526
|
var _a;
|
|
17519
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17520
|
-
showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17527
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
|
|
17528
|
+
showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
|
|
17521
17529
|
key: 0,
|
|
17522
17530
|
options: _ctx.options.currentFilters,
|
|
17523
17531
|
expandable: (_a = _ctx.expandable) != null ? _a : false
|
|
17524
17532
|
}, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
|
|
17525
|
-
_ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17533
|
+
_ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
|
|
17526
17534
|
key: 1,
|
|
17527
17535
|
options: _ctx.options.categories,
|
|
17528
17536
|
ref_key: "categoryFilters",
|
|
17529
17537
|
ref: categoryFilters
|
|
17530
17538
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
17531
|
-
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17539
|
+
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
|
|
17532
17540
|
key: 2,
|
|
17533
17541
|
options: _ctx.options.facets,
|
|
17534
17542
|
onFilter: filter2
|
|
@@ -17537,20 +17545,20 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
17537
17545
|
};
|
|
17538
17546
|
}
|
|
17539
17547
|
});
|
|
17540
|
-
const _hoisted_1$
|
|
17548
|
+
const _hoisted_1$B = {
|
|
17541
17549
|
key: 0,
|
|
17542
17550
|
class: "lupa-mobile-filter-sidebar"
|
|
17543
17551
|
};
|
|
17544
17552
|
const _hoisted_2$r = ["onClick"];
|
|
17545
17553
|
const _hoisted_3$l = { class: "lupa-mobile-sidebar-content" };
|
|
17546
17554
|
const _hoisted_4$g = { class: "lupa-sidebar-top" };
|
|
17547
|
-
const _hoisted_5$
|
|
17548
|
-
const _hoisted_6$
|
|
17555
|
+
const _hoisted_5$9 = { class: "lupa-sidebar-title" };
|
|
17556
|
+
const _hoisted_6$6 = {
|
|
17549
17557
|
key: 0,
|
|
17550
17558
|
class: "lupa-sidebar-filter-count"
|
|
17551
17559
|
};
|
|
17552
17560
|
const _hoisted_7$4 = { class: "lupa-sidebar-filter-options" };
|
|
17553
|
-
const _sfc_main$
|
|
17561
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
17554
17562
|
__name: "MobileFilterSidebar",
|
|
17555
17563
|
props: {
|
|
17556
17564
|
options: {}
|
|
@@ -17581,16 +17589,16 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17581
17589
|
handleMobileToggle();
|
|
17582
17590
|
};
|
|
17583
17591
|
return (_ctx, _cache) => {
|
|
17584
|
-
return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17592
|
+
return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
|
|
17585
17593
|
vue.createElementVNode("div", {
|
|
17586
17594
|
class: "lupa-sidebar-close",
|
|
17587
17595
|
onClick: vue.withModifiers(handleMobileToggle, ["stop"])
|
|
17588
17596
|
}, null, 8, _hoisted_2$r),
|
|
17589
17597
|
vue.createElementVNode("div", _hoisted_3$l, [
|
|
17590
17598
|
vue.createElementVNode("div", _hoisted_4$g, [
|
|
17591
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
17599
|
+
vue.createElementVNode("div", _hoisted_5$9, [
|
|
17592
17600
|
vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
|
|
17593
|
-
isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
17601
|
+
isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
|
|
17594
17602
|
]),
|
|
17595
17603
|
vue.createElementVNode("div", {
|
|
17596
17604
|
class: "lupa-filter-toggle-mobile",
|
|
@@ -17598,7 +17606,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17598
17606
|
})
|
|
17599
17607
|
]),
|
|
17600
17608
|
vue.createElementVNode("div", _hoisted_7$4, [
|
|
17601
|
-
vue.createVNode(_sfc_main$
|
|
17609
|
+
vue.createVNode(_sfc_main$H, {
|
|
17602
17610
|
options: _ctx.options,
|
|
17603
17611
|
expandable: isActiveFiltersExpanded.value,
|
|
17604
17612
|
onFilter: filter2
|
|
@@ -17609,14 +17617,14 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17609
17617
|
};
|
|
17610
17618
|
}
|
|
17611
17619
|
});
|
|
17612
|
-
const _hoisted_1$
|
|
17620
|
+
const _hoisted_1$A = { id: "lupa-search-results-breadcrumbs" };
|
|
17613
17621
|
const _hoisted_2$q = ["href", "onClick"];
|
|
17614
17622
|
const _hoisted_3$k = {
|
|
17615
17623
|
key: 1,
|
|
17616
17624
|
class: "lupa-search-results-breadcrumb-text"
|
|
17617
17625
|
};
|
|
17618
17626
|
const _hoisted_4$f = { key: 2 };
|
|
17619
|
-
const _sfc_main$
|
|
17627
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
17620
17628
|
__name: "SearchResultsBreadcrumbs",
|
|
17621
17629
|
props: {
|
|
17622
17630
|
breadcrumbs: {}
|
|
@@ -17641,7 +17649,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17641
17649
|
handleRoutingEvent(link, event, hasEventRouting.value);
|
|
17642
17650
|
};
|
|
17643
17651
|
return (_ctx, _cache) => {
|
|
17644
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17652
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
|
|
17645
17653
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(breadcrumbsValue.value, (breadcrumb, index) => {
|
|
17646
17654
|
return vue.openBlock(), vue.createElementBlock("span", {
|
|
17647
17655
|
class: "lupa-search-results-breadcrumb",
|
|
@@ -17663,11 +17671,11 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17663
17671
|
};
|
|
17664
17672
|
}
|
|
17665
17673
|
});
|
|
17666
|
-
const _hoisted_1$
|
|
17674
|
+
const _hoisted_1$z = {
|
|
17667
17675
|
id: "lupa-search-result-filters",
|
|
17668
17676
|
class: "lupa-search-result-filters lupa-search-result-top-filters"
|
|
17669
17677
|
};
|
|
17670
|
-
const _sfc_main$
|
|
17678
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
17671
17679
|
__name: "FiltersTopDropdown",
|
|
17672
17680
|
props: {
|
|
17673
17681
|
options: {}
|
|
@@ -17679,8 +17687,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17679
17687
|
};
|
|
17680
17688
|
return (_ctx, _cache) => {
|
|
17681
17689
|
var _a;
|
|
17682
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17683
|
-
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17690
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
|
|
17691
|
+
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
|
|
17684
17692
|
key: 0,
|
|
17685
17693
|
options: _ctx.options.facets,
|
|
17686
17694
|
"facet-style": (_a = _ctx.options.facets.style) == null ? void 0 : _a.type,
|
|
@@ -17691,8 +17699,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17691
17699
|
};
|
|
17692
17700
|
}
|
|
17693
17701
|
});
|
|
17694
|
-
const _hoisted_1$
|
|
17695
|
-
const _sfc_main$
|
|
17702
|
+
const _hoisted_1$y = { id: "lupa-search-results-layout-selection" };
|
|
17703
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
17696
17704
|
__name: "SearchResultsLayoutSelection",
|
|
17697
17705
|
setup(__props) {
|
|
17698
17706
|
const searchResultStore = useSearchResultStore();
|
|
@@ -17703,7 +17711,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
17703
17711
|
searchResultStore.setLayout(layout2);
|
|
17704
17712
|
};
|
|
17705
17713
|
return (_ctx, _cache) => {
|
|
17706
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17714
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
|
|
17707
17715
|
vue.createElementVNode("div", {
|
|
17708
17716
|
class: vue.normalizeClass([
|
|
17709
17717
|
"lupa-layout-selection-grid",
|
|
@@ -17725,11 +17733,11 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
17725
17733
|
};
|
|
17726
17734
|
}
|
|
17727
17735
|
});
|
|
17728
|
-
const _hoisted_1$
|
|
17736
|
+
const _hoisted_1$x = {
|
|
17729
17737
|
key: 0,
|
|
17730
17738
|
class: "lupa-mobile-toggle-filter-count"
|
|
17731
17739
|
};
|
|
17732
|
-
const _sfc_main$
|
|
17740
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
17733
17741
|
__name: "SearchResultsMobileToggle",
|
|
17734
17742
|
props: {
|
|
17735
17743
|
label: {},
|
|
@@ -17747,12 +17755,12 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
17747
17755
|
onClick: handleMobileToggle
|
|
17748
17756
|
}, [
|
|
17749
17757
|
vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
|
|
17750
|
-
_ctx.showFilterCount && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$
|
|
17758
|
+
_ctx.showFilterCount && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$x, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
|
|
17751
17759
|
], 2);
|
|
17752
17760
|
};
|
|
17753
17761
|
}
|
|
17754
17762
|
});
|
|
17755
|
-
const _hoisted_1$
|
|
17763
|
+
const _hoisted_1$w = {
|
|
17756
17764
|
key: 0,
|
|
17757
17765
|
id: "lupa-search-results-page-select",
|
|
17758
17766
|
"data-cy": "lupa-search-results-page-select"
|
|
@@ -17766,7 +17774,7 @@ const _hoisted_4$e = {
|
|
|
17766
17774
|
key: 0,
|
|
17767
17775
|
class: "lupa-page-number-separator"
|
|
17768
17776
|
};
|
|
17769
|
-
const _sfc_main$
|
|
17777
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
17770
17778
|
__name: "SearchResultsPageSelect",
|
|
17771
17779
|
props: {
|
|
17772
17780
|
lastPageLabel: {},
|
|
@@ -17843,7 +17851,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
17843
17851
|
}
|
|
17844
17852
|
};
|
|
17845
17853
|
return (_ctx, _cache) => {
|
|
17846
|
-
return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17854
|
+
return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
|
|
17847
17855
|
showBack.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17848
17856
|
key: 0,
|
|
17849
17857
|
class: vue.normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
|
|
@@ -17887,15 +17895,15 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
17887
17895
|
};
|
|
17888
17896
|
}
|
|
17889
17897
|
});
|
|
17890
|
-
const _hoisted_1$
|
|
17898
|
+
const _hoisted_1$v = {
|
|
17891
17899
|
id: "lupa-search-results-page-size",
|
|
17892
17900
|
"data-cy": "lupa-search-results-page-size"
|
|
17893
17901
|
};
|
|
17894
17902
|
const _hoisted_2$o = { id: "lupa-select" };
|
|
17895
17903
|
const _hoisted_3$i = { class: "lupa-select-label" };
|
|
17896
17904
|
const _hoisted_4$d = ["aria-label"];
|
|
17897
|
-
const _hoisted_5$
|
|
17898
|
-
const _sfc_main$
|
|
17905
|
+
const _hoisted_5$8 = ["value"];
|
|
17906
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
17899
17907
|
__name: "SearchResultsPageSize",
|
|
17900
17908
|
props: {
|
|
17901
17909
|
labels: {},
|
|
@@ -17923,7 +17931,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17923
17931
|
});
|
|
17924
17932
|
};
|
|
17925
17933
|
return (_ctx, _cache) => {
|
|
17926
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17934
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
|
|
17927
17935
|
vue.createElementVNode("div", _hoisted_2$o, [
|
|
17928
17936
|
vue.createElementVNode("label", _hoisted_3$i, vue.toDisplayString(label.value), 1),
|
|
17929
17937
|
vue.createElementVNode("select", {
|
|
@@ -17938,7 +17946,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17938
17946
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
17939
17947
|
key: option,
|
|
17940
17948
|
value: option
|
|
17941
|
-
}, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$
|
|
17949
|
+
}, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$8);
|
|
17942
17950
|
}), 128))
|
|
17943
17951
|
], 40, _hoisted_4$d)
|
|
17944
17952
|
])
|
|
@@ -17946,15 +17954,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17946
17954
|
};
|
|
17947
17955
|
}
|
|
17948
17956
|
});
|
|
17949
|
-
const _hoisted_1$
|
|
17957
|
+
const _hoisted_1$u = {
|
|
17950
17958
|
id: "lupa-search-results-sort",
|
|
17951
17959
|
class: "lupa-search-results-sort"
|
|
17952
17960
|
};
|
|
17953
17961
|
const _hoisted_2$n = { id: "lupa-select" };
|
|
17954
17962
|
const _hoisted_3$h = { class: "lupa-select-label" };
|
|
17955
17963
|
const _hoisted_4$c = ["aria-label"];
|
|
17956
|
-
const _hoisted_5$
|
|
17957
|
-
const _sfc_main$
|
|
17964
|
+
const _hoisted_5$7 = ["value"];
|
|
17965
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
17958
17966
|
__name: "SearchResultsSort",
|
|
17959
17967
|
props: {
|
|
17960
17968
|
options: {},
|
|
@@ -18003,7 +18011,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
18003
18011
|
previousKey.value = selectedKey.value;
|
|
18004
18012
|
};
|
|
18005
18013
|
return (_ctx, _cache) => {
|
|
18006
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18014
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
|
|
18007
18015
|
vue.createElementVNode("div", _hoisted_2$n, [
|
|
18008
18016
|
vue.createElementVNode("label", _hoisted_3$h, vue.toDisplayString(_ctx.options.label), 1),
|
|
18009
18017
|
vue.withDirectives(vue.createElementVNode("select", {
|
|
@@ -18018,7 +18026,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
18018
18026
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
18019
18027
|
key: option.key,
|
|
18020
18028
|
value: option.key
|
|
18021
|
-
}, vue.toDisplayString(option.label), 9, _hoisted_5$
|
|
18029
|
+
}, vue.toDisplayString(option.label), 9, _hoisted_5$7);
|
|
18022
18030
|
}), 128))
|
|
18023
18031
|
], 40, _hoisted_4$c), [
|
|
18024
18032
|
[vue.vModelSelect, selectedKey.value]
|
|
@@ -18028,22 +18036,22 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
18028
18036
|
};
|
|
18029
18037
|
}
|
|
18030
18038
|
});
|
|
18031
|
-
const _hoisted_1$
|
|
18039
|
+
const _hoisted_1$t = { class: "lupa-toolbar-left" };
|
|
18032
18040
|
const _hoisted_2$m = {
|
|
18033
18041
|
key: 0,
|
|
18034
18042
|
class: "lupa-toolbar-right-title"
|
|
18035
18043
|
};
|
|
18036
18044
|
const _hoisted_3$g = { key: 2 };
|
|
18037
18045
|
const _hoisted_4$b = { key: 4 };
|
|
18038
|
-
const _hoisted_5$
|
|
18039
|
-
const _hoisted_6$
|
|
18046
|
+
const _hoisted_5$6 = { key: 6 };
|
|
18047
|
+
const _hoisted_6$5 = { class: "lupa-toolbar-right" };
|
|
18040
18048
|
const _hoisted_7$3 = {
|
|
18041
18049
|
key: 0,
|
|
18042
18050
|
class: "lupa-toolbar-right-title"
|
|
18043
18051
|
};
|
|
18044
18052
|
const _hoisted_8 = { key: 2 };
|
|
18045
18053
|
const _hoisted_9 = { key: 4 };
|
|
18046
|
-
const _sfc_main$
|
|
18054
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
18047
18055
|
__name: "SearchResultsToolbar",
|
|
18048
18056
|
props: {
|
|
18049
18057
|
options: {},
|
|
@@ -18150,34 +18158,34 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
18150
18158
|
id: "lupa-search-results-toolbar",
|
|
18151
18159
|
class: vue.normalizeClass({ "lupa-filter-no-results": !hasResults.value })
|
|
18152
18160
|
}, [
|
|
18153
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
18161
|
+
vue.createElementVNode("div", _hoisted_1$t, [
|
|
18154
18162
|
toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$m, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
|
|
18155
|
-
showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18156
|
-
showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18163
|
+
showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$g)),
|
|
18164
|
+
showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
|
|
18157
18165
|
key: 3,
|
|
18158
18166
|
label: searchSummaryLabel.value,
|
|
18159
18167
|
clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
|
|
18160
18168
|
onClear: handleClearAll
|
|
18161
18169
|
}, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b)),
|
|
18162
|
-
displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18170
|
+
displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
|
|
18163
18171
|
key: 5,
|
|
18164
18172
|
options: paginationOptions.value.pageSelect,
|
|
18165
18173
|
"last-page-label": paginationOptions.value.labels.showMore,
|
|
18166
18174
|
"first-page-label": paginationOptions.value.labels.showLess
|
|
18167
|
-
}, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
18175
|
+
}, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6))
|
|
18168
18176
|
]),
|
|
18169
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
18177
|
+
vue.createElementVNode("div", _hoisted_6$5, [
|
|
18170
18178
|
toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
|
|
18171
|
-
vue.createVNode(_sfc_main$
|
|
18179
|
+
vue.createVNode(_sfc_main$C, {
|
|
18172
18180
|
label: optionsValue.value.labels.mobileFilterButton,
|
|
18173
18181
|
"show-filter-count": showMobileFilterCount.value
|
|
18174
18182
|
}, null, 8, ["label", "show-filter-count"]),
|
|
18175
|
-
paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18183
|
+
paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
|
|
18176
18184
|
key: 1,
|
|
18177
18185
|
options: paginationOptions.value.pageSize,
|
|
18178
18186
|
labels: paginationOptions.value.labels
|
|
18179
18187
|
}, null, 8, ["options", "labels"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8)),
|
|
18180
|
-
sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18188
|
+
sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
|
|
18181
18189
|
key: 3,
|
|
18182
18190
|
options: sortOptions.value,
|
|
18183
18191
|
callbacks: callbacks.value
|
|
@@ -18187,7 +18195,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
18187
18195
|
};
|
|
18188
18196
|
}
|
|
18189
18197
|
});
|
|
18190
|
-
const _sfc_main$
|
|
18198
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
18191
18199
|
__name: "SearchResultsProductImage",
|
|
18192
18200
|
props: {
|
|
18193
18201
|
item: {},
|
|
@@ -18195,7 +18203,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18195
18203
|
},
|
|
18196
18204
|
setup(__props) {
|
|
18197
18205
|
return (_ctx, _cache) => {
|
|
18198
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18206
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1h, {
|
|
18199
18207
|
item: _ctx.item,
|
|
18200
18208
|
options: _ctx.options,
|
|
18201
18209
|
"wrapper-class": "lupa-search-results-image-wrapper",
|
|
@@ -18204,16 +18212,16 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18204
18212
|
};
|
|
18205
18213
|
}
|
|
18206
18214
|
});
|
|
18207
|
-
const _hoisted_1$
|
|
18215
|
+
const _hoisted_1$s = ["title", "innerHTML"];
|
|
18208
18216
|
const _hoisted_2$l = ["title"];
|
|
18209
18217
|
const _hoisted_3$f = ["href", "innerHTML"];
|
|
18210
18218
|
const _hoisted_4$a = ["title"];
|
|
18211
|
-
const _hoisted_5$
|
|
18219
|
+
const _hoisted_5$5 = {
|
|
18212
18220
|
key: 0,
|
|
18213
18221
|
class: "lupa-search-results-product-title-text"
|
|
18214
18222
|
};
|
|
18215
|
-
const _hoisted_6$
|
|
18216
|
-
const _sfc_main$
|
|
18223
|
+
const _hoisted_6$4 = ["href"];
|
|
18224
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
18217
18225
|
__name: "SearchResultsProductTitle",
|
|
18218
18226
|
props: {
|
|
18219
18227
|
item: {},
|
|
@@ -18250,7 +18258,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
18250
18258
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
18251
18259
|
title: sanitizedTitle.value,
|
|
18252
18260
|
innerHTML: sanitizedTitle.value
|
|
18253
|
-
}, null, 12, _hoisted_1$
|
|
18261
|
+
}, null, 12, _hoisted_1$s)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
18254
18262
|
key: 1,
|
|
18255
18263
|
class: "lupa-search-results-product-title",
|
|
18256
18264
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
@@ -18268,19 +18276,19 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
18268
18276
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
18269
18277
|
title: title.value
|
|
18270
18278
|
}, [
|
|
18271
|
-
!_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
18279
|
+
!_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$5, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
|
|
18272
18280
|
_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
18273
18281
|
key: 1,
|
|
18274
18282
|
href: _ctx.link,
|
|
18275
18283
|
class: "lupa-search-results-product-title-text lupa-title-link",
|
|
18276
18284
|
onClick: handleNavigation
|
|
18277
|
-
}, vue.toDisplayString(title.value), 9, _hoisted_6$
|
|
18285
|
+
}, vue.toDisplayString(title.value), 9, _hoisted_6$4)) : vue.createCommentVNode("", true)
|
|
18278
18286
|
], 12, _hoisted_4$a));
|
|
18279
18287
|
};
|
|
18280
18288
|
}
|
|
18281
18289
|
});
|
|
18282
|
-
const _hoisted_1$
|
|
18283
|
-
const _sfc_main$
|
|
18290
|
+
const _hoisted_1$r = ["innerHTML"];
|
|
18291
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
18284
18292
|
__name: "SearchResultsProductDescription",
|
|
18285
18293
|
props: {
|
|
18286
18294
|
item: {},
|
|
@@ -18307,7 +18315,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
18307
18315
|
class: "lupa-search-results-product-description",
|
|
18308
18316
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
18309
18317
|
innerHTML: sanitizedDescription.value
|
|
18310
|
-
}, null, 12, _hoisted_1$
|
|
18318
|
+
}, null, 12, _hoisted_1$r)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
18311
18319
|
key: 1,
|
|
18312
18320
|
class: "lupa-search-results-product-description",
|
|
18313
18321
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
|
|
@@ -18315,15 +18323,15 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
18315
18323
|
};
|
|
18316
18324
|
}
|
|
18317
18325
|
});
|
|
18318
|
-
const _hoisted_1$
|
|
18326
|
+
const _hoisted_1$q = { id: "lupa-search-results-rating" };
|
|
18319
18327
|
const _hoisted_2$k = { class: "lupa-ratings" };
|
|
18320
18328
|
const _hoisted_3$e = { class: "lupa-ratings-base" };
|
|
18321
18329
|
const _hoisted_4$9 = ["innerHTML"];
|
|
18322
|
-
const _hoisted_5$
|
|
18323
|
-
const _hoisted_6$
|
|
18330
|
+
const _hoisted_5$4 = { class: "lupa-rating-wrapper" };
|
|
18331
|
+
const _hoisted_6$3 = ["innerHTML"];
|
|
18324
18332
|
const _hoisted_7$2 = ["href"];
|
|
18325
18333
|
const STAR_COUNT = 5;
|
|
18326
|
-
const _sfc_main$
|
|
18334
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
18327
18335
|
__name: "SearchResultsProductRating",
|
|
18328
18336
|
props: {
|
|
18329
18337
|
item: {},
|
|
@@ -18354,7 +18362,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18354
18362
|
return generateLink(props.options.links.ratingDetails, props.item);
|
|
18355
18363
|
});
|
|
18356
18364
|
return (_ctx, _cache) => {
|
|
18357
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18365
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
|
|
18358
18366
|
vue.createElementVNode("div", _hoisted_2$k, [
|
|
18359
18367
|
vue.createElementVNode("div", _hoisted_3$e, [
|
|
18360
18368
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(baseStars.value, (star, index) => {
|
|
@@ -18365,7 +18373,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18365
18373
|
}, null, 8, _hoisted_4$9);
|
|
18366
18374
|
}), 128))
|
|
18367
18375
|
]),
|
|
18368
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
18376
|
+
vue.createElementVNode("div", _hoisted_5$4, [
|
|
18369
18377
|
vue.createElementVNode("div", {
|
|
18370
18378
|
class: "lupa-ratings-highlighted",
|
|
18371
18379
|
style: vue.normalizeStyle({ width: ratingPercentage.value + "%" })
|
|
@@ -18375,7 +18383,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18375
18383
|
key: index,
|
|
18376
18384
|
innerHTML: star,
|
|
18377
18385
|
class: "lupa-rating lupa-rating-highlighted"
|
|
18378
|
-
}, null, 8, _hoisted_6$
|
|
18386
|
+
}, null, 8, _hoisted_6$3);
|
|
18379
18387
|
}), 128))
|
|
18380
18388
|
], 4)
|
|
18381
18389
|
])
|
|
@@ -18388,11 +18396,11 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18388
18396
|
};
|
|
18389
18397
|
}
|
|
18390
18398
|
});
|
|
18391
|
-
const _hoisted_1$
|
|
18399
|
+
const _hoisted_1$p = {
|
|
18392
18400
|
class: "lupa-search-results-product-regular-price",
|
|
18393
18401
|
"data-cy": "lupa-search-results-product-regular-price"
|
|
18394
18402
|
};
|
|
18395
|
-
const _sfc_main$
|
|
18403
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
18396
18404
|
__name: "SearchResultsProductRegularPrice",
|
|
18397
18405
|
props: {
|
|
18398
18406
|
item: {},
|
|
@@ -18410,11 +18418,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
18410
18418
|
);
|
|
18411
18419
|
});
|
|
18412
18420
|
return (_ctx, _cache) => {
|
|
18413
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18421
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, vue.toDisplayString(price.value), 1);
|
|
18414
18422
|
};
|
|
18415
18423
|
}
|
|
18416
18424
|
});
|
|
18417
|
-
const _sfc_main$
|
|
18425
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
18418
18426
|
__name: "SearchResultsProductPrice",
|
|
18419
18427
|
props: {
|
|
18420
18428
|
item: {},
|
|
@@ -18444,10 +18452,10 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
18444
18452
|
};
|
|
18445
18453
|
}
|
|
18446
18454
|
});
|
|
18447
|
-
const _hoisted_1$
|
|
18455
|
+
const _hoisted_1$o = { class: "lupa-search-results-add-to-cart-wrapper" };
|
|
18448
18456
|
const _hoisted_2$j = { class: "lupa-search-results-product-addtocart" };
|
|
18449
18457
|
const _hoisted_3$d = ["onClick", "disabled"];
|
|
18450
|
-
const _sfc_main$
|
|
18458
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
18451
18459
|
__name: "SearchResultsProductAddToCart",
|
|
18452
18460
|
props: {
|
|
18453
18461
|
item: {},
|
|
@@ -18480,7 +18488,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
18480
18488
|
loading.value = false;
|
|
18481
18489
|
});
|
|
18482
18490
|
return (_ctx, _cache) => {
|
|
18483
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18491
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
|
|
18484
18492
|
vue.createElementVNode("div", _hoisted_2$j, [
|
|
18485
18493
|
vue.createElementVNode("button", {
|
|
18486
18494
|
onClick: vue.withModifiers(handleClick, ["stop"]),
|
|
@@ -18493,12 +18501,12 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
18493
18501
|
};
|
|
18494
18502
|
}
|
|
18495
18503
|
});
|
|
18496
|
-
const _hoisted_1$
|
|
18504
|
+
const _hoisted_1$n = ["innerHTML"];
|
|
18497
18505
|
const _hoisted_2$i = { key: 0 };
|
|
18498
18506
|
const _hoisted_3$c = { key: 1 };
|
|
18499
18507
|
const _hoisted_4$8 = { class: "lupa-search-box-custom-label" };
|
|
18500
|
-
const _hoisted_5$
|
|
18501
|
-
const _sfc_main$
|
|
18508
|
+
const _hoisted_5$3 = { class: "lupa-search-box-custom-text" };
|
|
18509
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
18502
18510
|
__name: "SearchResultsProductCustom",
|
|
18503
18511
|
props: {
|
|
18504
18512
|
item: {},
|
|
@@ -18536,20 +18544,20 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
18536
18544
|
key: 0,
|
|
18537
18545
|
class: className.value,
|
|
18538
18546
|
innerHTML: text.value
|
|
18539
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
18547
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$n)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
18540
18548
|
key: 1,
|
|
18541
18549
|
class: className.value
|
|
18542
18550
|
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
|
|
18543
18551
|
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$c, [
|
|
18544
18552
|
vue.createElementVNode("div", _hoisted_4$8, vue.toDisplayString(label.value), 1),
|
|
18545
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
18553
|
+
vue.createElementVNode("div", _hoisted_5$3, vue.toDisplayString(text.value), 1)
|
|
18546
18554
|
]))
|
|
18547
18555
|
], 16));
|
|
18548
18556
|
};
|
|
18549
18557
|
}
|
|
18550
18558
|
});
|
|
18551
|
-
const _hoisted_1$
|
|
18552
|
-
const _sfc_main$
|
|
18559
|
+
const _hoisted_1$m = ["innerHTML"];
|
|
18560
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
18553
18561
|
__name: "SearchResultsProductCustomHtmlElement",
|
|
18554
18562
|
props: {
|
|
18555
18563
|
item: {},
|
|
@@ -18580,15 +18588,15 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
18580
18588
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
18581
18589
|
class: className.value,
|
|
18582
18590
|
innerHTML: text.value
|
|
18583
|
-
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$
|
|
18591
|
+
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$m);
|
|
18584
18592
|
};
|
|
18585
18593
|
}
|
|
18586
18594
|
});
|
|
18587
|
-
const _hoisted_1$
|
|
18595
|
+
const _hoisted_1$l = { id: "lupa-search-results-rating" };
|
|
18588
18596
|
const _hoisted_2$h = ["innerHTML"];
|
|
18589
18597
|
const _hoisted_3$b = { class: "lupa-ratings" };
|
|
18590
18598
|
const _hoisted_4$7 = ["href"];
|
|
18591
|
-
const _sfc_main$
|
|
18599
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
18592
18600
|
__name: "SearchResultsProductSingleStarRating",
|
|
18593
18601
|
props: {
|
|
18594
18602
|
item: {},
|
|
@@ -18616,7 +18624,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
18616
18624
|
return RATING_STAR_HTML;
|
|
18617
18625
|
});
|
|
18618
18626
|
return (_ctx, _cache) => {
|
|
18619
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18627
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
|
|
18620
18628
|
vue.createElementVNode("div", {
|
|
18621
18629
|
innerHTML: star.value,
|
|
18622
18630
|
class: "lupa-rating lupa-rating-highlighted"
|
|
@@ -18632,19 +18640,19 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
18632
18640
|
});
|
|
18633
18641
|
const __default__ = {
|
|
18634
18642
|
components: {
|
|
18635
|
-
SearchResultsProductImage: _sfc_main$
|
|
18636
|
-
SearchResultsProductTitle: _sfc_main$
|
|
18637
|
-
SearchResultsProductDescription: _sfc_main$
|
|
18638
|
-
SearchResultsProductRating: _sfc_main$
|
|
18639
|
-
SearchResultsProductRegularPrice: _sfc_main$
|
|
18640
|
-
SearchResultsProductPrice: _sfc_main$
|
|
18641
|
-
SearchResultsProductAddToCart: _sfc_main$
|
|
18642
|
-
SearchResultsProductCustom: _sfc_main$
|
|
18643
|
-
SearchResultsProductCustomHtmlElement: _sfc_main$
|
|
18644
|
-
SearchResultsProductSingleStarRating: _sfc_main$
|
|
18645
|
-
}
|
|
18646
|
-
};
|
|
18647
|
-
const _sfc_main$
|
|
18643
|
+
SearchResultsProductImage: _sfc_main$x,
|
|
18644
|
+
SearchResultsProductTitle: _sfc_main$w,
|
|
18645
|
+
SearchResultsProductDescription: _sfc_main$v,
|
|
18646
|
+
SearchResultsProductRating: _sfc_main$u,
|
|
18647
|
+
SearchResultsProductRegularPrice: _sfc_main$t,
|
|
18648
|
+
SearchResultsProductPrice: _sfc_main$s,
|
|
18649
|
+
SearchResultsProductAddToCart: _sfc_main$r,
|
|
18650
|
+
SearchResultsProductCustom: _sfc_main$q,
|
|
18651
|
+
SearchResultsProductCustomHtmlElement: _sfc_main$p,
|
|
18652
|
+
SearchResultsProductSingleStarRating: _sfc_main$o
|
|
18653
|
+
}
|
|
18654
|
+
};
|
|
18655
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
|
|
18648
18656
|
__name: "SearchResultsProductCardElement",
|
|
18649
18657
|
props: {
|
|
18650
18658
|
item: {},
|
|
@@ -18720,13 +18728,13 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
18720
18728
|
};
|
|
18721
18729
|
}
|
|
18722
18730
|
}));
|
|
18723
|
-
const _hoisted_1$
|
|
18731
|
+
const _hoisted_1$k = ["href"];
|
|
18724
18732
|
const _hoisted_2$g = {
|
|
18725
18733
|
key: 0,
|
|
18726
18734
|
class: "lupa-out-of-stock"
|
|
18727
18735
|
};
|
|
18728
18736
|
const _hoisted_3$a = { class: "lupa-search-result-product-details-section" };
|
|
18729
|
-
const _sfc_main$
|
|
18737
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
18730
18738
|
__name: "SearchResultsProductCard",
|
|
18731
18739
|
props: {
|
|
18732
18740
|
product: {},
|
|
@@ -18878,7 +18886,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18878
18886
|
"data-cy": "lupa-search-result-product-card",
|
|
18879
18887
|
class: ["lupa-search-result-product-card", !isInStock.value ? "lupa-out-of-stock" : ""]
|
|
18880
18888
|
}, customDocumentHtmlAttributes.value, { onClick: handleClick }), [
|
|
18881
|
-
vue.createVNode(_sfc_main$
|
|
18889
|
+
vue.createVNode(_sfc_main$12, { options: badgesOptions.value }, null, 8, ["options"]),
|
|
18882
18890
|
vue.createElementVNode("div", {
|
|
18883
18891
|
class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
|
|
18884
18892
|
}, [
|
|
@@ -18888,7 +18896,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18888
18896
|
onClick: handleNavigation
|
|
18889
18897
|
}, [
|
|
18890
18898
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
|
|
18891
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18899
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
18892
18900
|
class: "lupa-search-results-product-element",
|
|
18893
18901
|
item: _ctx.product,
|
|
18894
18902
|
element,
|
|
@@ -18899,16 +18907,16 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18899
18907
|
onProductEvent: handleProductEvent
|
|
18900
18908
|
}, null, 8, ["item", "element", "labels", "inStock", "link"]);
|
|
18901
18909
|
}), 128)),
|
|
18902
|
-
vue.createVNode(_sfc_main$
|
|
18910
|
+
vue.createVNode(_sfc_main$12, {
|
|
18903
18911
|
options: badgesOptions.value,
|
|
18904
18912
|
position: "image",
|
|
18905
18913
|
class: "lupa-image-badges"
|
|
18906
18914
|
}, null, 8, ["options"]),
|
|
18907
18915
|
((_a = labels.value) == null ? void 0 : _a.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, vue.toDisplayString(labels.value.outOfStock), 1)) : vue.createCommentVNode("", true)
|
|
18908
|
-
], 8, _hoisted_1$
|
|
18916
|
+
], 8, _hoisted_1$k),
|
|
18909
18917
|
vue.createElementVNode("div", _hoisted_3$a, [
|
|
18910
18918
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
|
|
18911
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18919
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
18912
18920
|
class: "lupa-search-results-product-element",
|
|
18913
18921
|
item: _ctx.product,
|
|
18914
18922
|
element,
|
|
@@ -18926,7 +18934,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18926
18934
|
class: vue.normalizeClass("lupa-element-group-" + group)
|
|
18927
18935
|
}, [
|
|
18928
18936
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
|
|
18929
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18937
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
18930
18938
|
class: "lupa-search-results-product-element",
|
|
18931
18939
|
item: _ctx.product,
|
|
18932
18940
|
element,
|
|
@@ -18944,7 +18952,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18944
18952
|
};
|
|
18945
18953
|
}
|
|
18946
18954
|
});
|
|
18947
|
-
const _hoisted_1$
|
|
18955
|
+
const _hoisted_1$j = {
|
|
18948
18956
|
id: "lupa-search-results-similar-queries",
|
|
18949
18957
|
"data-cy": "lupa-search-results-similar-queries"
|
|
18950
18958
|
};
|
|
@@ -18954,13 +18962,13 @@ const _hoisted_3$9 = {
|
|
|
18954
18962
|
"data-cy": "lupa-similar-query-label"
|
|
18955
18963
|
};
|
|
18956
18964
|
const _hoisted_4$6 = ["onClick"];
|
|
18957
|
-
const _hoisted_5$
|
|
18958
|
-
const _hoisted_6$
|
|
18965
|
+
const _hoisted_5$2 = ["innerHTML"];
|
|
18966
|
+
const _hoisted_6$2 = { key: 0 };
|
|
18959
18967
|
const _hoisted_7$1 = {
|
|
18960
18968
|
class: "lupa-products",
|
|
18961
18969
|
"data-cy": "lupa-products"
|
|
18962
18970
|
};
|
|
18963
|
-
const _sfc_main$
|
|
18971
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
18964
18972
|
__name: "SearchResultsSimilarQueries",
|
|
18965
18973
|
props: {
|
|
18966
18974
|
labels: {},
|
|
@@ -18990,7 +18998,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
18990
18998
|
paramsStore.goToResults({ searchText, facet });
|
|
18991
18999
|
};
|
|
18992
19000
|
return (_ctx, _cache) => {
|
|
18993
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19001
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
|
|
18994
19002
|
vue.createElementVNode("div", _hoisted_2$f, vue.toDisplayString(_ctx.labels.similarQueries), 1),
|
|
18995
19003
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQueries.value, (similarQuery, index) => {
|
|
18996
19004
|
return vue.openBlock(), vue.createElementBlock("div", { key: index }, [
|
|
@@ -19004,13 +19012,13 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
19004
19012
|
}, [
|
|
19005
19013
|
vue.createElementVNode("span", {
|
|
19006
19014
|
innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
|
|
19007
|
-
}, null, 8, _hoisted_5$
|
|
19008
|
-
similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
19015
|
+
}, null, 8, _hoisted_5$2),
|
|
19016
|
+
similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$2, " (" + vue.toDisplayString(similarQuery.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
19009
19017
|
], 8, _hoisted_4$6)
|
|
19010
19018
|
]),
|
|
19011
19019
|
vue.createElementVNode("div", _hoisted_7$1, [
|
|
19012
19020
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQuery.items, (product, index2) => {
|
|
19013
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19021
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
19014
19022
|
style: vue.normalizeStyle(_ctx.columnSize),
|
|
19015
19023
|
key: getDocumentKey(index2, product),
|
|
19016
19024
|
product,
|
|
@@ -19024,7 +19032,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
19024
19032
|
};
|
|
19025
19033
|
}
|
|
19026
19034
|
});
|
|
19027
|
-
const _hoisted_1$
|
|
19035
|
+
const _hoisted_1$i = {
|
|
19028
19036
|
key: 0,
|
|
19029
19037
|
class: "lupa-results-additional-panel"
|
|
19030
19038
|
};
|
|
@@ -19032,7 +19040,7 @@ const _hoisted_2$e = {
|
|
|
19032
19040
|
class: "lupa-results-additional-panel-items",
|
|
19033
19041
|
"data-cy": "lupa-results-additional-panel-items"
|
|
19034
19042
|
};
|
|
19035
|
-
const _sfc_main$
|
|
19043
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
19036
19044
|
__name: "AdditionalPanel",
|
|
19037
19045
|
props: {
|
|
19038
19046
|
panel: {},
|
|
@@ -19104,10 +19112,10 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
19104
19112
|
handleQueryChange();
|
|
19105
19113
|
});
|
|
19106
19114
|
return (_ctx, _cache) => {
|
|
19107
|
-
return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19115
|
+
return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
|
|
19108
19116
|
vue.createElementVNode("div", _hoisted_2$e, [
|
|
19109
19117
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index) => {
|
|
19110
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19118
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
19111
19119
|
key: index,
|
|
19112
19120
|
product: item,
|
|
19113
19121
|
options: _ctx.panel,
|
|
@@ -19125,11 +19133,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
19125
19133
|
};
|
|
19126
19134
|
}
|
|
19127
19135
|
});
|
|
19128
|
-
const _hoisted_1$
|
|
19136
|
+
const _hoisted_1$h = {
|
|
19129
19137
|
key: 0,
|
|
19130
19138
|
class: "lupa-results-additional-panels"
|
|
19131
19139
|
};
|
|
19132
|
-
const _sfc_main$
|
|
19140
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
19133
19141
|
__name: "AdditionalPanels",
|
|
19134
19142
|
props: {
|
|
19135
19143
|
options: {},
|
|
@@ -19146,9 +19154,9 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
19146
19154
|
return locationPanels.value.length > 0;
|
|
19147
19155
|
});
|
|
19148
19156
|
return (_ctx, _cache) => {
|
|
19149
|
-
return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19157
|
+
return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
|
|
19150
19158
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(locationPanels.value, (panel) => {
|
|
19151
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19159
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$k, {
|
|
19152
19160
|
key: panel.queryKey,
|
|
19153
19161
|
panel,
|
|
19154
19162
|
options: _ctx.sdkOptions
|
|
@@ -19165,11 +19173,11 @@ const _export_sfc = (sfc, props) => {
|
|
|
19165
19173
|
}
|
|
19166
19174
|
return target;
|
|
19167
19175
|
};
|
|
19168
|
-
const _sfc_main$
|
|
19169
|
-
const _hoisted_1$
|
|
19176
|
+
const _sfc_main$i = {};
|
|
19177
|
+
const _hoisted_1$g = { class: "lupa-spinner-wrapper" };
|
|
19170
19178
|
const _hoisted_2$d = { class: "lupa-spinner" };
|
|
19171
19179
|
function _sfc_render(_ctx, _cache) {
|
|
19172
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19180
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
|
|
19173
19181
|
vue.createElementVNode("div", _hoisted_2$d, [
|
|
19174
19182
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(12, (x2) => {
|
|
19175
19183
|
return vue.createElementVNode("div", { key: x2 });
|
|
@@ -19177,8 +19185,8 @@ function _sfc_render(_ctx, _cache) {
|
|
|
19177
19185
|
])
|
|
19178
19186
|
]);
|
|
19179
19187
|
}
|
|
19180
|
-
const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
19181
|
-
const _hoisted_1$
|
|
19188
|
+
const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render]]);
|
|
19189
|
+
const _hoisted_1$f = {
|
|
19182
19190
|
id: "lupa-search-results-similar-results",
|
|
19183
19191
|
"data-cy": "lupa-search-results-similar-results"
|
|
19184
19192
|
};
|
|
@@ -19187,7 +19195,7 @@ const _hoisted_3$8 = {
|
|
|
19187
19195
|
class: "lupa-products",
|
|
19188
19196
|
"data-cy": "lupa-products"
|
|
19189
19197
|
};
|
|
19190
|
-
const _sfc_main$
|
|
19198
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
19191
19199
|
__name: "SearchResultsSimilarResults",
|
|
19192
19200
|
props: {
|
|
19193
19201
|
columnSize: {},
|
|
@@ -19203,11 +19211,11 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
19203
19211
|
return getProductKey(`${index}`, product, props.productCardOptions.idKey);
|
|
19204
19212
|
};
|
|
19205
19213
|
return (_ctx, _cache) => {
|
|
19206
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19214
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
|
|
19207
19215
|
vue.createElementVNode("div", _hoisted_2$c, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
|
|
19208
19216
|
vue.createElementVNode("div", _hoisted_3$8, [
|
|
19209
19217
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarResults.value.items, (product, index) => {
|
|
19210
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19218
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
19211
19219
|
style: vue.normalizeStyle(_ctx.columnSize),
|
|
19212
19220
|
key: getDocumentKey(index, product),
|
|
19213
19221
|
product,
|
|
@@ -19219,7 +19227,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
19219
19227
|
};
|
|
19220
19228
|
}
|
|
19221
19229
|
});
|
|
19222
|
-
const _hoisted_1$
|
|
19230
|
+
const _hoisted_1$e = { id: "lupa-search-results-products" };
|
|
19223
19231
|
const _hoisted_2$b = {
|
|
19224
19232
|
class: "lupa-products",
|
|
19225
19233
|
"data-cy": "lupa-products"
|
|
@@ -19234,9 +19242,9 @@ const _hoisted_4$5 = {
|
|
|
19234
19242
|
class: "lupa-empty-results",
|
|
19235
19243
|
"data-cy": "lupa-no-results"
|
|
19236
19244
|
};
|
|
19237
|
-
const _hoisted_5$
|
|
19238
|
-
const _hoisted_6$
|
|
19239
|
-
const _sfc_main$
|
|
19245
|
+
const _hoisted_5$1 = { key: 4 };
|
|
19246
|
+
const _hoisted_6$1 = { key: 5 };
|
|
19247
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
19240
19248
|
__name: "SearchResultsProducts",
|
|
19241
19249
|
props: {
|
|
19242
19250
|
options: {},
|
|
@@ -19343,24 +19351,24 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19343
19351
|
};
|
|
19344
19352
|
return (_ctx, _cache) => {
|
|
19345
19353
|
var _a;
|
|
19346
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19354
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
|
|
19347
19355
|
vue.unref(loading) && !vue.unref(isMobileSidebarVisible) ? (vue.openBlock(), vue.createBlock(Spinner, {
|
|
19348
19356
|
key: 0,
|
|
19349
19357
|
class: "lupa-loader"
|
|
19350
19358
|
})) : vue.createCommentVNode("", true),
|
|
19351
19359
|
vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
19352
|
-
showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19360
|
+
showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
19353
19361
|
key: 0,
|
|
19354
19362
|
options: (_a = _ctx.options.filters) != null ? _a : {}
|
|
19355
19363
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19356
|
-
showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19364
|
+
showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
19357
19365
|
key: 1,
|
|
19358
19366
|
class: "lupa-toolbar-mobile",
|
|
19359
19367
|
options: _ctx.options,
|
|
19360
19368
|
"pagination-location": "top",
|
|
19361
19369
|
onFilter: filter2
|
|
19362
19370
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19363
|
-
currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19371
|
+
currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
|
|
19364
19372
|
key: 2,
|
|
19365
19373
|
class: vue.normalizeClass(currentFiltersClass.value),
|
|
19366
19374
|
"data-cy": "lupa-search-result-filters-mobile-toolbar",
|
|
@@ -19368,18 +19376,18 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19368
19376
|
expandable: !desktopFiltersExpanded.value
|
|
19369
19377
|
}, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true)
|
|
19370
19378
|
], 64)) : vue.createCommentVNode("", true),
|
|
19371
|
-
vue.createVNode(_sfc_main$
|
|
19379
|
+
vue.createVNode(_sfc_main$j, {
|
|
19372
19380
|
options: _ctx.options,
|
|
19373
19381
|
location: "top",
|
|
19374
19382
|
sdkOptions: _ctx.options.options
|
|
19375
19383
|
}, null, 8, ["options", "sdkOptions"]),
|
|
19376
19384
|
vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
19377
|
-
vue.createVNode(_sfc_main$
|
|
19385
|
+
vue.createVNode(_sfc_main$y, {
|
|
19378
19386
|
class: "lupa-toolbar-top",
|
|
19379
19387
|
options: _ctx.options,
|
|
19380
19388
|
"pagination-location": "top"
|
|
19381
19389
|
}, null, 8, ["options"]),
|
|
19382
|
-
currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19390
|
+
currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
|
|
19383
19391
|
key: 0,
|
|
19384
19392
|
class: vue.normalizeClass(currentFiltersClass.value),
|
|
19385
19393
|
"data-cy": "lupa-search-result-filters-mobile-toolbar",
|
|
@@ -19395,7 +19403,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19395
19403
|
options: productCardOptions.value
|
|
19396
19404
|
});
|
|
19397
19405
|
}), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
|
|
19398
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19406
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
19399
19407
|
style: vue.normalizeStyle(columnSize.value),
|
|
19400
19408
|
key: getProductKeyAction(index, product),
|
|
19401
19409
|
product,
|
|
@@ -19411,12 +19419,12 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19411
19419
|
onClick: goToFirstPage
|
|
19412
19420
|
}, vue.toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : vue.createCommentVNode("", true)
|
|
19413
19421
|
])) : vue.createCommentVNode("", true),
|
|
19414
|
-
vue.createVNode(_sfc_main$
|
|
19422
|
+
vue.createVNode(_sfc_main$y, {
|
|
19415
19423
|
class: "lupa-toolbar-bottom",
|
|
19416
19424
|
options: _ctx.options,
|
|
19417
19425
|
"pagination-location": "bottom"
|
|
19418
19426
|
}, null, 8, ["options"]),
|
|
19419
|
-
vue.createVNode(_sfc_main$
|
|
19427
|
+
vue.createVNode(_sfc_main$j, {
|
|
19420
19428
|
options: _ctx.options,
|
|
19421
19429
|
location: "bottom",
|
|
19422
19430
|
sdkOptions: _ctx.options.options
|
|
@@ -19425,15 +19433,15 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19425
19433
|
vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.emptyResults) + " ", 1),
|
|
19426
19434
|
vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(currentQueryText)), 1)
|
|
19427
19435
|
])) : vue.createCommentVNode("", true),
|
|
19428
|
-
hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
19429
|
-
vue.createVNode(_sfc_main$
|
|
19436
|
+
hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
|
|
19437
|
+
vue.createVNode(_sfc_main$l, {
|
|
19430
19438
|
labels: similarQueriesLabels.value,
|
|
19431
19439
|
columnSize: columnSize.value,
|
|
19432
19440
|
productCardOptions: productCardOptions.value
|
|
19433
19441
|
}, null, 8, ["labels", "columnSize", "productCardOptions"])
|
|
19434
19442
|
])) : vue.createCommentVNode("", true),
|
|
19435
|
-
hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$
|
|
19436
|
-
vue.createVNode(_sfc_main$
|
|
19443
|
+
hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
|
|
19444
|
+
vue.createVNode(_sfc_main$h, {
|
|
19437
19445
|
labels: similarResultsLabels.value,
|
|
19438
19446
|
columnSize: columnSize.value,
|
|
19439
19447
|
productCardOptions: productCardOptions.value
|
|
@@ -19444,19 +19452,22 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19444
19452
|
};
|
|
19445
19453
|
}
|
|
19446
19454
|
});
|
|
19447
|
-
const _hoisted_1$
|
|
19455
|
+
const _hoisted_1$d = { class: "lupa-top-mobile-filter-wrapper" };
|
|
19448
19456
|
const _hoisted_2$a = {
|
|
19449
19457
|
key: 0,
|
|
19450
19458
|
class: "lupa-category-back"
|
|
19451
19459
|
};
|
|
19452
19460
|
const _hoisted_3$6 = ["href"];
|
|
19453
|
-
const
|
|
19461
|
+
const _hoisted_4$4 = { class: "lupa-child-category-list" };
|
|
19462
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
19454
19463
|
__name: "CategoryTopFilters",
|
|
19455
19464
|
props: {
|
|
19456
19465
|
options: {}
|
|
19457
19466
|
},
|
|
19458
19467
|
setup(__props) {
|
|
19459
19468
|
const props = __props;
|
|
19469
|
+
const searchResultsStore = useSearchResultStore();
|
|
19470
|
+
const { relatedCategoryChildren } = storeToRefs(searchResultsStore);
|
|
19460
19471
|
const hasBackButton = vue.computed(() => {
|
|
19461
19472
|
var _a, _b;
|
|
19462
19473
|
return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.back) == null ? void 0 : _b.title);
|
|
@@ -19472,17 +19483,24 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
19472
19483
|
const hasEventRouting = vue.computed(() => {
|
|
19473
19484
|
return props.options.routingBehavior === "event";
|
|
19474
19485
|
});
|
|
19486
|
+
const categoryOptions = vue.computed(() => {
|
|
19487
|
+
return props.options.categories;
|
|
19488
|
+
});
|
|
19475
19489
|
const handleNavigationBack = (event) => {
|
|
19476
19490
|
if (!backUrlLink.value) {
|
|
19477
19491
|
return;
|
|
19478
19492
|
}
|
|
19479
19493
|
handleRoutingEvent(backUrlLink.value, event, hasEventRouting.value);
|
|
19480
19494
|
};
|
|
19495
|
+
const getCategoryKey = (item) => {
|
|
19496
|
+
var _a, _b, _c, _d, _e, _f;
|
|
19497
|
+
return (item == null ? void 0 : item[(_c = (_b = (_a = categoryOptions.value) == null ? void 0 : _a.keys) == null ? void 0 : _b.titleKey) != null ? _c : ""]) + (item == null ? void 0 : item[(_f = (_e = (_d = categoryOptions.value) == null ? void 0 : _d.keys) == null ? void 0 : _e.urlKey) != null ? _f : ""]);
|
|
19498
|
+
};
|
|
19481
19499
|
return (_ctx, _cache) => {
|
|
19482
19500
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
19483
19501
|
class: vue.normalizeClass(["lupa-category-top-mobile-filters", { "lupa-has-back-button": hasBackButton.value }])
|
|
19484
19502
|
}, [
|
|
19485
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
19503
|
+
vue.createElementVNode("div", _hoisted_1$d, [
|
|
19486
19504
|
hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
|
|
19487
19505
|
vue.createElementVNode("a", {
|
|
19488
19506
|
"data-cy": "lupa-category-back",
|
|
@@ -19490,7 +19508,16 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
19490
19508
|
onClick: handleNavigationBack
|
|
19491
19509
|
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$6)
|
|
19492
19510
|
])) : vue.createCommentVNode("", true),
|
|
19493
|
-
vue.
|
|
19511
|
+
vue.createElementVNode("div", _hoisted_4$4, [
|
|
19512
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relatedCategoryChildren), (child) => {
|
|
19513
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$R, {
|
|
19514
|
+
key: getCategoryKey(child),
|
|
19515
|
+
item: child,
|
|
19516
|
+
options: categoryOptions.value
|
|
19517
|
+
}, null, 8, ["item", "options"]);
|
|
19518
|
+
}), 128))
|
|
19519
|
+
]),
|
|
19520
|
+
vue.createVNode(_sfc_main$y, {
|
|
19494
19521
|
class: "lupa-toolbar-mobile",
|
|
19495
19522
|
"pagination-location": "top",
|
|
19496
19523
|
options: _ctx.options
|
|
@@ -19500,7 +19527,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
19500
19527
|
};
|
|
19501
19528
|
}
|
|
19502
19529
|
});
|
|
19503
|
-
const _hoisted_1$
|
|
19530
|
+
const _hoisted_1$c = {
|
|
19504
19531
|
key: 0,
|
|
19505
19532
|
class: "lupa-container-title-summary-mobile"
|
|
19506
19533
|
};
|
|
@@ -19510,8 +19537,8 @@ const _hoisted_2$9 = {
|
|
|
19510
19537
|
class: "top-layout-wrapper"
|
|
19511
19538
|
};
|
|
19512
19539
|
const _hoisted_3$5 = { class: "search-content" };
|
|
19513
|
-
const _hoisted_4$
|
|
19514
|
-
const _sfc_main$
|
|
19540
|
+
const _hoisted_4$3 = { id: "lupa-search-results" };
|
|
19541
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
19515
19542
|
__name: "SearchResults",
|
|
19516
19543
|
props: {
|
|
19517
19544
|
options: {},
|
|
@@ -19721,29 +19748,29 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19721
19748
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
19722
19749
|
class: vue.normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !vue.unref(hasResults) }])
|
|
19723
19750
|
}, [
|
|
19724
|
-
_ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19725
|
-
vue.createVNode(_sfc_main$
|
|
19726
|
-
vue.createVNode(_sfc_main$
|
|
19751
|
+
_ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
|
|
19752
|
+
vue.createVNode(_sfc_main$W, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
19753
|
+
vue.createVNode(_sfc_main$U, {
|
|
19727
19754
|
"show-summary": true,
|
|
19728
19755
|
options: _ctx.options,
|
|
19729
19756
|
"is-product-list": (_a = _ctx.isProductList) != null ? _a : false
|
|
19730
19757
|
}, null, 8, ["options", "is-product-list"])
|
|
19731
19758
|
])) : vue.createCommentVNode("", true),
|
|
19732
|
-
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19759
|
+
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$f, {
|
|
19733
19760
|
key: 1,
|
|
19734
19761
|
options: _ctx.options
|
|
19735
19762
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19736
|
-
_ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19763
|
+
_ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
|
|
19737
19764
|
key: 2,
|
|
19738
19765
|
options: _ctx.options.filters,
|
|
19739
19766
|
onFilter: handleParamsChange
|
|
19740
19767
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19741
|
-
vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19768
|
+
vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
19742
19769
|
key: 3,
|
|
19743
19770
|
breadcrumbs: _ctx.options.breadcrumbs
|
|
19744
19771
|
}, null, 8, ["breadcrumbs"])) : vue.createCommentVNode("", true),
|
|
19745
19772
|
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
|
|
19746
|
-
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19773
|
+
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
19747
19774
|
key: 0,
|
|
19748
19775
|
options: (_b = _ctx.options.filters) != null ? _b : {},
|
|
19749
19776
|
ref_key: "searchResultsFilters",
|
|
@@ -19751,12 +19778,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19751
19778
|
onFilter: handleParamsChange
|
|
19752
19779
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19753
19780
|
vue.createElementVNode("div", _hoisted_3$5, [
|
|
19754
|
-
vue.createVNode(_sfc_main$
|
|
19755
|
-
vue.createVNode(_sfc_main$
|
|
19781
|
+
vue.createVNode(_sfc_main$W, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
19782
|
+
vue.createVNode(_sfc_main$U, {
|
|
19756
19783
|
options: _ctx.options,
|
|
19757
19784
|
"is-product-list": (_c = _ctx.isProductList) != null ? _c : false
|
|
19758
19785
|
}, null, 8, ["options", "is-product-list"]),
|
|
19759
|
-
vue.createVNode(_sfc_main$
|
|
19786
|
+
vue.createVNode(_sfc_main$g, {
|
|
19760
19787
|
options: _ctx.options,
|
|
19761
19788
|
ssr: ssrEnabled.value,
|
|
19762
19789
|
onFilter: handleParamsChange
|
|
@@ -19768,20 +19795,20 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19768
19795
|
}, 8, ["options", "ssr"])
|
|
19769
19796
|
])
|
|
19770
19797
|
])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 5 }, [
|
|
19771
|
-
vue.createVNode(_sfc_main$
|
|
19772
|
-
vue.createVNode(_sfc_main$
|
|
19798
|
+
vue.createVNode(_sfc_main$W, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
19799
|
+
vue.createVNode(_sfc_main$U, {
|
|
19773
19800
|
options: _ctx.options,
|
|
19774
19801
|
"is-product-list": (_d = _ctx.isProductList) != null ? _d : false
|
|
19775
19802
|
}, null, 8, ["options", "is-product-list"]),
|
|
19776
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
19777
|
-
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19803
|
+
vue.createElementVNode("div", _hoisted_4$3, [
|
|
19804
|
+
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
19778
19805
|
key: 0,
|
|
19779
19806
|
options: (_e = _ctx.options.filters) != null ? _e : {},
|
|
19780
19807
|
ref_key: "searchResultsFilters",
|
|
19781
19808
|
ref: searchResultsFilters,
|
|
19782
19809
|
onFilter: handleParamsChange
|
|
19783
19810
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19784
|
-
vue.createVNode(_sfc_main$
|
|
19811
|
+
vue.createVNode(_sfc_main$g, {
|
|
19785
19812
|
options: _ctx.options,
|
|
19786
19813
|
ssr: ssrEnabled.value,
|
|
19787
19814
|
onFilter: handleParamsChange
|
|
@@ -19805,12 +19832,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19805
19832
|
};
|
|
19806
19833
|
}
|
|
19807
19834
|
});
|
|
19808
|
-
const _hoisted_1$
|
|
19835
|
+
const _hoisted_1$b = {
|
|
19809
19836
|
key: 0,
|
|
19810
19837
|
class: "lupa-category-overview"
|
|
19811
19838
|
};
|
|
19812
19839
|
const _hoisted_2$8 = ["innerHTML"];
|
|
19813
|
-
const _sfc_main$
|
|
19840
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
19814
19841
|
__name: "CategoryDescription",
|
|
19815
19842
|
props: {
|
|
19816
19843
|
options: {}
|
|
@@ -19828,7 +19855,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
19828
19855
|
return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.current) == null ? void 0 : _b.description);
|
|
19829
19856
|
});
|
|
19830
19857
|
return (_ctx, _cache) => {
|
|
19831
|
-
return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19858
|
+
return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
|
|
19832
19859
|
vue.createElementVNode("div", {
|
|
19833
19860
|
class: "lupa-category-description",
|
|
19834
19861
|
innerHTML: description.value
|
|
@@ -19893,7 +19920,7 @@ const processExtractionObject = (value = {}) => {
|
|
|
19893
19920
|
}
|
|
19894
19921
|
return parsedObject;
|
|
19895
19922
|
};
|
|
19896
|
-
const _sfc_main$
|
|
19923
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
19897
19924
|
__name: "ProductList",
|
|
19898
19925
|
props: {
|
|
19899
19926
|
options: {}
|
|
@@ -19918,7 +19945,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
19918
19945
|
__expose({ fetch: fetch2 });
|
|
19919
19946
|
return (_ctx, _cache) => {
|
|
19920
19947
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
19921
|
-
vue.createVNode(_sfc_main$
|
|
19948
|
+
vue.createVNode(_sfc_main$e, {
|
|
19922
19949
|
options: componentOptions.value,
|
|
19923
19950
|
"initial-filters": _ctx.options.initialFilters,
|
|
19924
19951
|
"is-product-list": true,
|
|
@@ -19926,7 +19953,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
19926
19953
|
ref: searchResults
|
|
19927
19954
|
}, {
|
|
19928
19955
|
default: vue.withCtx(() => [
|
|
19929
|
-
vue.createVNode(_sfc_main$
|
|
19956
|
+
vue.createVNode(_sfc_main$d, { options: _ctx.options }, null, 8, ["options"])
|
|
19930
19957
|
]),
|
|
19931
19958
|
_: 1
|
|
19932
19959
|
}, 8, ["options", "initial-filters"])
|
|
@@ -25416,9 +25443,9 @@ lodash.exports;
|
|
|
25416
25443
|
}).call(commonjsGlobal);
|
|
25417
25444
|
})(lodash, lodash.exports);
|
|
25418
25445
|
var lodashExports = lodash.exports;
|
|
25419
|
-
const _hoisted_1$
|
|
25446
|
+
const _hoisted_1$a = ["onClick"];
|
|
25420
25447
|
const _hoisted_2$7 = { class: "lupa-search-box-container" };
|
|
25421
|
-
const _sfc_main$
|
|
25448
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
25422
25449
|
__name: "SearchContainer",
|
|
25423
25450
|
props: {
|
|
25424
25451
|
options: {}
|
|
@@ -25464,7 +25491,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25464
25491
|
onClick: vue.withModifiers(innerClick, ["stop"])
|
|
25465
25492
|
}, [
|
|
25466
25493
|
vue.createElementVNode("div", _hoisted_2$7, [
|
|
25467
|
-
vue.createVNode(_sfc_main$
|
|
25494
|
+
vue.createVNode(_sfc_main$X, {
|
|
25468
25495
|
options: fullSearchBoxOptions.value,
|
|
25469
25496
|
"is-search-container": true,
|
|
25470
25497
|
ref_key: "searchBox",
|
|
@@ -25472,13 +25499,13 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25472
25499
|
onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
|
|
25473
25500
|
}, null, 8, ["options"])
|
|
25474
25501
|
]),
|
|
25475
|
-
vue.createVNode(_sfc_main$
|
|
25502
|
+
vue.createVNode(_sfc_main$e, {
|
|
25476
25503
|
options: fullSearchResultsOptions.value,
|
|
25477
25504
|
"is-container": true,
|
|
25478
25505
|
ref_key: "searchResults",
|
|
25479
25506
|
ref: searchResults
|
|
25480
25507
|
}, null, 8, ["options"])
|
|
25481
|
-
], 8, _hoisted_1$
|
|
25508
|
+
], 8, _hoisted_1$a)
|
|
25482
25509
|
]);
|
|
25483
25510
|
};
|
|
25484
25511
|
}
|
|
@@ -26181,7 +26208,7 @@ var Slide = vue.defineComponent({
|
|
|
26181
26208
|
};
|
|
26182
26209
|
}
|
|
26183
26210
|
});
|
|
26184
|
-
const _hoisted_1$
|
|
26211
|
+
const _hoisted_1$9 = {
|
|
26185
26212
|
key: 0,
|
|
26186
26213
|
class: "lupa-search-product-recommendations-wrapper"
|
|
26187
26214
|
};
|
|
@@ -26194,12 +26221,12 @@ const _hoisted_3$4 = {
|
|
|
26194
26221
|
class: "lupa-recommended-products",
|
|
26195
26222
|
"data-cy": "lupa-recommended-products"
|
|
26196
26223
|
};
|
|
26197
|
-
const _hoisted_4$
|
|
26224
|
+
const _hoisted_4$2 = {
|
|
26198
26225
|
key: 1,
|
|
26199
26226
|
class: "lupa-products",
|
|
26200
26227
|
"data-cy": "lupa-products"
|
|
26201
26228
|
};
|
|
26202
|
-
const _sfc_main$
|
|
26229
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
26203
26230
|
__name: "Recommendations",
|
|
26204
26231
|
props: {
|
|
26205
26232
|
options: {}
|
|
@@ -26315,7 +26342,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26315
26342
|
});
|
|
26316
26343
|
__expose({ fetch: fetch2 });
|
|
26317
26344
|
return (_ctx, _cache) => {
|
|
26318
|
-
return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
26345
|
+
return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
|
|
26319
26346
|
title.value ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$6, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
|
|
26320
26347
|
!loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [
|
|
26321
26348
|
layoutType.value === "carousel" ? (vue.openBlock(), vue.createBlock(vue.unref(Carousel), vue.mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
|
|
@@ -26328,7 +26355,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26328
26355
|
key: getProductKeyAction(index, product)
|
|
26329
26356
|
}, {
|
|
26330
26357
|
default: vue.withCtx(() => [
|
|
26331
|
-
vue.createVNode(_sfc_main$
|
|
26358
|
+
vue.createVNode(_sfc_main$m, {
|
|
26332
26359
|
product,
|
|
26333
26360
|
options: _ctx.options,
|
|
26334
26361
|
"click-tracking-settings": clickTrackingSettings.value
|
|
@@ -26339,9 +26366,9 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26339
26366
|
}), 128))
|
|
26340
26367
|
]),
|
|
26341
26368
|
_: 1
|
|
26342
|
-
}, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
26369
|
+
}, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
|
|
26343
26370
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(recommendations.value, (product, index) => {
|
|
26344
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
26371
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
26345
26372
|
style: vue.normalizeStyle(columnSize.value),
|
|
26346
26373
|
key: getProductKeyAction(index, product),
|
|
26347
26374
|
product,
|
|
@@ -26355,19 +26382,19 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26355
26382
|
};
|
|
26356
26383
|
}
|
|
26357
26384
|
});
|
|
26358
|
-
const _hoisted_1$
|
|
26385
|
+
const _hoisted_1$8 = { class: "lupa-chat-spinner" };
|
|
26359
26386
|
const _hoisted_2$5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26360
26387
|
const _hoisted_3$3 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26361
|
-
const _hoisted_4$
|
|
26362
|
-
const _hoisted_5
|
|
26363
|
-
const _hoisted_6
|
|
26388
|
+
const _hoisted_4$1 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26389
|
+
const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26390
|
+
const _hoisted_6 = [
|
|
26364
26391
|
_hoisted_2$5,
|
|
26365
26392
|
_hoisted_3$3,
|
|
26366
|
-
_hoisted_4$
|
|
26367
|
-
_hoisted_5
|
|
26393
|
+
_hoisted_4$1,
|
|
26394
|
+
_hoisted_5
|
|
26368
26395
|
];
|
|
26369
26396
|
const _hoisted_7 = { class: "lupa-chat-spinner-message" };
|
|
26370
|
-
const _sfc_main$
|
|
26397
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
26371
26398
|
__name: "ChatSpinner",
|
|
26372
26399
|
props: {
|
|
26373
26400
|
small: { type: Boolean },
|
|
@@ -26375,27 +26402,25 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26375
26402
|
},
|
|
26376
26403
|
setup(__props) {
|
|
26377
26404
|
return (_ctx, _cache) => {
|
|
26378
|
-
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$
|
|
26405
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$8, [
|
|
26379
26406
|
vue.createElementVNode("div", {
|
|
26380
26407
|
class: vue.normalizeClass([{ small: _ctx.small }, "lds-ring"])
|
|
26381
|
-
}, _hoisted_6
|
|
26408
|
+
}, _hoisted_6, 2),
|
|
26382
26409
|
vue.createElementVNode("div", _hoisted_7, vue.toDisplayString(_ctx.message), 1)
|
|
26383
26410
|
]);
|
|
26384
26411
|
};
|
|
26385
26412
|
}
|
|
26386
26413
|
});
|
|
26387
|
-
const _hoisted_1$
|
|
26414
|
+
const _hoisted_1$7 = { class: "lupa-chat-input-container" };
|
|
26388
26415
|
const _hoisted_2$4 = { id: "lupa-search-box-input" };
|
|
26389
|
-
const _hoisted_3$2 = {
|
|
26390
|
-
|
|
26391
|
-
class: "lupa-chat-form-submit"
|
|
26392
|
-
};
|
|
26393
|
-
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
26416
|
+
const _hoisted_3$2 = { class: "lupa-chat-form-submit" };
|
|
26417
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
26394
26418
|
__name: "ChatInput",
|
|
26395
26419
|
props: {
|
|
26396
|
-
disabled: { type: Boolean }
|
|
26420
|
+
disabled: { type: Boolean },
|
|
26421
|
+
options: {}
|
|
26397
26422
|
},
|
|
26398
|
-
emits: ["submit"],
|
|
26423
|
+
emits: ["submit", "focus", "blur", "clear"],
|
|
26399
26424
|
setup(__props, { emit }) {
|
|
26400
26425
|
const inputValue = vue.ref("");
|
|
26401
26426
|
const submit = () => {
|
|
@@ -26403,7 +26428,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26403
26428
|
inputValue.value = "";
|
|
26404
26429
|
};
|
|
26405
26430
|
return (_ctx, _cache) => {
|
|
26406
|
-
|
|
26431
|
+
var _a, _b, _c, _d, _e, _f;
|
|
26432
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
|
|
26407
26433
|
vue.createElementVNode("form", {
|
|
26408
26434
|
action: "javascript:void(0);",
|
|
26409
26435
|
class: "chat-input-form",
|
|
@@ -26417,12 +26443,22 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26417
26443
|
class: "lupa-search-box-input-field",
|
|
26418
26444
|
"data-cy": "lupa-search-box-input-field",
|
|
26419
26445
|
type: "text",
|
|
26420
|
-
placeholder: "Type your request here..."
|
|
26421
|
-
|
|
26446
|
+
placeholder: "Type your request here...",
|
|
26447
|
+
onFocus: _cache[1] || (_cache[1] = ($event) => emit("focus")),
|
|
26448
|
+
onBlur: _cache[2] || (_cache[2] = ($event) => emit("blur"))
|
|
26449
|
+
}, null, 544), [
|
|
26422
26450
|
[vue.vModelText, inputValue.value]
|
|
26423
26451
|
])
|
|
26424
26452
|
]),
|
|
26425
|
-
!_ctx.disabled ? (vue.openBlock(), vue.createElementBlock(
|
|
26453
|
+
!_ctx.disabled ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
26454
|
+
vue.createElementVNode("button", _hoisted_3$2, vue.toDisplayString(((_c = (_b = (_a = _ctx.options) == null ? void 0 : _a.chatSettings) == null ? void 0 : _b.labels) == null ? void 0 : _c.ask) || "Ask LupaChat"), 1),
|
|
26455
|
+
!_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
26456
|
+
key: 0,
|
|
26457
|
+
type: "button",
|
|
26458
|
+
class: "lupa-chat-form-clear",
|
|
26459
|
+
onClick: _cache[3] || (_cache[3] = ($event) => emit("clear"))
|
|
26460
|
+
}, vue.toDisplayString(((_f = (_e = (_d = _ctx.options) == null ? void 0 : _d.chatSettings) == null ? void 0 : _e.labels) == null ? void 0 : _f.clear) || "Clear Chat"), 1)) : vue.createCommentVNode("", true)
|
|
26461
|
+
], 64)) : (vue.openBlock(), vue.createBlock(_sfc_main$9, {
|
|
26426
26462
|
key: 1,
|
|
26427
26463
|
small: true
|
|
26428
26464
|
}))
|
|
@@ -26561,8 +26597,9 @@ const ChatService = {
|
|
|
26561
26597
|
prepareChatHistory,
|
|
26562
26598
|
getTextResponseChunkStream
|
|
26563
26599
|
};
|
|
26564
|
-
const _hoisted_1$
|
|
26565
|
-
const
|
|
26600
|
+
const _hoisted_1$6 = { class: "lupa-chat-results" };
|
|
26601
|
+
const _hoisted_2$3 = ["href"];
|
|
26602
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
26566
26603
|
__name: "ChatPhraseProductsList",
|
|
26567
26604
|
props: {
|
|
26568
26605
|
options: {},
|
|
@@ -26573,35 +26610,40 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26573
26610
|
const getProductKeyAction = (index, product) => {
|
|
26574
26611
|
return getProductKey(`${index}`, product, props.options.idKey);
|
|
26575
26612
|
};
|
|
26613
|
+
const image = vue.computed(() => {
|
|
26614
|
+
var _a;
|
|
26615
|
+
return (_a = props.options.elements) == null ? void 0 : _a.find((e2) => e2.type === "image");
|
|
26616
|
+
});
|
|
26617
|
+
const getLink = (item) => {
|
|
26618
|
+
var _a, _b, _c;
|
|
26619
|
+
if (!((_a = props.options.links) == null ? void 0 : _a.details)) {
|
|
26620
|
+
return "";
|
|
26621
|
+
}
|
|
26622
|
+
return generateLink((_c = (_b = props.options.links) == null ? void 0 : _b.details) != null ? _c : "", item);
|
|
26623
|
+
};
|
|
26576
26624
|
return (_ctx, _cache) => {
|
|
26577
|
-
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$
|
|
26625
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$6, [
|
|
26578
26626
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
|
|
26579
|
-
return vue.openBlock(), vue.
|
|
26580
|
-
class: "lupa-chat-product-card",
|
|
26581
|
-
key: getProductKeyAction(index, product)
|
|
26582
|
-
|
|
26583
|
-
|
|
26584
|
-
|
|
26627
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
26628
|
+
class: "lupa-chat-item lupa-chat-product-card-image",
|
|
26629
|
+
key: getProductKeyAction(index, product)
|
|
26630
|
+
}, [
|
|
26631
|
+
vue.createElementVNode("a", {
|
|
26632
|
+
href: getLink(product)
|
|
26633
|
+
}, [
|
|
26634
|
+
vue.createVNode(_sfc_main$x, {
|
|
26635
|
+
item: product,
|
|
26636
|
+
options: image.value
|
|
26637
|
+
}, null, 8, ["item", "options"])
|
|
26638
|
+
], 8, _hoisted_2$3)
|
|
26639
|
+
]);
|
|
26585
26640
|
}), 128))
|
|
26586
26641
|
]);
|
|
26587
26642
|
};
|
|
26588
26643
|
}
|
|
26589
26644
|
});
|
|
26590
|
-
const _hoisted_1$
|
|
26591
|
-
const
|
|
26592
|
-
const _hoisted_3$1 = {
|
|
26593
|
-
key: 0,
|
|
26594
|
-
class: "alert"
|
|
26595
|
-
};
|
|
26596
|
-
const _hoisted_4$1 = {
|
|
26597
|
-
key: 0,
|
|
26598
|
-
class: "lupa-chat-no-results"
|
|
26599
|
-
};
|
|
26600
|
-
const _hoisted_5$1 = /* @__PURE__ */ vue.createElementVNode("p", null, "We found no matches for this search term", -1);
|
|
26601
|
-
const _hoisted_6 = [
|
|
26602
|
-
_hoisted_5$1
|
|
26603
|
-
];
|
|
26604
|
-
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
26645
|
+
const _hoisted_1$5 = { class: "lupa-chat-phrase-title" };
|
|
26646
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
26605
26647
|
__name: "ChatContentEntryPhrase",
|
|
26606
26648
|
props: {
|
|
26607
26649
|
options: {},
|
|
@@ -26686,29 +26728,87 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26686
26728
|
return phrases != null ? phrases : [];
|
|
26687
26729
|
});
|
|
26688
26730
|
return (_ctx, _cache) => {
|
|
26689
|
-
return vue.openBlock(), vue.createElementBlock("div",
|
|
26690
|
-
|
|
26691
|
-
|
|
26692
|
-
|
|
26693
|
-
|
|
26731
|
+
return !loading.value && searchResults.value.length ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
26732
|
+
key: 0,
|
|
26733
|
+
class: vue.normalizeClass(["lupa-chat-content-entry-phrase", { "lupa-chat-incomplete-results": usedPartialResults.value }])
|
|
26734
|
+
}, [
|
|
26735
|
+
vue.createElementVNode("div", _hoisted_1$5, [
|
|
26736
|
+
vue.createElementVNode("h3", null, vue.toDisplayString(displayPhrase.value), 1)
|
|
26694
26737
|
]),
|
|
26695
26738
|
vue.createElementVNode("div", null, [
|
|
26696
|
-
vue.createVNode(_sfc_main$
|
|
26739
|
+
vue.createVNode(_sfc_main$7, {
|
|
26697
26740
|
"search-results": searchResults.value,
|
|
26698
26741
|
options: _ctx.options.displayOptions
|
|
26699
26742
|
}, null, 8, ["search-results", "options"])
|
|
26700
|
-
])
|
|
26701
|
-
|
|
26702
|
-
|
|
26703
|
-
|
|
26704
|
-
|
|
26705
|
-
|
|
26743
|
+
])
|
|
26744
|
+
], 2)) : vue.createCommentVNode("", true);
|
|
26745
|
+
};
|
|
26746
|
+
}
|
|
26747
|
+
});
|
|
26748
|
+
const _hoisted_1$4 = { class: "lupa-chat-text-response" };
|
|
26749
|
+
const _hoisted_2$2 = ["innerHTML"];
|
|
26750
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
26751
|
+
__name: "ChatTextEntry",
|
|
26752
|
+
props: {
|
|
26753
|
+
content: {},
|
|
26754
|
+
options: {},
|
|
26755
|
+
history: {}
|
|
26756
|
+
},
|
|
26757
|
+
setup(__props) {
|
|
26758
|
+
const props = __props;
|
|
26759
|
+
const content = vue.ref("");
|
|
26760
|
+
const processChunk = (chunk) => {
|
|
26761
|
+
content.value += chunk;
|
|
26762
|
+
};
|
|
26763
|
+
vue.onMounted(() => {
|
|
26764
|
+
var _a;
|
|
26765
|
+
ChatService.getTextResponseChunkStream(
|
|
26766
|
+
props.options.sdkOptions,
|
|
26767
|
+
{
|
|
26768
|
+
initialQuery: props.content,
|
|
26769
|
+
messageHistory: (_a = props.history) != null ? _a : [],
|
|
26770
|
+
queryKey: props.options.displayOptions.queryKey
|
|
26771
|
+
},
|
|
26772
|
+
processChunk,
|
|
26773
|
+
props.options.chatSettings
|
|
26774
|
+
);
|
|
26775
|
+
});
|
|
26776
|
+
return (_ctx, _cache) => {
|
|
26777
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
|
|
26778
|
+
vue.createElementVNode("p", { innerHTML: content.value }, null, 8, _hoisted_2$2)
|
|
26779
|
+
]);
|
|
26780
|
+
};
|
|
26781
|
+
}
|
|
26782
|
+
});
|
|
26783
|
+
const _hoisted_1$3 = { class: "lupa-chat-results" };
|
|
26784
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
26785
|
+
__name: "ChatPhraseProductsCardList",
|
|
26786
|
+
props: {
|
|
26787
|
+
options: {},
|
|
26788
|
+
searchResults: {}
|
|
26789
|
+
},
|
|
26790
|
+
setup(__props) {
|
|
26791
|
+
const props = __props;
|
|
26792
|
+
const getProductKeyAction = (index, product) => {
|
|
26793
|
+
return getProductKey(`${index}`, product, props.options.idKey);
|
|
26794
|
+
};
|
|
26795
|
+
return (_ctx, _cache) => {
|
|
26796
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$3, [
|
|
26797
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
|
|
26798
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
26799
|
+
class: "lupa-chat-product-card",
|
|
26800
|
+
key: getProductKeyAction(index, product),
|
|
26801
|
+
product,
|
|
26802
|
+
options: _ctx.options
|
|
26803
|
+
}, null, 8, ["product", "options"]);
|
|
26804
|
+
}), 128))
|
|
26706
26805
|
]);
|
|
26707
26806
|
};
|
|
26708
26807
|
}
|
|
26709
26808
|
});
|
|
26710
|
-
const _hoisted_1$
|
|
26711
|
-
const _hoisted_2$
|
|
26809
|
+
const _hoisted_1$2 = { class: "lupa-chat-section-content" };
|
|
26810
|
+
const _hoisted_2$1 = { class: "lupa-chat-content-entry-wrapper" };
|
|
26811
|
+
const _hoisted_3$1 = { class: "lupa-chat-best-matches lupa-chat-content-entry" };
|
|
26712
26812
|
const MAX_SOURCES_FOR_BEST_ITEM_MATCHING = 250;
|
|
26713
26813
|
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
26714
26814
|
__name: "ChatContentEntry",
|
|
@@ -26767,74 +26867,87 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26767
26867
|
}).filter(Boolean);
|
|
26768
26868
|
});
|
|
26769
26869
|
return (_ctx, _cache) => {
|
|
26770
|
-
|
|
26771
|
-
|
|
26772
|
-
|
|
26773
|
-
|
|
26774
|
-
|
|
26775
|
-
|
|
26776
|
-
|
|
26777
|
-
|
|
26778
|
-
|
|
26779
|
-
|
|
26780
|
-
|
|
26781
|
-
|
|
26782
|
-
|
|
26783
|
-
|
|
26784
|
-
|
|
26870
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
26871
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
26872
|
+
vue.createElementVNode("section", _hoisted_1$2, [
|
|
26873
|
+
vue.createVNode(_sfc_main$5, {
|
|
26874
|
+
content: _ctx.entry.userInput,
|
|
26875
|
+
history: _ctx.history,
|
|
26876
|
+
options: _ctx.options
|
|
26877
|
+
}, null, 8, ["content", "history", "options"]),
|
|
26878
|
+
vue.createElementVNode("div", _hoisted_2$1, [
|
|
26879
|
+
vue.createElementVNode("ul", null, [
|
|
26880
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.entry.allPhrases, (phrase) => {
|
|
26881
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
26882
|
+
key: phrase,
|
|
26883
|
+
class: "lupa-chat-content-entry"
|
|
26884
|
+
}, [
|
|
26885
|
+
phrase ? (vue.openBlock(), vue.createBlock(_sfc_main$6, {
|
|
26886
|
+
key: 0,
|
|
26887
|
+
phrase,
|
|
26888
|
+
options: _ctx.options,
|
|
26889
|
+
onLoaded: loaded
|
|
26890
|
+
}, null, 8, ["phrase", "options"])) : vue.createCommentVNode("", true)
|
|
26891
|
+
]);
|
|
26892
|
+
}), 128))
|
|
26893
|
+
]),
|
|
26894
|
+
loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
|
|
26895
|
+
key: 0,
|
|
26896
|
+
message: (_c = (_b = (_a = _ctx.options.chatSettings) == null ? void 0 : _a.labels) == null ? void 0 : _b.bestMatches) != null ? _c : "Checking for more matches..."
|
|
26897
|
+
}, null, 8, ["message"])) : vue.createCommentVNode("", true)
|
|
26898
|
+
])
|
|
26785
26899
|
]),
|
|
26786
|
-
vue.createElementVNode("section",
|
|
26787
|
-
|
|
26788
|
-
loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
26900
|
+
vue.createElementVNode("section", _hoisted_3$1, [
|
|
26901
|
+
vue.createElementVNode("h3", null, vue.toDisplayString((_f = (_e = (_d = _ctx.options.chatSettings) == null ? void 0 : _d.labels) == null ? void 0 : _e.checkingForMorePhraseMatches) != null ? _f : "Best matches"), 1),
|
|
26902
|
+
loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
|
|
26789
26903
|
key: 0,
|
|
26790
|
-
message: "Selecting the best matches for you. This might take a few seconds."
|
|
26791
|
-
})) : vue.createCommentVNode("", true),
|
|
26792
|
-
bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
26904
|
+
message: (_i = (_h = (_g = _ctx.options.chatSettings) == null ? void 0 : _g.labels) == null ? void 0 : _h.selectingBestPhrases) != null ? _i : "Selecting the best matches for you. This might take a few seconds."
|
|
26905
|
+
}, null, 8, ["message"])) : vue.createCommentVNode("", true),
|
|
26906
|
+
bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
|
|
26793
26907
|
key: 1,
|
|
26794
26908
|
"search-results": bestMatchProducts.value,
|
|
26795
|
-
options: _ctx.options.displayOptions
|
|
26909
|
+
options: _ctx.options.displayOptions,
|
|
26910
|
+
full: true
|
|
26796
26911
|
}, null, 8, ["search-results", "options"])) : vue.createCommentVNode("", true)
|
|
26797
26912
|
])
|
|
26798
|
-
]);
|
|
26913
|
+
], 64);
|
|
26799
26914
|
};
|
|
26800
26915
|
}
|
|
26801
26916
|
});
|
|
26802
|
-
const _hoisted_1$
|
|
26803
|
-
const _hoisted_2$1 = ["innerHTML"];
|
|
26917
|
+
const _hoisted_1$1 = { key: 0 };
|
|
26804
26918
|
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
26805
|
-
__name: "
|
|
26919
|
+
__name: "ChatContentListEntry",
|
|
26806
26920
|
props: {
|
|
26807
|
-
|
|
26921
|
+
entry: {},
|
|
26808
26922
|
options: {},
|
|
26809
26923
|
history: {}
|
|
26810
26924
|
},
|
|
26811
|
-
|
|
26812
|
-
|
|
26813
|
-
const
|
|
26814
|
-
|
|
26815
|
-
content.value += chunk;
|
|
26925
|
+
emits: ["loaded"],
|
|
26926
|
+
setup(__props, { emit }) {
|
|
26927
|
+
const bestItemsLoaded = (items, key) => {
|
|
26928
|
+
emit("loaded", { items, key });
|
|
26816
26929
|
};
|
|
26817
|
-
vue.onMounted(() => {
|
|
26818
|
-
var _a;
|
|
26819
|
-
ChatService.getTextResponseChunkStream(
|
|
26820
|
-
props.options.sdkOptions,
|
|
26821
|
-
{
|
|
26822
|
-
initialQuery: props.content,
|
|
26823
|
-
messageHistory: (_a = props.history) != null ? _a : [],
|
|
26824
|
-
queryKey: props.options.displayOptions.queryKey
|
|
26825
|
-
},
|
|
26826
|
-
processChunk,
|
|
26827
|
-
props.options.chatSettings
|
|
26828
|
-
);
|
|
26829
|
-
});
|
|
26830
26930
|
return (_ctx, _cache) => {
|
|
26831
|
-
|
|
26832
|
-
|
|
26931
|
+
var _a;
|
|
26932
|
+
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
26933
|
+
vue.createElementVNode("h4", {
|
|
26934
|
+
class: "lupa-chat-section-title",
|
|
26935
|
+
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.entry.expanded = !_ctx.entry.expanded)
|
|
26936
|
+
}, vue.toDisplayString(_ctx.entry.userInput), 1),
|
|
26937
|
+
((_a = _ctx.entry.suggestedPhrases) == null ? void 0 : _a.length) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
|
|
26938
|
+
vue.createVNode(_sfc_main$3, {
|
|
26939
|
+
entry: _ctx.entry,
|
|
26940
|
+
options: _ctx.options,
|
|
26941
|
+
history: _ctx.history,
|
|
26942
|
+
onLoaded: _cache[1] || (_cache[1] = (items) => bestItemsLoaded(items, _ctx.entry.key))
|
|
26943
|
+
}, null, 8, ["entry", "options", "history"])
|
|
26944
|
+
], 512)), [
|
|
26945
|
+
[vue.vShow, _ctx.entry.expanded]
|
|
26946
|
+
]) : vue.createCommentVNode("", true)
|
|
26833
26947
|
]);
|
|
26834
26948
|
};
|
|
26835
26949
|
}
|
|
26836
26950
|
});
|
|
26837
|
-
const _hoisted_1$1 = { class: "lupa-chat-section-title" };
|
|
26838
26951
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
26839
26952
|
__name: "ChatContentList",
|
|
26840
26953
|
props: {
|
|
@@ -26851,23 +26964,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26851
26964
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
26852
26965
|
vue.createElementVNode("ul", null, [
|
|
26853
26966
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.content, (entry) => {
|
|
26854
|
-
var _a;
|
|
26855
26967
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
26856
|
-
key: entry.key
|
|
26968
|
+
key: entry.key,
|
|
26969
|
+
class: "chat-content-list-entry"
|
|
26857
26970
|
}, [
|
|
26858
|
-
vue.createElementVNode("h4", _hoisted_1$1, vue.toDisplayString(entry.userInput), 1),
|
|
26859
26971
|
vue.createVNode(_sfc_main$2, {
|
|
26860
|
-
content: entry.userInput,
|
|
26861
|
-
history: _ctx.history,
|
|
26862
|
-
options: _ctx.options
|
|
26863
|
-
}, null, 8, ["content", "history", "options"]),
|
|
26864
|
-
((_a = entry.suggestedPhrases) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
|
|
26865
|
-
key: 0,
|
|
26866
26972
|
entry,
|
|
26867
26973
|
options: _ctx.options,
|
|
26868
26974
|
history: _ctx.history,
|
|
26869
26975
|
onLoaded: (items) => bestItemsLoaded(items, entry.key)
|
|
26870
|
-
}, null, 8, ["entry", "options", "history", "onLoaded"])
|
|
26976
|
+
}, null, 8, ["entry", "options", "history", "onLoaded"])
|
|
26871
26977
|
]);
|
|
26872
26978
|
}), 128))
|
|
26873
26979
|
])
|
|
@@ -26876,18 +26982,12 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26876
26982
|
}
|
|
26877
26983
|
});
|
|
26878
26984
|
const _hoisted_1 = { class: "lupasearch-chat" };
|
|
26879
|
-
const _hoisted_2 =
|
|
26880
|
-
|
|
26881
|
-
|
|
26882
|
-
const _hoisted_3 = {
|
|
26985
|
+
const _hoisted_2 = { class: "lupasearch-chat-input" };
|
|
26986
|
+
const _hoisted_3 = { class: "lupasearch-chat-content-wrapper" };
|
|
26987
|
+
const _hoisted_4 = {
|
|
26883
26988
|
key: 0,
|
|
26884
26989
|
class: "lupasearch-chat-content"
|
|
26885
26990
|
};
|
|
26886
|
-
const _hoisted_4 = {
|
|
26887
|
-
key: 1,
|
|
26888
|
-
class: "lupa-chat-spinner-main"
|
|
26889
|
-
};
|
|
26890
|
-
const _hoisted_5 = { class: "lupasearch-chat-input" };
|
|
26891
26991
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
26892
26992
|
__name: "ChatContainer",
|
|
26893
26993
|
props: {
|
|
@@ -26897,6 +26997,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26897
26997
|
const props = __props;
|
|
26898
26998
|
const loading = vue.ref(false);
|
|
26899
26999
|
const error = vue.ref("");
|
|
27000
|
+
const focused = vue.ref(false);
|
|
26900
27001
|
const chatContent = vue.ref([]);
|
|
26901
27002
|
const history = vue.computed(() => ChatService.prepareChatHistory(chatContent.value));
|
|
26902
27003
|
const submitChatInput = (input2) => __async(this, null, function* () {
|
|
@@ -26911,8 +27012,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26911
27012
|
key,
|
|
26912
27013
|
userInput: input2,
|
|
26913
27014
|
allPhrases: [],
|
|
26914
|
-
suggestedPhrases: []
|
|
27015
|
+
suggestedPhrases: [],
|
|
27016
|
+
expanded: true
|
|
26915
27017
|
};
|
|
27018
|
+
chatContent.value = chatContent.value.map((c2) => __spreadProps(__spreadValues({}, c2), { expanded: false }));
|
|
26916
27019
|
chatContent.value.push(chatLog);
|
|
26917
27020
|
const request = {
|
|
26918
27021
|
userPrompt: input2,
|
|
@@ -26943,25 +27046,31 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26943
27046
|
const entry = chatContent.value.find((c2) => c2.key === key);
|
|
26944
27047
|
entry.bestItems = items;
|
|
26945
27048
|
};
|
|
27049
|
+
const clearChatContent = () => {
|
|
27050
|
+
chatContent.value = [];
|
|
27051
|
+
};
|
|
26946
27052
|
return (_ctx, _cache) => {
|
|
26947
27053
|
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1, [
|
|
26948
|
-
_hoisted_2,
|
|
26949
|
-
|
|
26950
|
-
vue.createVNode(_sfc_main$1, {
|
|
26951
|
-
content: chatContent.value,
|
|
26952
|
-
options: _ctx.options,
|
|
26953
|
-
onLoaded: bestItemsLoaded,
|
|
26954
|
-
history: history.value
|
|
26955
|
-
}, null, 8, ["content", "options", "history"])
|
|
26956
|
-
])) : vue.createCommentVNode("", true),
|
|
26957
|
-
loading.value ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
|
|
26958
|
-
vue.createVNode(_sfc_main$7, { message: "Loading initial recommendations... This might take up to 20s" })
|
|
26959
|
-
])) : vue.createCommentVNode("", true),
|
|
26960
|
-
vue.createElementVNode("section", _hoisted_5, [
|
|
26961
|
-
vue.createVNode(_sfc_main$6, {
|
|
27054
|
+
vue.createElementVNode("section", _hoisted_2, [
|
|
27055
|
+
vue.createVNode(_sfc_main$8, {
|
|
26962
27056
|
onSubmit: submitChatInput,
|
|
26963
|
-
disabled: loading.value
|
|
26964
|
-
|
|
27057
|
+
disabled: loading.value,
|
|
27058
|
+
options: _ctx.options,
|
|
27059
|
+
onFocus: _cache[0] || (_cache[0] = ($event) => focused.value = true),
|
|
27060
|
+
onClear: clearChatContent
|
|
27061
|
+
}, null, 8, ["disabled", "options"]),
|
|
27062
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
27063
|
+
chatContent.value.length ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
|
|
27064
|
+
vue.createVNode(_sfc_main$1, {
|
|
27065
|
+
content: chatContent.value,
|
|
27066
|
+
options: _ctx.options,
|
|
27067
|
+
history: history.value,
|
|
27068
|
+
onLoaded: bestItemsLoaded
|
|
27069
|
+
}, null, 8, ["content", "options", "history"])
|
|
27070
|
+
], 512)), [
|
|
27071
|
+
[vue.vShow, focused.value]
|
|
27072
|
+
]) : vue.createCommentVNode("", true)
|
|
27073
|
+
])
|
|
26965
27074
|
])
|
|
26966
27075
|
]);
|
|
26967
27076
|
};
|
|
@@ -27015,12 +27124,12 @@ exports.BadgeType = BadgeType;
|
|
|
27015
27124
|
exports.ChatContainer = _sfc_main;
|
|
27016
27125
|
exports.DocumentElementType = DocumentElementType;
|
|
27017
27126
|
exports.LupaSearch = LupaSearch;
|
|
27018
|
-
exports.ProductList = _sfc_main$
|
|
27019
|
-
exports.Recommendations = _sfc_main$
|
|
27020
|
-
exports.SearchBox = _sfc_main$
|
|
27127
|
+
exports.ProductList = _sfc_main$c;
|
|
27128
|
+
exports.Recommendations = _sfc_main$a;
|
|
27129
|
+
exports.SearchBox = _sfc_main$X;
|
|
27021
27130
|
exports.SearchBoxPanelType = SearchBoxPanelType;
|
|
27022
|
-
exports.SearchContainer = _sfc_main$
|
|
27023
|
-
exports.SearchResults = _sfc_main$
|
|
27131
|
+
exports.SearchContainer = _sfc_main$b;
|
|
27132
|
+
exports.SearchResults = _sfc_main$e;
|
|
27024
27133
|
exports.fetchPluginConfiguration = fetchPluginConfiguration;
|
|
27025
27134
|
exports.getInitialSearchResults = getInitialSearchResults;
|
|
27026
27135
|
exports.initPinia = initPinia;
|