@getlupa/client 1.21.1 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18645,13 +18645,13 @@ var __async = (__this, __arguments, generator) => {
18645
18645
  }
18646
18646
  ];
18647
18647
  }
18648
- return [{ key, value: `${gt} - ${lt}`, type: "range" }];
18648
+ return [{ key, value: `${gt != null ? gt : "*"} - ${lt != null ? lt : "*"}`, type: "range" }];
18649
18649
  };
18650
18650
  const unfoldFilter = (key, filter, price = {}) => {
18651
18651
  if (Array.isArray(filter)) {
18652
18652
  return unfoldTermFilter(key, filter);
18653
18653
  }
18654
- if (filter.gte) {
18654
+ if (filter.gte || filter.lte || filter.gt || filter.lt) {
18655
18655
  return unfoldRangeFilter(key, filter, price);
18656
18656
  }
18657
18657
  if (filter.terms) {
@@ -18704,8 +18704,9 @@ var __async = (__this, __arguments, generator) => {
18704
18704
  }) : void 0;
18705
18705
  };
18706
18706
  const rangeFilterToString = (rangeFilter, separator) => {
18707
+ var _a25, _b25, _c;
18707
18708
  separator = separator || FACET_TERM_RANGE_SEPARATOR;
18708
- return rangeFilter && Object.keys(rangeFilter).length ? rangeFilter.gte + separator + (rangeFilter.lte || rangeFilter.lt) : "";
18709
+ return rangeFilter && Object.keys(rangeFilter).length ? ((_a25 = rangeFilter.gte) != null ? _a25 : "") + separator + (((_b25 = rangeFilter.lte) != null ? _b25 : "") || ((_c = rangeFilter.lt) != null ? _c : "")) : "";
18709
18710
  };
18710
18711
  const pick = (obj, keys) => {
18711
18712
  const ret = /* @__PURE__ */ Object.create({});
@@ -18764,14 +18765,15 @@ var __async = (__this, __arguments, generator) => {
18764
18765
  return (_b25 = (_a25 = searchParams.getAll(key)) == null ? void 0 : _a25.map((v) => decodeURIComponent(v))) != null ? _b25 : [];
18765
18766
  }
18766
18767
  if (key.startsWith(FACET_PARAMS_TYPE.RANGE)) {
18768
+ const isPrice = key == null ? void 0 : key.includes(CURRENCY_KEY_INDICATOR);
18767
18769
  const range2 = searchParams.get(key);
18768
18770
  if (!range2) {
18769
18771
  return {};
18770
18772
  }
18771
18773
  const [min, max] = range2.split(FACET_RANGE_SEPARATOR);
18772
18774
  return {
18773
- gte: min,
18774
- lte: max
18775
+ gte: min || void 0,
18776
+ [isPrice ? "lte" : "lt"]: max || void 0
18775
18777
  };
18776
18778
  }
18777
18779
  if (key.startsWith(FACET_PARAMS_TYPE.HIERARCHY)) {
@@ -18971,16 +18973,27 @@ var __async = (__this, __arguments, generator) => {
18971
18973
  paramsToRemove: [getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE]
18972
18974
  });
18973
18975
  };
18974
- const toggleRangeFilter = (appendParams, facetAction, getQueryParamName, currentFilters) => {
18976
+ const toggleRangeFilter = (appendParams, removeParameters, facetAction, getQueryParamName, currentFilters) => {
18977
+ var _a25, _b25;
18975
18978
  const currentFilter = rangeFilterToString(
18976
18979
  currentFilters == null ? void 0 : currentFilters[facetAction.key],
18977
18980
  FACET_RANGE_SEPARATOR
18978
18981
  );
18979
- let facetValue = facetAction.value.join(FACET_RANGE_SEPARATOR);
18982
+ let facetValue = (_b25 = (_a25 = facetAction == null ? void 0 : facetAction.value) == null ? void 0 : _a25.join(FACET_RANGE_SEPARATOR)) != null ? _b25 : "";
18980
18983
  facetValue = currentFilter === facetValue ? "" : facetValue;
18984
+ const paramsToRemove = getQueryParamName ? [getQueryParamName(QUERY_PARAMS$1.PAGE)] : [QUERY_PARAMS$1.PAGE];
18985
+ if (!facetValue) {
18986
+ removeParameters({
18987
+ paramsToRemove: [
18988
+ getFacetParam(facetAction.key, "", FACET_PARAMS_TYPE.RANGE).name,
18989
+ ...paramsToRemove
18990
+ ]
18991
+ });
18992
+ return;
18993
+ }
18981
18994
  appendParams({
18982
18995
  params: [getFacetParam(facetAction.key, facetValue, FACET_PARAMS_TYPE.RANGE)],
18983
- paramsToRemove: [getQueryParamName ? getQueryParamName(QUERY_PARAMS$1.PAGE) : QUERY_PARAMS$1.PAGE],
18996
+ paramsToRemove,
18984
18997
  encode: false
18985
18998
  });
18986
18999
  };
@@ -19773,7 +19786,7 @@ var __async = (__this, __arguments, generator) => {
19773
19786
  };
19774
19787
  const _hoisted_2$W = { class: "lupa-dialog-content" };
19775
19788
  const _hoisted_3$E = { class: "lupa-listening-text" };
19776
- const _hoisted_4$u = { class: "lupa-mic-button-wrapper" };
19789
+ const _hoisted_4$v = { class: "lupa-mic-button-wrapper" };
19777
19790
  const _hoisted_5$l = ["aria-label"];
19778
19791
  const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19779
19792
  __name: "VoiceSearchDialog",
@@ -19887,7 +19900,7 @@ var __async = (__this, __arguments, generator) => {
19887
19900
  }),
19888
19901
  createBaseVNode("div", _hoisted_2$W, [
19889
19902
  createBaseVNode("p", _hoisted_3$E, toDisplayString(description.value), 1),
19890
- createBaseVNode("div", _hoisted_4$u, [
19903
+ createBaseVNode("div", _hoisted_4$v, [
19891
19904
  createBaseVNode("button", {
19892
19905
  class: normalizeClass(["lupa-mic-button", { recording: unref(isRecording) }]),
19893
19906
  onClick: handleRecordingButtonClick,
@@ -19912,7 +19925,7 @@ var __async = (__this, __arguments, generator) => {
19912
19925
  const _hoisted_1$1k = { id: "lupa-search-box-input-container" };
19913
19926
  const _hoisted_2$V = { class: "lupa-input-clear" };
19914
19927
  const _hoisted_3$D = { id: "lupa-search-box-input" };
19915
- const _hoisted_4$t = ["value"];
19928
+ const _hoisted_4$u = ["value"];
19916
19929
  const _hoisted_5$k = ["aria-label", "placeholder"];
19917
19930
  const _hoisted_6$8 = {
19918
19931
  key: 0,
@@ -20065,7 +20078,7 @@ var __async = (__this, __arguments, generator) => {
20065
20078
  "aria-hidden": "true",
20066
20079
  value: showHint.value ? suggestedValue.value.item.suggestion : "",
20067
20080
  disabled: ""
20068
- }, null, 8, _hoisted_4$t),
20081
+ }, null, 8, _hoisted_4$u),
20069
20082
  withDirectives(createBaseVNode("input", mergeProps({
20070
20083
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
20071
20084
  }, inputAttributes.value, {
@@ -20315,7 +20328,7 @@ var __async = (__this, __arguments, generator) => {
20315
20328
  class: "lupa-suggestion-facet",
20316
20329
  "data-cy": "lupa-suggestion-facet"
20317
20330
  };
20318
- const _hoisted_4$s = {
20331
+ const _hoisted_4$t = {
20319
20332
  class: "lupa-suggestion-facet-label",
20320
20333
  "data-cy": "lupa-suggestion-facet-label"
20321
20334
  };
@@ -20362,7 +20375,7 @@ var __async = (__this, __arguments, generator) => {
20362
20375
  innerHTML: _ctx.suggestion.displayHighlight
20363
20376
  }, null, 8, _hoisted_1$1g)) : (openBlock(), createElementBlock("div", _hoisted_2$T, toDisplayString(_ctx.suggestion.display), 1)),
20364
20377
  _ctx.suggestion.facet ? (openBlock(), createElementBlock("div", _hoisted_3$C, [
20365
- createBaseVNode("span", _hoisted_4$s, toDisplayString(facetLabel.value), 1),
20378
+ createBaseVNode("span", _hoisted_4$t, toDisplayString(facetLabel.value), 1),
20366
20379
  createBaseVNode("span", _hoisted_5$j, toDisplayString(_ctx.suggestion.facet.title), 1)
20367
20380
  ])) : createCommentVNode("", true)
20368
20381
  ]);
@@ -30102,7 +30115,7 @@ and ensure you are accounting for this risk.
30102
30115
  const _hoisted_1$1a = ["innerHTML"];
30103
30116
  const _hoisted_2$P = { key: 0 };
30104
30117
  const _hoisted_3$B = { key: 1 };
30105
- const _hoisted_4$r = { class: "lupa-search-box-custom-label" };
30118
+ const _hoisted_4$s = { class: "lupa-search-box-custom-label" };
30106
30119
  const _hoisted_5$i = { class: "lupa-search-box-custom-text" };
30107
30120
  const _sfc_main$1k = /* @__PURE__ */ defineComponent({
30108
30121
  __name: "SearchBoxProductCustom",
@@ -30135,7 +30148,7 @@ and ensure you are accounting for this risk.
30135
30148
  class: [className.value, "lupa-search-box-product-custom"]
30136
30149
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {})), [
30137
30150
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$P, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$B, [
30138
- createBaseVNode("div", _hoisted_4$r, toDisplayString(label.value), 1),
30151
+ createBaseVNode("div", _hoisted_4$s, toDisplayString(label.value), 1),
30139
30152
  createBaseVNode("div", _hoisted_5$i, toDisplayString(text.value), 1)
30140
30153
  ]))
30141
30154
  ], 16));
@@ -30486,7 +30499,7 @@ and ensure you are accounting for this risk.
30486
30499
  const _hoisted_1$18 = { class: "lupa-search-box-add-to-cart-wrapper" };
30487
30500
  const _hoisted_2$O = { class: "lupa-search-box-product-addtocart" };
30488
30501
  const _hoisted_3$A = ["disabled"];
30489
- const _hoisted_4$q = ["href"];
30502
+ const _hoisted_4$r = ["href"];
30490
30503
  const _hoisted_5$h = ["disabled"];
30491
30504
  const _sfc_main$1i = /* @__PURE__ */ defineComponent({
30492
30505
  __name: "SearchBoxProductAddToCart",
@@ -30508,6 +30521,13 @@ and ensure you are accounting for this risk.
30508
30521
  const { addToCartAmount } = storeToRefs(searchResultStore);
30509
30522
  const emit2 = __emit;
30510
30523
  const loading = ref(false);
30524
+ const addToCartButtonClass = computed(() => {
30525
+ return {
30526
+ [props.options.className]: Boolean(props.options.className),
30527
+ "lupa-add-to-cart-loading": loading.value,
30528
+ "lupa-add-to-cart": !loading.value
30529
+ };
30530
+ });
30511
30531
  const label = computed(() => {
30512
30532
  return props.options.labels.addToCart;
30513
30533
  });
@@ -30531,15 +30551,15 @@ and ensure you are accounting for this risk.
30531
30551
  createBaseVNode("div", _hoisted_2$O, [
30532
30552
  hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
30533
30553
  key: 0,
30534
- class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
30554
+ class: addToCartButtonClass.value,
30535
30555
  "data-cy": "lupa-add-to-cart",
30536
30556
  disabled: !inStockValue.value || loading.value
30537
30557
  }, _ctx.dynamicAttributes, { onClick: handleClick }), [
30538
- createBaseVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$q)
30558
+ createBaseVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$r)
30539
30559
  ], 16, _hoisted_3$A)) : (openBlock(), createElementBlock("button", mergeProps({
30540
30560
  key: 1,
30541
30561
  onClick: withModifiers(handleClick, ["stop", "prevent"]),
30542
- class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
30562
+ class: addToCartButtonClass.value,
30543
30563
  "data-cy": "lupa-add-to-cart",
30544
30564
  type: "button",
30545
30565
  disabled: !inStockValue.value || loading.value
@@ -30655,7 +30675,7 @@ and ensure you are accounting for this risk.
30655
30675
  const _hoisted_1$16 = { class: "lupa-badge-title" };
30656
30676
  const _hoisted_2$N = ["src"];
30657
30677
  const _hoisted_3$z = { key: 1 };
30658
- const _hoisted_4$p = {
30678
+ const _hoisted_4$q = {
30659
30679
  key: 0,
30660
30680
  class: "lupa-badge-full-text"
30661
30681
  };
@@ -30699,7 +30719,7 @@ and ensure you are accounting for this risk.
30699
30719
  }, null, 8, _hoisted_2$N)) : createCommentVNode("", true),
30700
30720
  hasTitleText.value && showTitle.value ? (openBlock(), createElementBlock("span", _hoisted_3$z, toDisplayString(_ctx.badge.titleText), 1)) : createCommentVNode("", true)
30701
30721
  ]),
30702
- hasAdditionalText.value ? (openBlock(), createElementBlock("span", _hoisted_4$p, toDisplayString(_ctx.badge.additionalText), 1)) : createCommentVNode("", true)
30722
+ hasAdditionalText.value ? (openBlock(), createElementBlock("span", _hoisted_4$q, toDisplayString(_ctx.badge.additionalText), 1)) : createCommentVNode("", true)
30703
30723
  ], 6);
30704
30724
  };
