@getlupa/vue 0.14.5 → 0.14.7
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 +939 -681
- package/dist/lupaSearch.mjs +940 -682
- 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/components/search-results/related-queries/RelatedQueries.vue.d.ts +14 -0
- package/dist/src/components/search-results/related-queries/RelatedQueryPanel.vue.d.ts +22 -0
- package/dist/src/types/chat/ChatLog.d.ts +1 -0
- package/dist/src/types/chat/ChatOptions.d.ts +7 -0
- package/dist/src/types/search-results/RelatedQueryOptions.d.ts +22 -0
- package/dist/src/types/search-results/SearchResultsOptions.d.ts +2 -0
- package/dist/src/utils/relatedSource.utils.d.ts +3 -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$
|
|
3318
|
-
const _hoisted_2$
|
|
3319
|
-
const _hoisted_3$
|
|
3317
|
+
const _hoisted_1$1g = { id: "lupa-search-box-input-container" };
|
|
3318
|
+
const _hoisted_2$U = { class: "lupa-input-clear" };
|
|
3319
|
+
const _hoisted_3$D = { id: "lupa-search-box-input" };
|
|
3320
3320
|
const _hoisted_4$t = ["value"];
|
|
3321
|
-
const _hoisted_5$
|
|
3322
|
-
const _hoisted_6$
|
|
3321
|
+
const _hoisted_5$j = ["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$1r = /* @__PURE__ */ vue.defineComponent({
|
|
3331
3331
|
__name: "SearchBoxInput",
|
|
3332
3332
|
props: {
|
|
3333
3333
|
options: {},
|
|
@@ -3411,14 +3411,14 @@ 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$
|
|
3415
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
3414
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1g, [
|
|
3415
|
+
vue.createElementVNode("div", _hoisted_2$U, [
|
|
3416
3416
|
vue.createElementVNode("div", {
|
|
3417
3417
|
class: vue.normalizeClass(["lupa-input-clear-content", { "lupa-input-clear-filled": inputValue.value }]),
|
|
3418
3418
|
onClick: clear
|
|
3419
3419
|
}, null, 2)
|
|
3420
3420
|
]),
|
|
3421
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
3421
|
+
vue.createElementVNode("div", _hoisted_3$D, [
|
|
3422
3422
|
vue.createElementVNode("input", {
|
|
3423
3423
|
class: "lupa-hint",
|
|
3424
3424
|
"aria-hidden": "true",
|
|
@@ -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$j), [
|
|
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$1q = /* @__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$
|
|
3493
|
-
const _hoisted_2$
|
|
3494
|
-
const _sfc_main$
|
|
3492
|
+
const _hoisted_1$1f = { class: "lupa-search-box-history-item" };
|
|
3493
|
+
const _hoisted_2$T = { class: "lupa-search-box-history-item-content" };
|
|
3494
|
+
const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
|
|
3495
3495
|
__name: "SearchBoxHistoryItem",
|
|
3496
3496
|
props: {
|
|
3497
3497
|
item: {},
|
|
@@ -3507,8 +3507,8 @@ 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$
|
|
3511
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
3510
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1f, [
|
|
3511
|
+
vue.createElementVNode("div", _hoisted_2$T, [
|
|
3512
3512
|
vue.createElementVNode("div", {
|
|
3513
3513
|
class: vue.normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
|
|
3514
3514
|
onClick: click2
|
|
@@ -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$1e = {
|
|
3526
3526
|
key: 0,
|
|
3527
3527
|
class: "lupa-search-box-history-panel"
|
|
3528
3528
|
};
|
|
3529
|
-
const _sfc_main$
|
|
3529
|
+
const _sfc_main$1o = /* @__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$1e, [
|
|
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$1p, {
|
|
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$1d = { class: "lupa-search-box-no-results" };
|
|
3589
|
+
const _sfc_main$1n = /* @__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$1d, vue.toDisplayString(_ctx.labels.noResults), 1);
|
|
3597
3597
|
};
|
|
3598
3598
|
}
|
|
3599
3599
|
});
|
|
@@ -3625,13 +3625,13 @@ const generateGridTemplate = (elements) => {
|
|
|
3625
3625
|
}
|
|
3626
3626
|
return gridTemplate.join(" ");
|
|
3627
3627
|
};
|
|
3628
|
-
const _hoisted_1$
|
|
3629
|
-
const _hoisted_2$
|
|
3628
|
+
const _hoisted_1$1c = ["innerHTML"];
|
|
3629
|
+
const _hoisted_2$S = {
|
|
3630
3630
|
key: 1,
|
|
3631
3631
|
"data-cy": "lupa-suggestion-value",
|
|
3632
3632
|
class: "lupa-suggestion-value"
|
|
3633
3633
|
};
|
|
3634
|
-
const _hoisted_3$
|
|
3634
|
+
const _hoisted_3$C = {
|
|
3635
3635
|
key: 2,
|
|
3636
3636
|
class: "lupa-suggestion-facet",
|
|
3637
3637
|
"data-cy": "lupa-suggestion-facet"
|
|
@@ -3640,11 +3640,11 @@ const _hoisted_4$s = {
|
|
|
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$i = {
|
|
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$1m = /* @__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$
|
|
3684
|
-
_ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
3683
|
+
}, null, 8, _hoisted_1$1c)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$S, vue.toDisplayString(_ctx.suggestion.display), 1)),
|
|
3684
|
+
_ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$C, [
|
|
3685
3685
|
vue.createElementVNode("span", _hoisted_4$s, vue.toDisplayString(facetLabel.value), 1),
|
|
3686
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
3686
|
+
vue.createElementVNode("span", _hoisted_5$i, 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$1b = {
|
|
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$1l = /* @__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$1b, [
|
|
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$1m, {
|
|
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$1k = /* @__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$1l, {
|
|
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$
|
|
12953
|
-
const _hoisted_2$
|
|
12954
|
-
const _sfc_main$
|
|
12952
|
+
const _hoisted_1$1a = ["src"];
|
|
12953
|
+
const _hoisted_2$R = ["src"];
|
|
12954
|
+
const _sfc_main$1j = /* @__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$1a))
|
|
13097
13097
|
]),
|
|
13098
13098
|
_: 1
|
|
13099
13099
|
})) : (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
|
|
@@ -13101,12 +13101,12 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
|
|
|
13101
13101
|
class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
|
|
13102
13102
|
style: styleOverride.value,
|
|
13103
13103
|
src: finalMainImageUrl.value
|
|
13104
|
-
}, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$
|
|
13104
|
+
}, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$R))
|
|
13105
13105
|
], 38);
|
|
13106
13106
|
};
|
|
13107
13107
|
}
|
|
13108
13108
|
});
|
|
13109
|
-
const _sfc_main$
|
|
13109
|
+
const _sfc_main$1i = /* @__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$1j, {
|
|
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$
|
|
13127
|
-
const _hoisted_2$
|
|
13126
|
+
const _hoisted_1$19 = ["innerHTML"];
|
|
13127
|
+
const _hoisted_2$Q = {
|
|
13128
13128
|
key: 1,
|
|
13129
13129
|
class: "lupa-search-box-product-title"
|
|
13130
13130
|
};
|
|
13131
|
-
const _sfc_main$
|
|
13131
|
+
const _sfc_main$1h = /* @__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$19)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$Q, [
|
|
13155
13155
|
vue.createElementVNode("strong", null, vue.toDisplayString(title.value), 1)
|
|
13156
13156
|
]));
|
|
13157
13157
|
};
|
|
13158
13158
|
}
|
|
13159
13159
|
});
|
|
13160
|
-
const _hoisted_1$
|
|
13161
|
-
const _hoisted_2$
|
|
13160
|
+
const _hoisted_1$18 = ["innerHTML"];
|
|
13161
|
+
const _hoisted_2$P = {
|
|
13162
13162
|
key: 1,
|
|
13163
13163
|
class: "lupa-search-box-product-description"
|
|
13164
13164
|
};
|
|
13165
|
-
const _sfc_main$
|
|
13165
|
+
const _sfc_main$1g = /* @__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$18)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$P, vue.toDisplayString(description.value), 1));
|
|
13189
13189
|
};
|
|
13190
13190
|
}
|
|
13191
13191
|
});
|
|
13192
|
-
const _hoisted_1$
|
|
13193
|
-
const _sfc_main$
|
|
13192
|
+
const _hoisted_1$17 = { class: "lupa-search-box-product-price" };
|
|
13193
|
+
const _sfc_main$1f = /* @__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$17, [
|
|
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$1e = /* @__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$
|
|
13245
|
-
const _hoisted_2$
|
|
13246
|
-
const _hoisted_3$
|
|
13244
|
+
const _hoisted_1$16 = ["innerHTML"];
|
|
13245
|
+
const _hoisted_2$O = { key: 0 };
|
|
13246
|
+
const _hoisted_3$B = { key: 1 };
|
|
13247
13247
|
const _hoisted_4$r = { class: "lupa-search-box-custom-label" };
|
|
13248
|
-
const _hoisted_5$
|
|
13249
|
-
const _sfc_main$
|
|
13248
|
+
const _hoisted_5$h = { class: "lupa-search-box-custom-text" };
|
|
13249
|
+
const _sfc_main$1d = /* @__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$16)) : (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
|
-
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
13279
|
+
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$B, [
|
|
13280
13280
|
vue.createElementVNode("div", _hoisted_4$r, vue.toDisplayString(label.value), 1),
|
|
13281
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
13281
|
+
vue.createElementVNode("div", _hoisted_5$h, 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$15 = ["innerHTML"];
|
|
13288
|
+
const _sfc_main$1c = /* @__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$15);
|
|
13314
13314
|
};
|
|
13315
13315
|
}
|
|
13316
13316
|
});
|
|
@@ -13544,10 +13544,10 @@ const useSearchResultStore = defineStore("searchResult", () => {
|
|
|
13544
13544
|
setRelatedCategoryChildren
|
|
13545
13545
|
};
|
|
13546
13546
|
});
|
|
13547
|
-
const _hoisted_1$
|
|
13548
|
-
const _hoisted_2$
|
|
13549
|
-
const _hoisted_3$
|
|
13550
|
-
const _sfc_main$
|
|
13547
|
+
const _hoisted_1$14 = { class: "lupa-search-box-add-to-cart-wrapper" };
|
|
13548
|
+
const _hoisted_2$N = { class: "lupa-search-box-product-addtocart" };
|
|
13549
|
+
const _hoisted_3$A = ["onClick", "disabled"];
|
|
13550
|
+
const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
|
|
13551
13551
|
__name: "SearchBoxProductAddToCart",
|
|
13552
13552
|
props: {
|
|
13553
13553
|
item: {},
|
|
@@ -13580,37 +13580,37 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13580
13580
|
loading.value = false;
|
|
13581
13581
|
});
|
|
13582
13582
|
return (_ctx, _cache) => {
|
|
13583
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13584
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
13583
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
|
|
13584
|
+
vue.createElementVNode("div", _hoisted_2$N, [
|
|
13585
13585
|
vue.createElementVNode("button", {
|
|
13586
13586
|
onClick: vue.withModifiers(handleClick, ["stop", "prevent"]),
|
|
13587
13587
|
class: vue.normalizeClass(loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart"),
|
|
13588
13588
|
"data-cy": "lupa-add-to-cart",
|
|
13589
13589
|
type: "button",
|
|
13590
13590
|
disabled: !inStockValue.value || loading.value
|
|
13591
|
-
}, vue.toDisplayString(label.value), 11, _hoisted_3$
|
|
13591
|
+
}, vue.toDisplayString(label.value), 11, _hoisted_3$A)
|
|
13592
13592
|
])
|
|
13593
13593
|
]);
|
|
13594
13594
|
};
|
|
13595
13595
|
}
|
|
13596
13596
|
});
|
|
13597
|
-
const _hoisted_1$
|
|
13597
|
+
const _hoisted_1$13 = {
|
|
13598
13598
|
key: 1,
|
|
13599
13599
|
class: "lupa-search-box-element-badge-wrapper"
|
|
13600
13600
|
};
|
|
13601
13601
|
const __default__$4 = {
|
|
13602
13602
|
components: {
|
|
13603
|
-
SearchBoxProductImage: _sfc_main$
|
|
13604
|
-
SearchBoxProductTitle: _sfc_main$
|
|
13605
|
-
SearchBoxProductDescription: _sfc_main$
|
|
13606
|
-
SearchBoxProductPrice: _sfc_main$
|
|
13607
|
-
SearchBoxProductRegularPrice: _sfc_main$
|
|
13608
|
-
SearchBoxProductCustom: _sfc_main$
|
|
13609
|
-
SearchBoxProductCustomHtml: _sfc_main$
|
|
13610
|
-
SearchBoxProductAddToCart: _sfc_main$
|
|
13603
|
+
SearchBoxProductImage: _sfc_main$1i,
|
|
13604
|
+
SearchBoxProductTitle: _sfc_main$1h,
|
|
13605
|
+
SearchBoxProductDescription: _sfc_main$1g,
|
|
13606
|
+
SearchBoxProductPrice: _sfc_main$1f,
|
|
13607
|
+
SearchBoxProductRegularPrice: _sfc_main$1e,
|
|
13608
|
+
SearchBoxProductCustom: _sfc_main$1d,
|
|
13609
|
+
SearchBoxProductCustomHtml: _sfc_main$1c,
|
|
13610
|
+
SearchBoxProductAddToCart: _sfc_main$1b
|
|
13611
13611
|
}
|
|
13612
13612
|
};
|
|
13613
|
-
const _sfc_main$
|
|
13613
|
+
const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
|
|
13614
13614
|
__name: "SearchBoxProductElement",
|
|
13615
13615
|
props: {
|
|
13616
13616
|
item: {},
|
|
@@ -13673,7 +13673,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13673
13673
|
class: vue.normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) }),
|
|
13674
13674
|
inStock: _ctx.isInStock
|
|
13675
13675
|
}, null, 8, ["item", "options", "labels", "class", "inStock"])) : vue.createCommentVNode("", true)
|
|
13676
|
-
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13676
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$13, [
|
|
13677
13677
|
displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
|
|
13678
13678
|
key: 0,
|
|
13679
13679
|
item: enhancedItem.value,
|
|
@@ -13687,14 +13687,14 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13687
13687
|
};
|
|
13688
13688
|
}
|
|
13689
13689
|
}));
|
|
13690
|
-
const _hoisted_1
|
|
13691
|
-
const _hoisted_2$
|
|
13692
|
-
const _hoisted_3$
|
|
13690
|
+
const _hoisted_1$12 = { class: "lupa-badge-title" };
|
|
13691
|
+
const _hoisted_2$M = ["src"];
|
|
13692
|
+
const _hoisted_3$z = { key: 1 };
|
|
13693
13693
|
const _hoisted_4$q = {
|
|
13694
13694
|
key: 0,
|
|
13695
13695
|
class: "lupa-badge-full-text"
|
|
13696
13696
|
};
|
|
13697
|
-
const _sfc_main$
|
|
13697
|
+
const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
13698
13698
|
__name: "SearchResultGeneratedBadge",
|
|
13699
13699
|
props: {
|
|
13700
13700
|
options: {},
|
|
@@ -13727,20 +13727,20 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13727
13727
|
class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
|
|
13728
13728
|
style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
|
|
13729
13729
|
}, [
|
|
13730
|
-
vue.createElementVNode("span", _hoisted_1
|
|
13730
|
+
vue.createElementVNode("span", _hoisted_1$12, [
|
|
13731
13731
|
image.value ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
13732
13732
|
key: 0,
|
|
13733
13733
|
src: image.value
|
|
13734
|
-
}, null, 8, _hoisted_2$
|
|
13735
|
-
hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
13734
|
+
}, null, 8, _hoisted_2$M)) : vue.createCommentVNode("", true),
|
|
13735
|
+
hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$z, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
|
|
13736
13736
|
]),
|
|
13737
13737
|
hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$q, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
|
|
13738
13738
|
], 6);
|
|
13739
13739
|
};
|
|
13740
13740
|
}
|
|
13741
13741
|
});
|
|
13742
|
-
const _hoisted_1$
|
|
13743
|
-
const _sfc_main$
|
|
13742
|
+
const _hoisted_1$11 = { class: "lupa-generated-badges" };
|
|
13743
|
+
const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
|
|
13744
13744
|
__name: "SearchResultGeneratedBadges",
|
|
13745
13745
|
props: {
|
|
13746
13746
|
options: {}
|
|
@@ -13766,9 +13766,9 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13766
13766
|
})).filter((b) => Boolean(b.id));
|
|
13767
13767
|
});
|
|
13768
13768
|
return (_ctx, _cache) => {
|
|
13769
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13769
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
|
|
13770
13770
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
|
|
13771
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13771
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$19, {
|
|
13772
13772
|
key: badge.id,
|
|
13773
13773
|
badge,
|
|
13774
13774
|
options: _ctx.options
|
|
@@ -13778,8 +13778,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13778
13778
|
};
|
|
13779
13779
|
}
|
|
13780
13780
|
});
|
|
13781
|
-
const _hoisted_1$
|
|
13782
|
-
const _sfc_main$
|
|
13781
|
+
const _hoisted_1$10 = ["innerHTML"];
|
|
13782
|
+
const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
|
|
13783
13783
|
__name: "CustomBadge",
|
|
13784
13784
|
props: {
|
|
13785
13785
|
badge: {}
|
|
@@ -13800,12 +13800,12 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13800
13800
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13801
13801
|
class: vue.normalizeClass(className.value),
|
|
13802
13802
|
innerHTML: text.value
|
|
13803
|
-
}, null, 10, _hoisted_1$
|
|
13803
|
+
}, null, 10, _hoisted_1$10);
|
|
13804
13804
|
};
|
|
13805
13805
|
}
|
|
13806
13806
|
});
|
|
13807
|
-
const _hoisted_1
|
|
13808
|
-
const _sfc_main$
|
|
13807
|
+
const _hoisted_1$$ = { class: "lupa-text-badges" };
|
|
13808
|
+
const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
|
|
13809
13809
|
__name: "TextBadge",
|
|
13810
13810
|
props: {
|
|
13811
13811
|
badge: {}
|
|
@@ -13820,7 +13820,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13820
13820
|
return badges.value.slice(0, props.badge.maxItems);
|
|
13821
13821
|
});
|
|
13822
13822
|
return (_ctx, _cache) => {
|
|
13823
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1
|
|
13823
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$$, [
|
|
13824
13824
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
13825
13825
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13826
13826
|
class: "lupa-badge lupa-text-badge",
|
|
@@ -13831,9 +13831,9 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13831
13831
|
};
|
|
13832
13832
|
}
|
|
13833
13833
|
});
|
|
13834
|
-
const _hoisted_1$
|
|
13835
|
-
const _hoisted_2$
|
|
13836
|
-
const _sfc_main$
|
|
13834
|
+
const _hoisted_1$_ = { class: "lupa-image-badges" };
|
|
13835
|
+
const _hoisted_2$L = ["src"];
|
|
13836
|
+
const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
13837
13837
|
__name: "ImageBadge",
|
|
13838
13838
|
props: {
|
|
13839
13839
|
badge: {}
|
|
@@ -13853,7 +13853,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13853
13853
|
return `${props.badge.rootImageUrl}${src}`;
|
|
13854
13854
|
};
|
|
13855
13855
|
return (_ctx, _cache) => {
|
|
13856
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13856
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
|
|
13857
13857
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
|
|
13858
13858
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13859
13859
|
class: "lupa-badge lupa-image-badge",
|
|
@@ -13861,22 +13861,22 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
13861
13861
|
}, [
|
|
13862
13862
|
vue.createElementVNode("img", {
|
|
13863
13863
|
src: getImageUrl(item)
|
|
13864
|
-
}, null, 8, _hoisted_2$
|
|
13864
|
+
}, null, 8, _hoisted_2$L)
|
|
13865
13865
|
]);
|
|
13866
13866
|
}), 128))
|
|
13867
13867
|
]);
|
|
13868
13868
|
};
|
|
13869
13869
|
}
|
|
13870
13870
|
});
|
|
13871
|
-
const _hoisted_1$
|
|
13871
|
+
const _hoisted_1$Z = { id: "lupa-search-results-badges" };
|
|
13872
13872
|
const __default__$3 = {
|
|
13873
13873
|
components: {
|
|
13874
|
-
CustomBadge: _sfc_main$
|
|
13875
|
-
TextBadge: _sfc_main$
|
|
13876
|
-
ImageBadge: _sfc_main$
|
|
13874
|
+
CustomBadge: _sfc_main$17,
|
|
13875
|
+
TextBadge: _sfc_main$16,
|
|
13876
|
+
ImageBadge: _sfc_main$15
|
|
13877
13877
|
}
|
|
13878
13878
|
};
|
|
13879
|
-
const _sfc_main$
|
|
13879
|
+
const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
|
|
13880
13880
|
__name: "SearchResultsBadgeWrapper",
|
|
13881
13881
|
props: {
|
|
13882
13882
|
position: {},
|
|
@@ -13937,7 +13937,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13937
13937
|
}
|
|
13938
13938
|
};
|
|
13939
13939
|
return (_ctx, _cache) => {
|
|
13940
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
13940
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
|
|
13941
13941
|
vue.createElementVNode("div", {
|
|
13942
13942
|
id: "lupa-badges",
|
|
13943
13943
|
class: vue.normalizeClass(anchorPosition.value)
|
|
@@ -13948,7 +13948,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13948
13948
|
badge
|
|
13949
13949
|
}, null, 8, ["badge"]);
|
|
13950
13950
|
}), 128)),
|
|
13951
|
-
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13951
|
+
positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$18, {
|
|
13952
13952
|
key: 0,
|
|
13953
13953
|
options: _ctx.options
|
|
13954
13954
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true)
|
|
@@ -13957,13 +13957,13 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
|
|
|
13957
13957
|
};
|
|
13958
13958
|
}
|
|
13959
13959
|
}));
|
|
13960
|
-
const _hoisted_1$
|
|
13961
|
-
const _hoisted_2$
|
|
13962
|
-
const _hoisted_3$
|
|
13960
|
+
const _hoisted_1$Y = ["href"];
|
|
13961
|
+
const _hoisted_2$K = { class: "lupa-search-box-product-details-section" };
|
|
13962
|
+
const _hoisted_3$y = {
|
|
13963
13963
|
key: 0,
|
|
13964
13964
|
class: "lupa-search-box-product-add-to-cart-section"
|
|
13965
13965
|
};
|
|
13966
|
-
const _sfc_main
|
|
13966
|
+
const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
13967
13967
|
__name: "SearchBoxProduct",
|
|
13968
13968
|
props: {
|
|
13969
13969
|
item: {},
|
|
@@ -14049,7 +14049,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14049
14049
|
style: vue.normalizeStyle(imageStyleOverride.value)
|
|
14050
14050
|
}, [
|
|
14051
14051
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
|
|
14052
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14052
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1a, {
|
|
14053
14053
|
class: "lupa-search-box-product-element",
|
|
14054
14054
|
item: _ctx.item,
|
|
14055
14055
|
element,
|
|
@@ -14059,10 +14059,10 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14059
14059
|
}, null, 8, ["item", "element", "labels", "link"]);
|
|
14060
14060
|
}), 128))
|
|
14061
14061
|
], 4),
|
|
14062
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
14062
|
+
vue.createElementVNode("div", _hoisted_2$K, [
|
|
14063
14063
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
|
|
14064
14064
|
var _a;
|
|
14065
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14065
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1a, {
|
|
14066
14066
|
key: element.key,
|
|
14067
14067
|
class: "lupa-search-box-product-element",
|
|
14068
14068
|
item: _ctx.item,
|
|
@@ -14073,7 +14073,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14073
14073
|
badgeOptions.value && ((_a = badgeOptions.value) == null ? void 0 : _a.anchorElementKey) === element.key ? {
|
|
14074
14074
|
name: "badges",
|
|
14075
14075
|
fn: vue.withCtx(() => [
|
|
14076
|
-
vue.createVNode(_sfc_main$
|
|
14076
|
+
vue.createVNode(_sfc_main$14, {
|
|
14077
14077
|
options: badgeOptions.value,
|
|
14078
14078
|
position: "card"
|
|
14079
14079
|
}, null, 8, ["options"])
|
|
@@ -14083,8 +14083,8 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14083
14083
|
]), 1032, ["item", "element", "labels", "link"]);
|
|
14084
14084
|
}), 128))
|
|
14085
14085
|
]),
|
|
14086
|
-
addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
14087
|
-
vue.createVNode(_sfc_main$
|
|
14086
|
+
addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$y, [
|
|
14087
|
+
vue.createVNode(_sfc_main$1a, {
|
|
14088
14088
|
class: "lupa-search-box-product-element",
|
|
14089
14089
|
item: _ctx.item,
|
|
14090
14090
|
element: addToCartElement.value,
|
|
@@ -14093,7 +14093,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14093
14093
|
isInStock: isInStock.value
|
|
14094
14094
|
}, null, 8, ["item", "element", "labels", "link", "isInStock"])
|
|
14095
14095
|
])) : vue.createCommentVNode("", true)
|
|
14096
|
-
], 16, _hoisted_1$
|
|
14096
|
+
], 16, _hoisted_1$Y);
|
|
14097
14097
|
};
|
|
14098
14098
|
}
|
|
14099
14099
|
});
|
|
@@ -14154,8 +14154,8 @@ const useTrackingStore = defineStore("tracking", () => {
|
|
|
14154
14154
|
};
|
|
14155
14155
|
return { trackSearch, trackResults, trackEvent };
|
|
14156
14156
|
});
|
|
14157
|
-
const _hoisted_1$
|
|
14158
|
-
const _sfc_main$
|
|
14157
|
+
const _hoisted_1$X = { id: "lupa-search-box-products" };
|
|
14158
|
+
const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
14159
14159
|
__name: "SearchBoxProducts",
|
|
14160
14160
|
props: {
|
|
14161
14161
|
items: {},
|
|
@@ -14216,7 +14216,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14216
14216
|
handleRoutingEvent(link, event, boxRoutingBehavior.value === "event");
|
|
14217
14217
|
};
|
|
14218
14218
|
return (_ctx, _cache) => {
|
|
14219
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14219
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
|
|
14220
14220
|
_ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.items, (item, index) => {
|
|
14221
14221
|
return vue.renderSlot(_ctx.$slots, "productCard", {
|
|
14222
14222
|
key: index,
|
|
@@ -14228,7 +14228,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14228
14228
|
itemClicked: handleProductClick
|
|
14229
14229
|
});
|
|
14230
14230
|
}), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.items, (item, index) => {
|
|
14231
|
-
return vue.openBlock(), vue.createBlock(_sfc_main
|
|
14231
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$13, {
|
|
14232
14232
|
key: index,
|
|
14233
14233
|
item,
|
|
14234
14234
|
panelOptions: _ctx.panelOptions,
|
|
@@ -14243,9 +14243,9 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
14243
14243
|
};
|
|
14244
14244
|
}
|
|
14245
14245
|
});
|
|
14246
|
-
const _hoisted_1$
|
|
14247
|
-
const _hoisted_2$
|
|
14248
|
-
const _sfc_main$
|
|
14246
|
+
const _hoisted_1$W = { class: "lupa-search-box-documents-go-to-results-wrapper" };
|
|
14247
|
+
const _hoisted_2$J = { key: 0 };
|
|
14248
|
+
const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
14249
14249
|
__name: "SearchBoxProductsGoToResultsButton",
|
|
14250
14250
|
props: {
|
|
14251
14251
|
options: {},
|
|
@@ -14275,19 +14275,19 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
|
14275
14275
|
emit("goToResults");
|
|
14276
14276
|
};
|
|
14277
14277
|
return (_ctx, _cache) => {
|
|
14278
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14278
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$W, [
|
|
14279
14279
|
vue.createElementVNode("button", {
|
|
14280
14280
|
class: "lupa-search-box-documents-go-to-results-button",
|
|
14281
14281
|
onClick: goToResults
|
|
14282
14282
|
}, [
|
|
14283
14283
|
vue.createTextVNode(vue.toDisplayString(goToResultsLabel.value) + " ", 1),
|
|
14284
|
-
totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
14284
|
+
totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$J, " " + vue.toDisplayString(totalCount.value), 1)) : vue.createCommentVNode("", true)
|
|
14285
14285
|
])
|
|
14286
14286
|
]);
|
|
14287
14287
|
};
|
|
14288
14288
|
}
|
|
14289
14289
|
});
|
|
14290
|
-
const _sfc_main$
|
|
14290
|
+
const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
|
|
14291
14291
|
__name: "SearchBoxProductsWrapper",
|
|
14292
14292
|
props: {
|
|
14293
14293
|
panel: {},
|
|
@@ -14344,7 +14344,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
14344
14344
|
vue.watch(() => props.panel.limit, getItemsDebounced);
|
|
14345
14345
|
return (_ctx, _cache) => {
|
|
14346
14346
|
var _a, _b;
|
|
14347
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14347
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$12, {
|
|
14348
14348
|
items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
|
|
14349
14349
|
panelOptions: _ctx.panel,
|
|
14350
14350
|
labels: _ctx.labels,
|
|
@@ -14354,7 +14354,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
14354
14354
|
default: vue.withCtx(() => {
|
|
14355
14355
|
var _a2;
|
|
14356
14356
|
return [
|
|
14357
|
-
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$11, {
|
|
14358
14358
|
key: 0,
|
|
14359
14359
|
options: _ctx.searchBoxOptions,
|
|
14360
14360
|
panel: _ctx.panel,
|
|
@@ -14375,7 +14375,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
14375
14375
|
};
|
|
14376
14376
|
}
|
|
14377
14377
|
});
|
|
14378
|
-
const _sfc_main
|
|
14378
|
+
const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
|
|
14379
14379
|
__name: "SearchBoxRelatedSourceWrapper",
|
|
14380
14380
|
props: {
|
|
14381
14381
|
panel: {},
|
|
@@ -14447,7 +14447,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
14447
14447
|
});
|
|
14448
14448
|
return (_ctx, _cache) => {
|
|
14449
14449
|
var _a, _b;
|
|
14450
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14450
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$12, {
|
|
14451
14451
|
items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
|
|
14452
14452
|
panelOptions: documentPanelOptions.value,
|
|
14453
14453
|
labels: _ctx.labels,
|
|
@@ -14465,12 +14465,12 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
|
14465
14465
|
};
|
|
14466
14466
|
}
|
|
14467
14467
|
});
|
|
14468
|
-
const _hoisted_1$
|
|
14468
|
+
const _hoisted_1$V = {
|
|
14469
14469
|
key: 0,
|
|
14470
14470
|
id: "lupa-search-box-panel"
|
|
14471
14471
|
};
|
|
14472
|
-
const _hoisted_2$
|
|
14473
|
-
const _hoisted_3$
|
|
14472
|
+
const _hoisted_2$I = ["data-cy"];
|
|
14473
|
+
const _hoisted_3$x = {
|
|
14474
14474
|
key: 0,
|
|
14475
14475
|
class: "lupa-panel-title lupa-panel-title-top-results"
|
|
14476
14476
|
};
|
|
@@ -14478,18 +14478,18 @@ const _hoisted_4$p = {
|
|
|
14478
14478
|
key: 1,
|
|
14479
14479
|
class: "lupa-panel-title"
|
|
14480
14480
|
};
|
|
14481
|
-
const _hoisted_5$
|
|
14481
|
+
const _hoisted_5$g = {
|
|
14482
14482
|
key: 1,
|
|
14483
14483
|
id: "lupa-search-box-panel"
|
|
14484
14484
|
};
|
|
14485
14485
|
const __default__$2 = {
|
|
14486
14486
|
components: {
|
|
14487
|
-
SearchBoxSuggestionsWrapper: _sfc_main$
|
|
14488
|
-
SearchBoxProductsWrapper: _sfc_main$
|
|
14489
|
-
SearchBoxRelatedSourceWrapper: _sfc_main
|
|
14487
|
+
SearchBoxSuggestionsWrapper: _sfc_main$1k,
|
|
14488
|
+
SearchBoxProductsWrapper: _sfc_main$10,
|
|
14489
|
+
SearchBoxRelatedSourceWrapper: _sfc_main$$
|
|
14490
14490
|
}
|
|
14491
14491
|
};
|
|
14492
|
-
const _sfc_main$
|
|
14492
|
+
const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
|
|
14493
14493
|
__name: "SearchBoxMainPanel",
|
|
14494
14494
|
props: {
|
|
14495
14495
|
options: {},
|
|
@@ -14645,7 +14645,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
14645
14645
|
ref_key: "panelContainer",
|
|
14646
14646
|
ref: panelContainer
|
|
14647
14647
|
}, [
|
|
14648
|
-
displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14648
|
+
displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
|
|
14649
14649
|
labels.value.closePanel ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
14650
14650
|
key: 0,
|
|
14651
14651
|
class: "lupa-search-box-close-panel",
|
|
@@ -14667,7 +14667,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
14667
14667
|
style: vue.normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
|
|
14668
14668
|
"data-cy": "lupa-panel-" + panel.type + "-index"
|
|
14669
14669
|
}, [
|
|
14670
|
-
((_a2 = panel.labels) == null ? void 0 : _a2.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
14670
|
+
((_a2 = panel.labels) == null ? void 0 : _a2.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$x, vue.toDisplayString((_b = panel.labels) == null ? void 0 : _b.topResultsTitle), 1)) : vue.createCommentVNode("", true),
|
|
14671
14671
|
((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$p, vue.toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
|
|
14672
14672
|
panel.queryKey && canShowPanel(panel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getComponent(panel.type)), {
|
|
14673
14673
|
key: 2,
|
|
@@ -14690,21 +14690,21 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
14690
14690
|
key: "0"
|
|
14691
14691
|
} : void 0
|
|
14692
14692
|
]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : vue.createCommentVNode("", true)
|
|
14693
|
-
], 14, _hoisted_2$
|
|
14693
|
+
], 14, _hoisted_2$I);
|
|
14694
14694
|
}), 128))
|
|
14695
14695
|
], 4),
|
|
14696
|
-
!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$1n, {
|
|
14697
14697
|
key: 1,
|
|
14698
14698
|
labels: labels.value
|
|
14699
14699
|
}, null, 8, ["labels"])) : vue.createCommentVNode("", true),
|
|
14700
|
-
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$1q, {
|
|
14701
14701
|
key: 2,
|
|
14702
14702
|
labels: labels.value,
|
|
14703
14703
|
showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
|
|
14704
14704
|
onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
|
|
14705
14705
|
}, null, 8, ["labels", "showTotalCount"])) : vue.createCommentVNode("", true)
|
|
14706
|
-
])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
14707
|
-
vue.createVNode(_sfc_main$
|
|
14706
|
+
])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$g, [
|
|
14707
|
+
vue.createVNode(_sfc_main$1o, {
|
|
14708
14708
|
options: _ctx.options.history,
|
|
14709
14709
|
history: history.value,
|
|
14710
14710
|
onGoToResults: handleGoToResults,
|
|
@@ -14729,9 +14729,9 @@ const unbindSearchTriggers = (triggers = [], event) => {
|
|
|
14729
14729
|
const elements = getElements(triggers);
|
|
14730
14730
|
elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
|
|
14731
14731
|
};
|
|
14732
|
-
const _hoisted_1$
|
|
14733
|
-
const _hoisted_2$
|
|
14734
|
-
const _sfc_main$
|
|
14732
|
+
const _hoisted_1$U = { id: "lupa-search-box" };
|
|
14733
|
+
const _hoisted_2$H = { class: "lupa-search-box-wrapper" };
|
|
14734
|
+
const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
|
|
14735
14735
|
__name: "SearchBox",
|
|
14736
14736
|
props: {
|
|
14737
14737
|
options: {},
|
|
@@ -14991,9 +14991,9 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
14991
14991
|
};
|
|
14992
14992
|
return (_ctx, _cache) => {
|
|
14993
14993
|
var _a2;
|
|
14994
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14995
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
14996
|
-
vue.createVNode(_sfc_main$
|
|
14994
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
|
|
14995
|
+
vue.createElementVNode("div", _hoisted_2$H, [
|
|
14996
|
+
vue.createVNode(_sfc_main$1r, {
|
|
14997
14997
|
options: inputOptions.value,
|
|
14998
14998
|
suggestedValue: suggestedValue.value,
|
|
14999
14999
|
"can-close": (_a2 = _ctx.isSearchContainer) != null ? _a2 : false,
|
|
@@ -15006,7 +15006,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
15006
15006
|
onSearch: handleSearch,
|
|
15007
15007
|
onClose: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("close"))
|
|
15008
15008
|
}, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
|
|
15009
|
-
opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15009
|
+
opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$_, {
|
|
15010
15010
|
key: 0,
|
|
15011
15011
|
options: panelOptions.value,
|
|
15012
15012
|
inputValue: inputValue.value,
|
|
@@ -15111,20 +15111,20 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
|
|
|
15111
15111
|
options.options.onError(e2);
|
|
15112
15112
|
}
|
|
15113
15113
|
});
|
|
15114
|
-
const _hoisted_1$
|
|
15114
|
+
const _hoisted_1$T = {
|
|
15115
15115
|
key: 0,
|
|
15116
15116
|
id: "lupa-search-results-did-you-mean"
|
|
15117
15117
|
};
|
|
15118
|
-
const _hoisted_2$
|
|
15118
|
+
const _hoisted_2$G = {
|
|
15119
15119
|
key: 0,
|
|
15120
15120
|
"data-cy": "suggested-search-text-label"
|
|
15121
15121
|
};
|
|
15122
|
-
const _hoisted_3$
|
|
15122
|
+
const _hoisted_3$w = {
|
|
15123
15123
|
key: 1,
|
|
15124
15124
|
"data-cy": "did-you-mean-label"
|
|
15125
15125
|
};
|
|
15126
15126
|
const _hoisted_4$o = { key: 1 };
|
|
15127
|
-
const _sfc_main$
|
|
15127
|
+
const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
15128
15128
|
__name: "SearchResultsDidYouMean",
|
|
15129
15129
|
props: {
|
|
15130
15130
|
labels: {}
|
|
@@ -15156,8 +15156,8 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
15156
15156
|
paramStore.goToResults({ searchText, facet });
|
|
15157
15157
|
};
|
|
15158
15158
|
return (_ctx, _cache) => {
|
|
15159
|
-
return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15160
|
-
vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
15159
|
+
return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
|
|
15160
|
+
vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$G, [
|
|
15161
15161
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
|
|
15162
15162
|
return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
|
|
15163
15163
|
vue.createElementVNode("span", {
|
|
@@ -15166,7 +15166,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
15166
15166
|
]);
|
|
15167
15167
|
}), 128))
|
|
15168
15168
|
])) : vue.createCommentVNode("", true),
|
|
15169
|
-
didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
15169
|
+
didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
|
|
15170
15170
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.didYouMean.split(" "), (label, index) => {
|
|
15171
15171
|
return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
|
|
15172
15172
|
label.includes("{1}") ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
@@ -15182,12 +15182,12 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
15182
15182
|
};
|
|
15183
15183
|
}
|
|
15184
15184
|
});
|
|
15185
|
-
const _hoisted_1$
|
|
15185
|
+
const _hoisted_1$S = {
|
|
15186
15186
|
key: 0,
|
|
15187
15187
|
class: "lupa-search-results-summary"
|
|
15188
15188
|
};
|
|
15189
|
-
const _hoisted_2$
|
|
15190
|
-
const _sfc_main$
|
|
15189
|
+
const _hoisted_2$F = ["innerHTML"];
|
|
15190
|
+
const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
|
|
15191
15191
|
__name: "SearchResultsSummary",
|
|
15192
15192
|
props: {
|
|
15193
15193
|
label: {},
|
|
@@ -15202,8 +15202,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15202
15202
|
return addParamsToLabel(props.label, range, `<span>${totalItems.value}</span>`);
|
|
15203
15203
|
});
|
|
15204
15204
|
return (_ctx, _cache) => {
|
|
15205
|
-
return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15206
|
-
vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$
|
|
15205
|
+
return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
|
|
15206
|
+
vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$F),
|
|
15207
15207
|
_ctx.clearable ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
15208
15208
|
key: 0,
|
|
15209
15209
|
class: "lupa-filter-clear",
|
|
@@ -15214,19 +15214,19 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15214
15214
|
};
|
|
15215
15215
|
}
|
|
15216
15216
|
});
|
|
15217
|
-
const _hoisted_1$
|
|
15217
|
+
const _hoisted_1$R = {
|
|
15218
15218
|
key: 0,
|
|
15219
15219
|
class: "lupa-result-page-title",
|
|
15220
15220
|
"data-cy": "lupa-result-page-title"
|
|
15221
15221
|
};
|
|
15222
|
-
const _hoisted_2$
|
|
15223
|
-
const _hoisted_3$
|
|
15222
|
+
const _hoisted_2$E = { key: 0 };
|
|
15223
|
+
const _hoisted_3$v = {
|
|
15224
15224
|
key: 1,
|
|
15225
15225
|
class: "lupa-results-total-count"
|
|
15226
15226
|
};
|
|
15227
15227
|
const _hoisted_4$n = { class: "lupa-results-total-count-number" };
|
|
15228
|
-
const _hoisted_5$
|
|
15229
|
-
const _sfc_main$
|
|
15228
|
+
const _hoisted_5$f = ["innerHTML"];
|
|
15229
|
+
const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
|
|
15230
15230
|
__name: "SearchResultsTitle",
|
|
15231
15231
|
props: {
|
|
15232
15232
|
options: {},
|
|
@@ -15265,16 +15265,16 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
15265
15265
|
});
|
|
15266
15266
|
return (_ctx, _cache) => {
|
|
15267
15267
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
15268
|
-
showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$
|
|
15268
|
+
showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$R, [
|
|
15269
15269
|
vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.searchResults), 1),
|
|
15270
|
-
queryText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
15271
|
-
showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
15270
|
+
queryText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$E, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
|
|
15271
|
+
showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$v, [
|
|
15272
15272
|
vue.createTextVNode("(" + vue.toDisplayString(searchResultsCountLabel.value), 1),
|
|
15273
15273
|
vue.createElementVNode("span", _hoisted_4$n, vue.toDisplayString(vue.unref(totalItems)), 1),
|
|
15274
15274
|
vue.createTextVNode(")")
|
|
15275
15275
|
])) : vue.createCommentVNode("", true)
|
|
15276
15276
|
])) : vue.createCommentVNode("", true),
|
|
15277
|
-
_ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15277
|
+
_ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$X, {
|
|
15278
15278
|
key: 1,
|
|
15279
15279
|
label: summaryLabel.value
|
|
15280
15280
|
}, null, 8, ["label"])) : vue.createCommentVNode("", true),
|
|
@@ -15282,21 +15282,21 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
15282
15282
|
key: 2,
|
|
15283
15283
|
class: "lupa-result-page-description-top",
|
|
15284
15284
|
innerHTML: descriptionTop.value
|
|
15285
|
-
}, null, 8, _hoisted_5$
|
|
15285
|
+
}, null, 8, _hoisted_5$f)) : vue.createCommentVNode("", true)
|
|
15286
15286
|
]);
|
|
15287
15287
|
};
|
|
15288
15288
|
}
|
|
15289
15289
|
});
|
|
15290
|
-
const _hoisted_1$
|
|
15291
|
-
const _hoisted_2$
|
|
15290
|
+
const _hoisted_1$Q = { class: "lupa-search-result-filter-value" };
|
|
15291
|
+
const _hoisted_2$D = {
|
|
15292
15292
|
class: "lupa-current-filter-label",
|
|
15293
15293
|
"data-cy": "lupa-current-filter-label"
|
|
15294
15294
|
};
|
|
15295
|
-
const _hoisted_3$
|
|
15295
|
+
const _hoisted_3$u = {
|
|
15296
15296
|
class: "lupa-current-filter-value",
|
|
15297
15297
|
"data-cy": "lupa-current-filter-value"
|
|
15298
15298
|
};
|
|
15299
|
-
const _sfc_main$
|
|
15299
|
+
const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
15300
15300
|
__name: "CurrentFilterDisplay",
|
|
15301
15301
|
props: {
|
|
15302
15302
|
filter: {}
|
|
@@ -15308,28 +15308,28 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
15308
15308
|
emit("remove", { filter: props.filter });
|
|
15309
15309
|
};
|
|
15310
15310
|
return (_ctx, _cache) => {
|
|
15311
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15311
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
|
|
15312
15312
|
vue.createElementVNode("div", {
|
|
15313
15313
|
class: "lupa-current-filter-action",
|
|
15314
15314
|
onClick: handleClick
|
|
15315
15315
|
}, "⨉"),
|
|
15316
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
15317
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
15316
|
+
vue.createElementVNode("div", _hoisted_2$D, vue.toDisplayString(_ctx.filter.label) + ": ", 1),
|
|
15317
|
+
vue.createElementVNode("div", _hoisted_3$u, vue.toDisplayString(_ctx.filter.value), 1)
|
|
15318
15318
|
]);
|
|
15319
15319
|
};
|
|
15320
15320
|
}
|
|
15321
15321
|
});
|
|
15322
|
-
const _hoisted_1$
|
|
15323
|
-
const _hoisted_2$
|
|
15322
|
+
const _hoisted_1$P = { class: "lupa-filter-title-text" };
|
|
15323
|
+
const _hoisted_2$C = {
|
|
15324
15324
|
key: 0,
|
|
15325
15325
|
class: "lupa-filter-count"
|
|
15326
15326
|
};
|
|
15327
|
-
const _hoisted_3$
|
|
15327
|
+
const _hoisted_3$t = {
|
|
15328
15328
|
key: 0,
|
|
15329
15329
|
class: "filter-values"
|
|
15330
15330
|
};
|
|
15331
15331
|
const _hoisted_4$m = { class: "lupa-current-filter-list" };
|
|
15332
|
-
const _sfc_main$
|
|
15332
|
+
const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
15333
15333
|
__name: "CurrentFilters",
|
|
15334
15334
|
props: {
|
|
15335
15335
|
options: {},
|
|
@@ -15402,19 +15402,19 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
15402
15402
|
class: "lupa-current-filter-title",
|
|
15403
15403
|
onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
|
|
15404
15404
|
}, [
|
|
15405
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
15405
|
+
vue.createElementVNode("div", _hoisted_1$P, [
|
|
15406
15406
|
vue.createTextVNode(vue.toDisplayString((_c = (_b = (_a = _ctx.options) == null ? void 0 : _a.labels) == null ? void 0 : _b.title) != null ? _c : "") + " ", 1),
|
|
15407
|
-
_ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$
|
|
15407
|
+
_ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$C, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
|
|
15408
15408
|
]),
|
|
15409
15409
|
_ctx.expandable ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
15410
15410
|
key: 0,
|
|
15411
15411
|
class: vue.normalizeClass(["lupa-filter-title-caret", isOpen.value && "open"])
|
|
15412
15412
|
}, null, 2)) : vue.createCommentVNode("", true)
|
|
15413
15413
|
]),
|
|
15414
|
-
!_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
15414
|
+
!_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$t, [
|
|
15415
15415
|
vue.createElementVNode("div", _hoisted_4$m, [
|
|
15416
15416
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter2) => {
|
|
15417
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15417
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$V, {
|
|
15418
15418
|
key: filter2.key + "_" + filter2.value,
|
|
15419
15419
|
filter: filter2,
|
|
15420
15420
|
onRemove: handleRemove
|
|
@@ -15431,8 +15431,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
15431
15431
|
};
|
|
15432
15432
|
}
|
|
15433
15433
|
});
|
|
15434
|
-
const _hoisted_1$
|
|
15435
|
-
const _sfc_main$
|
|
15434
|
+
const _hoisted_1$O = ["href"];
|
|
15435
|
+
const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
15436
15436
|
__name: "CategoryFilterItem",
|
|
15437
15437
|
props: {
|
|
15438
15438
|
options: {},
|
|
@@ -15469,20 +15469,20 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
15469
15469
|
"data-cy": "lupa-child-category-item",
|
|
15470
15470
|
href: urlLink.value,
|
|
15471
15471
|
onClick: handleNavigation
|
|
15472
|
-
}, vue.toDisplayString(title.value), 9, _hoisted_1$
|
|
15472
|
+
}, vue.toDisplayString(title.value), 9, _hoisted_1$O)
|
|
15473
15473
|
], 2);
|
|
15474
15474
|
};
|
|
15475
15475
|
}
|
|
15476
15476
|
});
|
|
15477
|
-
const _hoisted_1$
|
|
15477
|
+
const _hoisted_1$N = {
|
|
15478
15478
|
class: "lupa-category-filter",
|
|
15479
15479
|
"data-cy": "lupa-category-filter"
|
|
15480
15480
|
};
|
|
15481
|
-
const _hoisted_2$
|
|
15482
|
-
const _hoisted_3$
|
|
15481
|
+
const _hoisted_2$B = { class: "lupa-category-back" };
|
|
15482
|
+
const _hoisted_3$s = ["href"];
|
|
15483
15483
|
const _hoisted_4$l = ["href"];
|
|
15484
|
-
const _hoisted_5$
|
|
15485
|
-
const _sfc_main$
|
|
15484
|
+
const _hoisted_5$e = { class: "lupa-child-category-list" };
|
|
15485
|
+
const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
15486
15486
|
__name: "CategoryFilter",
|
|
15487
15487
|
props: {
|
|
15488
15488
|
options: {}
|
|
@@ -15570,14 +15570,14 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15570
15570
|
};
|
|
15571
15571
|
__expose({ fetch: fetch2 });
|
|
15572
15572
|
return (_ctx, _cache) => {
|
|
15573
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15574
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
15573
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
|
|
15574
|
+
vue.createElementVNode("div", _hoisted_2$B, [
|
|
15575
15575
|
hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
15576
15576
|
key: 0,
|
|
15577
15577
|
"data-cy": "lupa-category-back",
|
|
15578
15578
|
href: backUrlLink.value,
|
|
15579
15579
|
onClick: handleNavigationBack
|
|
15580
|
-
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$
|
|
15580
|
+
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$s)) : vue.createCommentVNode("", true)
|
|
15581
15581
|
]),
|
|
15582
15582
|
vue.createElementVNode("div", {
|
|
15583
15583
|
class: vue.normalizeClass(["lupa-current-category", { "lupa-current-category-active": isActive }])
|
|
@@ -15589,9 +15589,9 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15589
15589
|
onClick: handleNavigationParent
|
|
15590
15590
|
}, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$l)
|
|
15591
15591
|
], 2),
|
|
15592
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
15592
|
+
vue.createElementVNode("div", _hoisted_5$e, [
|
|
15593
15593
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
|
|
15594
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15594
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$T, {
|
|
15595
15595
|
key: getCategoryKey(child),
|
|
15596
15596
|
item: child,
|
|
15597
15597
|
options: _ctx.options
|
|
@@ -15602,15 +15602,15 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
15602
15602
|
};
|
|
15603
15603
|
}
|
|
15604
15604
|
});
|
|
15605
|
-
const _hoisted_1$
|
|
15605
|
+
const _hoisted_1$M = {
|
|
15606
15606
|
class: "lupa-search-result-facet-term-values",
|
|
15607
15607
|
"data-cy": "lupa-search-result-facet-term-values"
|
|
15608
15608
|
};
|
|
15609
|
-
const _hoisted_2$
|
|
15610
|
-
const _hoisted_3$
|
|
15609
|
+
const _hoisted_2$A = ["placeholder"];
|
|
15610
|
+
const _hoisted_3$r = { class: "lupa-terms-list" };
|
|
15611
15611
|
const _hoisted_4$k = ["onClick"];
|
|
15612
|
-
const _hoisted_5$
|
|
15613
|
-
const _hoisted_6$
|
|
15612
|
+
const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
|
|
15613
|
+
const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
|
|
15614
15614
|
const _hoisted_7$6 = { class: "lupa-term-label" };
|
|
15615
15615
|
const _hoisted_8$2 = {
|
|
15616
15616
|
key: 0,
|
|
@@ -15618,7 +15618,7 @@ const _hoisted_8$2 = {
|
|
|
15618
15618
|
};
|
|
15619
15619
|
const _hoisted_9$2 = { key: 0 };
|
|
15620
15620
|
const _hoisted_10$1 = { key: 1 };
|
|
15621
|
-
const _sfc_main$
|
|
15621
|
+
const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
15622
15622
|
__name: "TermFacet",
|
|
15623
15623
|
props: {
|
|
15624
15624
|
options: {},
|
|
@@ -15689,17 +15689,17 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
15689
15689
|
return selectedItems == null ? void 0 : selectedItems.includes((_b = item.title) == null ? void 0 : _b.toString());
|
|
15690
15690
|
};
|
|
15691
15691
|
return (_ctx, _cache) => {
|
|
15692
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
15692
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$M, [
|
|
15693
15693
|
isFilterable.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
|
|
15694
15694
|
key: 0,
|
|
15695
15695
|
class: "lupa-term-filter",
|
|
15696
15696
|
"data-cy": "lupa-term-filter",
|
|
15697
15697
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
|
|
15698
15698
|
placeholder: _ctx.options.labels.facetFilter
|
|
15699
|
-
}, null, 8, _hoisted_2$
|
|
15699
|
+
}, null, 8, _hoisted_2$A)), [
|
|
15700
15700
|
[vue.vModelText, termFilter.value]
|
|
15701
15701
|
]) : vue.createCommentVNode("", true),
|
|
15702
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
15702
|
+
vue.createElementVNode("div", _hoisted_3$r, [
|
|
15703
15703
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
|
|
15704
15704
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15705
15705
|
class: vue.normalizeClass(["lupa-facet-term", { checked: isChecked(item) }]),
|
|
@@ -15707,12 +15707,12 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
15707
15707
|
key: item.title,
|
|
15708
15708
|
onClick: ($event) => handleFacetClick(item)
|
|
15709
15709
|
}, [
|
|
15710
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
15710
|
+
vue.createElementVNode("div", _hoisted_5$d, [
|
|
15711
15711
|
vue.createElementVNode("span", {
|
|
15712
15712
|
class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
|
|
15713
15713
|
}, null, 2)
|
|
15714
15714
|
]),
|
|
15715
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
15715
|
+
vue.createElementVNode("div", _hoisted_6$8, [
|
|
15716
15716
|
vue.createElementVNode("span", _hoisted_7$6, vue.toDisplayString(item.title), 1),
|
|
15717
15717
|
_ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$2, "(" + vue.toDisplayString(item.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
15718
15718
|
])
|
|
@@ -16707,12 +16707,12 @@ var m = { name: "Slider", emits: ["input", "update:modelValue", "start", "slide"
|
|
|
16707
16707
|
m.render = function(e2, t, r, i, n, o) {
|
|
16708
16708
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps(e2.sliderProps, { ref: "slider" }), null, 16);
|
|
16709
16709
|
}, m.__file = "src/Slider.vue";
|
|
16710
|
-
const _hoisted_1$
|
|
16711
|
-
const _hoisted_2$
|
|
16710
|
+
const _hoisted_1$L = { class: "lupa-search-result-facet-stats-values" };
|
|
16711
|
+
const _hoisted_2$z = {
|
|
16712
16712
|
key: 0,
|
|
16713
16713
|
class: "lupa-stats-facet-summary"
|
|
16714
16714
|
};
|
|
16715
|
-
const _hoisted_3$
|
|
16715
|
+
const _hoisted_3$q = {
|
|
16716
16716
|
key: 1,
|
|
16717
16717
|
class: "lupa-stats-facet-summary-input"
|
|
16718
16718
|
};
|
|
@@ -16720,8 +16720,8 @@ const _hoisted_4$j = {
|
|
|
16720
16720
|
key: 0,
|
|
16721
16721
|
class: "lupa-stats-range-label"
|
|
16722
16722
|
};
|
|
16723
|
-
const _hoisted_5$
|
|
16724
|
-
const _hoisted_6$
|
|
16723
|
+
const _hoisted_5$c = { class: "lupa-stats-from" };
|
|
16724
|
+
const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
|
|
16725
16725
|
const _hoisted_7$5 = { key: 0 };
|
|
16726
16726
|
const _hoisted_8$1 = /* @__PURE__ */ vue.createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
|
|
16727
16727
|
const _hoisted_9$1 = {
|
|
@@ -16735,7 +16735,7 @@ const _hoisted_13 = {
|
|
|
16735
16735
|
key: 2,
|
|
16736
16736
|
class: "lupa-stats-slider-wrapper"
|
|
16737
16737
|
};
|
|
16738
|
-
const _sfc_main$
|
|
16738
|
+
const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
16739
16739
|
__name: "StatsFacet",
|
|
16740
16740
|
props: {
|
|
16741
16741
|
options: {},
|
|
@@ -16908,11 +16908,11 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
16908
16908
|
innerSliderRange.value = value;
|
|
16909
16909
|
};
|
|
16910
16910
|
return (_ctx, _cache) => {
|
|
16911
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
16912
|
-
!isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
16911
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
|
|
16912
|
+
!isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$q, [
|
|
16913
16913
|
vue.createElementVNode("div", null, [
|
|
16914
16914
|
rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$j, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
|
|
16915
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
16915
|
+
vue.createElementVNode("div", _hoisted_5$c, [
|
|
16916
16916
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
16917
16917
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
|
|
16918
16918
|
type: "text",
|
|
@@ -16921,7 +16921,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
16921
16921
|
min: facetMin.value,
|
|
16922
16922
|
pattern: sliderInputFormat.value,
|
|
16923
16923
|
"aria-label": ariaLabelFrom.value
|
|
16924
|
-
}, null, 8, _hoisted_6$
|
|
16924
|
+
}, null, 8, _hoisted_6$7), [
|
|
16925
16925
|
[
|
|
16926
16926
|
vue.vModelText,
|
|
16927
16927
|
fromValue.value,
|
|
@@ -16975,18 +16975,18 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
|
16975
16975
|
};
|
|
16976
16976
|
}
|
|
16977
16977
|
});
|
|
16978
|
-
const _hoisted_1$
|
|
16979
|
-
const _hoisted_2$
|
|
16980
|
-
const _hoisted_3$
|
|
16978
|
+
const _hoisted_1$K = { class: "lupa-term-checkbox-wrapper" };
|
|
16979
|
+
const _hoisted_2$y = { class: "lupa-term-checkbox-label" };
|
|
16980
|
+
const _hoisted_3$p = { class: "lupa-term-label" };
|
|
16981
16981
|
const _hoisted_4$i = {
|
|
16982
16982
|
key: 0,
|
|
16983
16983
|
class: "lupa-term-count"
|
|
16984
16984
|
};
|
|
16985
|
-
const _hoisted_5$
|
|
16985
|
+
const _hoisted_5$b = {
|
|
16986
16986
|
key: 0,
|
|
16987
16987
|
class: "lupa-facet-level"
|
|
16988
16988
|
};
|
|
16989
|
-
const _sfc_main$
|
|
16989
|
+
const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
16990
16990
|
__name: "HierarchyFacetLevel",
|
|
16991
16991
|
props: {
|
|
16992
16992
|
options: {},
|
|
@@ -17032,17 +17032,17 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
17032
17032
|
"data-cy": "lupa-facet-term",
|
|
17033
17033
|
onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
|
|
17034
17034
|
}, [
|
|
17035
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
17035
|
+
vue.createElementVNode("div", _hoisted_1$K, [
|
|
17036
17036
|
vue.createElementVNode("span", {
|
|
17037
17037
|
class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
|
|
17038
17038
|
}, null, 2)
|
|
17039
17039
|
]),
|
|
17040
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
17041
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
17040
|
+
vue.createElementVNode("div", _hoisted_2$y, [
|
|
17041
|
+
vue.createElementVNode("span", _hoisted_3$p, vue.toDisplayString(_ctx.item.title) + vue.toDisplayString(" "), 1),
|
|
17042
17042
|
_ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$i, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
17043
17043
|
])
|
|
17044
17044
|
]),
|
|
17045
|
-
showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
17045
|
+
showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$b, [
|
|
17046
17046
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
|
|
17047
17047
|
return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
|
|
17048
17048
|
key: itemChild.title,
|
|
@@ -17058,13 +17058,13 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
17058
17058
|
};
|
|
17059
17059
|
}
|
|
17060
17060
|
});
|
|
17061
|
-
const _hoisted_1$
|
|
17061
|
+
const _hoisted_1$J = {
|
|
17062
17062
|
class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
|
|
17063
17063
|
"data-cy": "lupa-search-result-facet-term-values"
|
|
17064
17064
|
};
|
|
17065
|
-
const _hoisted_2$
|
|
17066
|
-
const _hoisted_3$
|
|
17067
|
-
const _sfc_main$
|
|
17065
|
+
const _hoisted_2$x = { key: 0 };
|
|
17066
|
+
const _hoisted_3$o = ["placeholder"];
|
|
17067
|
+
const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
17068
17068
|
__name: "HierarchyFacet",
|
|
17069
17069
|
props: {
|
|
17070
17070
|
options: {},
|
|
@@ -17114,19 +17114,19 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
17114
17114
|
showAll.value = true;
|
|
17115
17115
|
};
|
|
17116
17116
|
return (_ctx, _cache) => {
|
|
17117
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17118
|
-
isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
17117
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
|
|
17118
|
+
isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, [
|
|
17119
17119
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
17120
17120
|
class: "lupa-term-filter",
|
|
17121
17121
|
"data-cy": "lupa-term-filter",
|
|
17122
17122
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
|
|
17123
17123
|
placeholder: _ctx.options.labels.facetFilter
|
|
17124
|
-
}, null, 8, _hoisted_3$
|
|
17124
|
+
}, null, 8, _hoisted_3$o), [
|
|
17125
17125
|
[vue.vModelText, termFilter.value]
|
|
17126
17126
|
])
|
|
17127
17127
|
])) : vue.createCommentVNode("", true),
|
|
17128
17128
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
|
|
17129
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17129
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$P, {
|
|
17130
17130
|
key: item.title,
|
|
17131
17131
|
options: _ctx.options,
|
|
17132
17132
|
item,
|
|
@@ -17146,20 +17146,20 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
17146
17146
|
};
|
|
17147
17147
|
}
|
|
17148
17148
|
});
|
|
17149
|
-
const _hoisted_1$
|
|
17150
|
-
const _hoisted_2$
|
|
17149
|
+
const _hoisted_1$I = { class: "lupa-facet-label-text" };
|
|
17150
|
+
const _hoisted_2$w = {
|
|
17151
17151
|
key: 0,
|
|
17152
17152
|
class: "lupa-facet-content",
|
|
17153
17153
|
"data-cy": "lupa-facet-content"
|
|
17154
17154
|
};
|
|
17155
17155
|
const __default__$1 = {
|
|
17156
17156
|
components: {
|
|
17157
|
-
TermFacet: _sfc_main$
|
|
17158
|
-
StatsFacet: _sfc_main$
|
|
17159
|
-
HierarchyFacet: _sfc_main$
|
|
17157
|
+
TermFacet: _sfc_main$R,
|
|
17158
|
+
StatsFacet: _sfc_main$Q,
|
|
17159
|
+
HierarchyFacet: _sfc_main$O
|
|
17160
17160
|
}
|
|
17161
17161
|
};
|
|
17162
|
-
const _sfc_main$
|
|
17162
|
+
const _sfc_main$N = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
|
|
17163
17163
|
__name: "FacetDisplay",
|
|
17164
17164
|
props: {
|
|
17165
17165
|
options: {},
|
|
@@ -17271,12 +17271,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
17271
17271
|
"data-cy": "lupa-search-result-facet-label",
|
|
17272
17272
|
onClick: toggleFacet
|
|
17273
17273
|
}, [
|
|
17274
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
17274
|
+
vue.createElementVNode("div", _hoisted_1$I, vue.toDisplayString(facet.value.label), 1),
|
|
17275
17275
|
vue.createElementVNode("div", {
|
|
17276
17276
|
class: vue.normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
|
|
17277
17277
|
}, null, 2)
|
|
17278
17278
|
], 2),
|
|
17279
|
-
isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
17279
|
+
isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, [
|
|
17280
17280
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(facetType.value), {
|
|
17281
17281
|
facet: facet.value,
|
|
17282
17282
|
currentFilters: currentFilters.value[facet.value.key],
|
|
@@ -17294,12 +17294,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
17294
17294
|
};
|
|
17295
17295
|
}
|
|
17296
17296
|
}));
|
|
17297
|
-
const _hoisted_1$
|
|
17298
|
-
const _hoisted_2$
|
|
17297
|
+
const _hoisted_1$H = { class: "lupa-search-result-facet-section" };
|
|
17298
|
+
const _hoisted_2$v = {
|
|
17299
17299
|
key: 0,
|
|
17300
17300
|
class: "lupa-facets-title"
|
|
17301
17301
|
};
|
|
17302
|
-
const _sfc_main$
|
|
17302
|
+
const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
|
|
17303
17303
|
__name: "FacetList",
|
|
17304
17304
|
props: {
|
|
17305
17305
|
options: {},
|
|
@@ -17333,14 +17333,14 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
17333
17333
|
};
|
|
17334
17334
|
return (_ctx, _cache) => {
|
|
17335
17335
|
var _a;
|
|
17336
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17337
|
-
_ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
17336
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
|
|
17337
|
+
_ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$v, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
|
|
17338
17338
|
vue.createElementVNode("div", {
|
|
17339
17339
|
class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a = _ctx.facetStyle) != null ? _a : "")])
|
|
17340
17340
|
}, [
|
|
17341
17341
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFacets.value, (facet) => {
|
|
17342
17342
|
var _a2;
|
|
17343
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17343
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
17344
17344
|
key: facet.key,
|
|
17345
17345
|
facet,
|
|
17346
17346
|
currentFilters: currentFiltersValue.value,
|
|
@@ -17355,8 +17355,8 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
17355
17355
|
};
|
|
17356
17356
|
}
|
|
17357
17357
|
});
|
|
17358
|
-
const _hoisted_1$
|
|
17359
|
-
const _sfc_main$
|
|
17358
|
+
const _hoisted_1$G = ["onClick"];
|
|
17359
|
+
const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
17360
17360
|
__name: "FacetsButton",
|
|
17361
17361
|
props: {
|
|
17362
17362
|
options: {}
|
|
@@ -17376,13 +17376,13 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
|
17376
17376
|
key: 0,
|
|
17377
17377
|
class: "lupa-facets-button-filter",
|
|
17378
17378
|
onClick: vue.withModifiers(handleClick, ["stop"])
|
|
17379
|
-
}, vue.toDisplayString(label.value), 9, _hoisted_1$
|
|
17379
|
+
}, vue.toDisplayString(label.value), 9, _hoisted_1$G)) : vue.createCommentVNode("", true);
|
|
17380
17380
|
};
|
|
17381
17381
|
}
|
|
17382
17382
|
});
|
|
17383
|
-
const _hoisted_1$
|
|
17384
|
-
const _hoisted_2$
|
|
17385
|
-
const _sfc_main$
|
|
17383
|
+
const _hoisted_1$F = { class: "lupa-search-result-facets" };
|
|
17384
|
+
const _hoisted_2$u = { class: "lupa-facets-filter-button-wrapper" };
|
|
17385
|
+
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
17386
17386
|
__name: "Facets",
|
|
17387
17387
|
props: {
|
|
17388
17388
|
options: {},
|
|
@@ -17465,8 +17465,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17465
17465
|
emit("filter");
|
|
17466
17466
|
};
|
|
17467
17467
|
return (_ctx, _cache) => {
|
|
17468
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17469
|
-
regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17468
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
|
|
17469
|
+
regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
|
|
17470
17470
|
key: 0,
|
|
17471
17471
|
options: _ctx.options,
|
|
17472
17472
|
facets: regularFacets.value,
|
|
@@ -17476,8 +17476,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17476
17476
|
onSelect: handleFacetSelect,
|
|
17477
17477
|
onClear: clear
|
|
17478
17478
|
}, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : vue.createCommentVNode("", true),
|
|
17479
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
17480
|
-
showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17479
|
+
vue.createElementVNode("div", _hoisted_2$u, [
|
|
17480
|
+
showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, {
|
|
17481
17481
|
key: 0,
|
|
17482
17482
|
options: _ctx.options,
|
|
17483
17483
|
onFilter: filter2
|
|
@@ -17487,11 +17487,11 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17487
17487
|
};
|
|
17488
17488
|
}
|
|
17489
17489
|
});
|
|
17490
|
-
const _hoisted_1$
|
|
17490
|
+
const _hoisted_1$E = {
|
|
17491
17491
|
id: "lupa-search-result-filters",
|
|
17492
17492
|
class: "lupa-search-result-filters"
|
|
17493
17493
|
};
|
|
17494
|
-
const _sfc_main$
|
|
17494
|
+
const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
17495
17495
|
__name: "SearchResultsFilters",
|
|
17496
17496
|
props: {
|
|
17497
17497
|
options: {},
|
|
@@ -17524,19 +17524,19 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
17524
17524
|
__expose({ fetch: fetch2 });
|
|
17525
17525
|
return (_ctx, _cache) => {
|
|
17526
17526
|
var _a;
|
|
17527
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17528
|
-
showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17527
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
|
|
17528
|
+
showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
|
|
17529
17529
|
key: 0,
|
|
17530
17530
|
options: _ctx.options.currentFilters,
|
|
17531
17531
|
expandable: (_a = _ctx.expandable) != null ? _a : false
|
|
17532
17532
|
}, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
|
|
17533
|
-
_ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17533
|
+
_ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
|
|
17534
17534
|
key: 1,
|
|
17535
17535
|
options: _ctx.options.categories,
|
|
17536
17536
|
ref_key: "categoryFilters",
|
|
17537
17537
|
ref: categoryFilters
|
|
17538
17538
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
17539
|
-
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17539
|
+
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
|
|
17540
17540
|
key: 2,
|
|
17541
17541
|
options: _ctx.options.facets,
|
|
17542
17542
|
onFilter: filter2
|
|
@@ -17545,20 +17545,20 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
17545
17545
|
};
|
|
17546
17546
|
}
|
|
17547
17547
|
});
|
|
17548
|
-
const _hoisted_1$
|
|
17548
|
+
const _hoisted_1$D = {
|
|
17549
17549
|
key: 0,
|
|
17550
17550
|
class: "lupa-mobile-filter-sidebar"
|
|
17551
17551
|
};
|
|
17552
|
-
const _hoisted_2$
|
|
17553
|
-
const _hoisted_3$
|
|
17552
|
+
const _hoisted_2$t = ["onClick"];
|
|
17553
|
+
const _hoisted_3$n = { class: "lupa-mobile-sidebar-content" };
|
|
17554
17554
|
const _hoisted_4$h = { class: "lupa-sidebar-top" };
|
|
17555
|
-
const _hoisted_5$
|
|
17556
|
-
const _hoisted_6$
|
|
17555
|
+
const _hoisted_5$a = { class: "lupa-sidebar-title" };
|
|
17556
|
+
const _hoisted_6$6 = {
|
|
17557
17557
|
key: 0,
|
|
17558
17558
|
class: "lupa-sidebar-filter-count"
|
|
17559
17559
|
};
|
|
17560
17560
|
const _hoisted_7$4 = { class: "lupa-sidebar-filter-options" };
|
|
17561
|
-
const _sfc_main$
|
|
17561
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
17562
17562
|
__name: "MobileFilterSidebar",
|
|
17563
17563
|
props: {
|
|
17564
17564
|
options: {}
|
|
@@ -17589,16 +17589,16 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17589
17589
|
handleMobileToggle();
|
|
17590
17590
|
};
|
|
17591
17591
|
return (_ctx, _cache) => {
|
|
17592
|
-
return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17592
|
+
return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
|
|
17593
17593
|
vue.createElementVNode("div", {
|
|
17594
17594
|
class: "lupa-sidebar-close",
|
|
17595
17595
|
onClick: vue.withModifiers(handleMobileToggle, ["stop"])
|
|
17596
|
-
}, null, 8, _hoisted_2$
|
|
17597
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
17596
|
+
}, null, 8, _hoisted_2$t),
|
|
17597
|
+
vue.createElementVNode("div", _hoisted_3$n, [
|
|
17598
17598
|
vue.createElementVNode("div", _hoisted_4$h, [
|
|
17599
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
17599
|
+
vue.createElementVNode("div", _hoisted_5$a, [
|
|
17600
17600
|
vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
|
|
17601
|
-
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)
|
|
17602
17602
|
]),
|
|
17603
17603
|
vue.createElementVNode("div", {
|
|
17604
17604
|
class: "lupa-filter-toggle-mobile",
|
|
@@ -17606,7 +17606,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17606
17606
|
})
|
|
17607
17607
|
]),
|
|
17608
17608
|
vue.createElementVNode("div", _hoisted_7$4, [
|
|
17609
|
-
vue.createVNode(_sfc_main$
|
|
17609
|
+
vue.createVNode(_sfc_main$J, {
|
|
17610
17610
|
options: _ctx.options,
|
|
17611
17611
|
expandable: isActiveFiltersExpanded.value,
|
|
17612
17612
|
onFilter: filter2
|
|
@@ -17617,14 +17617,14 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17617
17617
|
};
|
|
17618
17618
|
}
|
|
17619
17619
|
});
|
|
17620
|
-
const _hoisted_1$
|
|
17621
|
-
const _hoisted_2$
|
|
17622
|
-
const _hoisted_3$
|
|
17620
|
+
const _hoisted_1$C = { id: "lupa-search-results-breadcrumbs" };
|
|
17621
|
+
const _hoisted_2$s = ["href", "onClick"];
|
|
17622
|
+
const _hoisted_3$m = {
|
|
17623
17623
|
key: 1,
|
|
17624
17624
|
class: "lupa-search-results-breadcrumb-text"
|
|
17625
17625
|
};
|
|
17626
17626
|
const _hoisted_4$g = { key: 2 };
|
|
17627
|
-
const _sfc_main$
|
|
17627
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
17628
17628
|
__name: "SearchResultsBreadcrumbs",
|
|
17629
17629
|
props: {
|
|
17630
17630
|
breadcrumbs: {}
|
|
@@ -17649,7 +17649,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17649
17649
|
handleRoutingEvent(link, event, hasEventRouting.value);
|
|
17650
17650
|
};
|
|
17651
17651
|
return (_ctx, _cache) => {
|
|
17652
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17652
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
|
|
17653
17653
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(breadcrumbsValue.value, (breadcrumb, index) => {
|
|
17654
17654
|
return vue.openBlock(), vue.createElementBlock("span", {
|
|
17655
17655
|
class: "lupa-search-results-breadcrumb",
|
|
@@ -17663,7 +17663,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17663
17663
|
var _a;
|
|
17664
17664
|
return handleNavigation(e2, (_a = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a : "");
|
|
17665
17665
|
}
|
|
17666
|
-
}, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$
|
|
17666
|
+
}, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$s)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$m, vue.toDisplayString(getLabel(breadcrumb.label)), 1)),
|
|
17667
17667
|
index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$g, " / ")) : vue.createCommentVNode("", true)
|
|
17668
17668
|
]);
|
|
17669
17669
|
}), 128))
|
|
@@ -17671,11 +17671,11 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17671
17671
|
};
|
|
17672
17672
|
}
|
|
17673
17673
|
});
|
|
17674
|
-
const _hoisted_1$
|
|
17674
|
+
const _hoisted_1$B = {
|
|
17675
17675
|
id: "lupa-search-result-filters",
|
|
17676
17676
|
class: "lupa-search-result-filters lupa-search-result-top-filters"
|
|
17677
17677
|
};
|
|
17678
|
-
const _sfc_main$
|
|
17678
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
17679
17679
|
__name: "FiltersTopDropdown",
|
|
17680
17680
|
props: {
|
|
17681
17681
|
options: {}
|
|
@@ -17687,8 +17687,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17687
17687
|
};
|
|
17688
17688
|
return (_ctx, _cache) => {
|
|
17689
17689
|
var _a;
|
|
17690
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17691
|
-
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
17690
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
|
|
17691
|
+
_ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
|
|
17692
17692
|
key: 0,
|
|
17693
17693
|
options: _ctx.options.facets,
|
|
17694
17694
|
"facet-style": (_a = _ctx.options.facets.style) == null ? void 0 : _a.type,
|
|
@@ -17699,8 +17699,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17699
17699
|
};
|
|
17700
17700
|
}
|
|
17701
17701
|
});
|
|
17702
|
-
const _hoisted_1$
|
|
17703
|
-
const _sfc_main$
|
|
17702
|
+
const _hoisted_1$A = { id: "lupa-search-results-layout-selection" };
|
|
17703
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
17704
17704
|
__name: "SearchResultsLayoutSelection",
|
|
17705
17705
|
setup(__props) {
|
|
17706
17706
|
const searchResultStore = useSearchResultStore();
|
|
@@ -17711,7 +17711,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
17711
17711
|
searchResultStore.setLayout(layout2);
|
|
17712
17712
|
};
|
|
17713
17713
|
return (_ctx, _cache) => {
|
|
17714
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17714
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
|
|
17715
17715
|
vue.createElementVNode("div", {
|
|
17716
17716
|
class: vue.normalizeClass([
|
|
17717
17717
|
"lupa-layout-selection-grid",
|
|
@@ -17733,11 +17733,11 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
17733
17733
|
};
|
|
17734
17734
|
}
|
|
17735
17735
|
});
|
|
17736
|
-
const _hoisted_1$
|
|
17736
|
+
const _hoisted_1$z = {
|
|
17737
17737
|
key: 0,
|
|
17738
17738
|
class: "lupa-mobile-toggle-filter-count"
|
|
17739
17739
|
};
|
|
17740
|
-
const _sfc_main$
|
|
17740
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
17741
17741
|
__name: "SearchResultsMobileToggle",
|
|
17742
17742
|
props: {
|
|
17743
17743
|
label: {},
|
|
@@ -17755,26 +17755,26 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
17755
17755
|
onClick: handleMobileToggle
|
|
17756
17756
|
}, [
|
|
17757
17757
|
vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
|
|
17758
|
-
_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$z, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
|
|
17759
17759
|
], 2);
|
|
17760
17760
|
};
|
|
17761
17761
|
}
|
|
17762
17762
|
});
|
|
17763
|
-
const _hoisted_1$
|
|
17763
|
+
const _hoisted_1$y = {
|
|
17764
17764
|
key: 0,
|
|
17765
17765
|
id: "lupa-search-results-page-select",
|
|
17766
17766
|
"data-cy": "lupa-search-results-page-select"
|
|
17767
17767
|
};
|
|
17768
|
-
const _hoisted_2$
|
|
17768
|
+
const _hoisted_2$r = {
|
|
17769
17769
|
key: 0,
|
|
17770
17770
|
class: "lupa-page-number-separator"
|
|
17771
17771
|
};
|
|
17772
|
-
const _hoisted_3$
|
|
17772
|
+
const _hoisted_3$l = ["onClick"];
|
|
17773
17773
|
const _hoisted_4$f = {
|
|
17774
17774
|
key: 0,
|
|
17775
17775
|
class: "lupa-page-number-separator"
|
|
17776
17776
|
};
|
|
17777
|
-
const _sfc_main$
|
|
17777
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
17778
17778
|
__name: "SearchResultsPageSelect",
|
|
17779
17779
|
props: {
|
|
17780
17780
|
lastPageLabel: {},
|
|
@@ -17851,7 +17851,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
17851
17851
|
}
|
|
17852
17852
|
};
|
|
17853
17853
|
return (_ctx, _cache) => {
|
|
17854
|
-
return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17854
|
+
return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
|
|
17855
17855
|
showBack.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17856
17856
|
key: 0,
|
|
17857
17857
|
class: vue.normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
|
|
@@ -17862,7 +17862,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
17862
17862
|
class: "lupa-page-number lupa-page-number-first",
|
|
17863
17863
|
onClick: _cache[1] || (_cache[1] = () => handlePageChange(1))
|
|
17864
17864
|
}, " 1 "),
|
|
17865
|
-
showFirstPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
17865
|
+
showFirstPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$r, "...")) : vue.createCommentVNode("", true)
|
|
17866
17866
|
], 64)) : vue.createCommentVNode("", true),
|
|
17867
17867
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(pages.value, (page) => {
|
|
17868
17868
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -17873,7 +17873,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
17873
17873
|
page === _ctx.options.selectedPage ? "lupa-page-number-selected" : ""
|
|
17874
17874
|
]),
|
|
17875
17875
|
"data-cy": "lupa-page-number"
|
|
17876
|
-
}, vue.toDisplayString(page), 11, _hoisted_3$
|
|
17876
|
+
}, vue.toDisplayString(page), 11, _hoisted_3$l);
|
|
17877
17877
|
}), 128)),
|
|
17878
17878
|
showLastPage.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
17879
17879
|
showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$f, "...")) : vue.createCommentVNode("", true),
|
|
@@ -17895,15 +17895,15 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
|
17895
17895
|
};
|
|
17896
17896
|
}
|
|
17897
17897
|
});
|
|
17898
|
-
const _hoisted_1$
|
|
17898
|
+
const _hoisted_1$x = {
|
|
17899
17899
|
id: "lupa-search-results-page-size",
|
|
17900
17900
|
"data-cy": "lupa-search-results-page-size"
|
|
17901
17901
|
};
|
|
17902
|
-
const _hoisted_2$
|
|
17903
|
-
const _hoisted_3$
|
|
17902
|
+
const _hoisted_2$q = { id: "lupa-select" };
|
|
17903
|
+
const _hoisted_3$k = { class: "lupa-select-label" };
|
|
17904
17904
|
const _hoisted_4$e = ["aria-label"];
|
|
17905
|
-
const _hoisted_5$
|
|
17906
|
-
const _sfc_main$
|
|
17905
|
+
const _hoisted_5$9 = ["value"];
|
|
17906
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
17907
17907
|
__name: "SearchResultsPageSize",
|
|
17908
17908
|
props: {
|
|
17909
17909
|
labels: {},
|
|
@@ -17931,9 +17931,9 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17931
17931
|
});
|
|
17932
17932
|
};
|
|
17933
17933
|
return (_ctx, _cache) => {
|
|
17934
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17935
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
17936
|
-
vue.createElementVNode("label", _hoisted_3$
|
|
17934
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
|
|
17935
|
+
vue.createElementVNode("div", _hoisted_2$q, [
|
|
17936
|
+
vue.createElementVNode("label", _hoisted_3$k, vue.toDisplayString(label.value), 1),
|
|
17937
17937
|
vue.createElementVNode("select", {
|
|
17938
17938
|
class: "lupa-select-dropdown",
|
|
17939
17939
|
"aria-label": label.value,
|
|
@@ -17946,7 +17946,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17946
17946
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
17947
17947
|
key: option,
|
|
17948
17948
|
value: option
|
|
17949
|
-
}, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$
|
|
17949
|
+
}, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$9);
|
|
17950
17950
|
}), 128))
|
|
17951
17951
|
], 40, _hoisted_4$e)
|
|
17952
17952
|
])
|
|
@@ -17954,15 +17954,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17954
17954
|
};
|
|
17955
17955
|
}
|
|
17956
17956
|
});
|
|
17957
|
-
const _hoisted_1$
|
|
17957
|
+
const _hoisted_1$w = {
|
|
17958
17958
|
id: "lupa-search-results-sort",
|
|
17959
17959
|
class: "lupa-search-results-sort"
|
|
17960
17960
|
};
|
|
17961
|
-
const _hoisted_2$
|
|
17962
|
-
const _hoisted_3$
|
|
17961
|
+
const _hoisted_2$p = { id: "lupa-select" };
|
|
17962
|
+
const _hoisted_3$j = { class: "lupa-select-label" };
|
|
17963
17963
|
const _hoisted_4$d = ["aria-label"];
|
|
17964
|
-
const _hoisted_5$
|
|
17965
|
-
const _sfc_main$
|
|
17964
|
+
const _hoisted_5$8 = ["value"];
|
|
17965
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
17966
17966
|
__name: "SearchResultsSort",
|
|
17967
17967
|
props: {
|
|
17968
17968
|
options: {},
|
|
@@ -18011,9 +18011,9 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
18011
18011
|
previousKey.value = selectedKey.value;
|
|
18012
18012
|
};
|
|
18013
18013
|
return (_ctx, _cache) => {
|
|
18014
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18015
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
18016
|
-
vue.createElementVNode("label", _hoisted_3$
|
|
18014
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
|
|
18015
|
+
vue.createElementVNode("div", _hoisted_2$p, [
|
|
18016
|
+
vue.createElementVNode("label", _hoisted_3$j, vue.toDisplayString(_ctx.options.label), 1),
|
|
18017
18017
|
vue.withDirectives(vue.createElementVNode("select", {
|
|
18018
18018
|
class: "lupa-select-dropdown",
|
|
18019
18019
|
"aria-label": _ctx.options.label,
|
|
@@ -18026,7 +18026,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
18026
18026
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
18027
18027
|
key: option.key,
|
|
18028
18028
|
value: option.key
|
|
18029
|
-
}, vue.toDisplayString(option.label), 9, _hoisted_5$
|
|
18029
|
+
}, vue.toDisplayString(option.label), 9, _hoisted_5$8);
|
|
18030
18030
|
}), 128))
|
|
18031
18031
|
], 40, _hoisted_4$d), [
|
|
18032
18032
|
[vue.vModelSelect, selectedKey.value]
|
|
@@ -18036,22 +18036,22 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
18036
18036
|
};
|
|
18037
18037
|
}
|
|
18038
18038
|
});
|
|
18039
|
-
const _hoisted_1$
|
|
18040
|
-
const _hoisted_2$
|
|
18039
|
+
const _hoisted_1$v = { class: "lupa-toolbar-left" };
|
|
18040
|
+
const _hoisted_2$o = {
|
|
18041
18041
|
key: 0,
|
|
18042
18042
|
class: "lupa-toolbar-right-title"
|
|
18043
18043
|
};
|
|
18044
|
-
const _hoisted_3$
|
|
18044
|
+
const _hoisted_3$i = { key: 2 };
|
|
18045
18045
|
const _hoisted_4$c = { key: 4 };
|
|
18046
|
-
const _hoisted_5$
|
|
18047
|
-
const _hoisted_6$
|
|
18046
|
+
const _hoisted_5$7 = { key: 6 };
|
|
18047
|
+
const _hoisted_6$5 = { class: "lupa-toolbar-right" };
|
|
18048
18048
|
const _hoisted_7$3 = {
|
|
18049
18049
|
key: 0,
|
|
18050
18050
|
class: "lupa-toolbar-right-title"
|
|
18051
18051
|
};
|
|
18052
18052
|
const _hoisted_8 = { key: 2 };
|
|
18053
18053
|
const _hoisted_9 = { key: 4 };
|
|
18054
|
-
const _sfc_main$
|
|
18054
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
18055
18055
|
__name: "SearchResultsToolbar",
|
|
18056
18056
|
props: {
|
|
18057
18057
|
options: {},
|
|
@@ -18158,34 +18158,34 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
18158
18158
|
id: "lupa-search-results-toolbar",
|
|
18159
18159
|
class: vue.normalizeClass({ "lupa-filter-no-results": !hasResults.value })
|
|
18160
18160
|
}, [
|
|
18161
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
18162
|
-
toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
18163
|
-
showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18164
|
-
showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18161
|
+
vue.createElementVNode("div", _hoisted_1$v, [
|
|
18162
|
+
toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$o, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
|
|
18163
|
+
showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$i)),
|
|
18164
|
+
showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$X, {
|
|
18165
18165
|
key: 3,
|
|
18166
18166
|
label: searchSummaryLabel.value,
|
|
18167
18167
|
clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
|
|
18168
18168
|
onClear: handleClearAll
|
|
18169
18169
|
}, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c)),
|
|
18170
|
-
displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18170
|
+
displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
|
|
18171
18171
|
key: 5,
|
|
18172
18172
|
options: paginationOptions.value.pageSelect,
|
|
18173
18173
|
"last-page-label": paginationOptions.value.labels.showMore,
|
|
18174
18174
|
"first-page-label": paginationOptions.value.labels.showLess
|
|
18175
|
-
}, 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$7))
|
|
18176
18176
|
]),
|
|
18177
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
18177
|
+
vue.createElementVNode("div", _hoisted_6$5, [
|
|
18178
18178
|
toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
|
|
18179
|
-
vue.createVNode(_sfc_main$
|
|
18179
|
+
vue.createVNode(_sfc_main$E, {
|
|
18180
18180
|
label: optionsValue.value.labels.mobileFilterButton,
|
|
18181
18181
|
"show-filter-count": showMobileFilterCount.value
|
|
18182
18182
|
}, null, 8, ["label", "show-filter-count"]),
|
|
18183
|
-
paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18183
|
+
paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
|
|
18184
18184
|
key: 1,
|
|
18185
18185
|
options: paginationOptions.value.pageSize,
|
|
18186
18186
|
labels: paginationOptions.value.labels
|
|
18187
18187
|
}, null, 8, ["options", "labels"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8)),
|
|
18188
|
-
sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18188
|
+
sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
|
|
18189
18189
|
key: 3,
|
|
18190
18190
|
options: sortOptions.value,
|
|
18191
18191
|
callbacks: callbacks.value
|
|
@@ -18195,7 +18195,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
18195
18195
|
};
|
|
18196
18196
|
}
|
|
18197
18197
|
});
|
|
18198
|
-
const _sfc_main$
|
|
18198
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
18199
18199
|
__name: "SearchResultsProductImage",
|
|
18200
18200
|
props: {
|
|
18201
18201
|
item: {},
|
|
@@ -18203,7 +18203,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18203
18203
|
},
|
|
18204
18204
|
setup(__props) {
|
|
18205
18205
|
return (_ctx, _cache) => {
|
|
18206
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18206
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$1j, {
|
|
18207
18207
|
item: _ctx.item,
|
|
18208
18208
|
options: _ctx.options,
|
|
18209
18209
|
"wrapper-class": "lupa-search-results-image-wrapper",
|
|
@@ -18212,16 +18212,16 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18212
18212
|
};
|
|
18213
18213
|
}
|
|
18214
18214
|
});
|
|
18215
|
-
const _hoisted_1$
|
|
18216
|
-
const _hoisted_2$
|
|
18217
|
-
const _hoisted_3$
|
|
18215
|
+
const _hoisted_1$u = ["title", "innerHTML"];
|
|
18216
|
+
const _hoisted_2$n = ["title"];
|
|
18217
|
+
const _hoisted_3$h = ["href", "innerHTML"];
|
|
18218
18218
|
const _hoisted_4$b = ["title"];
|
|
18219
|
-
const _hoisted_5$
|
|
18219
|
+
const _hoisted_5$6 = {
|
|
18220
18220
|
key: 0,
|
|
18221
18221
|
class: "lupa-search-results-product-title-text"
|
|
18222
18222
|
};
|
|
18223
|
-
const _hoisted_6$
|
|
18224
|
-
const _sfc_main$
|
|
18223
|
+
const _hoisted_6$4 = ["href"];
|
|
18224
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
18225
18225
|
__name: "SearchResultsProductTitle",
|
|
18226
18226
|
props: {
|
|
18227
18227
|
item: {},
|
|
@@ -18258,7 +18258,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
18258
18258
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
18259
18259
|
title: sanitizedTitle.value,
|
|
18260
18260
|
innerHTML: sanitizedTitle.value
|
|
18261
|
-
}, null, 12, _hoisted_1$
|
|
18261
|
+
}, null, 12, _hoisted_1$u)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
18262
18262
|
key: 1,
|
|
18263
18263
|
class: "lupa-search-results-product-title",
|
|
18264
18264
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
@@ -18269,26 +18269,26 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
18269
18269
|
class: "lupa-search-results-product-title-text lupa-title-link",
|
|
18270
18270
|
innerHTML: sanitizedTitle.value,
|
|
18271
18271
|
onClick: handleNavigation
|
|
18272
|
-
}, null, 8, _hoisted_3$
|
|
18273
|
-
], 12, _hoisted_2$
|
|
18272
|
+
}, null, 8, _hoisted_3$h)
|
|
18273
|
+
], 12, _hoisted_2$n)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
18274
18274
|
key: 2,
|
|
18275
18275
|
class: "lupa-search-results-product-title",
|
|
18276
18276
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
18277
18277
|
title: title.value
|
|
18278
18278
|
}, [
|
|
18279
|
-
!_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$
|
|
18279
|
+
!_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$6, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
|
|
18280
18280
|
_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
18281
18281
|
key: 1,
|
|
18282
18282
|
href: _ctx.link,
|
|
18283
18283
|
class: "lupa-search-results-product-title-text lupa-title-link",
|
|
18284
18284
|
onClick: handleNavigation
|
|
18285
|
-
}, vue.toDisplayString(title.value), 9, _hoisted_6$
|
|
18285
|
+
}, vue.toDisplayString(title.value), 9, _hoisted_6$4)) : vue.createCommentVNode("", true)
|
|
18286
18286
|
], 12, _hoisted_4$b));
|
|
18287
18287
|
};
|
|
18288
18288
|
}
|
|
18289
18289
|
});
|
|
18290
|
-
const _hoisted_1$
|
|
18291
|
-
const _sfc_main$
|
|
18290
|
+
const _hoisted_1$t = ["innerHTML"];
|
|
18291
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
18292
18292
|
__name: "SearchResultsProductDescription",
|
|
18293
18293
|
props: {
|
|
18294
18294
|
item: {},
|
|
@@ -18315,7 +18315,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
18315
18315
|
class: "lupa-search-results-product-description",
|
|
18316
18316
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
|
|
18317
18317
|
innerHTML: sanitizedDescription.value
|
|
18318
|
-
}, null, 12, _hoisted_1$
|
|
18318
|
+
}, null, 12, _hoisted_1$t)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
18319
18319
|
key: 1,
|
|
18320
18320
|
class: "lupa-search-results-product-description",
|
|
18321
18321
|
style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
|
|
@@ -18323,15 +18323,15 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
18323
18323
|
};
|
|
18324
18324
|
}
|
|
18325
18325
|
});
|
|
18326
|
-
const _hoisted_1$
|
|
18327
|
-
const _hoisted_2$
|
|
18328
|
-
const _hoisted_3$
|
|
18326
|
+
const _hoisted_1$s = { id: "lupa-search-results-rating" };
|
|
18327
|
+
const _hoisted_2$m = { class: "lupa-ratings" };
|
|
18328
|
+
const _hoisted_3$g = { class: "lupa-ratings-base" };
|
|
18329
18329
|
const _hoisted_4$a = ["innerHTML"];
|
|
18330
|
-
const _hoisted_5$
|
|
18331
|
-
const _hoisted_6$
|
|
18330
|
+
const _hoisted_5$5 = { class: "lupa-rating-wrapper" };
|
|
18331
|
+
const _hoisted_6$3 = ["innerHTML"];
|
|
18332
18332
|
const _hoisted_7$2 = ["href"];
|
|
18333
18333
|
const STAR_COUNT = 5;
|
|
18334
|
-
const _sfc_main$
|
|
18334
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
18335
18335
|
__name: "SearchResultsProductRating",
|
|
18336
18336
|
props: {
|
|
18337
18337
|
item: {},
|
|
@@ -18362,9 +18362,9 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18362
18362
|
return generateLink(props.options.links.ratingDetails, props.item);
|
|
18363
18363
|
});
|
|
18364
18364
|
return (_ctx, _cache) => {
|
|
18365
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18366
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
18367
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
18365
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
|
|
18366
|
+
vue.createElementVNode("div", _hoisted_2$m, [
|
|
18367
|
+
vue.createElementVNode("div", _hoisted_3$g, [
|
|
18368
18368
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(baseStars.value, (star, index) => {
|
|
18369
18369
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
18370
18370
|
key: index,
|
|
@@ -18373,7 +18373,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18373
18373
|
}, null, 8, _hoisted_4$a);
|
|
18374
18374
|
}), 128))
|
|
18375
18375
|
]),
|
|
18376
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
18376
|
+
vue.createElementVNode("div", _hoisted_5$5, [
|
|
18377
18377
|
vue.createElementVNode("div", {
|
|
18378
18378
|
class: "lupa-ratings-highlighted",
|
|
18379
18379
|
style: vue.normalizeStyle({ width: ratingPercentage.value + "%" })
|
|
@@ -18383,7 +18383,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18383
18383
|
key: index,
|
|
18384
18384
|
innerHTML: star,
|
|
18385
18385
|
class: "lupa-rating lupa-rating-highlighted"
|
|
18386
|
-
}, null, 8, _hoisted_6$
|
|
18386
|
+
}, null, 8, _hoisted_6$3);
|
|
18387
18387
|
}), 128))
|
|
18388
18388
|
], 4)
|
|
18389
18389
|
])
|
|
@@ -18396,11 +18396,11 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
18396
18396
|
};
|
|
18397
18397
|
}
|
|
18398
18398
|
});
|
|
18399
|
-
const _hoisted_1$
|
|
18399
|
+
const _hoisted_1$r = {
|
|
18400
18400
|
class: "lupa-search-results-product-regular-price",
|
|
18401
18401
|
"data-cy": "lupa-search-results-product-regular-price"
|
|
18402
18402
|
};
|
|
18403
|
-
const _sfc_main$
|
|
18403
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
18404
18404
|
__name: "SearchResultsProductRegularPrice",
|
|
18405
18405
|
props: {
|
|
18406
18406
|
item: {},
|
|
@@ -18418,11 +18418,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
18418
18418
|
);
|
|
18419
18419
|
});
|
|
18420
18420
|
return (_ctx, _cache) => {
|
|
18421
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18421
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, vue.toDisplayString(price.value), 1);
|
|
18422
18422
|
};
|
|
18423
18423
|
}
|
|
18424
18424
|
});
|
|
18425
|
-
const _sfc_main$
|
|
18425
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
18426
18426
|
__name: "SearchResultsProductPrice",
|
|
18427
18427
|
props: {
|
|
18428
18428
|
item: {},
|
|
@@ -18452,10 +18452,10 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
18452
18452
|
};
|
|
18453
18453
|
}
|
|
18454
18454
|
});
|
|
18455
|
-
const _hoisted_1$
|
|
18456
|
-
const _hoisted_2$
|
|
18457
|
-
const _hoisted_3$
|
|
18458
|
-
const _sfc_main$
|
|
18455
|
+
const _hoisted_1$q = { class: "lupa-search-results-add-to-cart-wrapper" };
|
|
18456
|
+
const _hoisted_2$l = { class: "lupa-search-results-product-addtocart" };
|
|
18457
|
+
const _hoisted_3$f = ["onClick", "disabled"];
|
|
18458
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
18459
18459
|
__name: "SearchResultsProductAddToCart",
|
|
18460
18460
|
props: {
|
|
18461
18461
|
item: {},
|
|
@@ -18488,25 +18488,25 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
18488
18488
|
loading.value = false;
|
|
18489
18489
|
});
|
|
18490
18490
|
return (_ctx, _cache) => {
|
|
18491
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18492
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
18491
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
|
|
18492
|
+
vue.createElementVNode("div", _hoisted_2$l, [
|
|
18493
18493
|
vue.createElementVNode("button", {
|
|
18494
18494
|
onClick: vue.withModifiers(handleClick, ["stop"]),
|
|
18495
18495
|
class: vue.normalizeClass(loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart"),
|
|
18496
18496
|
"data-cy": "lupa-add-to-cart",
|
|
18497
18497
|
disabled: !inStockValue.value || loading.value
|
|
18498
|
-
}, vue.toDisplayString(label.value), 11, _hoisted_3$
|
|
18498
|
+
}, vue.toDisplayString(label.value), 11, _hoisted_3$f)
|
|
18499
18499
|
])
|
|
18500
18500
|
]);
|
|
18501
18501
|
};
|
|
18502
18502
|
}
|
|
18503
18503
|
});
|
|
18504
|
-
const _hoisted_1$
|
|
18505
|
-
const _hoisted_2$
|
|
18506
|
-
const _hoisted_3$
|
|
18504
|
+
const _hoisted_1$p = ["innerHTML"];
|
|
18505
|
+
const _hoisted_2$k = { key: 0 };
|
|
18506
|
+
const _hoisted_3$e = { key: 1 };
|
|
18507
18507
|
const _hoisted_4$9 = { class: "lupa-search-box-custom-label" };
|
|
18508
|
-
const _hoisted_5$
|
|
18509
|
-
const _sfc_main$
|
|
18508
|
+
const _hoisted_5$4 = { class: "lupa-search-box-custom-text" };
|
|
18509
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
18510
18510
|
__name: "SearchResultsProductCustom",
|
|
18511
18511
|
props: {
|
|
18512
18512
|
item: {},
|
|
@@ -18544,20 +18544,20 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
18544
18544
|
key: 0,
|
|
18545
18545
|
class: className.value,
|
|
18546
18546
|
innerHTML: text.value
|
|
18547
|
-
}, 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$p)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
18548
18548
|
key: 1,
|
|
18549
18549
|
class: className.value
|
|
18550
18550
|
}, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
|
|
18551
|
-
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
18551
|
+
!label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$k, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$e, [
|
|
18552
18552
|
vue.createElementVNode("div", _hoisted_4$9, vue.toDisplayString(label.value), 1),
|
|
18553
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
18553
|
+
vue.createElementVNode("div", _hoisted_5$4, vue.toDisplayString(text.value), 1)
|
|
18554
18554
|
]))
|
|
18555
18555
|
], 16));
|
|
18556
18556
|
};
|
|
18557
18557
|
}
|
|
18558
18558
|
});
|
|
18559
|
-
const _hoisted_1$
|
|
18560
|
-
const _sfc_main$
|
|
18559
|
+
const _hoisted_1$o = ["innerHTML"];
|
|
18560
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
18561
18561
|
__name: "SearchResultsProductCustomHtmlElement",
|
|
18562
18562
|
props: {
|
|
18563
18563
|
item: {},
|
|
@@ -18588,15 +18588,15 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
18588
18588
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
18589
18589
|
class: className.value,
|
|
18590
18590
|
innerHTML: text.value
|
|
18591
|
-
}, 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$o);
|
|
18592
18592
|
};
|
|
18593
18593
|
}
|
|
18594
18594
|
});
|
|
18595
|
-
const _hoisted_1$
|
|
18596
|
-
const _hoisted_2$
|
|
18597
|
-
const _hoisted_3$
|
|
18595
|
+
const _hoisted_1$n = { id: "lupa-search-results-rating" };
|
|
18596
|
+
const _hoisted_2$j = ["innerHTML"];
|
|
18597
|
+
const _hoisted_3$d = { class: "lupa-ratings" };
|
|
18598
18598
|
const _hoisted_4$8 = ["href"];
|
|
18599
|
-
const _sfc_main$
|
|
18599
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
18600
18600
|
__name: "SearchResultsProductSingleStarRating",
|
|
18601
18601
|
props: {
|
|
18602
18602
|
item: {},
|
|
@@ -18624,12 +18624,12 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
18624
18624
|
return RATING_STAR_HTML;
|
|
18625
18625
|
});
|
|
18626
18626
|
return (_ctx, _cache) => {
|
|
18627
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18627
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
|
|
18628
18628
|
vue.createElementVNode("div", {
|
|
18629
18629
|
innerHTML: star.value,
|
|
18630
18630
|
class: "lupa-rating lupa-rating-highlighted"
|
|
18631
|
-
}, null, 8, _hoisted_2$
|
|
18632
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
18631
|
+
}, null, 8, _hoisted_2$j),
|
|
18632
|
+
vue.createElementVNode("div", _hoisted_3$d, vue.toDisplayString(rating.value), 1),
|
|
18633
18633
|
vue.createElementVNode("a", {
|
|
18634
18634
|
href: ratingLink.value,
|
|
18635
18635
|
class: "lupa-total-ratings"
|
|
@@ -18640,19 +18640,19 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
18640
18640
|
});
|
|
18641
18641
|
const __default__ = {
|
|
18642
18642
|
components: {
|
|
18643
|
-
SearchResultsProductImage: _sfc_main$
|
|
18644
|
-
SearchResultsProductTitle: _sfc_main$
|
|
18645
|
-
SearchResultsProductDescription: _sfc_main$
|
|
18646
|
-
SearchResultsProductRating: _sfc_main$
|
|
18647
|
-
SearchResultsProductRegularPrice: _sfc_main$
|
|
18648
|
-
SearchResultsProductPrice: _sfc_main$
|
|
18649
|
-
SearchResultsProductAddToCart: _sfc_main$
|
|
18650
|
-
SearchResultsProductCustom: _sfc_main$
|
|
18651
|
-
SearchResultsProductCustomHtmlElement: _sfc_main$
|
|
18652
|
-
SearchResultsProductSingleStarRating: _sfc_main$
|
|
18653
|
-
}
|
|
18654
|
-
};
|
|
18655
|
-
const _sfc_main$
|
|
18643
|
+
SearchResultsProductImage: _sfc_main$z,
|
|
18644
|
+
SearchResultsProductTitle: _sfc_main$y,
|
|
18645
|
+
SearchResultsProductDescription: _sfc_main$x,
|
|
18646
|
+
SearchResultsProductRating: _sfc_main$w,
|
|
18647
|
+
SearchResultsProductRegularPrice: _sfc_main$v,
|
|
18648
|
+
SearchResultsProductPrice: _sfc_main$u,
|
|
18649
|
+
SearchResultsProductAddToCart: _sfc_main$t,
|
|
18650
|
+
SearchResultsProductCustom: _sfc_main$s,
|
|
18651
|
+
SearchResultsProductCustomHtmlElement: _sfc_main$r,
|
|
18652
|
+
SearchResultsProductSingleStarRating: _sfc_main$q
|
|
18653
|
+
}
|
|
18654
|
+
};
|
|
18655
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
|
|
18656
18656
|
__name: "SearchResultsProductCardElement",
|
|
18657
18657
|
props: {
|
|
18658
18658
|
item: {},
|
|
@@ -18728,13 +18728,13 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
18728
18728
|
};
|
|
18729
18729
|
}
|
|
18730
18730
|
}));
|
|
18731
|
-
const _hoisted_1$
|
|
18732
|
-
const _hoisted_2$
|
|
18731
|
+
const _hoisted_1$m = ["href"];
|
|
18732
|
+
const _hoisted_2$i = {
|
|
18733
18733
|
key: 0,
|
|
18734
18734
|
class: "lupa-out-of-stock"
|
|
18735
18735
|
};
|
|
18736
|
-
const _hoisted_3$
|
|
18737
|
-
const _sfc_main$
|
|
18736
|
+
const _hoisted_3$c = { class: "lupa-search-result-product-details-section" };
|
|
18737
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
18738
18738
|
__name: "SearchResultsProductCard",
|
|
18739
18739
|
props: {
|
|
18740
18740
|
product: {},
|
|
@@ -18886,7 +18886,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18886
18886
|
"data-cy": "lupa-search-result-product-card",
|
|
18887
18887
|
class: ["lupa-search-result-product-card", !isInStock.value ? "lupa-out-of-stock" : ""]
|
|
18888
18888
|
}, customDocumentHtmlAttributes.value, { onClick: handleClick }), [
|
|
18889
|
-
vue.createVNode(_sfc_main$
|
|
18889
|
+
vue.createVNode(_sfc_main$14, { options: badgesOptions.value }, null, 8, ["options"]),
|
|
18890
18890
|
vue.createElementVNode("div", {
|
|
18891
18891
|
class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
|
|
18892
18892
|
}, [
|
|
@@ -18896,7 +18896,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18896
18896
|
onClick: handleNavigation
|
|
18897
18897
|
}, [
|
|
18898
18898
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
|
|
18899
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18899
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$p, {
|
|
18900
18900
|
class: "lupa-search-results-product-element",
|
|
18901
18901
|
item: _ctx.product,
|
|
18902
18902
|
element,
|
|
@@ -18907,16 +18907,16 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18907
18907
|
onProductEvent: handleProductEvent
|
|
18908
18908
|
}, null, 8, ["item", "element", "labels", "inStock", "link"]);
|
|
18909
18909
|
}), 128)),
|
|
18910
|
-
vue.createVNode(_sfc_main$
|
|
18910
|
+
vue.createVNode(_sfc_main$14, {
|
|
18911
18911
|
options: badgesOptions.value,
|
|
18912
18912
|
position: "image",
|
|
18913
18913
|
class: "lupa-image-badges"
|
|
18914
18914
|
}, null, 8, ["options"]),
|
|
18915
|
-
((_a = labels.value) == null ? void 0 : _a.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
18916
|
-
], 8, _hoisted_1$
|
|
18917
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
18915
|
+
((_a = labels.value) == null ? void 0 : _a.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, vue.toDisplayString(labels.value.outOfStock), 1)) : vue.createCommentVNode("", true)
|
|
18916
|
+
], 8, _hoisted_1$m),
|
|
18917
|
+
vue.createElementVNode("div", _hoisted_3$c, [
|
|
18918
18918
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
|
|
18919
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18919
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$p, {
|
|
18920
18920
|
class: "lupa-search-results-product-element",
|
|
18921
18921
|
item: _ctx.product,
|
|
18922
18922
|
element,
|
|
@@ -18934,7 +18934,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18934
18934
|
class: vue.normalizeClass("lupa-element-group-" + group)
|
|
18935
18935
|
}, [
|
|
18936
18936
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
|
|
18937
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
18937
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$p, {
|
|
18938
18938
|
class: "lupa-search-results-product-element",
|
|
18939
18939
|
item: _ctx.product,
|
|
18940
18940
|
element,
|
|
@@ -18952,23 +18952,23 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18952
18952
|
};
|
|
18953
18953
|
}
|
|
18954
18954
|
});
|
|
18955
|
-
const _hoisted_1$
|
|
18955
|
+
const _hoisted_1$l = {
|
|
18956
18956
|
id: "lupa-search-results-similar-queries",
|
|
18957
18957
|
"data-cy": "lupa-search-results-similar-queries"
|
|
18958
18958
|
};
|
|
18959
|
-
const _hoisted_2$
|
|
18960
|
-
const _hoisted_3$
|
|
18959
|
+
const _hoisted_2$h = { class: "lupa-similar-queries-label" };
|
|
18960
|
+
const _hoisted_3$b = {
|
|
18961
18961
|
class: "lupa-similar-query-label",
|
|
18962
18962
|
"data-cy": "lupa-similar-query-label"
|
|
18963
18963
|
};
|
|
18964
18964
|
const _hoisted_4$7 = ["onClick"];
|
|
18965
|
-
const _hoisted_5$
|
|
18966
|
-
const _hoisted_6$
|
|
18965
|
+
const _hoisted_5$3 = ["innerHTML"];
|
|
18966
|
+
const _hoisted_6$2 = { key: 0 };
|
|
18967
18967
|
const _hoisted_7$1 = {
|
|
18968
18968
|
class: "lupa-products",
|
|
18969
18969
|
"data-cy": "lupa-products"
|
|
18970
18970
|
};
|
|
18971
|
-
const _sfc_main$
|
|
18971
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
18972
18972
|
__name: "SearchResultsSimilarQueries",
|
|
18973
18973
|
props: {
|
|
18974
18974
|
labels: {},
|
|
@@ -18998,11 +18998,11 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
18998
18998
|
paramsStore.goToResults({ searchText, facet });
|
|
18999
18999
|
};
|
|
19000
19000
|
return (_ctx, _cache) => {
|
|
19001
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19002
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
19001
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
|
|
19002
|
+
vue.createElementVNode("div", _hoisted_2$h, vue.toDisplayString(_ctx.labels.similarQueries), 1),
|
|
19003
19003
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQueries.value, (similarQuery, index) => {
|
|
19004
19004
|
return vue.openBlock(), vue.createElementBlock("div", { key: index }, [
|
|
19005
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
19005
|
+
vue.createElementVNode("div", _hoisted_3$b, [
|
|
19006
19006
|
vue.createElementVNode("span", null, vue.toDisplayString(similarQueryLabel.value), 1),
|
|
19007
19007
|
vue.createElementVNode("span", {
|
|
19008
19008
|
id: "lupa-similar-query-text-component",
|
|
@@ -19012,13 +19012,13 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
19012
19012
|
}, [
|
|
19013
19013
|
vue.createElementVNode("span", {
|
|
19014
19014
|
innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
|
|
19015
|
-
}, null, 8, _hoisted_5$
|
|
19016
|
-
similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$
|
|
19015
|
+
}, null, 8, _hoisted_5$3),
|
|
19016
|
+
similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$2, " (" + vue.toDisplayString(similarQuery.count) + ")", 1)) : vue.createCommentVNode("", true)
|
|
19017
19017
|
], 8, _hoisted_4$7)
|
|
19018
19018
|
]),
|
|
19019
19019
|
vue.createElementVNode("div", _hoisted_7$1, [
|
|
19020
19020
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQuery.items, (product, index2) => {
|
|
19021
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19021
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
19022
19022
|
style: vue.normalizeStyle(_ctx.columnSize),
|
|
19023
19023
|
key: getDocumentKey(index2, product),
|
|
19024
19024
|
product,
|
|
@@ -19032,15 +19032,15 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
19032
19032
|
};
|
|
19033
19033
|
}
|
|
19034
19034
|
});
|
|
19035
|
-
const _hoisted_1$
|
|
19035
|
+
const _hoisted_1$k = {
|
|
19036
19036
|
key: 0,
|
|
19037
19037
|
class: "lupa-results-additional-panel"
|
|
19038
19038
|
};
|
|
19039
|
-
const _hoisted_2$
|
|
19039
|
+
const _hoisted_2$g = {
|
|
19040
19040
|
class: "lupa-results-additional-panel-items",
|
|
19041
19041
|
"data-cy": "lupa-results-additional-panel-items"
|
|
19042
19042
|
};
|
|
19043
|
-
const _sfc_main$
|
|
19043
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
19044
19044
|
__name: "AdditionalPanel",
|
|
19045
19045
|
props: {
|
|
19046
19046
|
panel: {},
|
|
@@ -19112,10 +19112,10 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
19112
19112
|
handleQueryChange();
|
|
19113
19113
|
});
|
|
19114
19114
|
return (_ctx, _cache) => {
|
|
19115
|
-
return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19116
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
19115
|
+
return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
|
|
19116
|
+
vue.createElementVNode("div", _hoisted_2$g, [
|
|
19117
19117
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index) => {
|
|
19118
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19118
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
19119
19119
|
key: index,
|
|
19120
19120
|
product: item,
|
|
19121
19121
|
options: _ctx.panel,
|
|
@@ -19133,11 +19133,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
19133
19133
|
};
|
|
19134
19134
|
}
|
|
19135
19135
|
});
|
|
19136
|
-
const _hoisted_1$
|
|
19136
|
+
const _hoisted_1$j = {
|
|
19137
19137
|
key: 0,
|
|
19138
19138
|
class: "lupa-results-additional-panels"
|
|
19139
19139
|
};
|
|
19140
|
-
const _sfc_main$
|
|
19140
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
19141
19141
|
__name: "AdditionalPanels",
|
|
19142
19142
|
props: {
|
|
19143
19143
|
options: {},
|
|
@@ -19154,9 +19154,9 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
19154
19154
|
return locationPanels.value.length > 0;
|
|
19155
19155
|
});
|
|
19156
19156
|
return (_ctx, _cache) => {
|
|
19157
|
-
return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19157
|
+
return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
|
|
19158
19158
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(locationPanels.value, (panel) => {
|
|
19159
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19159
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
19160
19160
|
key: panel.queryKey,
|
|
19161
19161
|
panel,
|
|
19162
19162
|
options: _ctx.sdkOptions
|
|
@@ -19173,29 +19173,29 @@ const _export_sfc = (sfc, props) => {
|
|
|
19173
19173
|
}
|
|
19174
19174
|
return target;
|
|
19175
19175
|
};
|
|
19176
|
-
const _sfc_main$
|
|
19177
|
-
const _hoisted_1$
|
|
19178
|
-
const _hoisted_2$
|
|
19176
|
+
const _sfc_main$k = {};
|
|
19177
|
+
const _hoisted_1$i = { class: "lupa-spinner-wrapper" };
|
|
19178
|
+
const _hoisted_2$f = { class: "lupa-spinner" };
|
|
19179
19179
|
function _sfc_render(_ctx, _cache) {
|
|
19180
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19181
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
19180
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
|
|
19181
|
+
vue.createElementVNode("div", _hoisted_2$f, [
|
|
19182
19182
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(12, (x2) => {
|
|
19183
19183
|
return vue.createElementVNode("div", { key: x2 });
|
|
19184
19184
|
}), 64))
|
|
19185
19185
|
])
|
|
19186
19186
|
]);
|
|
19187
19187
|
}
|
|
19188
|
-
const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
19189
|
-
const _hoisted_1$
|
|
19188
|
+
const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render]]);
|
|
19189
|
+
const _hoisted_1$h = {
|
|
19190
19190
|
id: "lupa-search-results-similar-results",
|
|
19191
19191
|
"data-cy": "lupa-search-results-similar-results"
|
|
19192
19192
|
};
|
|
19193
|
-
const _hoisted_2$
|
|
19194
|
-
const _hoisted_3$
|
|
19193
|
+
const _hoisted_2$e = { class: "lupa-similar-results-label" };
|
|
19194
|
+
const _hoisted_3$a = {
|
|
19195
19195
|
class: "lupa-products",
|
|
19196
19196
|
"data-cy": "lupa-products"
|
|
19197
19197
|
};
|
|
19198
|
-
const _sfc_main$
|
|
19198
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
19199
19199
|
__name: "SearchResultsSimilarResults",
|
|
19200
19200
|
props: {
|
|
19201
19201
|
columnSize: {},
|
|
@@ -19211,11 +19211,11 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
19211
19211
|
return getProductKey(`${index}`, product, props.productCardOptions.idKey);
|
|
19212
19212
|
};
|
|
19213
19213
|
return (_ctx, _cache) => {
|
|
19214
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19215
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
19216
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
19214
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
|
|
19215
|
+
vue.createElementVNode("div", _hoisted_2$e, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
|
|
19216
|
+
vue.createElementVNode("div", _hoisted_3$a, [
|
|
19217
19217
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarResults.value.items, (product, index) => {
|
|
19218
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19218
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
19219
19219
|
style: vue.normalizeStyle(_ctx.columnSize),
|
|
19220
19220
|
key: getDocumentKey(index, product),
|
|
19221
19221
|
product,
|
|
@@ -19227,7 +19227,180 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
19227
19227
|
};
|
|
19228
19228
|
}
|
|
19229
19229
|
});
|
|
19230
|
-
|
|
19230
|
+
var RelatedQuerySourceType = /* @__PURE__ */ ((RelatedQuerySourceType2) => {
|
|
19231
|
+
RelatedQuerySourceType2["FACETS"] = "facets";
|
|
19232
|
+
return RelatedQuerySourceType2;
|
|
19233
|
+
})(RelatedQuerySourceType || {});
|
|
19234
|
+
const extractFacetsRelatedSource = (source, searchResults) => {
|
|
19235
|
+
var _a, _b, _c, _d, _e;
|
|
19236
|
+
const facet = (_a = searchResults.facets) == null ? void 0 : _a.find((facet2) => facet2.key === source.key);
|
|
19237
|
+
if (!facet) {
|
|
19238
|
+
return [];
|
|
19239
|
+
}
|
|
19240
|
+
if (facet.type === "terms") {
|
|
19241
|
+
return (_c = (_b = facet.items) == null ? void 0 : _b.slice(0, source.count)) == null ? void 0 : _c.map((item) => item.title);
|
|
19242
|
+
}
|
|
19243
|
+
if (facet.type === "hierarchy") {
|
|
19244
|
+
return (_e = (_d = facet.items) == null ? void 0 : _d.slice(0, source.count)) == null ? void 0 : _e.map((item) => item.title);
|
|
19245
|
+
}
|
|
19246
|
+
return [];
|
|
19247
|
+
};
|
|
19248
|
+
const extractRelatedSource = (source, searchResults) => {
|
|
19249
|
+
switch (source.type) {
|
|
19250
|
+
case RelatedQuerySourceType.FACETS:
|
|
19251
|
+
return extractFacetsRelatedSource(source, searchResults);
|
|
19252
|
+
}
|
|
19253
|
+
};
|
|
19254
|
+
const _hoisted_1$g = { class: "lupa-related-query-item" };
|
|
19255
|
+
const _hoisted_2$d = { class: "lupa-related-query-image" };
|
|
19256
|
+
const _hoisted_3$9 = { class: "lupa-related-query-label" };
|
|
19257
|
+
const _hoisted_4$6 = { class: "lupa-related-query-title" };
|
|
19258
|
+
const _hoisted_5$2 = {
|
|
19259
|
+
key: 0,
|
|
19260
|
+
class: "lupa-related-query-count"
|
|
19261
|
+
};
|
|
19262
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
19263
|
+
__name: "RelatedQueryPanel",
|
|
19264
|
+
props: {
|
|
19265
|
+
query: {},
|
|
19266
|
+
options: {}
|
|
19267
|
+
},
|
|
19268
|
+
setup(__props) {
|
|
19269
|
+
const props = __props;
|
|
19270
|
+
const loading = vue.ref(false);
|
|
19271
|
+
const relatedQueryResult = vue.ref(null);
|
|
19272
|
+
const optionsStore = useOptionsStore();
|
|
19273
|
+
const { searchResultOptions } = storeToRefs(optionsStore);
|
|
19274
|
+
const mainImage = vue.computed(() => {
|
|
19275
|
+
var _a, _b, _c;
|
|
19276
|
+
return (_c = (_b = (_a = searchResultOptions.value) == null ? void 0 : _a.elements) == null ? void 0 : _b.find((e2) => e2.type === DocumentElementType.IMAGE)) != null ? _c : "";
|
|
19277
|
+
});
|
|
19278
|
+
const image = vue.computed(() => {
|
|
19279
|
+
var _a, _b, _c;
|
|
19280
|
+
return (_c = (_b = (_a = props.options) == null ? void 0 : _a.image) != null ? _b : mainImage == null ? void 0 : mainImage.value) != null ? _c : "";
|
|
19281
|
+
});
|
|
19282
|
+
const queryKey = vue.computed(() => {
|
|
19283
|
+
var _a, _b;
|
|
19284
|
+
return (_b = (_a = props.options) == null ? void 0 : _a.queryKey) != null ? _b : searchResultOptions.value.queryKey;
|
|
19285
|
+
});
|
|
19286
|
+
vue.computed(() => {
|
|
19287
|
+
var _a, _b;
|
|
19288
|
+
return ((_b = (_a = relatedQueryResult.value) == null ? void 0 : _a.items) == null ? void 0 : _b.length) > 0;
|
|
19289
|
+
});
|
|
19290
|
+
const firstResultItem = vue.computed(() => {
|
|
19291
|
+
var _a, _b;
|
|
19292
|
+
return (_b = (_a = relatedQueryResult.value) == null ? void 0 : _a.items) == null ? void 0 : _b[0];
|
|
19293
|
+
});
|
|
19294
|
+
const totalItemCount = vue.computed(() => {
|
|
19295
|
+
var _a, _b;
|
|
19296
|
+
return (_b = (_a = relatedQueryResult.value) == null ? void 0 : _a.total) != null ? _b : 0;
|
|
19297
|
+
});
|
|
19298
|
+
const searchForRelatedQuery = () => __async(this, null, function* () {
|
|
19299
|
+
var _a, _b, _c, _d;
|
|
19300
|
+
if (!props.query) {
|
|
19301
|
+
return;
|
|
19302
|
+
}
|
|
19303
|
+
const lupaQuery = { searchText: (_a = props.query) == null ? void 0 : _a.toLowerCase(), limit: 1 };
|
|
19304
|
+
try {
|
|
19305
|
+
loading.value = true;
|
|
19306
|
+
const result2 = yield LupaSearchSdk.query(
|
|
19307
|
+
queryKey.value,
|
|
19308
|
+
lupaQuery,
|
|
19309
|
+
(_b = searchResultOptions.value) == null ? void 0 : _b.options
|
|
19310
|
+
);
|
|
19311
|
+
if (result2.success) {
|
|
19312
|
+
relatedQueryResult.value = result2;
|
|
19313
|
+
}
|
|
19314
|
+
} catch (error) {
|
|
19315
|
+
(_d = (_c = searchResultOptions.value) == null ? void 0 : _c.options) == null ? void 0 : _d.onError(error);
|
|
19316
|
+
} finally {
|
|
19317
|
+
loading.value = false;
|
|
19318
|
+
}
|
|
19319
|
+
});
|
|
19320
|
+
vue.watch(
|
|
19321
|
+
() => props.query,
|
|
19322
|
+
() => {
|
|
19323
|
+
console.log("query changed", props.query);
|
|
19324
|
+
searchForRelatedQuery();
|
|
19325
|
+
}
|
|
19326
|
+
);
|
|
19327
|
+
vue.onMounted(() => {
|
|
19328
|
+
searchForRelatedQuery();
|
|
19329
|
+
});
|
|
19330
|
+
return (_ctx, _cache) => {
|
|
19331
|
+
var _a;
|
|
19332
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
|
|
19333
|
+
vue.createElementVNode("div", _hoisted_2$d, [
|
|
19334
|
+
firstResultItem.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1j, {
|
|
19335
|
+
key: 0,
|
|
19336
|
+
"wrapper-class": "lupa-related-query-image-wrapper",
|
|
19337
|
+
"image-class": "lupa-related-query-image",
|
|
19338
|
+
item: firstResultItem.value,
|
|
19339
|
+
options: image.value
|
|
19340
|
+
}, null, 8, ["item", "options"])) : vue.createCommentVNode("", true)
|
|
19341
|
+
]),
|
|
19342
|
+
vue.createElementVNode("div", _hoisted_3$9, [
|
|
19343
|
+
vue.createElementVNode("span", _hoisted_4$6, vue.toDisplayString(_ctx.query), 1),
|
|
19344
|
+
((_a = _ctx.options) == null ? void 0 : _a.showCount) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$2, "(" + vue.toDisplayString(totalItemCount.value) + ")", 1)) : vue.createCommentVNode("", true)
|
|
19345
|
+
])
|
|
19346
|
+
]);
|
|
19347
|
+
};
|
|
19348
|
+
}
|
|
19349
|
+
});
|
|
19350
|
+
const _hoisted_1$f = {
|
|
19351
|
+
key: 0,
|
|
19352
|
+
class: "lupa-related-queries"
|
|
19353
|
+
};
|
|
19354
|
+
const _hoisted_2$c = {
|
|
19355
|
+
key: 0,
|
|
19356
|
+
class: "lupa-related-queries-title"
|
|
19357
|
+
};
|
|
19358
|
+
const _hoisted_3$8 = ["onClick"];
|
|
19359
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
19360
|
+
__name: "RelatedQueries",
|
|
19361
|
+
props: {
|
|
19362
|
+
options: {}
|
|
19363
|
+
},
|
|
19364
|
+
setup(__props) {
|
|
19365
|
+
const props = __props;
|
|
19366
|
+
const searchResultStore = useSearchResultStore();
|
|
19367
|
+
const paramsStore = useParamsStore();
|
|
19368
|
+
const { searchResult } = storeToRefs(searchResultStore);
|
|
19369
|
+
const relatedQueries = vue.computed(() => {
|
|
19370
|
+
if (!props.options || !searchResult.value) {
|
|
19371
|
+
return [];
|
|
19372
|
+
}
|
|
19373
|
+
return extractRelatedSource(props.options.source, searchResult.value);
|
|
19374
|
+
});
|
|
19375
|
+
const hasEnoughRelatedQueries = vue.computed(() => {
|
|
19376
|
+
return relatedQueries.value.length > 1;
|
|
19377
|
+
});
|
|
19378
|
+
const goToResults = ({ searchText }) => {
|
|
19379
|
+
paramsStore.goToResults({ searchText });
|
|
19380
|
+
};
|
|
19381
|
+
return (_ctx, _cache) => {
|
|
19382
|
+
var _a, _b, _c, _d;
|
|
19383
|
+
return _ctx.options && hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
|
|
19384
|
+
((_b = (_a = _ctx.options) == null ? void 0 : _a.labels) == null ? void 0 : _b.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$c, vue.toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
|
|
19385
|
+
vue.createElementVNode("ul", null, [
|
|
19386
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries.value, (query) => {
|
|
19387
|
+
return vue.openBlock(), vue.createElementBlock("li", { key: query }, [
|
|
19388
|
+
vue.createElementVNode("a", {
|
|
19389
|
+
onClick: ($event) => goToResults({ searchText: query })
|
|
19390
|
+
}, [
|
|
19391
|
+
vue.createVNode(_sfc_main$i, {
|
|
19392
|
+
options: _ctx.options,
|
|
19393
|
+
query
|
|
19394
|
+
}, null, 8, ["options", "query"])
|
|
19395
|
+
], 8, _hoisted_3$8)
|
|
19396
|
+
]);
|
|
19397
|
+
}), 128))
|
|
19398
|
+
])
|
|
19399
|
+
])) : vue.createCommentVNode("", true);
|
|
19400
|
+
};
|
|
19401
|
+
}
|
|
19402
|
+
});
|
|
19403
|
+
const _hoisted_1$e = { id: "lupa-search-results-products" };
|
|
19231
19404
|
const _hoisted_2$b = {
|
|
19232
19405
|
class: "lupa-products",
|
|
19233
19406
|
"data-cy": "lupa-products"
|
|
@@ -19237,14 +19410,14 @@ const _hoisted_3$7 = {
|
|
|
19237
19410
|
class: "lupa-empty-results",
|
|
19238
19411
|
"data-cy": "lupa-no-results-in-page"
|
|
19239
19412
|
};
|
|
19240
|
-
const _hoisted_4$
|
|
19413
|
+
const _hoisted_4$5 = {
|
|
19241
19414
|
key: 3,
|
|
19242
19415
|
class: "lupa-empty-results",
|
|
19243
19416
|
"data-cy": "lupa-no-results"
|
|
19244
19417
|
};
|
|
19245
|
-
const _hoisted_5$
|
|
19246
|
-
const _hoisted_6$
|
|
19247
|
-
const _sfc_main$
|
|
19418
|
+
const _hoisted_5$1 = { key: 4 };
|
|
19419
|
+
const _hoisted_6$1 = { key: 5 };
|
|
19420
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
19248
19421
|
__name: "SearchResultsProducts",
|
|
19249
19422
|
props: {
|
|
19250
19423
|
options: {},
|
|
@@ -19351,24 +19524,32 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19351
19524
|
};
|
|
19352
19525
|
return (_ctx, _cache) => {
|
|
19353
19526
|
var _a;
|
|
19354
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19527
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
|
|
19355
19528
|
vue.unref(loading) && !vue.unref(isMobileSidebarVisible) ? (vue.openBlock(), vue.createBlock(Spinner, {
|
|
19356
19529
|
key: 0,
|
|
19357
19530
|
class: "lupa-loader"
|
|
19358
19531
|
})) : vue.createCommentVNode("", true),
|
|
19532
|
+
vue.createVNode(_sfc_main$l, {
|
|
19533
|
+
options: _ctx.options,
|
|
19534
|
+
location: "top",
|
|
19535
|
+
sdkOptions: _ctx.options.options
|
|
19536
|
+
}, null, 8, ["options", "sdkOptions"]),
|
|
19537
|
+
vue.createVNode(_sfc_main$h, {
|
|
19538
|
+
options: _ctx.options.relatedQueries
|
|
19539
|
+
}, null, 8, ["options"]),
|
|
19359
19540
|
vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
19360
|
-
showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19541
|
+
showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
|
|
19361
19542
|
key: 0,
|
|
19362
19543
|
options: (_a = _ctx.options.filters) != null ? _a : {}
|
|
19363
19544
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19364
|
-
showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19545
|
+
showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
|
|
19365
19546
|
key: 1,
|
|
19366
19547
|
class: "lupa-toolbar-mobile",
|
|
19367
19548
|
options: _ctx.options,
|
|
19368
19549
|
"pagination-location": "top",
|
|
19369
19550
|
onFilter: filter2
|
|
19370
19551
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19371
|
-
currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19552
|
+
currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
|
|
19372
19553
|
key: 2,
|
|
19373
19554
|
class: vue.normalizeClass(currentFiltersClass.value),
|
|
19374
19555
|
"data-cy": "lupa-search-result-filters-mobile-toolbar",
|
|
@@ -19376,18 +19557,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19376
19557
|
expandable: !desktopFiltersExpanded.value
|
|
19377
19558
|
}, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true)
|
|
19378
19559
|
], 64)) : vue.createCommentVNode("", true),
|
|
19379
|
-
vue.createVNode(_sfc_main$h, {
|
|
19380
|
-
options: _ctx.options,
|
|
19381
|
-
location: "top",
|
|
19382
|
-
sdkOptions: _ctx.options.options
|
|
19383
|
-
}, null, 8, ["options", "sdkOptions"]),
|
|
19384
19560
|
vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
19385
|
-
vue.createVNode(_sfc_main$
|
|
19561
|
+
vue.createVNode(_sfc_main$A, {
|
|
19386
19562
|
class: "lupa-toolbar-top",
|
|
19387
19563
|
options: _ctx.options,
|
|
19388
19564
|
"pagination-location": "top"
|
|
19389
19565
|
}, null, 8, ["options"]),
|
|
19390
|
-
currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19566
|
+
currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
|
|
19391
19567
|
key: 0,
|
|
19392
19568
|
class: vue.normalizeClass(currentFiltersClass.value),
|
|
19393
19569
|
"data-cy": "lupa-search-result-filters-mobile-toolbar",
|
|
@@ -19403,7 +19579,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19403
19579
|
options: productCardOptions.value
|
|
19404
19580
|
});
|
|
19405
19581
|
}), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
|
|
19406
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19582
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
19407
19583
|
style: vue.normalizeStyle(columnSize.value),
|
|
19408
19584
|
key: getProductKeyAction(index, product),
|
|
19409
19585
|
product,
|
|
@@ -19419,29 +19595,29 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19419
19595
|
onClick: goToFirstPage
|
|
19420
19596
|
}, vue.toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : vue.createCommentVNode("", true)
|
|
19421
19597
|
])) : vue.createCommentVNode("", true),
|
|
19422
|
-
vue.createVNode(_sfc_main$
|
|
19598
|
+
vue.createVNode(_sfc_main$A, {
|
|
19423
19599
|
class: "lupa-toolbar-bottom",
|
|
19424
19600
|
options: _ctx.options,
|
|
19425
19601
|
"pagination-location": "bottom"
|
|
19426
19602
|
}, null, 8, ["options"]),
|
|
19427
|
-
vue.createVNode(_sfc_main$
|
|
19603
|
+
vue.createVNode(_sfc_main$l, {
|
|
19428
19604
|
options: _ctx.options,
|
|
19429
19605
|
location: "bottom",
|
|
19430
19606
|
sdkOptions: _ctx.options.options
|
|
19431
19607
|
}, null, 8, ["options", "sdkOptions"])
|
|
19432
|
-
], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
19608
|
+
], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
|
|
19433
19609
|
vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.emptyResults) + " ", 1),
|
|
19434
19610
|
vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(currentQueryText)), 1)
|
|
19435
19611
|
])) : vue.createCommentVNode("", true),
|
|
19436
|
-
hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
19437
|
-
vue.createVNode(_sfc_main$
|
|
19612
|
+
hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
|
|
19613
|
+
vue.createVNode(_sfc_main$n, {
|
|
19438
19614
|
labels: similarQueriesLabels.value,
|
|
19439
19615
|
columnSize: columnSize.value,
|
|
19440
19616
|
productCardOptions: productCardOptions.value
|
|
19441
19617
|
}, null, 8, ["labels", "columnSize", "productCardOptions"])
|
|
19442
19618
|
])) : vue.createCommentVNode("", true),
|
|
19443
|
-
hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$
|
|
19444
|
-
vue.createVNode(_sfc_main$
|
|
19619
|
+
hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
|
|
19620
|
+
vue.createVNode(_sfc_main$j, {
|
|
19445
19621
|
labels: similarResultsLabels.value,
|
|
19446
19622
|
columnSize: columnSize.value,
|
|
19447
19623
|
productCardOptions: productCardOptions.value
|
|
@@ -19452,14 +19628,14 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
19452
19628
|
};
|
|
19453
19629
|
}
|
|
19454
19630
|
});
|
|
19455
|
-
const _hoisted_1$
|
|
19631
|
+
const _hoisted_1$d = { class: "lupa-top-mobile-filter-wrapper" };
|
|
19456
19632
|
const _hoisted_2$a = {
|
|
19457
19633
|
key: 0,
|
|
19458
19634
|
class: "lupa-category-back"
|
|
19459
19635
|
};
|
|
19460
19636
|
const _hoisted_3$6 = ["href"];
|
|
19461
|
-
const _hoisted_4$
|
|
19462
|
-
const _sfc_main$
|
|
19637
|
+
const _hoisted_4$4 = { class: "lupa-child-category-list" };
|
|
19638
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
19463
19639
|
__name: "CategoryTopFilters",
|
|
19464
19640
|
props: {
|
|
19465
19641
|
options: {}
|
|
@@ -19500,7 +19676,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
19500
19676
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
19501
19677
|
class: vue.normalizeClass(["lupa-category-top-mobile-filters", { "lupa-has-back-button": hasBackButton.value }])
|
|
19502
19678
|
}, [
|
|
19503
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
19679
|
+
vue.createElementVNode("div", _hoisted_1$d, [
|
|
19504
19680
|
hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
|
|
19505
19681
|
vue.createElementVNode("a", {
|
|
19506
19682
|
"data-cy": "lupa-category-back",
|
|
@@ -19508,16 +19684,16 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
19508
19684
|
onClick: handleNavigationBack
|
|
19509
19685
|
}, vue.toDisplayString(backTitle.value), 9, _hoisted_3$6)
|
|
19510
19686
|
])) : vue.createCommentVNode("", true),
|
|
19511
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
19687
|
+
vue.createElementVNode("div", _hoisted_4$4, [
|
|
19512
19688
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relatedCategoryChildren), (child) => {
|
|
19513
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19689
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$T, {
|
|
19514
19690
|
key: getCategoryKey(child),
|
|
19515
19691
|
item: child,
|
|
19516
19692
|
options: categoryOptions.value
|
|
19517
19693
|
}, null, 8, ["item", "options"]);
|
|
19518
19694
|
}), 128))
|
|
19519
19695
|
]),
|
|
19520
|
-
vue.createVNode(_sfc_main$
|
|
19696
|
+
vue.createVNode(_sfc_main$A, {
|
|
19521
19697
|
class: "lupa-toolbar-mobile",
|
|
19522
19698
|
"pagination-location": "top",
|
|
19523
19699
|
options: _ctx.options
|
|
@@ -19527,7 +19703,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
19527
19703
|
};
|
|
19528
19704
|
}
|
|
19529
19705
|
});
|
|
19530
|
-
const _hoisted_1$
|
|
19706
|
+
const _hoisted_1$c = {
|
|
19531
19707
|
key: 0,
|
|
19532
19708
|
class: "lupa-container-title-summary-mobile"
|
|
19533
19709
|
};
|
|
@@ -19537,8 +19713,8 @@ const _hoisted_2$9 = {
|
|
|
19537
19713
|
class: "top-layout-wrapper"
|
|
19538
19714
|
};
|
|
19539
19715
|
const _hoisted_3$5 = { class: "search-content" };
|
|
19540
|
-
const _hoisted_4$
|
|
19541
|
-
const _sfc_main$
|
|
19716
|
+
const _hoisted_4$3 = { id: "lupa-search-results" };
|
|
19717
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
19542
19718
|
__name: "SearchResults",
|
|
19543
19719
|
props: {
|
|
19544
19720
|
options: {},
|
|
@@ -19748,29 +19924,29 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19748
19924
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
19749
19925
|
class: vue.normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !vue.unref(hasResults) }])
|
|
19750
19926
|
}, [
|
|
19751
|
-
_ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19752
|
-
vue.createVNode(_sfc_main$
|
|
19753
|
-
vue.createVNode(_sfc_main$
|
|
19927
|
+
_ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
|
|
19928
|
+
vue.createVNode(_sfc_main$Y, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
19929
|
+
vue.createVNode(_sfc_main$W, {
|
|
19754
19930
|
"show-summary": true,
|
|
19755
19931
|
options: _ctx.options,
|
|
19756
19932
|
"is-product-list": (_a = _ctx.isProductList) != null ? _a : false
|
|
19757
19933
|
}, null, 8, ["options", "is-product-list"])
|
|
19758
19934
|
])) : vue.createCommentVNode("", true),
|
|
19759
|
-
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19935
|
+
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$f, {
|
|
19760
19936
|
key: 1,
|
|
19761
19937
|
options: _ctx.options
|
|
19762
19938
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19763
|
-
_ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19939
|
+
_ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
|
|
19764
19940
|
key: 2,
|
|
19765
19941
|
options: _ctx.options.filters,
|
|
19766
19942
|
onFilter: handleParamsChange
|
|
19767
19943
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19768
|
-
vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19944
|
+
vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
19769
19945
|
key: 3,
|
|
19770
19946
|
breadcrumbs: _ctx.options.breadcrumbs
|
|
19771
19947
|
}, null, 8, ["breadcrumbs"])) : vue.createCommentVNode("", true),
|
|
19772
19948
|
isTitleResultTopPosition.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
|
|
19773
|
-
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19949
|
+
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
|
|
19774
19950
|
key: 0,
|
|
19775
19951
|
options: (_b = _ctx.options.filters) != null ? _b : {},
|
|
19776
19952
|
ref_key: "searchResultsFilters",
|
|
@@ -19778,12 +19954,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19778
19954
|
onFilter: handleParamsChange
|
|
19779
19955
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19780
19956
|
vue.createElementVNode("div", _hoisted_3$5, [
|
|
19781
|
-
vue.createVNode(_sfc_main$
|
|
19782
|
-
vue.createVNode(_sfc_main$
|
|
19957
|
+
vue.createVNode(_sfc_main$Y, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
19958
|
+
vue.createVNode(_sfc_main$W, {
|
|
19783
19959
|
options: _ctx.options,
|
|
19784
19960
|
"is-product-list": (_c = _ctx.isProductList) != null ? _c : false
|
|
19785
19961
|
}, null, 8, ["options", "is-product-list"]),
|
|
19786
|
-
vue.createVNode(_sfc_main$
|
|
19962
|
+
vue.createVNode(_sfc_main$g, {
|
|
19787
19963
|
options: _ctx.options,
|
|
19788
19964
|
ssr: ssrEnabled.value,
|
|
19789
19965
|
onFilter: handleParamsChange
|
|
@@ -19795,20 +19971,20 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19795
19971
|
}, 8, ["options", "ssr"])
|
|
19796
19972
|
])
|
|
19797
19973
|
])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 5 }, [
|
|
19798
|
-
vue.createVNode(_sfc_main$
|
|
19799
|
-
vue.createVNode(_sfc_main$
|
|
19974
|
+
vue.createVNode(_sfc_main$Y, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
|
|
19975
|
+
vue.createVNode(_sfc_main$W, {
|
|
19800
19976
|
options: _ctx.options,
|
|
19801
19977
|
"is-product-list": (_d = _ctx.isProductList) != null ? _d : false
|
|
19802
19978
|
}, null, 8, ["options", "is-product-list"]),
|
|
19803
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
19804
|
-
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19979
|
+
vue.createElementVNode("div", _hoisted_4$3, [
|
|
19980
|
+
showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
|
|
19805
19981
|
key: 0,
|
|
19806
19982
|
options: (_e = _ctx.options.filters) != null ? _e : {},
|
|
19807
19983
|
ref_key: "searchResultsFilters",
|
|
19808
19984
|
ref: searchResultsFilters,
|
|
19809
19985
|
onFilter: handleParamsChange
|
|
19810
19986
|
}, null, 8, ["options"])) : vue.createCommentVNode("", true),
|
|
19811
|
-
vue.createVNode(_sfc_main$
|
|
19987
|
+
vue.createVNode(_sfc_main$g, {
|
|
19812
19988
|
options: _ctx.options,
|
|
19813
19989
|
ssr: ssrEnabled.value,
|
|
19814
19990
|
onFilter: handleParamsChange
|
|
@@ -19832,12 +20008,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
19832
20008
|
};
|
|
19833
20009
|
}
|
|
19834
20010
|
});
|
|
19835
|
-
const _hoisted_1$
|
|
20011
|
+
const _hoisted_1$b = {
|
|
19836
20012
|
key: 0,
|
|
19837
20013
|
class: "lupa-category-overview"
|
|
19838
20014
|
};
|
|
19839
20015
|
const _hoisted_2$8 = ["innerHTML"];
|
|
19840
|
-
const _sfc_main$
|
|
20016
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
19841
20017
|
__name: "CategoryDescription",
|
|
19842
20018
|
props: {
|
|
19843
20019
|
options: {}
|
|
@@ -19855,7 +20031,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
19855
20031
|
return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.current) == null ? void 0 : _b.description);
|
|
19856
20032
|
});
|
|
19857
20033
|
return (_ctx, _cache) => {
|
|
19858
|
-
return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
20034
|
+
return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
|
|
19859
20035
|
vue.createElementVNode("div", {
|
|
19860
20036
|
class: "lupa-category-description",
|
|
19861
20037
|
innerHTML: description.value
|
|
@@ -19920,7 +20096,7 @@ const processExtractionObject = (value = {}) => {
|
|
|
19920
20096
|
}
|
|
19921
20097
|
return parsedObject;
|
|
19922
20098
|
};
|
|
19923
|
-
const _sfc_main$
|
|
20099
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
19924
20100
|
__name: "ProductList",
|
|
19925
20101
|
props: {
|
|
19926
20102
|
options: {}
|
|
@@ -19945,7 +20121,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
19945
20121
|
__expose({ fetch: fetch2 });
|
|
19946
20122
|
return (_ctx, _cache) => {
|
|
19947
20123
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
19948
|
-
vue.createVNode(_sfc_main$
|
|
20124
|
+
vue.createVNode(_sfc_main$e, {
|
|
19949
20125
|
options: componentOptions.value,
|
|
19950
20126
|
"initial-filters": _ctx.options.initialFilters,
|
|
19951
20127
|
"is-product-list": true,
|
|
@@ -19953,7 +20129,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
19953
20129
|
ref: searchResults
|
|
19954
20130
|
}, {
|
|
19955
20131
|
default: vue.withCtx(() => [
|
|
19956
|
-
vue.createVNode(_sfc_main$
|
|
20132
|
+
vue.createVNode(_sfc_main$d, { options: _ctx.options }, null, 8, ["options"])
|
|
19957
20133
|
]),
|
|
19958
20134
|
_: 1
|
|
19959
20135
|
}, 8, ["options", "initial-filters"])
|
|
@@ -25443,9 +25619,9 @@ lodash.exports;
|
|
|
25443
25619
|
}).call(commonjsGlobal);
|
|
25444
25620
|
})(lodash, lodash.exports);
|
|
25445
25621
|
var lodashExports = lodash.exports;
|
|
25446
|
-
const _hoisted_1$
|
|
25622
|
+
const _hoisted_1$a = ["onClick"];
|
|
25447
25623
|
const _hoisted_2$7 = { class: "lupa-search-box-container" };
|
|
25448
|
-
const _sfc_main$
|
|
25624
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
25449
25625
|
__name: "SearchContainer",
|
|
25450
25626
|
props: {
|
|
25451
25627
|
options: {}
|
|
@@ -25491,7 +25667,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25491
25667
|
onClick: vue.withModifiers(innerClick, ["stop"])
|
|
25492
25668
|
}, [
|
|
25493
25669
|
vue.createElementVNode("div", _hoisted_2$7, [
|
|
25494
|
-
vue.createVNode(_sfc_main$
|
|
25670
|
+
vue.createVNode(_sfc_main$Z, {
|
|
25495
25671
|
options: fullSearchBoxOptions.value,
|
|
25496
25672
|
"is-search-container": true,
|
|
25497
25673
|
ref_key: "searchBox",
|
|
@@ -25499,13 +25675,13 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25499
25675
|
onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
|
|
25500
25676
|
}, null, 8, ["options"])
|
|
25501
25677
|
]),
|
|
25502
|
-
vue.createVNode(_sfc_main$
|
|
25678
|
+
vue.createVNode(_sfc_main$e, {
|
|
25503
25679
|
options: fullSearchResultsOptions.value,
|
|
25504
25680
|
"is-container": true,
|
|
25505
25681
|
ref_key: "searchResults",
|
|
25506
25682
|
ref: searchResults
|
|
25507
25683
|
}, null, 8, ["options"])
|
|
25508
|
-
], 8, _hoisted_1$
|
|
25684
|
+
], 8, _hoisted_1$a)
|
|
25509
25685
|
]);
|
|
25510
25686
|
};
|
|
25511
25687
|
}
|
|
@@ -26208,7 +26384,7 @@ var Slide = vue.defineComponent({
|
|
|
26208
26384
|
};
|
|
26209
26385
|
}
|
|
26210
26386
|
});
|
|
26211
|
-
const _hoisted_1$
|
|
26387
|
+
const _hoisted_1$9 = {
|
|
26212
26388
|
key: 0,
|
|
26213
26389
|
class: "lupa-search-product-recommendations-wrapper"
|
|
26214
26390
|
};
|
|
@@ -26221,12 +26397,12 @@ const _hoisted_3$4 = {
|
|
|
26221
26397
|
class: "lupa-recommended-products",
|
|
26222
26398
|
"data-cy": "lupa-recommended-products"
|
|
26223
26399
|
};
|
|
26224
|
-
const _hoisted_4$
|
|
26400
|
+
const _hoisted_4$2 = {
|
|
26225
26401
|
key: 1,
|
|
26226
26402
|
class: "lupa-products",
|
|
26227
26403
|
"data-cy": "lupa-products"
|
|
26228
26404
|
};
|
|
26229
|
-
const _sfc_main$
|
|
26405
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
26230
26406
|
__name: "Recommendations",
|
|
26231
26407
|
props: {
|
|
26232
26408
|
options: {}
|
|
@@ -26342,7 +26518,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26342
26518
|
});
|
|
26343
26519
|
__expose({ fetch: fetch2 });
|
|
26344
26520
|
return (_ctx, _cache) => {
|
|
26345
|
-
return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
26521
|
+
return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
|
|
26346
26522
|
title.value ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$6, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
|
|
26347
26523
|
!loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [
|
|
26348
26524
|
layoutType.value === "carousel" ? (vue.openBlock(), vue.createBlock(vue.unref(Carousel), vue.mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
|
|
@@ -26355,7 +26531,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26355
26531
|
key: getProductKeyAction(index, product)
|
|
26356
26532
|
}, {
|
|
26357
26533
|
default: vue.withCtx(() => [
|
|
26358
|
-
vue.createVNode(_sfc_main$
|
|
26534
|
+
vue.createVNode(_sfc_main$o, {
|
|
26359
26535
|
product,
|
|
26360
26536
|
options: _ctx.options,
|
|
26361
26537
|
"click-tracking-settings": clickTrackingSettings.value
|
|
@@ -26366,9 +26542,9 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26366
26542
|
}), 128))
|
|
26367
26543
|
]),
|
|
26368
26544
|
_: 1
|
|
26369
|
-
}, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
26545
|
+
}, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
|
|
26370
26546
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(recommendations.value, (product, index) => {
|
|
26371
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
26547
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
26372
26548
|
style: vue.normalizeStyle(columnSize.value),
|
|
26373
26549
|
key: getProductKeyAction(index, product),
|
|
26374
26550
|
product,
|
|
@@ -26382,19 +26558,19 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26382
26558
|
};
|
|
26383
26559
|
}
|
|
26384
26560
|
});
|
|
26385
|
-
const _hoisted_1$
|
|
26561
|
+
const _hoisted_1$8 = { class: "lupa-chat-spinner" };
|
|
26386
26562
|
const _hoisted_2$5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26387
26563
|
const _hoisted_3$3 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26388
|
-
const _hoisted_4$
|
|
26389
|
-
const _hoisted_5
|
|
26390
|
-
const _hoisted_6
|
|
26564
|
+
const _hoisted_4$1 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26565
|
+
const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
|
|
26566
|
+
const _hoisted_6 = [
|
|
26391
26567
|
_hoisted_2$5,
|
|
26392
26568
|
_hoisted_3$3,
|
|
26393
|
-
_hoisted_4$
|
|
26394
|
-
_hoisted_5
|
|
26569
|
+
_hoisted_4$1,
|
|
26570
|
+
_hoisted_5
|
|
26395
26571
|
];
|
|
26396
26572
|
const _hoisted_7 = { class: "lupa-chat-spinner-message" };
|
|
26397
|
-
const _sfc_main$
|
|
26573
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
26398
26574
|
__name: "ChatSpinner",
|
|
26399
26575
|
props: {
|
|
26400
26576
|
small: { type: Boolean },
|
|
@@ -26402,27 +26578,25 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26402
26578
|
},
|
|
26403
26579
|
setup(__props) {
|
|
26404
26580
|
return (_ctx, _cache) => {
|
|
26405
|
-
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$
|
|
26581
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$8, [
|
|
26406
26582
|
vue.createElementVNode("div", {
|
|
26407
26583
|
class: vue.normalizeClass([{ small: _ctx.small }, "lds-ring"])
|
|
26408
|
-
}, _hoisted_6
|
|
26584
|
+
}, _hoisted_6, 2),
|
|
26409
26585
|
vue.createElementVNode("div", _hoisted_7, vue.toDisplayString(_ctx.message), 1)
|
|
26410
26586
|
]);
|
|
26411
26587
|
};
|
|
26412
26588
|
}
|
|
26413
26589
|
});
|
|
26414
|
-
const _hoisted_1$
|
|
26590
|
+
const _hoisted_1$7 = { class: "lupa-chat-input-container" };
|
|
26415
26591
|
const _hoisted_2$4 = { id: "lupa-search-box-input" };
|
|
26416
|
-
const _hoisted_3$2 = {
|
|
26417
|
-
|
|
26418
|
-
class: "lupa-chat-form-submit"
|
|
26419
|
-
};
|
|
26420
|
-
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
26592
|
+
const _hoisted_3$2 = { class: "lupa-chat-form-submit" };
|
|
26593
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
26421
26594
|
__name: "ChatInput",
|
|
26422
26595
|
props: {
|
|
26423
|
-
disabled: { type: Boolean }
|
|
26596
|
+
disabled: { type: Boolean },
|
|
26597
|
+
options: {}
|
|
26424
26598
|
},
|
|
26425
|
-
emits: ["submit"],
|
|
26599
|
+
emits: ["submit", "focus", "blur", "clear"],
|
|
26426
26600
|
setup(__props, { emit }) {
|
|
26427
26601
|
const inputValue = vue.ref("");
|
|
26428
26602
|
const submit = () => {
|
|
@@ -26430,7 +26604,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26430
26604
|
inputValue.value = "";
|
|
26431
26605
|
};
|
|
26432
26606
|
return (_ctx, _cache) => {
|
|
26433
|
-
|
|
26607
|
+
var _a, _b, _c, _d, _e, _f;
|
|
26608
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
|
|
26434
26609
|
vue.createElementVNode("form", {
|
|
26435
26610
|
action: "javascript:void(0);",
|
|
26436
26611
|
class: "chat-input-form",
|
|
@@ -26444,12 +26619,22 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26444
26619
|
class: "lupa-search-box-input-field",
|
|
26445
26620
|
"data-cy": "lupa-search-box-input-field",
|
|
26446
26621
|
type: "text",
|
|
26447
|
-
placeholder: "Type your request here..."
|
|
26448
|
-
|
|
26622
|
+
placeholder: "Type your request here...",
|
|
26623
|
+
onFocus: _cache[1] || (_cache[1] = ($event) => emit("focus")),
|
|
26624
|
+
onBlur: _cache[2] || (_cache[2] = ($event) => emit("blur"))
|
|
26625
|
+
}, null, 544), [
|
|
26449
26626
|
[vue.vModelText, inputValue.value]
|
|
26450
26627
|
])
|
|
26451
26628
|
]),
|
|
26452
|
-
!_ctx.disabled ? (vue.openBlock(), vue.createElementBlock(
|
|
26629
|
+
!_ctx.disabled ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
26630
|
+
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),
|
|
26631
|
+
!_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
26632
|
+
key: 0,
|
|
26633
|
+
type: "button",
|
|
26634
|
+
class: "lupa-chat-form-clear",
|
|
26635
|
+
onClick: _cache[3] || (_cache[3] = ($event) => emit("clear"))
|
|
26636
|
+
}, 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)
|
|
26637
|
+
], 64)) : (vue.openBlock(), vue.createBlock(_sfc_main$9, {
|
|
26453
26638
|
key: 1,
|
|
26454
26639
|
small: true
|
|
26455
26640
|
}))
|
|
@@ -26588,8 +26773,9 @@ const ChatService = {
|
|
|
26588
26773
|
prepareChatHistory,
|
|
26589
26774
|
getTextResponseChunkStream
|
|
26590
26775
|
};
|
|
26591
|
-
const _hoisted_1$
|
|
26592
|
-
const
|
|
26776
|
+
const _hoisted_1$6 = { class: "lupa-chat-results" };
|
|
26777
|
+
const _hoisted_2$3 = ["href"];
|
|
26778
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
26593
26779
|
__name: "ChatPhraseProductsList",
|
|
26594
26780
|
props: {
|
|
26595
26781
|
options: {},
|
|
@@ -26600,35 +26786,40 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26600
26786
|
const getProductKeyAction = (index, product) => {
|
|
26601
26787
|
return getProductKey(`${index}`, product, props.options.idKey);
|
|
26602
26788
|
};
|
|
26789
|
+
const image = vue.computed(() => {
|
|
26790
|
+
var _a;
|
|
26791
|
+
return (_a = props.options.elements) == null ? void 0 : _a.find((e2) => e2.type === "image");
|
|
26792
|
+
});
|
|
26793
|
+
const getLink = (item) => {
|
|
26794
|
+
var _a, _b, _c;
|
|
26795
|
+
if (!((_a = props.options.links) == null ? void 0 : _a.details)) {
|
|
26796
|
+
return "";
|
|
26797
|
+
}
|
|
26798
|
+
return generateLink((_c = (_b = props.options.links) == null ? void 0 : _b.details) != null ? _c : "", item);
|
|
26799
|
+
};
|
|
26603
26800
|
return (_ctx, _cache) => {
|
|
26604
|
-
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$
|
|
26801
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$6, [
|
|
26605
26802
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
|
|
26606
|
-
return vue.openBlock(), vue.
|
|
26607
|
-
class: "lupa-chat-product-card",
|
|
26608
|
-
key: getProductKeyAction(index, product)
|
|
26609
|
-
|
|
26610
|
-
|
|
26611
|
-
|
|
26803
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
26804
|
+
class: "lupa-chat-item lupa-chat-product-card-image",
|
|
26805
|
+
key: getProductKeyAction(index, product)
|
|
26806
|
+
}, [
|
|
26807
|
+
vue.createElementVNode("a", {
|
|
26808
|
+
href: getLink(product)
|
|
26809
|
+
}, [
|
|
26810
|
+
vue.createVNode(_sfc_main$z, {
|
|
26811
|
+
item: product,
|
|
26812
|
+
options: image.value
|
|
26813
|
+
}, null, 8, ["item", "options"])
|
|
26814
|
+
], 8, _hoisted_2$3)
|
|
26815
|
+
]);
|
|
26612
26816
|
}), 128))
|
|
26613
26817
|
]);
|
|
26614
26818
|
};
|
|
26615
26819
|
}
|
|
26616
26820
|
});
|
|
26617
|
-
const _hoisted_1$
|
|
26618
|
-
const
|
|
26619
|
-
const _hoisted_3$1 = {
|
|
26620
|
-
key: 0,
|
|
26621
|
-
class: "alert"
|
|
26622
|
-
};
|
|
26623
|
-
const _hoisted_4$1 = {
|
|
26624
|
-
key: 0,
|
|
26625
|
-
class: "lupa-chat-no-results"
|
|
26626
|
-
};
|
|
26627
|
-
const _hoisted_5$1 = /* @__PURE__ */ vue.createElementVNode("p", null, "We found no matches for this search term", -1);
|
|
26628
|
-
const _hoisted_6 = [
|
|
26629
|
-
_hoisted_5$1
|
|
26630
|
-
];
|
|
26631
|
-
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
26821
|
+
const _hoisted_1$5 = { class: "lupa-chat-phrase-title" };
|
|
26822
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
26632
26823
|
__name: "ChatContentEntryPhrase",
|
|
26633
26824
|
props: {
|
|
26634
26825
|
options: {},
|
|
@@ -26713,29 +26904,87 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26713
26904
|
return phrases != null ? phrases : [];
|
|
26714
26905
|
});
|
|
26715
26906
|
return (_ctx, _cache) => {
|
|
26716
|
-
return vue.openBlock(), vue.createElementBlock("div",
|
|
26717
|
-
|
|
26718
|
-
|
|
26719
|
-
|
|
26720
|
-
|
|
26907
|
+
return !loading.value && searchResults.value.length ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
26908
|
+
key: 0,
|
|
26909
|
+
class: vue.normalizeClass(["lupa-chat-content-entry-phrase", { "lupa-chat-incomplete-results": usedPartialResults.value }])
|
|
26910
|
+
}, [
|
|
26911
|
+
vue.createElementVNode("div", _hoisted_1$5, [
|
|
26912
|
+
vue.createElementVNode("h3", null, vue.toDisplayString(displayPhrase.value), 1)
|
|
26721
26913
|
]),
|
|
26722
26914
|
vue.createElementVNode("div", null, [
|
|
26723
|
-
vue.createVNode(_sfc_main$
|
|
26915
|
+
vue.createVNode(_sfc_main$7, {
|
|
26724
26916
|
"search-results": searchResults.value,
|
|
26725
26917
|
options: _ctx.options.displayOptions
|
|
26726
26918
|
}, null, 8, ["search-results", "options"])
|
|
26727
|
-
])
|
|
26728
|
-
|
|
26729
|
-
|
|
26730
|
-
|
|
26731
|
-
|
|
26732
|
-
|
|
26919
|
+
])
|
|
26920
|
+
], 2)) : vue.createCommentVNode("", true);
|
|
26921
|
+
};
|
|
26922
|
+
}
|
|
26923
|
+
});
|
|
26924
|
+
const _hoisted_1$4 = { class: "lupa-chat-text-response" };
|
|
26925
|
+
const _hoisted_2$2 = ["innerHTML"];
|
|
26926
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
26927
|
+
__name: "ChatTextEntry",
|
|
26928
|
+
props: {
|
|
26929
|
+
content: {},
|
|
26930
|
+
options: {},
|
|
26931
|
+
history: {}
|
|
26932
|
+
},
|
|
26933
|
+
setup(__props) {
|
|
26934
|
+
const props = __props;
|
|
26935
|
+
const content = vue.ref("");
|
|
26936
|
+
const processChunk = (chunk) => {
|
|
26937
|
+
content.value += chunk;
|
|
26938
|
+
};
|
|
26939
|
+
vue.onMounted(() => {
|
|
26940
|
+
var _a;
|
|
26941
|
+
ChatService.getTextResponseChunkStream(
|
|
26942
|
+
props.options.sdkOptions,
|
|
26943
|
+
{
|
|
26944
|
+
initialQuery: props.content,
|
|
26945
|
+
messageHistory: (_a = props.history) != null ? _a : [],
|
|
26946
|
+
queryKey: props.options.displayOptions.queryKey
|
|
26947
|
+
},
|
|
26948
|
+
processChunk,
|
|
26949
|
+
props.options.chatSettings
|
|
26950
|
+
);
|
|
26951
|
+
});
|
|
26952
|
+
return (_ctx, _cache) => {
|
|
26953
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
|
|
26954
|
+
vue.createElementVNode("p", { innerHTML: content.value }, null, 8, _hoisted_2$2)
|
|
26733
26955
|
]);
|
|
26734
26956
|
};
|
|
26735
26957
|
}
|
|
26736
26958
|
});
|
|
26737
|
-
const _hoisted_1$3 = { class: "lupa-chat-
|
|
26738
|
-
const
|
|
26959
|
+
const _hoisted_1$3 = { class: "lupa-chat-results" };
|
|
26960
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
26961
|
+
__name: "ChatPhraseProductsCardList",
|
|
26962
|
+
props: {
|
|
26963
|
+
options: {},
|
|
26964
|
+
searchResults: {}
|
|
26965
|
+
},
|
|
26966
|
+
setup(__props) {
|
|
26967
|
+
const props = __props;
|
|
26968
|
+
const getProductKeyAction = (index, product) => {
|
|
26969
|
+
return getProductKey(`${index}`, product, props.options.idKey);
|
|
26970
|
+
};
|
|
26971
|
+
return (_ctx, _cache) => {
|
|
26972
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$3, [
|
|
26973
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
|
|
26974
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
26975
|
+
class: "lupa-chat-product-card",
|
|
26976
|
+
key: getProductKeyAction(index, product),
|
|
26977
|
+
product,
|
|
26978
|
+
options: _ctx.options
|
|
26979
|
+
}, null, 8, ["product", "options"]);
|
|
26980
|
+
}), 128))
|
|
26981
|
+
]);
|
|
26982
|
+
};
|
|
26983
|
+
}
|
|
26984
|
+
});
|
|
26985
|
+
const _hoisted_1$2 = { class: "lupa-chat-section-content" };
|
|
26986
|
+
const _hoisted_2$1 = { class: "lupa-chat-content-entry-wrapper" };
|
|
26987
|
+
const _hoisted_3$1 = { class: "lupa-chat-best-matches lupa-chat-content-entry" };
|
|
26739
26988
|
const MAX_SOURCES_FOR_BEST_ITEM_MATCHING = 250;
|
|
26740
26989
|
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
26741
26990
|
__name: "ChatContentEntry",
|
|
@@ -26794,74 +27043,87 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26794
27043
|
}).filter(Boolean);
|
|
26795
27044
|
});
|
|
26796
27045
|
return (_ctx, _cache) => {
|
|
26797
|
-
|
|
26798
|
-
|
|
26799
|
-
|
|
26800
|
-
|
|
26801
|
-
|
|
26802
|
-
|
|
26803
|
-
|
|
26804
|
-
|
|
26805
|
-
|
|
26806
|
-
|
|
26807
|
-
|
|
26808
|
-
|
|
26809
|
-
|
|
26810
|
-
|
|
26811
|
-
|
|
27046
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
27047
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
27048
|
+
vue.createElementVNode("section", _hoisted_1$2, [
|
|
27049
|
+
vue.createVNode(_sfc_main$5, {
|
|
27050
|
+
content: _ctx.entry.userInput,
|
|
27051
|
+
history: _ctx.history,
|
|
27052
|
+
options: _ctx.options
|
|
27053
|
+
}, null, 8, ["content", "history", "options"]),
|
|
27054
|
+
vue.createElementVNode("div", _hoisted_2$1, [
|
|
27055
|
+
vue.createElementVNode("ul", null, [
|
|
27056
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.entry.allPhrases, (phrase) => {
|
|
27057
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
27058
|
+
key: phrase,
|
|
27059
|
+
class: "lupa-chat-content-entry"
|
|
27060
|
+
}, [
|
|
27061
|
+
phrase ? (vue.openBlock(), vue.createBlock(_sfc_main$6, {
|
|
27062
|
+
key: 0,
|
|
27063
|
+
phrase,
|
|
27064
|
+
options: _ctx.options,
|
|
27065
|
+
onLoaded: loaded
|
|
27066
|
+
}, null, 8, ["phrase", "options"])) : vue.createCommentVNode("", true)
|
|
27067
|
+
]);
|
|
27068
|
+
}), 128))
|
|
27069
|
+
]),
|
|
27070
|
+
loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
|
|
27071
|
+
key: 0,
|
|
27072
|
+
message: (_c = (_b = (_a = _ctx.options.chatSettings) == null ? void 0 : _a.labels) == null ? void 0 : _b.bestMatches) != null ? _c : "Checking for more matches..."
|
|
27073
|
+
}, null, 8, ["message"])) : vue.createCommentVNode("", true)
|
|
27074
|
+
])
|
|
26812
27075
|
]),
|
|
26813
|
-
vue.createElementVNode("section",
|
|
26814
|
-
|
|
26815
|
-
loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
27076
|
+
vue.createElementVNode("section", _hoisted_3$1, [
|
|
27077
|
+
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),
|
|
27078
|
+
loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
|
|
26816
27079
|
key: 0,
|
|
26817
|
-
message: "Selecting the best matches for you. This might take a few seconds."
|
|
26818
|
-
})) : vue.createCommentVNode("", true),
|
|
26819
|
-
bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
27080
|
+
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."
|
|
27081
|
+
}, null, 8, ["message"])) : vue.createCommentVNode("", true),
|
|
27082
|
+
bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
|
|
26820
27083
|
key: 1,
|
|
26821
27084
|
"search-results": bestMatchProducts.value,
|
|
26822
|
-
options: _ctx.options.displayOptions
|
|
27085
|
+
options: _ctx.options.displayOptions,
|
|
27086
|
+
full: true
|
|
26823
27087
|
}, null, 8, ["search-results", "options"])) : vue.createCommentVNode("", true)
|
|
26824
27088
|
])
|
|
26825
|
-
]);
|
|
27089
|
+
], 64);
|
|
26826
27090
|
};
|
|
26827
27091
|
}
|
|
26828
27092
|
});
|
|
26829
|
-
const _hoisted_1$
|
|
26830
|
-
const _hoisted_2$1 = ["innerHTML"];
|
|
27093
|
+
const _hoisted_1$1 = { key: 0 };
|
|
26831
27094
|
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
26832
|
-
__name: "
|
|
27095
|
+
__name: "ChatContentListEntry",
|
|
26833
27096
|
props: {
|
|
26834
|
-
|
|
27097
|
+
entry: {},
|
|
26835
27098
|
options: {},
|
|
26836
27099
|
history: {}
|
|
26837
27100
|
},
|
|
26838
|
-
|
|
26839
|
-
|
|
26840
|
-
const
|
|
26841
|
-
|
|
26842
|
-
content.value += chunk;
|
|
27101
|
+
emits: ["loaded"],
|
|
27102
|
+
setup(__props, { emit }) {
|
|
27103
|
+
const bestItemsLoaded = (items, key) => {
|
|
27104
|
+
emit("loaded", { items, key });
|
|
26843
27105
|
};
|
|
26844
|
-
vue.onMounted(() => {
|
|
26845
|
-
var _a;
|
|
26846
|
-
ChatService.getTextResponseChunkStream(
|
|
26847
|
-
props.options.sdkOptions,
|
|
26848
|
-
{
|
|
26849
|
-
initialQuery: props.content,
|
|
26850
|
-
messageHistory: (_a = props.history) != null ? _a : [],
|
|
26851
|
-
queryKey: props.options.displayOptions.queryKey
|
|
26852
|
-
},
|
|
26853
|
-
processChunk,
|
|
26854
|
-
props.options.chatSettings
|
|
26855
|
-
);
|
|
26856
|
-
});
|
|
26857
27106
|
return (_ctx, _cache) => {
|
|
26858
|
-
|
|
26859
|
-
|
|
27107
|
+
var _a;
|
|
27108
|
+
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
27109
|
+
vue.createElementVNode("h4", {
|
|
27110
|
+
class: "lupa-chat-section-title",
|
|
27111
|
+
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.entry.expanded = !_ctx.entry.expanded)
|
|
27112
|
+
}, vue.toDisplayString(_ctx.entry.userInput), 1),
|
|
27113
|
+
((_a = _ctx.entry.suggestedPhrases) == null ? void 0 : _a.length) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
|
|
27114
|
+
vue.createVNode(_sfc_main$3, {
|
|
27115
|
+
entry: _ctx.entry,
|
|
27116
|
+
options: _ctx.options,
|
|
27117
|
+
history: _ctx.history,
|
|
27118
|
+
onLoaded: _cache[1] || (_cache[1] = (items) => bestItemsLoaded(items, _ctx.entry.key))
|
|
27119
|
+
}, null, 8, ["entry", "options", "history"])
|
|
27120
|
+
], 512)), [
|
|
27121
|
+
[vue.vShow, _ctx.entry.expanded]
|
|
27122
|
+
]) : vue.createCommentVNode("", true)
|
|
26860
27123
|
]);
|
|
26861
27124
|
};
|
|
26862
27125
|
}
|
|
26863
27126
|
});
|
|
26864
|
-
const _hoisted_1$1 = { class: "lupa-chat-section-title" };
|
|
26865
27127
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
26866
27128
|
__name: "ChatContentList",
|
|
26867
27129
|
props: {
|
|
@@ -26878,23 +27140,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26878
27140
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
26879
27141
|
vue.createElementVNode("ul", null, [
|
|
26880
27142
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.content, (entry) => {
|
|
26881
|
-
var _a;
|
|
26882
27143
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
26883
|
-
key: entry.key
|
|
27144
|
+
key: entry.key,
|
|
27145
|
+
class: "chat-content-list-entry"
|
|
26884
27146
|
}, [
|
|
26885
|
-
vue.createElementVNode("h4", _hoisted_1$1, vue.toDisplayString(entry.userInput), 1),
|
|
26886
27147
|
vue.createVNode(_sfc_main$2, {
|
|
26887
|
-
content: entry.userInput,
|
|
26888
|
-
history: _ctx.history,
|
|
26889
|
-
options: _ctx.options
|
|
26890
|
-
}, null, 8, ["content", "history", "options"]),
|
|
26891
|
-
((_a = entry.suggestedPhrases) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
|
|
26892
|
-
key: 0,
|
|
26893
27148
|
entry,
|
|
26894
27149
|
options: _ctx.options,
|
|
26895
27150
|
history: _ctx.history,
|
|
26896
27151
|
onLoaded: (items) => bestItemsLoaded(items, entry.key)
|
|
26897
|
-
}, null, 8, ["entry", "options", "history", "onLoaded"])
|
|
27152
|
+
}, null, 8, ["entry", "options", "history", "onLoaded"])
|
|
26898
27153
|
]);
|
|
26899
27154
|
}), 128))
|
|
26900
27155
|
])
|
|
@@ -26903,18 +27158,12 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
26903
27158
|
}
|
|
26904
27159
|
});
|
|
26905
27160
|
const _hoisted_1 = { class: "lupasearch-chat" };
|
|
26906
|
-
const _hoisted_2 =
|
|
26907
|
-
|
|
26908
|
-
|
|
26909
|
-
const _hoisted_3 = {
|
|
27161
|
+
const _hoisted_2 = { class: "lupasearch-chat-input" };
|
|
27162
|
+
const _hoisted_3 = { class: "lupasearch-chat-content-wrapper" };
|
|
27163
|
+
const _hoisted_4 = {
|
|
26910
27164
|
key: 0,
|
|
26911
27165
|
class: "lupasearch-chat-content"
|
|
26912
27166
|
};
|
|
26913
|
-
const _hoisted_4 = {
|
|
26914
|
-
key: 1,
|
|
26915
|
-
class: "lupa-chat-spinner-main"
|
|
26916
|
-
};
|
|
26917
|
-
const _hoisted_5 = { class: "lupasearch-chat-input" };
|
|
26918
27167
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
26919
27168
|
__name: "ChatContainer",
|
|
26920
27169
|
props: {
|
|
@@ -26924,6 +27173,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26924
27173
|
const props = __props;
|
|
26925
27174
|
const loading = vue.ref(false);
|
|
26926
27175
|
const error = vue.ref("");
|
|
27176
|
+
const focused = vue.ref(false);
|
|
26927
27177
|
const chatContent = vue.ref([]);
|
|
26928
27178
|
const history = vue.computed(() => ChatService.prepareChatHistory(chatContent.value));
|
|
26929
27179
|
const submitChatInput = (input2) => __async(this, null, function* () {
|
|
@@ -26938,8 +27188,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26938
27188
|
key,
|
|
26939
27189
|
userInput: input2,
|
|
26940
27190
|
allPhrases: [],
|
|
26941
|
-
suggestedPhrases: []
|
|
27191
|
+
suggestedPhrases: [],
|
|
27192
|
+
expanded: true
|
|
26942
27193
|
};
|
|
27194
|
+
chatContent.value = chatContent.value.map((c2) => __spreadProps(__spreadValues({}, c2), { expanded: false }));
|
|
26943
27195
|
chatContent.value.push(chatLog);
|
|
26944
27196
|
const request = {
|
|
26945
27197
|
userPrompt: input2,
|
|
@@ -26970,25 +27222,31 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26970
27222
|
const entry = chatContent.value.find((c2) => c2.key === key);
|
|
26971
27223
|
entry.bestItems = items;
|
|
26972
27224
|
};
|
|
27225
|
+
const clearChatContent = () => {
|
|
27226
|
+
chatContent.value = [];
|
|
27227
|
+
};
|
|
26973
27228
|
return (_ctx, _cache) => {
|
|
26974
27229
|
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1, [
|
|
26975
|
-
_hoisted_2,
|
|
26976
|
-
|
|
26977
|
-
vue.createVNode(_sfc_main$1, {
|
|
26978
|
-
content: chatContent.value,
|
|
26979
|
-
options: _ctx.options,
|
|
26980
|
-
onLoaded: bestItemsLoaded,
|
|
26981
|
-
history: history.value
|
|
26982
|
-
}, null, 8, ["content", "options", "history"])
|
|
26983
|
-
])) : vue.createCommentVNode("", true),
|
|
26984
|
-
loading.value ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
|
|
26985
|
-
vue.createVNode(_sfc_main$7, { message: "Loading initial recommendations... This might take up to 20s" })
|
|
26986
|
-
])) : vue.createCommentVNode("", true),
|
|
26987
|
-
vue.createElementVNode("section", _hoisted_5, [
|
|
26988
|
-
vue.createVNode(_sfc_main$6, {
|
|
27230
|
+
vue.createElementVNode("section", _hoisted_2, [
|
|
27231
|
+
vue.createVNode(_sfc_main$8, {
|
|
26989
27232
|
onSubmit: submitChatInput,
|
|
26990
|
-
disabled: loading.value
|
|
26991
|
-
|
|
27233
|
+
disabled: loading.value,
|
|
27234
|
+
options: _ctx.options,
|
|
27235
|
+
onFocus: _cache[0] || (_cache[0] = ($event) => focused.value = true),
|
|
27236
|
+
onClear: clearChatContent
|
|
27237
|
+
}, null, 8, ["disabled", "options"]),
|
|
27238
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
27239
|
+
chatContent.value.length ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
|
|
27240
|
+
vue.createVNode(_sfc_main$1, {
|
|
27241
|
+
content: chatContent.value,
|
|
27242
|
+
options: _ctx.options,
|
|
27243
|
+
history: history.value,
|
|
27244
|
+
onLoaded: bestItemsLoaded
|
|
27245
|
+
}, null, 8, ["content", "options", "history"])
|
|
27246
|
+
], 512)), [
|
|
27247
|
+
[vue.vShow, focused.value]
|
|
27248
|
+
]) : vue.createCommentVNode("", true)
|
|
27249
|
+
])
|
|
26992
27250
|
])
|
|
26993
27251
|
]);
|
|
26994
27252
|
};
|
|
@@ -27042,12 +27300,12 @@ exports.BadgeType = BadgeType;
|
|
|
27042
27300
|
exports.ChatContainer = _sfc_main;
|
|
27043
27301
|
exports.DocumentElementType = DocumentElementType;
|
|
27044
27302
|
exports.LupaSearch = LupaSearch;
|
|
27045
|
-
exports.ProductList = _sfc_main$
|
|
27046
|
-
exports.Recommendations = _sfc_main$
|
|
27047
|
-
exports.SearchBox = _sfc_main$
|
|
27303
|
+
exports.ProductList = _sfc_main$c;
|
|
27304
|
+
exports.Recommendations = _sfc_main$a;
|
|
27305
|
+
exports.SearchBox = _sfc_main$Z;
|
|
27048
27306
|
exports.SearchBoxPanelType = SearchBoxPanelType;
|
|
27049
|
-
exports.SearchContainer = _sfc_main$
|
|
27050
|
-
exports.SearchResults = _sfc_main$
|
|
27307
|
+
exports.SearchContainer = _sfc_main$b;
|
|
27308
|
+
exports.SearchResults = _sfc_main$e;
|
|
27051
27309
|
exports.fetchPluginConfiguration = fetchPluginConfiguration;
|
|
27052
27310
|
exports.getInitialSearchResults = getInitialSearchResults;
|
|
27053
27311
|
exports.initPinia = initPinia;
|