@getlupa/client 1.21.0 → 1.21.3
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/constants/searchResults.const.d.ts +0 -7
- package/dist/lupaSearch.iife.js +104 -31
- package/dist/lupaSearch.js +104 -31
- package/dist/lupaSearch.mjs +104 -31
- package/dist/lupaSearch.umd.js +104 -31
- package/package.json +2 -2
package/dist/lupaSearch.iife.js
CHANGED
|
@@ -18100,6 +18100,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18100
18100
|
return (_b25 = (_a25 = currentResolutionPageSizes.value) == null ? void 0 : _a25[0]) != null ? _b25 : DEFAULT_PAGE_SIZE;
|
|
18101
18101
|
}
|
|
18102
18102
|
);
|
|
18103
|
+
const ariaLabels = computed(() => {
|
|
18104
|
+
var _a25, _b25;
|
|
18105
|
+
return (_b25 = (_a25 = searchResultOptions.value.labels) == null ? void 0 : _a25.aria) != null ? _b25 : {};
|
|
18106
|
+
});
|
|
18103
18107
|
const currentResolutionPageSizes = computed(() => {
|
|
18104
18108
|
var _a25, _b25, _c, _d;
|
|
18105
18109
|
const pageSizes = (_d = (_c = (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.pagination) == null ? void 0 : _b25.sizeSelection) == null ? void 0 : _c.sizes) != null ? _d : DEFAULT_PAGE_SIZE_SELECTION;
|
|
@@ -18155,6 +18159,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18155
18159
|
defaultSearchResultPageSize,
|
|
18156
18160
|
currentResolutionPageSizes,
|
|
18157
18161
|
productRecommendationOptions,
|
|
18162
|
+
ariaLabels,
|
|
18158
18163
|
setSearchBoxOptions,
|
|
18159
18164
|
setTrackingOptions,
|
|
18160
18165
|
setSearchResultOptions,
|
|
@@ -18638,13 +18643,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18638
18643
|
}
|
|
18639
18644
|
];
|
|
18640
18645
|
}
|
|
18641
|
-
return [{ key, value: `${gt} - ${lt}`, type: "range" }];
|
|
18646
|
+
return [{ key, value: `${gt != null ? gt : "*"} - ${lt != null ? lt : "*"}`, type: "range" }];
|
|
18642
18647
|
};
|
|
18643
18648
|
const unfoldFilter = (key, filter, price = {}) => {
|
|
18644
18649
|
if (Array.isArray(filter)) {
|
|
18645
18650
|
return unfoldTermFilter(key, filter);
|
|
18646
18651
|
}
|
|
18647
|
-
if (filter.gte) {
|
|
18652
|
+
if (filter.gte || filter.lte || filter.gt || filter.lt) {
|
|
18648
18653
|
return unfoldRangeFilter(key, filter, price);
|
|
18649
18654
|
}
|
|
18650
18655
|
if (filter.terms) {
|
|
@@ -18697,8 +18702,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18697
18702
|
}) : void 0;
|
|
18698
18703
|
};
|
|
18699
18704
|
const rangeFilterToString = (rangeFilter, separator) => {
|
|
18705
|
+
var _a25, _b25, _c;
|
|
18700
18706
|
separator = separator || FACET_TERM_RANGE_SEPARATOR;
|
|
18701
|
-
return rangeFilter && Object.keys(rangeFilter).length ? rangeFilter.gte + separator + (rangeFilter.lte || rangeFilter.lt) : "";
|
|
18707
|
+
return rangeFilter && Object.keys(rangeFilter).length ? ((_a25 = rangeFilter.gte) != null ? _a25 : "") + separator + (((_b25 = rangeFilter.lte) != null ? _b25 : "") || ((_c = rangeFilter.lt) != null ? _c : "")) : "";
|
|
18702
18708
|
};
|
|
18703
18709
|
const pick = (obj, keys) => {
|
|
18704
18710
|
const ret = /* @__PURE__ */ Object.create({});
|
|
@@ -18757,14 +18763,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18757
18763
|
return (_b25 = (_a25 = searchParams.getAll(key)) == null ? void 0 : _a25.map((v) => decodeURIComponent(v))) != null ? _b25 : [];
|
|
18758
18764
|
}
|
|
18759
18765
|
if (key.startsWith(FACET_PARAMS_TYPE.RANGE)) {
|
|
18766
|
+
const isPrice = key == null ? void 0 : key.includes(CURRENCY_KEY_INDICATOR);
|
|
18760
18767
|
const range2 = searchParams.get(key);
|
|
18761
18768
|
if (!range2) {
|
|
18762
18769
|
return {};
|
|
18763
18770
|
}
|
|
18764
18771
|
const [min, max] = range2.split(FACET_RANGE_SEPARATOR);
|
|
18765
18772
|
return {
|
|
18766
|
-
gte: min,
|
|
18767
|
-
lte: max
|
|
18773
|
+
gte: min || void 0,
|
|
18774
|
+
[isPrice ? "lte" : "lt"]: max || void 0
|
|
18768
18775
|
};
|
|
18769
18776
|
}
|
|
18770
18777
|
if (key.startsWith(FACET_PARAMS_TYPE.HIERARCHY)) {
|
|
@@ -18964,16 +18971,27 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18964
18971
|
paramsToRemove: [getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE]
|
|
18965
18972
|
});
|
|
18966
18973
|
};
|
|
18967
|
-
const toggleRangeFilter = (appendParams, facetAction, getQueryParamName, currentFilters) => {
|
|
18974
|
+
const toggleRangeFilter = (appendParams, removeParameters, facetAction, getQueryParamName, currentFilters) => {
|
|
18975
|
+
var _a25, _b25;
|
|
18968
18976
|
const currentFilter = rangeFilterToString(
|
|
18969
18977
|
currentFilters == null ? void 0 : currentFilters[facetAction.key],
|
|
18970
18978
|
FACET_RANGE_SEPARATOR
|
|
18971
18979
|
);
|
|
18972
|
-
let facetValue = facetAction.value.join(FACET_RANGE_SEPARATOR);
|
|
18980
|
+
let facetValue = (_b25 = (_a25 = facetAction == null ? void 0 : facetAction.value) == null ? void 0 : _a25.join(FACET_RANGE_SEPARATOR)) != null ? _b25 : "";
|
|
18973
18981
|
facetValue = currentFilter === facetValue ? "" : facetValue;
|
|
18982
|
+
const paramsToRemove = getQueryParamName ? [getQueryParamName(QUERY_PARAMS$1.PAGE)] : [QUERY_PARAMS$1.PAGE];
|
|
18983
|
+
if (!facetValue) {
|
|
18984
|
+
removeParameters({
|
|
18985
|
+
paramsToRemove: [
|
|
18986
|
+
getFacetParam(facetAction.key, "", FACET_PARAMS_TYPE.RANGE).name,
|
|
18987
|
+
...paramsToRemove
|
|
18988
|
+
]
|
|
18989
|
+
});
|
|
18990
|
+
return;
|
|
18991
|
+
}
|
|
18974
18992
|
appendParams({
|
|
18975
18993
|
params: [getFacetParam(facetAction.key, facetValue, FACET_PARAMS_TYPE.RANGE)],
|
|
18976
|
-
paramsToRemove
|
|
18994
|
+
paramsToRemove,
|
|
18977
18995
|
encode: false
|
|
18978
18996
|
});
|
|
18979
18997
|
};
|
|
@@ -19767,6 +19785,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19767
19785
|
const _hoisted_2$W = { class: "lupa-dialog-content" };
|
|
19768
19786
|
const _hoisted_3$E = { class: "lupa-listening-text" };
|
|
19769
19787
|
const _hoisted_4$u = { class: "lupa-mic-button-wrapper" };
|
|
19788
|
+
const _hoisted_5$l = ["aria-label"];
|
|
19770
19789
|
const _sfc_main$1z = /* @__PURE__ */ defineComponent({
|
|
19771
19790
|
__name: "VoiceSearchDialog",
|
|
19772
19791
|
props: {
|
|
@@ -19870,6 +19889,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19870
19889
|
reset: dialogReset
|
|
19871
19890
|
});
|
|
19872
19891
|
return (_ctx, _cache) => {
|
|
19892
|
+
var _a25, _b25;
|
|
19873
19893
|
return openBlock(), createElementBlock("div", null, [
|
|
19874
19894
|
props.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1l, [
|
|
19875
19895
|
createBaseVNode("button", {
|
|
@@ -19881,8 +19901,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19881
19901
|
createBaseVNode("div", _hoisted_4$u, [
|
|
19882
19902
|
createBaseVNode("button", {
|
|
19883
19903
|
class: normalizeClass(["lupa-mic-button", { recording: unref(isRecording) }]),
|
|
19884
|
-
onClick: handleRecordingButtonClick
|
|
19885
|
-
|
|
19904
|
+
onClick: handleRecordingButtonClick,
|
|
19905
|
+
"aria-controls": "voice-search-microphone",
|
|
19906
|
+
"aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
|
|
19907
|
+
}, null, 10, _hoisted_5$l),
|
|
19886
19908
|
createVNode(_sfc_main$1A, {
|
|
19887
19909
|
ref_key: "voiceSearchProgressBar",
|
|
19888
19910
|
ref: voiceSearchProgressBar,
|
|
@@ -19908,6 +19930,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19908
19930
|
class: "lupa-close-label"
|
|
19909
19931
|
};
|
|
19910
19932
|
const _hoisted_7$5 = { key: 1 };
|
|
19933
|
+
const _hoisted_8$3 = ["aria-label"];
|
|
19911
19934
|
const _sfc_main$1y = /* @__PURE__ */ defineComponent({
|
|
19912
19935
|
__name: "SearchBoxInput",
|
|
19913
19936
|
props: {
|
|
@@ -19963,6 +19986,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19963
19986
|
var _a25;
|
|
19964
19987
|
return (_a25 = labels.value.searchInputAriaLabel) != null ? _a25 : "Search input";
|
|
19965
19988
|
});
|
|
19989
|
+
const voiceSearchAriaLabel = computed(() => {
|
|
19990
|
+
var _a25, _b25, _c, _d;
|
|
19991
|
+
return (_d = (_c = (_b25 = (_a25 = props.options.voiceSearch) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.aria) == null ? void 0 : _c.openDialog) != null ? _d : "Open voice search dialog";
|
|
19992
|
+
});
|
|
19966
19993
|
onMounted(() => {
|
|
19967
19994
|
document.addEventListener("click", handleClickOutsideVoiceDialogOverlay);
|
|
19968
19995
|
});
|
|
@@ -20083,8 +20110,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20083
20110
|
isVoiceSearchEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_7$5, [
|
|
20084
20111
|
createBaseVNode("button", {
|
|
20085
20112
|
onClick: openVoiceSearchDialog,
|
|
20086
|
-
class: "lupa-voice-search-button"
|
|
20087
|
-
|
|
20113
|
+
class: "lupa-voice-search-button",
|
|
20114
|
+
"aria-haspopup": "dialog",
|
|
20115
|
+
"aria-controls": "voice-search-dialog",
|
|
20116
|
+
"aria-label": voiceSearchAriaLabel.value
|
|
20117
|
+
}, null, 8, _hoisted_8$3)
|
|
20088
20118
|
])) : createCommentVNode("", true),
|
|
20089
20119
|
isVoiceSearchEnabled.value ? (openBlock(), createBlock(_sfc_main$1z, {
|
|
20090
20120
|
key: 2,
|
|
@@ -30489,6 +30519,13 @@ and ensure you are accounting for this risk.
|
|
|
30489
30519
|
const { addToCartAmount } = storeToRefs(searchResultStore);
|
|
30490
30520
|
const emit2 = __emit;
|
|
30491
30521
|
const loading = ref(false);
|
|
30522
|
+
const addToCartButtonClass = computed(() => {
|
|
30523
|
+
return {
|
|
30524
|
+
[props.options.className]: Boolean(props.options.className),
|
|
30525
|
+
"lupa-add-to-cart-loading": loading.value,
|
|
30526
|
+
"lupa-add-to-cart": !loading.value
|
|
30527
|
+
};
|
|
30528
|
+
});
|
|
30492
30529
|
const label = computed(() => {
|
|
30493
30530
|
return props.options.labels.addToCart;
|
|
30494
30531
|
});
|
|
@@ -30512,7 +30549,7 @@ and ensure you are accounting for this risk.
|
|
|
30512
30549
|
createBaseVNode("div", _hoisted_2$O, [
|
|
30513
30550
|
hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
|
|
30514
30551
|
key: 0,
|
|
30515
|
-
class:
|
|
30552
|
+
class: addToCartButtonClass.value,
|
|
30516
30553
|
"data-cy": "lupa-add-to-cart",
|
|
30517
30554
|
disabled: !inStockValue.value || loading.value
|
|
30518
30555
|
}, _ctx.dynamicAttributes, { onClick: handleClick }), [
|
|
@@ -30520,7 +30557,7 @@ and ensure you are accounting for this risk.
|
|
|
30520
30557
|
], 16, _hoisted_3$A)) : (openBlock(), createElementBlock("button", mergeProps({
|
|
30521
30558
|
key: 1,
|
|
30522
30559
|
onClick: withModifiers(handleClick, ["stop", "prevent"]),
|
|
30523
|
-
class:
|
|
30560
|
+
class: addToCartButtonClass.value,
|
|
30524
30561
|
"data-cy": "lupa-add-to-cart",
|
|
30525
30562
|
type: "button",
|
|
30526
30563
|
disabled: !inStockValue.value || loading.value
|
|
@@ -32926,7 +32963,7 @@ and ensure you are accounting for this risk.
|
|
|
32926
32963
|
});
|
|
32927
32964
|
const handleFacetClick = (item) => {
|
|
32928
32965
|
var _a25;
|
|
32929
|
-
const value = isRange.value ? item.
|
|
32966
|
+
const value = isRange.value ? [item.from, item.to] : (_a25 = item.title) == null ? void 0 : _a25.toString();
|
|
32930
32967
|
emit2("select", {
|
|
32931
32968
|
key: facet.value.key,
|
|
32932
32969
|
value,
|
|
@@ -32940,7 +32977,11 @@ and ensure you are accounting for this risk.
|
|
|
32940
32977
|
var _a25, _b25;
|
|
32941
32978
|
let selectedItems = (_a25 = currentFiltersValue.value) != null ? _a25 : [];
|
|
32942
32979
|
selectedItems = isRange.value && selectedItems ? [rangeFilterToString(selectedItems)] : selectedItems;
|
|
32943
|
-
|
|
32980
|
+
if (isRange.value) {
|
|
32981
|
+
return selectedItems == null ? void 0 : selectedItems.includes(rangeFilterToString({ gte: item.from, lt: item.to }));
|
|
32982
|
+
} else {
|
|
32983
|
+
return selectedItems == null ? void 0 : selectedItems.includes((_b25 = item.title) == null ? void 0 : _b25.toString());
|
|
32984
|
+
}
|
|
32944
32985
|
};
|
|
32945
32986
|
const getItemLabel = (item) => {
|
|
32946
32987
|
var _a25;
|
|
@@ -34379,12 +34420,12 @@ and ensure you are accounting for this risk.
|
|
|
34379
34420
|
}), 128)),
|
|
34380
34421
|
itemLimit.value < filteredValues.value.length ? (openBlock(), createElementBlock("div", {
|
|
34381
34422
|
key: 1,
|
|
34382
|
-
class:
|
|
34423
|
+
class: "lupa-facet-term lupa-show-more-facet-results",
|
|
34383
34424
|
"data-cy": "lupa-facet-term",
|
|
34384
34425
|
onClick: handleShowAll
|
|
34385
|
-
}, toDisplayString(_ctx.options.labels.showAll),
|
|
34426
|
+
}, toDisplayString(_ctx.options.labels.showAll), 1)) : showAll.value ? (openBlock(), createElementBlock("div", {
|
|
34386
34427
|
key: 2,
|
|
34387
|
-
class: "lupa-facet-term lupa-show-more-facet-results",
|
|
34428
|
+
class: "lupa-facet-term lupa-show-more-facet-results lupa-show-less-facet-results",
|
|
34388
34429
|
onClick: handleCancelShowAll
|
|
34389
34430
|
}, toDisplayString(_ctx.options.labels.showLess), 1)) : createCommentVNode("", true)
|
|
34390
34431
|
]);
|
|
@@ -34414,7 +34455,7 @@ and ensure you are accounting for this risk.
|
|
|
34414
34455
|
},
|
|
34415
34456
|
emits: ["select", "clear"],
|
|
34416
34457
|
setup(__props, { emit: __emit }) {
|
|
34417
|
-
var _a25, _b25;
|
|
34458
|
+
var _a25, _b25, _c;
|
|
34418
34459
|
const props = __props;
|
|
34419
34460
|
const facet = computed(() => {
|
|
34420
34461
|
var _a26;
|
|
@@ -34426,10 +34467,19 @@ and ensure you are accounting for this risk.
|
|
|
34426
34467
|
});
|
|
34427
34468
|
const searchResultStore = useSearchResultStore();
|
|
34428
34469
|
const optionsStore = useOptionsStore();
|
|
34470
|
+
const screenStore = useScreenStore();
|
|
34429
34471
|
const { currentFilterKeys } = storeToRefs(searchResultStore);
|
|
34430
34472
|
const { searchResultOptions } = storeToRefs(optionsStore);
|
|
34473
|
+
const { isMobileWidth } = storeToRefs(screenStore);
|
|
34431
34474
|
const emit2 = __emit;
|
|
34432
|
-
const
|
|
34475
|
+
const allExpanded = computed(() => {
|
|
34476
|
+
var _a26, _b26, _c2, _d, _e, _f;
|
|
34477
|
+
if (isMobileWidth.value) {
|
|
34478
|
+
return (_c2 = (_b26 = (_a26 = props.options) == null ? void 0 : _a26.expandAll) == null ? void 0 : _b26.mobile) != null ? _c2 : false;
|
|
34479
|
+
}
|
|
34480
|
+
return (_f = (_e = (_d = props.options) == null ? void 0 : _d.expandAll) == null ? void 0 : _e.desktop) != null ? _f : false;
|
|
34481
|
+
});
|
|
34482
|
+
const isOpen = ref((_c = ((_b25 = (_a25 = props.options) == null ? void 0 : _a25.expand) == null ? void 0 : _b25.includes(props.facet.key)) || allExpanded.value) != null ? _c : false);
|
|
34433
34483
|
const facetPanel = ref(null);
|
|
34434
34484
|
const facetType = computed(() => {
|
|
34435
34485
|
switch (facet.value.type) {
|
|
@@ -34692,6 +34742,7 @@ and ensure you are accounting for this risk.
|
|
|
34692
34742
|
case "range":
|
|
34693
34743
|
toggleRangeFilter(
|
|
34694
34744
|
paramStore.appendParams,
|
|
34745
|
+
paramStore.removeParameters,
|
|
34695
34746
|
facetAction,
|
|
34696
34747
|
optionsStore.getQueryParamName,
|
|
34697
34748
|
filters.value
|
|
@@ -35222,7 +35273,10 @@ and ensure you are accounting for this risk.
|
|
|
35222
35273
|
"data-cy": "lupa-search-results-page-size"
|
|
35223
35274
|
};
|
|
35224
35275
|
const _hoisted_2$t = { id: "lupa-select" };
|
|
35225
|
-
const _hoisted_3$l = {
|
|
35276
|
+
const _hoisted_3$l = {
|
|
35277
|
+
class: "lupa-select-label",
|
|
35278
|
+
for: "lupa-page-size-select-dropdown"
|
|
35279
|
+
};
|
|
35226
35280
|
const _hoisted_4$d = ["aria-label"];
|
|
35227
35281
|
const _hoisted_5$a = ["value"];
|
|
35228
35282
|
const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
@@ -35235,6 +35289,7 @@ and ensure you are accounting for this risk.
|
|
|
35235
35289
|
const props = __props;
|
|
35236
35290
|
const paramsStore = useParamsStore();
|
|
35237
35291
|
const optionsStore = useOptionsStore();
|
|
35292
|
+
const { ariaLabels } = storeToRefs(optionsStore);
|
|
35238
35293
|
const select = ref(null);
|
|
35239
35294
|
const prefixLabel = computed(() => {
|
|
35240
35295
|
var _a25, _b25;
|
|
@@ -35253,12 +35308,14 @@ and ensure you are accounting for this risk.
|
|
|
35253
35308
|
});
|
|
35254
35309
|
};
|
|
35255
35310
|
return (_ctx, _cache) => {
|
|
35311
|
+
var _a25, _b25, _c;
|
|
35256
35312
|
return openBlock(), createElementBlock("div", _hoisted_1$C, [
|
|
35257
35313
|
createBaseVNode("div", _hoisted_2$t, [
|
|
35258
35314
|
createBaseVNode("label", _hoisted_3$l, toDisplayString(label.value), 1),
|
|
35259
35315
|
createBaseVNode("select", {
|
|
35316
|
+
id: "lupa-page-size-select-dropdown",
|
|
35260
35317
|
class: "lupa-select-dropdown",
|
|
35261
|
-
"aria-label": label.value,
|
|
35318
|
+
"aria-label": (_c = (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.pageSizeSelect) != null ? _b25 : label.value) != null ? _c : "Select page size",
|
|
35262
35319
|
"data-cy": "lupa-page-size-select-dropdown",
|
|
35263
35320
|
onChange: handleSelect,
|
|
35264
35321
|
ref_key: "select",
|
|
@@ -35281,7 +35338,10 @@ and ensure you are accounting for this risk.
|
|
|
35281
35338
|
class: "lupa-search-results-sort"
|
|
35282
35339
|
};
|
|
35283
35340
|
const _hoisted_2$s = { id: "lupa-select" };
|
|
35284
|
-
const _hoisted_3$k = {
|
|
35341
|
+
const _hoisted_3$k = {
|
|
35342
|
+
class: "lupa-select-label",
|
|
35343
|
+
for: "lupa-sort-select-dropdown"
|
|
35344
|
+
};
|
|
35285
35345
|
const _hoisted_4$c = ["aria-label"];
|
|
35286
35346
|
const _hoisted_5$9 = ["value"];
|
|
35287
35347
|
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
@@ -35295,6 +35355,7 @@ and ensure you are accounting for this risk.
|
|
|
35295
35355
|
const paramStore = useParamsStore();
|
|
35296
35356
|
const optionStore = useOptionsStore();
|
|
35297
35357
|
const { sort } = storeToRefs(paramStore);
|
|
35358
|
+
const { ariaLabels } = storeToRefs(optionStore);
|
|
35298
35359
|
const selectedKey = ref("");
|
|
35299
35360
|
const previousKey = ref("");
|
|
35300
35361
|
const sortItems = computed(() => {
|
|
@@ -35333,12 +35394,14 @@ and ensure you are accounting for this risk.
|
|
|
35333
35394
|
previousKey.value = selectedKey.value;
|
|
35334
35395
|
};
|
|
35335
35396
|
return (_ctx, _cache) => {
|
|
35397
|
+
var _a25, _b25;
|
|
35336
35398
|
return openBlock(), createElementBlock("div", _hoisted_1$B, [
|
|
35337
35399
|
createBaseVNode("div", _hoisted_2$s, [
|
|
35338
35400
|
createBaseVNode("label", _hoisted_3$k, toDisplayString(_ctx.options.label), 1),
|
|
35339
35401
|
withDirectives(createBaseVNode("select", {
|
|
35402
|
+
id: "lupa-sort-select-dropdown",
|
|
35340
35403
|
class: "lupa-select-dropdown",
|
|
35341
|
-
"aria-label": _ctx.options.label,
|
|
35404
|
+
"aria-label": (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : _ctx.options.label,
|
|
35342
35405
|
"data-cy": "lupa-sort-select-dropdown",
|
|
35343
35406
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
|
|
35344
35407
|
onChange: handleSelect,
|
|
@@ -35837,6 +35900,13 @@ and ensure you are accounting for this risk.
|
|
|
35837
35900
|
const hasLink = computed(() => {
|
|
35838
35901
|
return Boolean(props.link && props.options.link);
|
|
35839
35902
|
});
|
|
35903
|
+
const addToCartButtonClass = computed(() => {
|
|
35904
|
+
return {
|
|
35905
|
+
[props.options.className]: Boolean(props.options.className),
|
|
35906
|
+
"lupa-add-to-cart-loading": loading.value,
|
|
35907
|
+
"lupa-add-to-cart": !loading.value
|
|
35908
|
+
};
|
|
35909
|
+
});
|
|
35840
35910
|
const handleClick = (e2) => __async2(null, null, function* () {
|
|
35841
35911
|
if (productCardIsClickable.value && !hasLink.value) {
|
|
35842
35912
|
e2.preventDefault();
|
|
@@ -35857,7 +35927,7 @@ and ensure you are accounting for this risk.
|
|
|
35857
35927
|
createBaseVNode("div", _hoisted_2$o, [
|
|
35858
35928
|
hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
|
|
35859
35929
|
key: 0,
|
|
35860
|
-
class:
|
|
35930
|
+
class: addToCartButtonClass.value,
|
|
35861
35931
|
"data-cy": "lupa-add-to-cart",
|
|
35862
35932
|
disabled: !inStockValue.value || loading.value
|
|
35863
35933
|
}, _ctx.dynamicAttributes, { onClick: handleClick }), [
|
|
@@ -35865,7 +35935,7 @@ and ensure you are accounting for this risk.
|
|
|
35865
35935
|
], 16, _hoisted_3$g)) : (openBlock(), createElementBlock("button", mergeProps({
|
|
35866
35936
|
key: 1,
|
|
35867
35937
|
id: id.value,
|
|
35868
|
-
class:
|
|
35938
|
+
class: addToCartButtonClass.value,
|
|
35869
35939
|
"data-cy": "lupa-add-to-cart",
|
|
35870
35940
|
disabled: !inStockValue.value || loading.value
|
|
35871
35941
|
}, _ctx.dynamicAttributes, {
|
|
@@ -39658,6 +39728,10 @@ and ensure you are accounting for this risk.
|
|
|
39658
39728
|
const itemId = computed(() => {
|
|
39659
39729
|
return typeof props.options.itemId === "string" || typeof props.options.itemId === "number" || Array.isArray(props.options.itemId) ? props.options.itemId : extractValue(props.options.itemId);
|
|
39660
39730
|
});
|
|
39731
|
+
const wrapAround = computed(() => {
|
|
39732
|
+
var _a25, _b25;
|
|
39733
|
+
return (_b25 = (_a25 = carouselOptions.value) == null ? void 0 : _a25.wrapAround) != null ? _b25 : true;
|
|
39734
|
+
});
|
|
39661
39735
|
const loadLupaRecommendations = () => __async2(null, null, function* () {
|
|
39662
39736
|
var _a25, _b25;
|
|
39663
39737
|
recommendationsType.value = "recommendations_lupasearch";
|
|
@@ -39692,7 +39766,7 @@ and ensure you are accounting for this risk.
|
|
|
39692
39766
|
hasRecommendations.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
39693
39767
|
title.value ? (openBlock(), createElementBlock("h2", _hoisted_1$9, toDisplayString(title.value), 1)) : createCommentVNode("", true),
|
|
39694
39768
|
!loading.value ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
|
|
39695
|
-
layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around":
|
|
39769
|
+
layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": wrapAround.value }), {
|
|
39696
39770
|
addons: withCtx(() => [
|
|
39697
39771
|
createVNode(unref(Navigation))
|
|
39698
39772
|
]),
|
|
@@ -39715,7 +39789,7 @@ and ensure you are accounting for this risk.
|
|
|
39715
39789
|
}), 128))
|
|
39716
39790
|
]),
|
|
39717
39791
|
_: 1
|
|
39718
|
-
}, 16)) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
|
|
39792
|
+
}, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
|
|
39719
39793
|
(openBlock(true), createElementBlock(Fragment, null, renderList(recommendations2.value, (product, index) => {
|
|
39720
39794
|
return openBlock(), createBlock(_sfc_main$t, {
|
|
39721
39795
|
style: normalizeStyle(columnSize.value),
|
|
@@ -46454,8 +46528,7 @@ and ensure you are accounting for this risk.
|
|
|
46454
46528
|
links: {
|
|
46455
46529
|
details: "/{id}"
|
|
46456
46530
|
},
|
|
46457
|
-
elements: []
|
|
46458
|
-
breadcrumbs: [{ label: "Main Page", link: "/" }, { label: "Search: {1}" }]
|
|
46531
|
+
elements: []
|
|
46459
46532
|
};
|
|
46460
46533
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
46461
46534
|
__name: "SearchResultsEntry",
|