30705
30725
  }
@@ -31440,7 +31460,16 @@ and ensure you are accounting for this risk.
31440
31460
  if (attr === "value" && (element == null ? void 0 : element.value)) {
31441
31461
  return element.value;
31442
31462
  }
31443
- return element.getAttribute(attr) || options.default;
31463
+ const attributeValue = element.getAttribute(attr);
31464
+ if (attributeValue === null || attributeValue === void 0) {
31465
+ return options.default;
31466
+ }
31467
+ if (options.regex) {
31468
+ const regex = new RegExp(options.regex);
31469
+ const match = attributeValue.match(regex);
31470
+ return match ? match[1] : options.default;
31471
+ }
31472
+ return attributeValue;
31444
31473
  };
31445
31474
  const getValueFromPath = (obj, path) => {
31446
31475
  return path.split(".").reduce((value, key) => value && value[key] || null, obj);
@@ -31658,7 +31687,7 @@ and ensure you are accounting for this risk.
31658
31687
  key: 0,
31659
31688
  class: "lupa-panel-title lupa-panel-title-top-results"
31660
31689
  };
31661
- const _hoisted_4$o = {
31690
+ const _hoisted_4$p = {
31662
31691
  key: 1,
31663
31692
  class: "lupa-panel-title"
31664
31693
  };
@@ -31854,7 +31883,7 @@ and ensure you are accounting for this risk.
31854
31883
  "data-cy": "lupa-panel-" + panel.type + "-index"
31855
31884
  }, [
31856
31885
  ((_a25 = panel.labels) == null ? void 0 : _a25.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (openBlock(), createElementBlock("div", _hoisted_3$x, toDisplayString((_b25 = panel.labels) == null ? void 0 : _b25.topResultsTitle), 1)) : createCommentVNode("", true),
31857
- ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (openBlock(), createElementBlock("div", _hoisted_4$o, toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
31886
+ ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (openBlock(), createElementBlock("div", _hoisted_4$p, toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
31858
31887
  panel.queryKey && canShowPanel(panel) ? (openBlock(), createBlock(resolveDynamicComponent(getComponent(panel.type)), {
31859
31888
  key: 2,
31860
31889
  panel,
@@ -32352,7 +32381,7 @@ and ensure you are accounting for this risk.
32352
32381
  key: 1,
32353
32382
  "data-cy": "did-you-mean-label"
32354
32383
  };
32355
- const _hoisted_4$n = { key: 1 };
32384
+ const _hoisted_4$o = { key: 1 };
32356
32385
  const _sfc_main$12 = /* @__PURE__ */ defineComponent({
32357
32386
  __name: "SearchResultsDidYouMean",
32358
32387
  props: {
@@ -32403,7 +32432,7 @@ and ensure you are accounting for this risk.
32403
32432
  class: "lupa-did-you-mean lupa-highlighted-search-text",
32404
32433
  "data-cy": "did-you-mean-value",
32405
32434
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
32406
- }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$n, toDisplayString(label) + " ", 1))
32435
+ }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$o, toDisplayString(label) + " ", 1))
32407
32436
  ]);
32408
32437
  }), 128))
32409
32438
  ])) : createCommentVNode("", true)
@@ -32453,7 +32482,7 @@ and ensure you are accounting for this risk.
32453
32482
  key: 1,
32454
32483
  class: "lupa-results-total-count"
32455
32484
  };
32456
- const _hoisted_4$m = { class: "lupa-results-total-count-number" };
32485
+ const _hoisted_4$n = { class: "lupa-results-total-count-number" };
32457
32486
  const _hoisted_5$f = ["innerHTML"];
32458
32487
  const _sfc_main$10 = /* @__PURE__ */ defineComponent({
32459
32488
  __name: "SearchResultsTitle",
@@ -32503,7 +32532,7 @@ and ensure you are accounting for this risk.
32503
32532
  queryText.value && !searchResultsTitleTemplate.value ? (openBlock(), createElementBlock("span", _hoisted_2$G, "'" + toDisplayString(queryText.value) + "'", 1)) : createCommentVNode("", true),
32504
32533
  showProductCount.value ? (openBlock(), createElementBlock("span", _hoisted_3$v, [
32505
32534
  createTextVNode("(" + toDisplayString(searchResultsCountLabel.value), 1),
32506
- createBaseVNode("span", _hoisted_4$m, toDisplayString(unref(totalItems)), 1),
32535
+ createBaseVNode("span", _hoisted_4$n, toDisplayString(unref(totalItems)), 1),
32507
32536
  _cache[0] || (_cache[0] = createTextVNode(")"))
32508
32537
  ])) : createCommentVNode("", true)
32509
32538
  ])) : createCommentVNode("", true),
@@ -32585,7 +32614,7 @@ and ensure you are accounting for this risk.
32585
32614
  key: 0,
32586
32615
  class: "filter-values"
32587
32616
  };
32588
- const _hoisted_4$l = { class: "lupa-current-filter-list" };
32617
+ const _hoisted_4$m = { class: "lupa-current-filter-list" };
32589
32618
  const _sfc_main$_ = /* @__PURE__ */ defineComponent({
32590
32619
  __name: "CurrentFilters",
32591
32620
  props: {
@@ -32677,7 +32706,7 @@ and ensure you are accounting for this risk.
32677
32706
  }, null, 2)) : createCommentVNode("", true)
32678
32707
  ]),
32679
32708
  !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$u, [
32680
- createBaseVNode("div", _hoisted_4$l, [
32709
+ createBaseVNode("div", _hoisted_4$m, [
32681
32710
  (openBlock(true), createElementBlock(Fragment, null, renderList(currentDisplayFilters.value, (filter) => {
32682
32711
  return openBlock(), createBlock(_sfc_main$$, {
32683
32712
  key: filter.key + "_" + filter.value,
@@ -32746,7 +32775,7 @@ and ensure you are accounting for this risk.
32746
32775
  };
32747
32776
  const _hoisted_2$D = { class: "lupa-category-back" };
32748
32777
  const _hoisted_3$t = ["href"];
32749
- const _hoisted_4$k = ["href"];
32778
+ const _hoisted_4$l = ["href"];
32750
32779
  const _hoisted_5$e = { class: "lupa-child-category-list" };
32751
32780
  const _sfc_main$Y = /* @__PURE__ */ defineComponent({
32752
32781
  __name: "CategoryFilter",
@@ -32853,7 +32882,7 @@ and ensure you are accounting for this risk.
32853
32882
  href: parentUrlLink.value,
32854
32883
  class: normalizeClass({ "lupa-title-category": !hasBackButton.value }),
32855
32884
  onClick: handleNavigationParent
32856
- }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
32885
+ }, toDisplayString(parentTitle.value), 11, _hoisted_4$l)
32857
32886
  ], 2),
32858
32887
  createBaseVNode("div", _hoisted_5$e, [
32859
32888
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
@@ -32874,7 +32903,7 @@ and ensure you are accounting for this risk.
32874
32903
  };
32875
32904
  const _hoisted_2$C = ["placeholder"];
32876
32905
  const _hoisted_3$s = { class: "lupa-terms-list" };
32877
- const _hoisted_4$j = ["onClick"];
32906
+ const _hoisted_4$k = ["onClick"];
32878
32907
  const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
32879
32908
  const _hoisted_6$7 = { class: "lupa-term-label" };
32880
32909
  const _hoisted_7$4 = {
@@ -32945,7 +32974,7 @@ and ensure you are accounting for this risk.
32945
32974
  });
32946
32975
  const handleFacetClick = (item) => {
32947
32976
  var _a25;
32948
- const value = isRange.value ? item.title.split(FACET_TERM_RANGE_SEPARATOR) : (_a25 = item.title) == null ? void 0 : _a25.toString();
32977
+ const value = isRange.value ? [item.from, item.to] : (_a25 = item.title) == null ? void 0 : _a25.toString();
32949
32978
  emit2("select", {
32950
32979
  key: facet.value.key,
32951
32980
  value,
@@ -32959,7 +32988,11 @@ and ensure you are accounting for this risk.
32959
32988
  var _a25, _b25;
32960
32989
  let selectedItems = (_a25 = currentFiltersValue.value) != null ? _a25 : [];
32961
32990
  selectedItems = isRange.value && selectedItems ? [rangeFilterToString(selectedItems)] : selectedItems;
32962
- return selectedItems == null ? void 0 : selectedItems.includes((_b25 = item.title) == null ? void 0 : _b25.toString());
32991
+ if (isRange.value) {
32992
+ return selectedItems == null ? void 0 : selectedItems.includes(rangeFilterToString({ gte: item.from, lt: item.to }));
32993
+ } else {
32994
+ return selectedItems == null ? void 0 : selectedItems.includes((_b25 = item.title) == null ? void 0 : _b25.toString());
32995
+ }
32963
32996
  };
32964
32997
  const getItemLabel = (item) => {
32965
32998
  var _a25;
@@ -33002,7 +33035,7 @@ and ensure you are accounting for this risk.
33002
33035
  createBaseVNode("span", _hoisted_6$7, toDisplayString(getItemLabel(item)), 1),
33003
33036
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_7$4, "(" + toDisplayString(item.count) + ")", 1)) : createCommentVNode("", true)
33004
33037
  ], 2)
33005
- ], 10, _hoisted_4$j);
33038
+ ], 10, _hoisted_4$k);
33006
33039
  }), 128))
33007
33040
  ]),
33008
33041
  displayShowMore.value ? (openBlock(), createElementBlock("div", {
@@ -33919,7 +33952,7 @@ and ensure you are accounting for this risk.
33919
33952
  key: 1,
33920
33953
  class: "lupa-stats-facet-summary-input"
33921
33954
  };
33922
- const _hoisted_4$i = { class: "lupa-stats-from" };
33955
+ const _hoisted_4$j = { class: "lupa-stats-from" };
33923
33956
  const _hoisted_5$c = {
33924
33957
  key: 0,
33925
33958
  class: "lupa-stats-range-label"
@@ -34157,7 +34190,7 @@ and ensure you are accounting for this risk.
34157
34190
  return (_ctx, _cache) => {
34158
34191
  return openBlock(), createElementBlock("div", _hoisted_1$P, [
34159
34192
  !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$B, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$r, [
34160
- createBaseVNode("div", _hoisted_4$i, [
34193
+ createBaseVNode("div", _hoisted_4$j, [
34161
34194
  rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_5$c, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
34162
34195
  withDirectives(createBaseVNode("input", {
34163
34196
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
@@ -34226,7 +34259,7 @@ and ensure you are accounting for this risk.
34226
34259
  key: 0,
34227
34260
  class: "lupa-term-count"
34228
34261
  };
34229
- const _hoisted_4$h = {
34262
+ const _hoisted_4$i = {
34230
34263
  key: 0,
34231
34264
  class: "lupa-facet-level"
34232
34265
  };
@@ -34296,7 +34329,7 @@ and ensure you are accounting for this risk.
34296
34329
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_3$q, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
34297
34330
  ], 2)
34298
34331
  ]),
34299
- showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$h, [
34332
+ showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, [
34300
34333
  (openBlock(true), createElementBlock(Fragment, null, renderList(treeItem.value.children, (itemChild) => {
34301
34334
  return openBlock(), createBlock(_component_HierarchyFacetLevel, {
34302
34335
  key: itemChild.title,
@@ -34433,7 +34466,7 @@ and ensure you are accounting for this risk.
34433
34466
  },
34434
34467
  emits: ["select", "clear"],
34435
34468
  setup(__props, { emit: __emit }) {
34436
- var _a25, _b25;
34469
+ var _a25, _b25, _c;
34437
34470
  const props = __props;
34438
34471
  const facet = computed(() => {
34439
34472
  var _a26;
@@ -34445,10 +34478,19 @@ and ensure you are accounting for this risk.
34445
34478
  });
34446
34479
  const searchResultStore = useSearchResultStore();
34447
34480
  const optionsStore = useOptionsStore();
34481
+ const screenStore = useScreenStore();
34448
34482
  const { currentFilterKeys } = storeToRefs(searchResultStore);
34449
34483
  const { searchResultOptions } = storeToRefs(optionsStore);
34484
+ const { isMobileWidth } = storeToRefs(screenStore);
34450
34485
  const emit2 = __emit;
34451
- const isOpen = ref((_b25 = (_a25 = props.options.expand) == null ? void 0 : _a25.includes(props.facet.key)) != null ? _b25 : false);
34486
+ const allExpanded = computed(() => {
34487
+ var _a26, _b26, _c2, _d, _e, _f;
34488
+ if (isMobileWidth.value) {
34489
+ return (_c2 = (_b26 = (_a26 = props.options) == null ? void 0 : _a26.expandAll) == null ? void 0 : _b26.mobile) != null ? _c2 : false;
34490
+ }
34491
+ return (_f = (_e = (_d = props.options) == null ? void 0 : _d.expandAll) == null ? void 0 : _e.desktop) != null ? _f : false;
34492
+ });
34493
+ 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);
34452
34494
  const facetPanel = ref(null);
34453
34495
  const facetType = computed(() => {
34454
34496
  switch (facet.value.type) {
@@ -34711,6 +34753,7 @@ and ensure you are accounting for this risk.
34711
34753
  case "range":
34712
34754
  toggleRangeFilter(
34713
34755
  paramStore.appendParams,
34756
+ paramStore.removeParameters,
34714
34757
  facetAction,
34715
34758
  optionsStore.getQueryParamName,
34716
34759
  filters.value
@@ -34834,7 +34877,7 @@ and ensure you are accounting for this risk.
34834
34877
  };
34835
34878
  const _hoisted_2$w = { class: "lupa-mobile-sidebar-content" };
34836
34879
  const _hoisted_3$o = { class: "lupa-sidebar-top" };
34837
- const _hoisted_4$g = { class: "lupa-sidebar-title" };
34880
+ const _hoisted_4$h = { class: "lupa-sidebar-title" };
34838
34881
  const _hoisted_5$b = {
34839
34882
  key: 0,
34840
34883
  class: "lupa-sidebar-filter-count"
@@ -34879,7 +34922,7 @@ and ensure you are accounting for this risk.
34879
34922
  }),
34880
34923
  createBaseVNode("div", _hoisted_2$w, [
34881
34924
  createBaseVNode("div", _hoisted_3$o, [
34882
- createBaseVNode("div", _hoisted_4$g, [
34925
+ createBaseVNode("div", _hoisted_4$h, [
34883
34926
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
34884
34927
  isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_5$b, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
34885
34928
  ]),
@@ -34906,7 +34949,7 @@ and ensure you are accounting for this risk.
34906
34949
  key: 1,
34907
34950
  class: "lupa-search-results-breadcrumb-text"
34908
34951
  };
34909
- const _hoisted_4$f = { key: 2 };
34952
+ const _hoisted_4$g = { key: 2 };
34910
34953
  const _sfc_main$N = /* @__PURE__ */ defineComponent({
34911
34954
  __name: "SearchResultsBreadcrumbs",
34912
34955
  props: {
@@ -34948,7 +34991,7 @@ and ensure you are accounting for this risk.
34948
34991
  return handleNavigation(e2, (_a26 = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a26 : "");
34949
34992
  }
34950
34993
  }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$v)) : (openBlock(), createElementBlock("span", _hoisted_3$n, toDisplayString(getLabel(breadcrumb.label)), 1)),
34951
- index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$f, toDisplayString((_a25 = breadcrumb.separator) != null ? _a25 : "/"), 1)) : createCommentVNode("", true)
34994
+ index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$g, toDisplayString((_a25 = breadcrumb.separator) != null ? _a25 : "/"), 1)) : createCommentVNode("", true)
34952
34995
  ]);
34953
34996
  }), 128))
34954
34997
  ]);
@@ -35111,7 +35154,7 @@ and ensure you are accounting for this risk.
35111
35154
  class: "lupa-page-number-separator"
35112
35155
  };
35113
35156
  const _hoisted_3$m = ["onClick"];
35114
- const _hoisted_4$e = {
35157
+ const _hoisted_4$f = {
35115
35158
  key: 0,
35116
35159
  class: "lupa-page-number-separator"
35117
35160
  };
@@ -35217,7 +35260,7 @@ and ensure you are accounting for this risk.
35217
35260
  }, toDisplayString(page), 11, _hoisted_3$m);
35218
35261
  }), 128)),
35219
35262
  showLastPage.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
35220
- showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$e, "...")) : createCommentVNode("", true),
35263
+ showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$f, "...")) : createCommentVNode("", true),
35221
35264
  createBaseVNode("div", {
35222
35265
  class: "lupa-page-number lupa-page-number-last",
35223
35266
  onClick: _cache[2] || (_cache[2] = () => {
@@ -35245,7 +35288,7 @@ and ensure you are accounting for this risk.
35245
35288
  class: "lupa-select-label",
35246
35289
  for: "lupa-page-size-select-dropdown"
35247
35290
  };
35248
- const _hoisted_4$d = ["aria-label"];
35291
+ const _hoisted_4$e = ["aria-label"];
35249
35292
  const _hoisted_5$a = ["value"];
35250
35293
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
35251
35294
  __name: "SearchResultsPageSize",
@@ -35295,7 +35338,7 @@ and ensure you are accounting for this risk.
35295
35338
  value: option
35296
35339
  }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$a);
35297
35340
  }), 128))
35298
- ], 40, _hoisted_4$d)
35341
+ ], 40, _hoisted_4$e)
35299
35342
  ])
35300
35343
  ]);
35301
35344
  };
@@ -35310,7 +35353,7 @@ and ensure you are accounting for this risk.
35310
35353
  class: "lupa-select-label",
35311
35354
  for: "lupa-sort-select-dropdown"
35312
35355
  };
35313
- const _hoisted_4$c = ["aria-label"];
35356
+ const _hoisted_4$d = ["aria-label"];
35314
35357
  const _hoisted_5$9 = ["value"];
35315
35358
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
35316
35359
  __name: "SearchResultsSort",
@@ -35381,7 +35424,7 @@ and ensure you are accounting for this risk.
35381
35424
  value: option.key
35382
35425
  }, toDisplayString(option.label), 9, _hoisted_5$9);
35383
35426
  }), 128))
35384
- ], 40, _hoisted_4$c), [
35427
+ ], 40, _hoisted_4$d), [
35385
35428
  [vModelSelect, selectedKey.value]
35386
35429
  ])
35387
35430
  ])
@@ -35395,7 +35438,7 @@ and ensure you are accounting for this risk.
35395
35438
  class: "lupa-toolbar-right-title"
35396
35439
  };
35397
35440
  const _hoisted_3$j = { key: 2 };
35398
- const _hoisted_4$b = { key: 4 };
35441
+ const _hoisted_4$c = { key: 4 };
35399
35442
  const _hoisted_5$8 = { key: 6 };
35400
35443
  const _hoisted_6$4 = { class: "lupa-toolbar-right" };
35401
35444
  const _hoisted_7$2 = {
@@ -35523,7 +35566,7 @@ and ensure you are accounting for this risk.
35523
35566
  label: searchSummaryLabel.value,
35524
35567
  clearable: unref(hasAnyFilter) && showFilterClear.value,
35525
35568
  onClear: handleClearAll
35526
- }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$b)),
35569
+ }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$c)),
35527
35570
  displayPageSelect.value ? (openBlock(), createBlock(_sfc_main$I, {
35528
35571
  key: 5,
35529
35572
  options: paginationOptions.value.pageSelect,
@@ -35576,7 +35619,7 @@ and ensure you are accounting for this risk.
35576
35619
  const _hoisted_1$z = ["title", "innerHTML"];
35577
35620
  const _hoisted_2$q = ["title"];
35578
35621
  const _hoisted_3$i = ["href", "innerHTML"];
35579
- const _hoisted_4$a = ["title"];
35622
+ const _hoisted_4$b = ["title"];
35580
35623
  const _hoisted_5$7 = {
35581
35624
  key: 0,
35582
35625
  class: "lupa-search-results-product-title-text"
@@ -35644,7 +35687,7 @@ and ensure you are accounting for this risk.
35644
35687
  class: "lupa-search-results-product-title-text lupa-title-link",
35645
35688
  onClick: handleNavigation
35646
35689
  }, toDisplayString(title.value), 9, _hoisted_6$3)) : createCommentVNode("", true)
35647
- ], 12, _hoisted_4$a));
35690
+ ], 12, _hoisted_4$b));
35648
35691
  };
35649
35692
  }
35650
35693
  });
@@ -35687,7 +35730,7 @@ and ensure you are accounting for this risk.
35687
35730
  const _hoisted_1$x = { id: "lupa-search-results-rating" };
35688
35731
  const _hoisted_2$p = { class: "lupa-ratings" };
35689
35732
  const _hoisted_3$h = { class: "lupa-ratings-base" };
35690
- const _hoisted_4$9 = ["innerHTML"];
35733
+ const _hoisted_4$a = ["innerHTML"];
35691
35734
  const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
35692
35735
  const _hoisted_6$2 = ["innerHTML"];
35693
35736
  const _hoisted_7$1 = ["href"];
@@ -35737,7 +35780,7 @@ and ensure you are accounting for this risk.
35737
35780
  key: index,
35738
35781
  innerHTML: star,
35739
35782
  class: "lupa-rating lupa-rating-not-highlighted"
35740
- }, null, 8, _hoisted_4$9);
35783
+ }, null, 8, _hoisted_4$a);
35741
35784
  }), 128))
35742
35785
  ]),
35743
35786
  createBaseVNode("div", _hoisted_5$6, [
@@ -35830,7 +35873,7 @@ and ensure you are accounting for this risk.
35830
35873
  const _hoisted_1$v = { class: "lupa-search-results-add-to-cart-wrapper" };
35831
35874
  const _hoisted_2$o = { class: "lupa-search-results-product-addtocart" };
35832
35875
  const _hoisted_3$g = ["disabled"];
35833
- const _hoisted_4$8 = ["href"];
35876
+ const _hoisted_4$9 = ["href"];
35834
35877
  const _hoisted_5$5 = ["id", "disabled"];
35835
35878
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
35836
35879
  __name: "SearchResultsProductAddToCart",
@@ -35868,6 +35911,13 @@ and ensure you are accounting for this risk.
35868
35911
  const hasLink = computed(() => {
35869
35912
  return Boolean(props.link && props.options.link);
35870
35913
  });
35914
+ const addToCartButtonClass = computed(() => {
35915
+ return {
35916
+ [props.options.className]: Boolean(props.options.className),
35917
+ "lupa-add-to-cart-loading": loading.value,
35918
+ "lupa-add-to-cart": !loading.value
35919
+ };
35920
+ });
35871
35921
  const handleClick = (e2) => __async2(null, null, function* () {
35872
35922
  if (productCardIsClickable.value && !hasLink.value) {
35873
35923
  e2.preventDefault();
@@ -35888,15 +35938,15 @@ and ensure you are accounting for this risk.
35888
35938
  createBaseVNode("div", _hoisted_2$o, [
35889
35939
  hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
35890
35940
  key: 0,
35891
- class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
35941
+ class: addToCartButtonClass.value,
35892
35942
  "data-cy": "lupa-add-to-cart",
35893
35943
  disabled: !inStockValue.value || loading.value
35894
35944
  }, _ctx.dynamicAttributes, { onClick: handleClick }), [
35895
- createBaseVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$8)
35945
+ createBaseVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$9)
35896
35946
  ], 16, _hoisted_3$g)) : (openBlock(), createElementBlock("button", mergeProps({
35897
35947
  key: 1,
35898
35948
  id: id.value,
35899
- class: loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart",
35949
+ class: addToCartButtonClass.value,
35900
35950
  "data-cy": "lupa-add-to-cart",
35901
35951
  disabled: !inStockValue.value || loading.value
35902
35952
  }, _ctx.dynamicAttributes, {
@@ -35910,7 +35960,7 @@ and ensure you are accounting for this risk.
35910
35960
  const _hoisted_1$u = ["innerHTML"];
35911
35961
  const _hoisted_2$n = { key: 0 };
35912
35962
  const _hoisted_3$f = { key: 1 };
35913
- const _hoisted_4$7 = { class: "lupa-search-box-custom-label" };
35963
+ const _hoisted_4$8 = { class: "lupa-search-box-custom-label" };
35914
35964
  const _hoisted_5$4 = { class: "lupa-search-box-custom-text" };
35915
35965
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
35916
35966
  __name: "SearchResultsProductCustom",
@@ -35939,7 +35989,11 @@ and ensure you are accounting for this risk.
35939
35989
  var _a25;
35940
35990
  return (_a25 = props.options.isHtml) != null ? _a25 : false;
35941
35991
  });
35942
- const handleClick = () => __async2(null, null, function* () {
35992
+ const handleClick = (e2) => __async2(null, null, function* () {
35993
+ if (e2 && props.options.stopPropagationOnClick) {
35994
+ e2.stopPropagation();
35995
+ e2.preventDefault();
35996
+ }
35943
35997
  if (!props.options.action) {
35944
35998
  return;
35945
35999
  }
@@ -35955,7 +36009,7 @@ and ensure you are accounting for this risk.
35955
36009
  class: className.value
35956
36010
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {})), [
35957
36011
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$n, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$f, [
35958
- createBaseVNode("div", _hoisted_4$7, toDisplayString(label.value), 1),
36012
+ createBaseVNode("div", _hoisted_4$8, toDisplayString(label.value), 1),
35959
36013
  createBaseVNode("div", _hoisted_5$4, toDisplayString(text.value), 1)
35960
36014
  ]))
35961
36015
  ], 16));
@@ -35982,7 +36036,11 @@ and ensure you are accounting for this risk.
35982
36036
  const className = computed(() => {
35983
36037
  return props.options.className;
35984
36038
  });
35985
- const handleClick = () => __async2(null, null, function* () {
36039
+ const handleClick = (e2) => __async2(null, null, function* () {
36040
+ if (e2 && props.options.stopPropagationOnClick) {
36041
+ e2.stopPropagation();
36042
+ e2.preventDefault();
36043
+ }
35986
36044
  if (!props.options.action) {
35987
36045
  return;
35988
36046
  }
@@ -36002,7 +36060,7 @@ and ensure you are accounting for this risk.
36002
36060
  const _hoisted_1$s = { id: "lupa-search-results-rating" };
36003
36061
  const _hoisted_2$m = ["innerHTML"];
36004
36062
  const _hoisted_3$e = { class: "lupa-ratings" };
36005
- const _hoisted_4$6 = ["href"];
36063
+ const _hoisted_4$7 = ["href"];
36006
36064
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
36007
36065
  __name: "SearchResultsProductSingleStarRating",
36008
36066
  props: {
@@ -36040,7 +36098,7 @@ and ensure you are accounting for this risk.
36040
36098
  createBaseVNode("a", {
36041
36099
  href: ratingLink.value,
36042
36100
  class: "lupa-total-ratings"
36043
- }, toDisplayString(totalRatings.value), 9, _hoisted_4$6)
36101
+ }, toDisplayString(totalRatings.value), 9, _hoisted_4$7)
36044
36102
  ]);
36045
36103
  };
36046
36104
  }
@@ -36397,7 +36455,7 @@ and ensure you are accounting for this risk.
36397
36455
  class: "lupa-similar-query-label",
36398
36456
  "data-cy": "lupa-similar-query-label"
36399
36457
  };
36400
- const _hoisted_4$5 = ["onClick"];
36458
+ const _hoisted_4$6 = ["onClick"];
36401
36459
  const _hoisted_5$3 = ["innerHTML"];
36402
36460
  const _hoisted_6$1 = { key: 0 };
36403
36461
  const _hoisted_7 = {
@@ -36458,7 +36516,7 @@ and ensure you are accounting for this risk.
36458
36516
  innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
36459
36517
  }, null, 8, _hoisted_5$3),
36460
36518
  similarQuery.count ? (openBlock(), createElementBlock("span", _hoisted_6$1, " (" + toDisplayString(similarQuery.count) + ")", 1)) : createCommentVNode("", true)
36461
- ], 8, _hoisted_4$5)
36519
+ ], 8, _hoisted_4$6)
36462
36520
  ]),
36463
36521
  createBaseVNode("div", _hoisted_7, [
36464
36522
  (openBlock(true), createElementBlock(Fragment, null, renderList(similarQuery.items, (product, index2) => {
@@ -36790,7 +36848,7 @@ and ensure you are accounting for this risk.
36790
36848
  const _hoisted_1$l = { class: "lupa-related-query-item" };
36791
36849
  const _hoisted_2$g = { class: "lupa-related-query-image" };
36792
36850
  const _hoisted_3$a = { class: "lupa-related-query-label" };
36793
- const _hoisted_4$4 = { class: "lupa-related-query-title" };
36851
+ const _hoisted_4$5 = { class: "lupa-related-query-title" };
36794
36852
  const _hoisted_5$2 = {
36795
36853
  key: 0,
36796
36854
  class: "lupa-related-query-count"
@@ -36902,7 +36960,7 @@ and ensure you are accounting for this risk.
36902
36960
  }, null, 8, ["item", "options"])) : createCommentVNode("", true)
36903
36961
  ]),
36904
36962
  createBaseVNode("div", _hoisted_3$a, [
36905
- createBaseVNode("span", _hoisted_4$4, toDisplayString(_ctx.query), 1),
36963
+ createBaseVNode("span", _hoisted_4$5, toDisplayString(_ctx.query), 1),
36906
36964
  ((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (openBlock(), createElementBlock("span", _hoisted_5$2, "(" + toDisplayString(totalItemCount.value) + ")", 1)) : createCommentVNode("", true)
36907
36965
  ])
36908
36966
  ]);
@@ -37129,7 +37187,7 @@ and ensure you are accounting for this risk.
37129
37187
  const _hoisted_1$h = { class: "lupa-related-query-item" };
37130
37188
  const _hoisted_2$d = { class: "lupa-related-query-image" };
37131
37189
  const _hoisted_3$7 = { class: "lupa-related-query-label" };
37132
- const _hoisted_4$3 = { class: "lupa-related-query-title" };
37190
+ const _hoisted_4$4 = { class: "lupa-related-query-title" };
37133
37191
  const _hoisted_5$1 = {
37134
37192
  key: 0,
37135
37193
  class: "lupa-related-query-count"
@@ -37177,7 +37235,7 @@ and ensure you are accounting for this risk.
37177
37235
  }, null, 8, ["item", "options"])) : createCommentVNode("", true)
37178
37236
  ]),
37179
37237
  createBaseVNode("div", _hoisted_3$7, [
37180
- createBaseVNode("span", _hoisted_4$3, toDisplayString(query.value), 1),
37238
+ createBaseVNode("span", _hoisted_4$4, toDisplayString(query.value), 1),
37181
37239
  ((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (openBlock(), createElementBlock("span", _hoisted_5$1, "(" + toDisplayString(totalItemCount.value) + ")", 1)) : createCommentVNode("", true)
37182
37240
  ])
37183
37241
  ]);
@@ -37321,7 +37379,7 @@ and ensure you are accounting for this risk.
37321
37379
  class: "lupa-empty-results",
37322
37380
  "data-cy": "lupa-no-results-in-page"
37323
37381
  };
37324
- const _hoisted_4$2 = {
37382
+ const _hoisted_4$3 = {
37325
37383
  key: 5,
37326
37384
  class: "lupa-empty-results",
37327
37385
  "data-cy": "lupa-no-results"
@@ -37542,7 +37600,7 @@ and ensure you are accounting for this risk.
37542
37600
  location: "bottom",
37543
37601
  sdkOptions: _ctx.options.options
37544
37602
  }, null, 8, ["options", "sdkOptions"])
37545
- ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
37603
+ ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
37546
37604
  createVNode(_sfc_main$h, {
37547
37605
  emptyResultsLabel: (_b25 = _ctx.options.labels) == null ? void 0 : _b25.emptyResults,
37548
37606
  currentQueryText: unref(currentQueryText),
@@ -37578,7 +37636,7 @@ and ensure you are accounting for this risk.
37578
37636
  class: "lupa-category-back"
37579
37637
  };
37580
37638
  const _hoisted_3$4 = ["href"];
37581
- const _hoisted_4$1 = {
37639
+ const _hoisted_4$2 = {
37582
37640
  key: 1,
37583
37641
  class: "lupa-child-category-list"
37584
37642
  };
@@ -37638,7 +37696,7 @@ and ensure you are accounting for this risk.
37638
37696
  onClick: handleNavigationBack
37639
37697
  }, toDisplayString(backTitle.value), 9, _hoisted_3$4)
37640
37698
  ])) : createCommentVNode("", true),
37641
- hasRelatedCategoryChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
37699
+ hasRelatedCategoryChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
37642
37700
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(relatedCategoryChildren), (child) => {
37643
37701
  return openBlock(), createBlock(_sfc_main$Z, {
37644
37702
  key: getCategoryKey(child),
@@ -39555,12 +39613,13 @@ and ensure you are accounting for this risk.
39555
39613
  key: 0,
39556
39614
  class: "lupa-recommendation-section-title"
39557
39615
  };
39558
- const _hoisted_2$6 = {
39616
+ const _hoisted_2$6 = ["href"];
39617
+ const _hoisted_3$3 = {
39559
39618
  key: 1,
39560
39619
  class: "lupa-recommended-products",
39561
39620
  "data-cy": "lupa-recommended-products"
39562
39621
  };
39563
- const _hoisted_3$3 = {
39622
+ const _hoisted_4$1 = {
39564
39623
  key: 1,
39565
39624
  class: "lupa-products",
39566
39625
  "data-cy": "lupa-products"
@@ -39604,6 +39663,10 @@ and ensure you are accounting for this risk.
39604
39663
  var _a25, _b25;
39605
39664
  return (_b25 = (_a25 = props.options.recommendationLabels) == null ? void 0 : _a25.title) != null ? _b25 : "";
39606
39665
  });
39666
+ const hasTitleLink = computed(() => {
39667
+ var _a25;
39668
+ return Boolean((_a25 = props.options.recommendationLabels) == null ? void 0 : _a25.titleLink);
39669
+ });
39607
39670
  const hasRecommendations = computed(() => {
39608
39671
  return recommendations2.value.length > 0;
39609
39672
  });
@@ -39693,6 +39756,9 @@ and ensure you are accounting for this risk.
39693
39756
  var _a25, _b25;
39694
39757
  return (_b25 = (_a25 = carouselOptions.value) == null ? void 0 : _a25.wrapAround) != null ? _b25 : true;
39695
39758
  });
39759
+ const recommendationFilters = computed(() => {
39760
+ return __spreadValues2({}, processExtractionObject(props.options.recommendationFilters));
39761
+ });
39696
39762
  const loadLupaRecommendations = () => __async2(null, null, function* () {
39697
39763
  var _a25, _b25;
39698
39764
  recommendationsType.value = "recommendations_lupasearch";
@@ -39701,7 +39767,7 @@ and ensure you are accounting for this risk.
39701
39767
  const result2 = yield LupaSearchSdk.recommend(
39702
39768
  props.options.queryKey,
39703
39769
  itemId.value,
39704
- props.options.recommendationFilters,
39770
+ recommendationFilters.value,
39705
39771
  props.options.options
39706
39772
  );
39707
39773
  if (!result2.success) {
@@ -39719,14 +39785,22 @@ and ensure you are accounting for this risk.
39719
39785
  });
39720
39786
  __expose({ fetch: fetch2 });
39721
39787
  return (_ctx, _cache) => {
39788
+ var _a25;
39722
39789
  return openBlock(), createElementBlock("div", {
39723
39790
  class: "lupa-search-product-recommendations-wrapper",
39724
39791
  ref_key: "rootElement",
39725
39792
  ref: rootElement
39726
39793
  }, [
39727
39794
  hasRecommendations.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
39728
- title.value ? (openBlock(), createElementBlock("h2", _hoisted_1$9, toDisplayString(title.value), 1)) : createCommentVNode("", true),
39729
- !loading.value ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
39795
+ title.value ? (openBlock(), createElementBlock("h2", _hoisted_1$9, [
39796
+ !hasTitleLink.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
39797
+ createTextVNode(toDisplayString(title.value), 1)
39798
+ ], 64)) : (openBlock(), createElementBlock("a", {
39799
+ key: 1,
39800
+ href: (_a25 = _ctx.options.recommendationLabels) == null ? void 0 : _a25.titleLink
39801
+ }, toDisplayString(title.value), 9, _hoisted_2$6))
39802
+ ])) : createCommentVNode("", true),
39803
+ !loading.value ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
39730
39804
  layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": wrapAround.value }), {
39731
39805
  addons: withCtx(() => [
39732
39806
  createVNode(unref(Navigation))
@@ -39750,7 +39824,7 @@ and ensure you are accounting for this risk.
39750
39824
  }), 128))
39751
39825
  ]),
39752
39826
  _: 1
39753
- }, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39827
+ }, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_4$1, [
39754
39828
  (openBlock(true), createElementBlock(Fragment, null, renderList(recommendations2.value, (product, index) => {
39755
39829
  return openBlock(), createBlock(_sfc_main$t, {
39756
39830
  style: normalizeStyle(columnSize.value),
@@ -46489,8 +46563,7 @@ and ensure you are accounting for this risk.
46489
46563
  links: {
46490
46564
  details: "/{id}"
46491
46565
  },
46492
- elements: [],
46493
- breadcrumbs: [{ label: "Main Page", link: "/" }, { label: "Search: {1}" }]
46566
+ elements: []
46494
46567
  };
46495
46568
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
46496
46569
  __name: "SearchResultsEntry",