@getlupa/vue 0.22.3 → 0.23.1

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.
Files changed (26) hide show
  1. package/dist/components/product-list/ProductList.vue.d.ts +2 -0
  2. package/dist/components/search-container/SearchContainer.vue.d.ts +2 -0
  3. package/dist/components/search-results/SearchResults.vue.d.ts +4 -0
  4. package/dist/components/search-results/filters/SearchResultsFilters.vue.d.ts +2 -1
  5. package/dist/components/search-results/filters/SortDrawer.vue.d.ts +2 -0
  6. package/dist/components/search-results/filters/facets/DesktopFacetToggle.vue.d.ts +2 -0
  7. package/dist/components/search-results/filters/facets/FacetDisplay.vue.d.ts +5 -1
  8. package/dist/components/search-results/filters/facets/FacetsClearButton.vue.d.ts +10 -0
  9. package/dist/components/search-results/products/SearchResultsMobileToggle.vue.d.ts +1 -6
  10. package/dist/components/search-results/products/SearchResultsSortDrawerToggle.vue.d.ts +2 -0
  11. package/dist/components/search-results/products/sort/DesktopSortToggle.vue.d.ts +2 -0
  12. package/dist/components/search-results/products/sort/SearchResultsSort.vue.d.ts +2 -8
  13. package/dist/components/search-results/products/sort/SortList.vue.d.ts +2 -0
  14. package/dist/composables/useSidebarToggle.d.ts +11 -0
  15. package/dist/composables/useSorting.d.ts +11 -0
  16. package/dist/constants/queryParams.const.d.ts +3 -0
  17. package/dist/lupaContainerStyle.css +1 -1
  18. package/dist/lupaSearch.js +1197 -780
  19. package/dist/lupaSearch.mjs +1197 -780
  20. package/dist/stores/options.d.ts +4 -1
  21. package/dist/stores/searchResult.d.ts +20 -8
  22. package/dist/style.css +1 -1
  23. package/dist/types/search-results/FacetAction.d.ts +6 -1
  24. package/dist/types/search-results/SearchResultsOptions.d.ts +17 -1
  25. package/dist/utils/filter.toggle.utils.d.ts +3 -4
  26. package/package.json +1 -1
@@ -11789,8 +11789,18 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
11789
11789
  );
11790
11790
  const trackingOptions = ref({});
11791
11791
  const searchResultInitialFilters = ref({});
11792
+ const expandedFacetsInner = ref([]);
11792
11793
  const productRecommendationOptions = ref({});
11793
11794
  const screenStore = useScreenStore();
11795
+ const expandedFacets = computed({
11796
+ get: () => {
11797
+ var _a25, _b25, _c, _d, _e;
11798
+ return ((_a25 = expandedFacetsInner.value) == null ? void 0 : _a25.length) ? expandedFacetsInner.value : (_e = (_d = (_c = (_b25 = searchResultOptions.value) == null ? void 0 : _b25.filters) == null ? void 0 : _c.facets) == null ? void 0 : _d.expand) != null ? _e : [];
11799
+ },
11800
+ set: (value) => {
11801
+ expandedFacetsInner.value = value;
11802
+ }
11803
+ });
11794
11804
  const envOptions = computed(
11795
11805
  () => {
11796
11806
  var _a25;
@@ -11890,6 +11900,7 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
11890
11900
  currentResolutionPageSizes,
11891
11901
  productRecommendationOptions,
11892
11902
  ariaLabels,
11903
+ expandedFacets,
11893
11904
  setSearchBoxOptions,
11894
11905
  setTrackingOptions,
11895
11906
  setSearchResultOptions,
@@ -12245,12 +12256,15 @@ const QUERY_PARAMS_PARSED = {
12245
12256
  const FACET_PARAMS_TYPE = {
12246
12257
  TERMS: "f.",
12247
12258
  RANGE: "fr.",
12259
+ PARTIAL_RANGE: "fpr.",
12248
12260
  HIERARCHY: "fh."
12249
12261
  };
12250
12262
  const FACET_FILTER_MAP = {
12251
12263
  terms: FACET_PARAMS_TYPE.TERMS,
12252
12264
  range: FACET_PARAMS_TYPE.RANGE,
12253
- hierarchy: FACET_PARAMS_TYPE.HIERARCHY
12265
+ stats: FACET_PARAMS_TYPE.RANGE,
12266
+ hierarchy: FACET_PARAMS_TYPE.HIERARCHY,
12267
+ partialRange: FACET_PARAMS_TYPE.PARTIAL_RANGE
12254
12268
  };
12255
12269
  const FACET_KEY_SEPARATOR = ".";
12256
12270
  const FACET_RANGE_SEPARATOR = ":";
@@ -12404,7 +12418,7 @@ const getLabeledFilters = (filters, facets2, translations) => {
12404
12418
  });
12405
12419
  });
12406
12420
  };
12407
- const isFacetKey = (key) => key.startsWith(FACET_PARAMS_TYPE.RANGE) || key.startsWith(FACET_PARAMS_TYPE.TERMS) || key.startsWith(FACET_PARAMS_TYPE.HIERARCHY);
12421
+ const isFacetKey = (key) => key.startsWith(FACET_PARAMS_TYPE.RANGE) || key.startsWith(FACET_PARAMS_TYPE.TERMS) || key.startsWith(FACET_PARAMS_TYPE.HIERARCHY) || key.startsWith(FACET_PARAMS_TYPE.PARTIAL_RANGE);
12408
12422
  const getMostSpecificHierarchyTerms = (terms) => {
12409
12423
  const specificTerms = [];
12410
12424
  for (const term of terms) {
@@ -12492,8 +12506,7 @@ const parseFacetKey = (key, searchParams) => {
12492
12506
  if (key.startsWith(FACET_PARAMS_TYPE.TERMS)) {
12493
12507
  return (_b25 = (_a25 = searchParams.getAll(key)) == null ? void 0 : _a25.map((v) => decodeURIComponent(v))) != null ? _b25 : [];
12494
12508
  }
12495
- if (key.startsWith(FACET_PARAMS_TYPE.RANGE)) {
12496
- const isPrice = key == null ? void 0 : key.includes(CURRENCY_KEY_INDICATOR);
12509
+ if (key.startsWith(FACET_PARAMS_TYPE.RANGE) || key.startsWith(FACET_PARAMS_TYPE.PARTIAL_RANGE)) {
12497
12510
  const range2 = searchParams.get(key);
12498
12511
  if (!range2) {
12499
12512
  return {};
@@ -12501,7 +12514,7 @@ const parseFacetKey = (key, searchParams) => {
12501
12514
  const [min, max] = range2.split(FACET_RANGE_SEPARATOR);
12502
12515
  return {
12503
12516
  gte: min || void 0,
12504
- [isPrice ? "lte" : "lt"]: max || void 0
12517
+ [key.startsWith(FACET_PARAMS_TYPE.PARTIAL_RANGE) ? "lt" : "lte"]: max || void 0
12505
12518
  };
12506
12519
  }
12507
12520
  if (key.startsWith(FACET_PARAMS_TYPE.HIERARCHY)) {
@@ -12703,6 +12716,7 @@ const toggleHierarchyFilter = (appendParams, facetAction, getQueryParamName, cur
12703
12716
  };
12704
12717
  const toggleRangeFilter = (appendParams, removeParameters, facetAction, getQueryParamName, currentFilters) => {
12705
12718
  var _a25, _b25;
12719
+ const baseFacetQueryParamName = facetAction.type === "partialRange" ? FACET_PARAMS_TYPE.PARTIAL_RANGE : FACET_PARAMS_TYPE.RANGE;
12706
12720
  const currentFilter = rangeFilterToString(
12707
12721
  currentFilters == null ? void 0 : currentFilters[facetAction.key],
12708
12722
  FACET_RANGE_SEPARATOR
@@ -12713,14 +12727,14 @@ const toggleRangeFilter = (appendParams, removeParameters, facetAction, getQuery
12713
12727
  if (!facetValue) {
12714
12728
  removeParameters({
12715
12729
  paramsToRemove: [
12716
- getFacetParam(facetAction.key, "", FACET_PARAMS_TYPE.RANGE).name,
12730
+ getFacetParam(facetAction.key, "", baseFacetQueryParamName).name,
12717
12731
  ...paramsToRemove
12718
12732
  ]
12719
12733
  });
12720
12734
  return;
12721
12735
  }
12722
12736
  appendParams({
12723
- params: [getFacetParam(facetAction.key, facetValue, FACET_PARAMS_TYPE.RANGE)],
12737
+ params: [getFacetParam(facetAction.key, facetValue, baseFacetQueryParamName)],
12724
12738
  paramsToRemove,
12725
12739
  encode: false
12726
12740
  });
@@ -13308,7 +13322,7 @@ const getApiUrl = (environment, customBaseUrl) => {
13308
13322
  }
13309
13323
  return Env[environment] || Env["production"];
13310
13324
  };
13311
- const _sfc_main$1A = /* @__PURE__ */ defineComponent({
13325
+ const _sfc_main$1G = /* @__PURE__ */ defineComponent({
13312
13326
  __name: "VoiceSearchProgressCircle",
13313
13327
  props: {
13314
13328
  isRecording: { type: Boolean },
@@ -13521,15 +13535,15 @@ function useVoiceRecorder(options) {
13521
13535
  closeSocket
13522
13536
  };
13523
13537
  }
13524
- const _hoisted_1$1l = {
13538
+ const _hoisted_1$1o = {
13525
13539
  key: 0,
13526
13540
  class: "lupa-dialog-overlay"
13527
13541
  };
13528
- const _hoisted_2$W = { class: "lupa-dialog-content" };
13529
- const _hoisted_3$E = { class: "lupa-listening-text" };
13530
- const _hoisted_4$u = { class: "lupa-mic-button-wrapper" };
13531
- const _hoisted_5$l = ["aria-label"];
13532
- const _sfc_main$1z = /* @__PURE__ */ defineComponent({
13542
+ const _hoisted_2$Y = { class: "lupa-dialog-content" };
13543
+ const _hoisted_3$G = { class: "lupa-listening-text" };
13544
+ const _hoisted_4$w = { class: "lupa-mic-button-wrapper" };
13545
+ const _hoisted_5$m = ["aria-label"];
13546
+ const _sfc_main$1F = /* @__PURE__ */ defineComponent({
13533
13547
  __name: "VoiceSearchDialog",
13534
13548
  props: {
13535
13549
  isOpen: { type: Boolean },
@@ -13634,21 +13648,21 @@ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
13634
13648
  return (_ctx, _cache) => {
13635
13649
  var _a25, _b25;
13636
13650
  return openBlock(), createElementBlock("div", null, [
13637
- props.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1l, [
13651
+ props.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1o, [
13638
13652
  createElementVNode("button", {
13639
13653
  class: "lupa-dialog-box-close-button",
13640
13654
  onClick: _cache[0] || (_cache[0] = () => emit("close"))
13641
13655
  }),
13642
- createElementVNode("div", _hoisted_2$W, [
13643
- createElementVNode("p", _hoisted_3$E, toDisplayString(description.value), 1),
13644
- createElementVNode("div", _hoisted_4$u, [
13656
+ createElementVNode("div", _hoisted_2$Y, [
13657
+ createElementVNode("p", _hoisted_3$G, toDisplayString(description.value), 1),
13658
+ createElementVNode("div", _hoisted_4$w, [
13645
13659
  createElementVNode("button", {
13646
13660
  class: normalizeClass(["lupa-mic-button", { recording: unref(isRecording) }]),
13647
13661
  onClick: handleRecordingButtonClick,
13648
13662
  "aria-controls": "voice-search-microphone",
13649
13663
  "aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
13650
- }, null, 10, _hoisted_5$l),
13651
- createVNode(_sfc_main$1A, {
13664
+ }, null, 10, _hoisted_5$m),
13665
+ createVNode(_sfc_main$1G, {
13652
13666
  ref_key: "voiceSearchProgressBar",
13653
13667
  ref: voiceSearchProgressBar,
13654
13668
  class: "lupa-progress-circle",
@@ -13663,18 +13677,18 @@ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
13663
13677
  };
13664
13678
  }
13665
13679
  });
13666
- const _hoisted_1$1k = { id: "lupa-search-box-input-container" };
13667
- const _hoisted_2$V = { class: "lupa-input-clear" };
13668
- const _hoisted_3$D = { id: "lupa-search-box-input" };
13669
- const _hoisted_4$t = ["value"];
13670
- const _hoisted_5$k = ["aria-label", "placeholder"];
13671
- const _hoisted_6$8 = {
13680
+ const _hoisted_1$1n = { id: "lupa-search-box-input-container" };
13681
+ const _hoisted_2$X = { class: "lupa-input-clear" };
13682
+ const _hoisted_3$F = { id: "lupa-search-box-input" };
13683
+ const _hoisted_4$v = ["value"];
13684
+ const _hoisted_5$l = ["aria-label", "placeholder"];
13685
+ const _hoisted_6$7 = {
13672
13686
  key: 0,
13673
13687
  class: "lupa-close-label"
13674
13688
  };
13675
13689
  const _hoisted_7$5 = { key: 1 };
13676
13690
  const _hoisted_8$3 = ["aria-label"];
13677
- const _sfc_main$1y = /* @__PURE__ */ defineComponent({
13691
+ const _sfc_main$1E = /* @__PURE__ */ defineComponent({
13678
13692
  __name: "SearchBoxInput",
13679
13693
  props: {
13680
13694
  options: {},
@@ -13806,20 +13820,20 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
13806
13820
  };
13807
13821
  __expose({ focus });
13808
13822
  return (_ctx, _cache) => {
13809
- return openBlock(), createElementBlock("div", _hoisted_1$1k, [
13810
- createElementVNode("div", _hoisted_2$V, [
13823
+ return openBlock(), createElementBlock("div", _hoisted_1$1n, [
13824
+ createElementVNode("div", _hoisted_2$X, [
13811
13825
  createElementVNode("div", {
13812
13826
  class: normalizeClass(["lupa-input-clear-content", { "lupa-input-clear-filled": inputValue.value }]),
13813
13827
  onClick: clear
13814
13828
  }, null, 2)
13815
13829
  ]),
13816
- createElementVNode("div", _hoisted_3$D, [
13830
+ createElementVNode("div", _hoisted_3$F, [
13817
13831
  createElementVNode("input", {
13818
13832
  class: "lupa-hint",
13819
13833
  "aria-hidden": "true",
13820
13834
  value: showHint.value ? suggestedValue.value.item.suggestion : "",
13821
13835
  disabled: ""
13822
- }, null, 8, _hoisted_4$t),
13836
+ }, null, 8, _hoisted_4$v),
13823
13837
  withDirectives(createElementVNode("input", mergeProps({
13824
13838
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
13825
13839
  }, inputAttributes.value, {
@@ -13833,7 +13847,7 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
13833
13847
  placeholder: labels.value.placeholder,
13834
13848
  onInput: handleInput,
13835
13849
  onFocus: handleFocus
13836
- }), null, 16, _hoisted_5$k), [
13850
+ }), null, 16, _hoisted_5$l), [
13837
13851
  [vModelText, inputValue.value]
13838
13852
  ]),
13839
13853
  _ctx.options.showSubmitButton ? (openBlock(), createElementBlock("button", {
@@ -13848,7 +13862,7 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
13848
13862
  class: "lupa-close-search-container",
13849
13863
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("close"))
13850
13864
  }, [
13851
- labels.value.close ? (openBlock(), createElementBlock("span", _hoisted_6$8, toDisplayString(labels.value.close), 1)) : createCommentVNode("", true)
13865
+ labels.value.close ? (openBlock(), createElementBlock("span", _hoisted_6$7, toDisplayString(labels.value.close), 1)) : createCommentVNode("", true)
13852
13866
  ])) : createCommentVNode("", true),
13853
13867
  isVoiceSearchEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_7$5, [
13854
13868
  createElementVNode("button", {
@@ -13859,7 +13873,7 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
13859
13873
  "aria-label": voiceSearchAriaLabel.value
13860
13874
  }, null, 8, _hoisted_8$3)
13861
13875
  ])) : createCommentVNode("", true),
13862
- isVoiceSearchEnabled.value ? (openBlock(), createBlock(_sfc_main$1z, {
13876
+ isVoiceSearchEnabled.value ? (openBlock(), createBlock(_sfc_main$1F, {
13863
13877
  key: 2,
13864
13878
  ref_key: "voiceDialogOverlay",
13865
13879
  ref: voiceDialogOverlay,
@@ -13873,7 +13887,7 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
13873
13887
  };
13874
13888
  }
13875
13889
  });
13876
- const _sfc_main$1x = /* @__PURE__ */ defineComponent({
13890
+ const _sfc_main$1D = /* @__PURE__ */ defineComponent({
13877
13891
  __name: "SearchBoxMoreResults",
13878
13892
  props: {
13879
13893
  labels: {},
@@ -13911,9 +13925,9 @@ const _sfc_main$1x = /* @__PURE__ */ defineComponent({
13911
13925
  };
13912
13926
  }
13913
13927
  });
13914
- const _hoisted_1$1j = { class: "lupa-search-box-history-item" };
13915
- const _hoisted_2$U = { class: "lupa-search-box-history-item-content" };
13916
- const _sfc_main$1w = /* @__PURE__ */ defineComponent({
13928
+ const _hoisted_1$1m = { class: "lupa-search-box-history-item" };
13929
+ const _hoisted_2$W = { class: "lupa-search-box-history-item-content" };
13930
+ const _sfc_main$1C = /* @__PURE__ */ defineComponent({
13917
13931
  __name: "SearchBoxHistoryItem",
13918
13932
  props: {
13919
13933
  item: {},
@@ -13930,8 +13944,8 @@ const _sfc_main$1w = /* @__PURE__ */ defineComponent({
13930
13944
  emit("click", { query: props.item });
13931
13945
  };
13932
13946
  return (_ctx, _cache) => {
13933
- return openBlock(), createElementBlock("div", _hoisted_1$1j, [
13934
- createElementVNode("div", _hoisted_2$U, [
13947
+ return openBlock(), createElementBlock("div", _hoisted_1$1m, [
13948
+ createElementVNode("div", _hoisted_2$W, [
13935
13949
  createElementVNode("div", {
13936
13950
  class: normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
13937
13951
  onClick: click2
@@ -13945,11 +13959,11 @@ const _sfc_main$1w = /* @__PURE__ */ defineComponent({
13945
13959
  };
13946
13960
  }
13947
13961
  });
13948
- const _hoisted_1$1i = {
13962
+ const _hoisted_1$1l = {
13949
13963
  key: 0,
13950
13964
  class: "lupa-search-box-history-panel"
13951
13965
  };
13952
- const _sfc_main$1v = /* @__PURE__ */ defineComponent({
13966
+ const _sfc_main$1B = /* @__PURE__ */ defineComponent({
13953
13967
  __name: "SearchBoxHistoryPanel",
13954
13968
  props: {
13955
13969
  options: {}
@@ -14000,9 +14014,9 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
14000
14014
  }
14001
14015
  };
14002
14016
  return (_ctx, _cache) => {
14003
- return hasHistory.value ? (openBlock(), createElementBlock("div", _hoisted_1$1i, [
14017
+ return hasHistory.value ? (openBlock(), createElementBlock("div", _hoisted_1$1l, [
14004
14018
  (openBlock(true), createElementBlock(Fragment, null, renderList(limitedHistory.value, (item, index) => {
14005
- return openBlock(), createBlock(_sfc_main$1w, {
14019
+ return openBlock(), createBlock(_sfc_main$1C, {
14006
14020
  key: item,
14007
14021
  item,
14008
14022
  highlighted: index === highlightIndex.value,
@@ -14018,15 +14032,15 @@ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
14018
14032
  };
14019
14033
  }
14020
14034
  });
14021
- const _hoisted_1$1h = { class: "lupa-search-box-no-results" };
14022
- const _sfc_main$1u = /* @__PURE__ */ defineComponent({
14035
+ const _hoisted_1$1k = { class: "lupa-search-box-no-results" };
14036
+ const _sfc_main$1A = /* @__PURE__ */ defineComponent({
14023
14037
  __name: "SearchBoxNoResults",
14024
14038
  props: {
14025
14039
  labels: {}
14026
14040
  },
14027
14041
  setup(__props) {
14028
14042
  return (_ctx, _cache) => {
14029
- return openBlock(), createElementBlock("p", _hoisted_1$1h, toDisplayString(_ctx.labels.noResults), 1);
14043
+ return openBlock(), createElementBlock("p", _hoisted_1$1k, toDisplayString(_ctx.labels.noResults), 1);
14030
14044
  };
14031
14045
  }
14032
14046
  });
@@ -14058,26 +14072,26 @@ const generateGridTemplate = (elements) => {
14058
14072
  }
14059
14073
  return gridTemplate.join(" ");
14060
14074
  };
14061
- const _hoisted_1$1g = ["innerHTML"];
14062
- const _hoisted_2$T = {
14075
+ const _hoisted_1$1j = ["innerHTML"];
14076
+ const _hoisted_2$V = {
14063
14077
  key: 1,
14064
14078
  "data-cy": "lupa-suggestion-value",
14065
14079
  class: "lupa-suggestion-value"
14066
14080
  };
14067
- const _hoisted_3$C = {
14081
+ const _hoisted_3$E = {
14068
14082
  key: 2,
14069
14083
  class: "lupa-suggestion-facet",
14070
14084
  "data-cy": "lupa-suggestion-facet"
14071
14085
  };
14072
- const _hoisted_4$s = {
14086
+ const _hoisted_4$u = {
14073
14087
  class: "lupa-suggestion-facet-label",
14074
14088
  "data-cy": "lupa-suggestion-facet-label"
14075
14089
  };
14076
- const _hoisted_5$j = {
14090
+ const _hoisted_5$k = {
14077
14091
  class: "lupa-suggestion-facet-value",
14078
14092
  "data-cy": "lupa-suggestion-facet-value"
14079
14093
  };
14080
- const _sfc_main$1t = /* @__PURE__ */ defineComponent({
14094
+ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
14081
14095
  __name: "SearchBoxSuggestion",
14082
14096
  props: {
14083
14097
  suggestion: {},
@@ -14114,20 +14128,20 @@ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
14114
14128
  class: "lupa-suggestion-value",
14115
14129
  "data-cy": "lupa-suggestion-value",
14116
14130
  innerHTML: _ctx.suggestion.displayHighlight
14117
- }, null, 8, _hoisted_1$1g)) : (openBlock(), createElementBlock("div", _hoisted_2$T, toDisplayString(_ctx.suggestion.display), 1)),
14118
- _ctx.suggestion.facet ? (openBlock(), createElementBlock("div", _hoisted_3$C, [
14119
- createElementVNode("span", _hoisted_4$s, toDisplayString(facetLabel.value), 1),
14120
- createElementVNode("span", _hoisted_5$j, toDisplayString(_ctx.suggestion.facet.title), 1)
14131
+ }, null, 8, _hoisted_1$1j)) : (openBlock(), createElementBlock("div", _hoisted_2$V, toDisplayString(_ctx.suggestion.display), 1)),
14132
+ _ctx.suggestion.facet ? (openBlock(), createElementBlock("div", _hoisted_3$E, [
14133
+ createElementVNode("span", _hoisted_4$u, toDisplayString(facetLabel.value), 1),
14134
+ createElementVNode("span", _hoisted_5$k, toDisplayString(_ctx.suggestion.facet.title), 1)
14121
14135
  ])) : createCommentVNode("", true)
14122
14136
  ]);
14123
14137
  };
14124
14138
  }
14125
14139
  });
14126
- const _hoisted_1$1f = {
14140
+ const _hoisted_1$1i = {
14127
14141
  id: "lupa-search-box-suggestions",
14128
14142
  "data-cy": "lupa-search-box-suggestions"
14129
14143
  };
14130
- const _sfc_main$1s = /* @__PURE__ */ defineComponent({
14144
+ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
14131
14145
  __name: "SearchBoxSuggestions",
14132
14146
  props: {
14133
14147
  items: {},
@@ -14194,9 +14208,9 @@ const _sfc_main$1s = /* @__PURE__ */ defineComponent({
14194
14208
  });
14195
14209
  });
14196
14210
  return (_ctx, _cache) => {
14197
- return openBlock(), createElementBlock("div", _hoisted_1$1f, [
14211
+ return openBlock(), createElementBlock("div", _hoisted_1$1i, [
14198
14212
  (openBlock(true), createElementBlock(Fragment, null, renderList(items.value, (item, index) => {
14199
- return openBlock(), createBlock(_sfc_main$1t, {
14213
+ return openBlock(), createBlock(_sfc_main$1z, {
14200
14214
  key: getSuggestionKey(item),
14201
14215
  class: normalizeClass([
14202
14216
  "lupa-suggestion",
@@ -14228,7 +14242,7 @@ const debounce = (func, timeout) => {
14228
14242
  }, timeout);
14229
14243
  };
14230
14244
  };
14231
- const _sfc_main$1r = /* @__PURE__ */ defineComponent({
14245
+ const _sfc_main$1x = /* @__PURE__ */ defineComponent({
14232
14246
  __name: "SearchBoxSuggestionsWrapper",
14233
14247
  props: {
14234
14248
  panel: {},
@@ -14271,7 +14285,7 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
14271
14285
  const getSuggestionsDebounced = debounce(getSuggestions, props.debounce);
14272
14286
  watch(() => props.panel.limit, getSuggestionsDebounced);
14273
14287
  return (_ctx, _cache) => {
14274
- return openBlock(), createBlock(_sfc_main$1s, {
14288
+ return openBlock(), createBlock(_sfc_main$1y, {
14275
14289
  items: searchResult.value,
14276
14290
  highlight: _ctx.panel.highlight,
14277
14291
  queryKey: _ctx.panel.queryKey,
@@ -23611,9 +23625,9 @@ const replaceImageWithPlaceholder = (e2, placeholder) => {
23611
23625
  targetImage.src = placeholder;
23612
23626
  }
23613
23627
  };
23614
- const _hoisted_1$1e = ["src"];
23615
- const _hoisted_2$S = ["src"];
23616
- const _sfc_main$1q = /* @__PURE__ */ defineComponent({
23628
+ const _hoisted_1$1h = ["src"];
23629
+ const _hoisted_2$U = ["src"];
23630
+ const _sfc_main$1w = /* @__PURE__ */ defineComponent({
23617
23631
  __name: "ProductImage",
23618
23632
  props: {
23619
23633
  item: {},
@@ -23755,7 +23769,7 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
23755
23769
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
23756
23770
  onError: replaceWithPlaceholder,
23757
23771
  key: finalUrl.value
23758
- }), null, 16, _hoisted_1$1e))
23772
+ }), null, 16, _hoisted_1$1h))
23759
23773
  ]),
23760
23774
  _: 1
23761
23775
  })) : (openBlock(), createElementBlock("img", mergeProps({
@@ -23763,12 +23777,12 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
23763
23777
  class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
23764
23778
  style: styleOverride.value,
23765
23779
  src: finalMainImageUrl.value
23766
- }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$S))
23780
+ }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$U))
23767
23781
  ], 38);
23768
23782
  };
23769
23783
  }
23770
23784
  });
23771
- const _sfc_main$1p = /* @__PURE__ */ defineComponent({
23785
+ const _sfc_main$1v = /* @__PURE__ */ defineComponent({
23772
23786
  __name: "SearchBoxProductImage",
23773
23787
  props: {
23774
23788
  item: {},
@@ -23776,7 +23790,7 @@ const _sfc_main$1p = /* @__PURE__ */ defineComponent({
23776
23790
  },
23777
23791
  setup(__props) {
23778
23792
  return (_ctx, _cache) => {
23779
- return openBlock(), createBlock(_sfc_main$1q, {
23793
+ return openBlock(), createBlock(_sfc_main$1w, {
23780
23794
  item: _ctx.item,
23781
23795
  options: _ctx.options,
23782
23796
  "wrapper-class": "lupa-search-box-image-wrapper",
@@ -23785,12 +23799,12 @@ const _sfc_main$1p = /* @__PURE__ */ defineComponent({
23785
23799
  };
23786
23800
  }
23787
23801
  });
23788
- const _hoisted_1$1d = ["innerHTML"];
23789
- const _hoisted_2$R = {
23802
+ const _hoisted_1$1g = ["innerHTML"];
23803
+ const _hoisted_2$T = {
23790
23804
  key: 1,
23791
23805
  class: "lupa-search-box-product-title"
23792
23806
  };
23793
- const _sfc_main$1o = /* @__PURE__ */ defineComponent({
23807
+ const _sfc_main$1u = /* @__PURE__ */ defineComponent({
23794
23808
  __name: "SearchBoxProductTitle",
23795
23809
  props: {
23796
23810
  item: {},
@@ -23813,18 +23827,18 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
23813
23827
  key: 0,
23814
23828
  class: "lupa-search-box-product-title",
23815
23829
  innerHTML: sanitizedTitle.value
23816
- }, null, 8, _hoisted_1$1d)) : (openBlock(), createElementBlock("div", _hoisted_2$R, [
23830
+ }, null, 8, _hoisted_1$1g)) : (openBlock(), createElementBlock("div", _hoisted_2$T, [
23817
23831
  createElementVNode("strong", null, toDisplayString(title.value), 1)
23818
23832
  ]));
23819
23833
  };
23820
23834
  }
23821
23835
  });
23822
- const _hoisted_1$1c = ["innerHTML"];
23823
- const _hoisted_2$Q = {
23836
+ const _hoisted_1$1f = ["innerHTML"];
23837
+ const _hoisted_2$S = {
23824
23838
  key: 1,
23825
23839
  class: "lupa-search-box-product-description"
23826
23840
  };
23827
- const _sfc_main$1n = /* @__PURE__ */ defineComponent({
23841
+ const _sfc_main$1t = /* @__PURE__ */ defineComponent({
23828
23842
  __name: "SearchBoxProductDescription",
23829
23843
  props: {
23830
23844
  item: {},
@@ -23847,12 +23861,12 @@ const _sfc_main$1n = /* @__PURE__ */ defineComponent({
23847
23861
  key: 0,
23848
23862
  class: "lupa-search-box-product-description",
23849
23863
  innerHTML: sanitizedDescription.value
23850
- }, null, 8, _hoisted_1$1c)) : (openBlock(), createElementBlock("div", _hoisted_2$Q, toDisplayString(description.value), 1));
23864
+ }, null, 8, _hoisted_1$1f)) : (openBlock(), createElementBlock("div", _hoisted_2$S, toDisplayString(description.value), 1));
23851
23865
  };
23852
23866
  }
23853
23867
  });
23854
- const _hoisted_1$1b = { class: "lupa-search-box-product-price" };
23855
- const _sfc_main$1m = /* @__PURE__ */ defineComponent({
23868
+ const _hoisted_1$1e = { class: "lupa-search-box-product-price" };
23869
+ const _sfc_main$1s = /* @__PURE__ */ defineComponent({
23856
23870
  __name: "SearchBoxProductPrice",
23857
23871
  props: {
23858
23872
  item: {},
@@ -23874,13 +23888,13 @@ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
23874
23888
  );
23875
23889
  });
23876
23890
  return (_ctx, _cache) => {
23877
- return openBlock(), createElementBlock("div", _hoisted_1$1b, [
23891
+ return openBlock(), createElementBlock("div", _hoisted_1$1e, [
23878
23892
  createElementVNode("strong", null, toDisplayString(price.value), 1)
23879
23893
  ]);
23880
23894
  };
23881
23895
  }
23882
23896
  });
23883
- const _sfc_main$1l = /* @__PURE__ */ defineComponent({
23897
+ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
23884
23898
  __name: "SearchBoxProductRegularPrice",
23885
23899
  props: {
23886
23900
  item: {},
@@ -23911,12 +23925,12 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
23911
23925
  };
23912
23926
  }
23913
23927
  });
23914
- const _hoisted_1$1a = ["innerHTML"];
23915
- const _hoisted_2$P = { key: 0 };
23916
- const _hoisted_3$B = { key: 1 };
23917
- const _hoisted_4$r = { class: "lupa-search-box-custom-label" };
23918
- const _hoisted_5$i = { class: "lupa-search-box-custom-text" };
23919
- const _sfc_main$1k = /* @__PURE__ */ defineComponent({
23928
+ const _hoisted_1$1d = ["innerHTML"];
23929
+ const _hoisted_2$R = { key: 0 };
23930
+ const _hoisted_3$D = { key: 1 };
23931
+ const _hoisted_4$t = { class: "lupa-search-box-custom-label" };
23932
+ const _hoisted_5$j = { class: "lupa-search-box-custom-text" };
23933
+ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
23920
23934
  __name: "SearchBoxProductCustom",
23921
23935
  props: {
23922
23936
  item: {},
@@ -23942,20 +23956,20 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
23942
23956
  key: 0,
23943
23957
  class: [className.value, "lupa-search-box-product-custom"],
23944
23958
  innerHTML: text.value
23945
- }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1a)) : (openBlock(), createElementBlock("div", mergeProps({
23959
+ }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1d)) : (openBlock(), createElementBlock("div", mergeProps({
23946
23960
  key: 1,
23947
23961
  class: [className.value, "lupa-search-box-product-custom"]
23948
23962
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
23949
- !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$P, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$B, [
23950
- createElementVNode("div", _hoisted_4$r, toDisplayString(label.value), 1),
23951
- createElementVNode("div", _hoisted_5$i, toDisplayString(text.value), 1)
23963
+ !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$R, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$D, [
23964
+ createElementVNode("div", _hoisted_4$t, toDisplayString(label.value), 1),
23965
+ createElementVNode("div", _hoisted_5$j, toDisplayString(text.value), 1)
23952
23966
  ]))
23953
23967
  ], 16));
23954
23968
  };
23955
23969
  }
23956
23970
  });
23957
- const _hoisted_1$19 = ["innerHTML"];
23958
- const _sfc_main$1j = /* @__PURE__ */ defineComponent({
23971
+ const _hoisted_1$1c = ["innerHTML"];
23972
+ const _sfc_main$1p = /* @__PURE__ */ defineComponent({
23959
23973
  __name: "SearchBoxProductCustomHtml",
23960
23974
  props: {
23961
23975
  item: {},
@@ -23980,7 +23994,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
23980
23994
  return openBlock(), createElementBlock("div", mergeProps({
23981
23995
  class: className.value,
23982
23996
  innerHTML: text.value
23983
- }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$19);
23997
+ }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1c);
23984
23998
  };
23985
23999
  }
23986
24000
  });
@@ -24038,7 +24052,9 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24038
24052
  const loadingFacets = ref(false);
24039
24053
  const loadingRefiners = ref(false);
24040
24054
  const loadingRelatedQueries = ref(false);
24041
- const isMobileSidebarVisible = ref(false);
24055
+ const isFilterSidebarVisible = ref(false);
24056
+ const isSidebarClosing = ref(false);
24057
+ const isSortingSidebarVisible = ref(false);
24042
24058
  const relatedCategoryChildren = ref([]);
24043
24059
  const lastRequestId = ref("");
24044
24060
  const searchRequestResults = ref({});
@@ -24120,16 +24136,36 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24120
24136
  return hasResults.value && ((_a25 = searchResult.value.offset) != null ? _a25 : 0) >= totalItems.value;
24121
24137
  }
24122
24138
  );
24139
+ const toggleSidebarState = ({
24140
+ visible,
24141
+ sidebar = "filter"
24142
+ }) => {
24143
+ if (sidebar === "sorting") {
24144
+ isSortingSidebarVisible.value = visible;
24145
+ return;
24146
+ }
24147
+ isFilterSidebarVisible.value = visible;
24148
+ };
24123
24149
  const setSidebarState = ({
24124
24150
  visible,
24125
- disableBodyScrolling = true
24151
+ disableBodyScrolling = true,
24152
+ sidebar = "filter"
24126
24153
  }) => {
24154
+ var _a25, _b25, _c, _d;
24127
24155
  if (visible && disableBodyScrolling) {
24128
24156
  disableBodyScroll();
24129
24157
  } else {
24130
24158
  enableBodyScroll();
24131
24159
  }
24132
- isMobileSidebarVisible.value = visible;
24160
+ if (visible || !((_d = (_c = (_b25 = (_a25 = searchResultOptions == null ? void 0 : searchResultOptions.value.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.style) == null ? void 0 : _c.drawer) == null ? void 0 : _d.sidebarCloseDelay)) {
24161
+ toggleSidebarState({ visible, sidebar });
24162
+ } else {
24163
+ isSidebarClosing.value = true;
24164
+ setTimeout(() => {
24165
+ toggleSidebarState({ visible, sidebar });
24166
+ isSidebarClosing.value = false;
24167
+ }, searchResultOptions.value.filters.facets.style.drawer.sidebarCloseDelay);
24168
+ }
24133
24169
  };
24134
24170
  const queryFacet = (_0) => __async(null, [_0], function* ({ queryKey, facetKey }) {
24135
24171
  var _a25, _b25, _c, _d;
@@ -24231,13 +24267,28 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24231
24267
  const setRelatedCategoryChildren = (children) => {
24232
24268
  relatedCategoryChildren.value = [...children];
24233
24269
  };
24270
+ const preconfiguredRelatedQueryKeys = computed(() => {
24271
+ var _a25, _b25, _c, _d, _e;
24272
+ return (_e = (_d = (_c = (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.relatedQueries) == null ? void 0 : _b25.source) == null ? void 0 : _c.queries) == null ? void 0 : _d.map((q) => q.facetKey)) != null ? _e : [];
24273
+ });
24274
+ const relatedQueryFacetKeys = computed(() => {
24275
+ var _a25, _b25, _c;
24276
+ const keysFromRelatedResults = (_c = (_b25 = (_a25 = relatedQueriesResult.value) == null ? void 0 : _a25.relatedQueries) == null ? void 0 : _b25.map((rq) => rq.facetKey)) != null ? _c : [];
24277
+ return Array.from(/* @__PURE__ */ new Set([...preconfiguredRelatedQueryKeys.value, ...keysFromRelatedResults]));
24278
+ });
24234
24279
  const queryRelatedQueries = (queryKey, publicQuery, result2, options) => __async(null, null, function* () {
24235
- var _a25, _b25;
24280
+ var _a25, _b25, _c;
24236
24281
  loadingRelatedQueries.value = true;
24237
24282
  const context = getLupaTrackingContext();
24238
24283
  const searchText = (_b25 = (_a25 = result2.suggestedSearchText) != null ? _a25 : result2.searchText) != null ? _b25 : "";
24284
+ const publicQueryFiltersWithoutRelatedKeys = __spreadValues({}, (_c = publicQuery.filters) != null ? _c : {});
24285
+ relatedQueryFacetKeys.value.forEach((facetKey) => {
24286
+ delete publicQueryFiltersWithoutRelatedKeys[facetKey];
24287
+ });
24288
+ const hasRemainingFilters = Object.keys(publicQueryFiltersWithoutRelatedKeys != null ? publicQueryFiltersWithoutRelatedKeys : {}).length > 0;
24239
24289
  const query = __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, publicQuery), {
24240
- searchText
24290
+ searchText,
24291
+ filters: hasRemainingFilters ? publicQueryFiltersWithoutRelatedKeys : void 0
24241
24292
  }), context), {
24242
24293
  modifiers: { facets: false, refiners: true }
24243
24294
  });
@@ -24253,7 +24304,9 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24253
24304
  });
24254
24305
  });
24255
24306
  return {
24256
- isMobileSidebarVisible,
24307
+ isFilterSidebarVisible,
24308
+ isSortingSidebarVisible,
24309
+ isSidebarClosing,
24257
24310
  searchResult,
24258
24311
  columnCount,
24259
24312
  addToCartAmount,
@@ -24279,6 +24332,7 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24279
24332
  relatedQueriesResult,
24280
24333
  relatedQueriesApiEnabled,
24281
24334
  lastResultsSource,
24335
+ relatedQueryFacetKeys,
24282
24336
  setSidebarState,
24283
24337
  queryFacet,
24284
24338
  setLastRequestId,
@@ -24295,12 +24349,12 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24295
24349
  setRelatedQueriesApiEnabled
24296
24350
  };
24297
24351
  });
24298
- const _hoisted_1$18 = { class: "lupa-search-box-add-to-cart-wrapper" };
24299
- const _hoisted_2$O = { class: "lupa-search-box-product-addtocart" };
24300
- const _hoisted_3$A = ["disabled"];
24301
- const _hoisted_4$q = ["href"];
24302
- const _hoisted_5$h = ["disabled"];
24303
- const _sfc_main$1i = /* @__PURE__ */ defineComponent({
24352
+ const _hoisted_1$1b = { class: "lupa-search-box-add-to-cart-wrapper" };
24353
+ const _hoisted_2$Q = { class: "lupa-search-box-product-addtocart" };
24354
+ const _hoisted_3$C = ["disabled"];
24355
+ const _hoisted_4$s = ["href"];
24356
+ const _hoisted_5$i = ["disabled"];
24357
+ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
24304
24358
  __name: "SearchBoxProductAddToCart",
24305
24359
  props: {
24306
24360
  item: {},
@@ -24346,45 +24400,45 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
24346
24400
  return Boolean(props.link && props.options.link);
24347
24401
  });
24348
24402
  return (_ctx, _cache) => {
24349
- return openBlock(), createElementBlock("div", _hoisted_1$18, [
24350
- createElementVNode("div", _hoisted_2$O, [
24403
+ return openBlock(), createElementBlock("div", _hoisted_1$1b, [
24404
+ createElementVNode("div", _hoisted_2$Q, [
24351
24405
  hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
24352
24406
  key: 0,
24353
24407
  class: addToCartButtonClass.value,
24354
24408
  "data-cy": "lupa-add-to-cart",
24355
24409
  disabled: !inStockValue.value || loading.value
24356
24410
  }, _ctx.dynamicAttributes, { onClick: handleClick }), [
24357
- createElementVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$q)
24358
- ], 16, _hoisted_3$A)) : (openBlock(), createElementBlock("button", mergeProps({
24411
+ createElementVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$s)
24412
+ ], 16, _hoisted_3$C)) : (openBlock(), createElementBlock("button", mergeProps({
24359
24413
  key: 1,
24360
24414
  onClick: withModifiers(handleClick, ["stop", "prevent"]),
24361
24415
  class: addToCartButtonClass.value,
24362
24416
  "data-cy": "lupa-add-to-cart",
24363
24417
  type: "button",
24364
24418
  disabled: !inStockValue.value || loading.value
24365
- }, _ctx.dynamicAttributes), toDisplayString(label.value), 17, _hoisted_5$h))
24419
+ }, _ctx.dynamicAttributes), toDisplayString(label.value), 17, _hoisted_5$i))
24366
24420
  ])
24367
24421
  ]);
24368
24422
  };
24369
24423
  }
24370
24424
  });
24371
- const _hoisted_1$17 = {
24425
+ const _hoisted_1$1a = {
24372
24426
  key: 1,
24373
24427
  class: "lupa-search-box-element-badge-wrapper"
24374
24428
  };
24375
24429
  const __default__$4 = {
24376
24430
  components: {
24377
- SearchBoxProductImage: _sfc_main$1p,
24378
- SearchBoxProductTitle: _sfc_main$1o,
24379
- SearchBoxProductDescription: _sfc_main$1n,
24380
- SearchBoxProductPrice: _sfc_main$1m,
24381
- SearchBoxProductRegularPrice: _sfc_main$1l,
24382
- SearchBoxProductCustom: _sfc_main$1k,
24383
- SearchBoxProductCustomHtml: _sfc_main$1j,
24384
- SearchBoxProductAddToCart: _sfc_main$1i
24431
+ SearchBoxProductImage: _sfc_main$1v,
24432
+ SearchBoxProductTitle: _sfc_main$1u,
24433
+ SearchBoxProductDescription: _sfc_main$1t,
24434
+ SearchBoxProductPrice: _sfc_main$1s,
24435
+ SearchBoxProductRegularPrice: _sfc_main$1r,
24436
+ SearchBoxProductCustom: _sfc_main$1q,
24437
+ SearchBoxProductCustomHtml: _sfc_main$1p,
24438
+ SearchBoxProductAddToCart: _sfc_main$1o
24385
24439
  }
24386
24440
  };
24387
- const _sfc_main$1h = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
24441
+ const _sfc_main$1n = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
24388
24442
  __name: "SearchBoxProductElement",
24389
24443
  props: {
24390
24444
  item: {},
@@ -24456,7 +24510,7 @@ const _sfc_main$1h = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
24456
24510
  "dynamic-attributes": dynamicAttributes.value,
24457
24511
  link: _ctx.link
24458
24512
  }, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes", "link"])) : createCommentVNode("", true)
24459
- ], 64)) : (openBlock(), createElementBlock("div", _hoisted_1$17, [
24513
+ ], 64)) : (openBlock(), createElementBlock("div", _hoisted_1$1a, [
24460
24514
  displayElement.value ? (openBlock(), createBlock(resolveDynamicComponent(elementComponent.value), {
24461
24515
  key: 0,
24462
24516
  item: enhancedItem.value,
@@ -24471,14 +24525,14 @@ const _sfc_main$1h = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
24471
24525
  };
24472
24526
  }
24473
24527
  }));
24474
- const _hoisted_1$16 = { class: "lupa-badge-title" };
24475
- const _hoisted_2$N = ["src"];
24476
- const _hoisted_3$z = { key: 1 };
24477
- const _hoisted_4$p = {
24528
+ const _hoisted_1$19 = { class: "lupa-badge-title" };
24529
+ const _hoisted_2$P = ["src"];
24530
+ const _hoisted_3$B = { key: 1 };
24531
+ const _hoisted_4$r = {
24478
24532
  key: 0,
24479
24533
  class: "lupa-badge-full-text"
24480
24534
  };
24481
- const _sfc_main$1g = /* @__PURE__ */ defineComponent({
24535
+ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
24482
24536
  __name: "SearchResultGeneratedBadge",
24483
24537
  props: {
24484
24538
  options: {},
@@ -24511,20 +24565,20 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
24511
24565
  class: normalizeClass(["lupa-dynamic-badge", customClassName.value]),
24512
24566
  style: normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
24513
24567
  }, [
24514
- createElementVNode("span", _hoisted_1$16, [
24568
+ createElementVNode("span", _hoisted_1$19, [
24515
24569
  image.value ? (openBlock(), createElementBlock("img", {
24516
24570
  key: 0,
24517
24571
  src: image.value
24518
- }, null, 8, _hoisted_2$N)) : createCommentVNode("", true),
24519
- hasTitleText.value && showTitle.value ? (openBlock(), createElementBlock("span", _hoisted_3$z, toDisplayString(_ctx.badge.titleText), 1)) : createCommentVNode("", true)
24572
+ }, null, 8, _hoisted_2$P)) : createCommentVNode("", true),
24573
+ hasTitleText.value && showTitle.value ? (openBlock(), createElementBlock("span", _hoisted_3$B, toDisplayString(_ctx.badge.titleText), 1)) : createCommentVNode("", true)
24520
24574
  ]),
24521
- hasAdditionalText.value ? (openBlock(), createElementBlock("span", _hoisted_4$p, toDisplayString(_ctx.badge.additionalText), 1)) : createCommentVNode("", true)
24575
+ hasAdditionalText.value ? (openBlock(), createElementBlock("span", _hoisted_4$r, toDisplayString(_ctx.badge.additionalText), 1)) : createCommentVNode("", true)
24522
24576
  ], 6);
24523
24577
  };
24524
24578
  }
24525
24579
  });
24526
- const _hoisted_1$15 = { class: "lupa-generated-badges" };
24527
- const _sfc_main$1f = /* @__PURE__ */ defineComponent({
24580
+ const _hoisted_1$18 = { class: "lupa-generated-badges" };
24581
+ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
24528
24582
  __name: "SearchResultGeneratedBadges",
24529
24583
  props: {
24530
24584
  options: {}
@@ -24550,9 +24604,9 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
24550
24604
  })).filter((b) => Boolean(b.id));
24551
24605
  });
24552
24606
  return (_ctx, _cache) => {
24553
- return openBlock(), createElementBlock("div", _hoisted_1$15, [
24607
+ return openBlock(), createElementBlock("div", _hoisted_1$18, [
24554
24608
  (openBlock(true), createElementBlock(Fragment, null, renderList(badges.value, (badge) => {
24555
- return openBlock(), createBlock(_sfc_main$1g, {
24609
+ return openBlock(), createBlock(_sfc_main$1m, {
24556
24610
  key: badge.id,
24557
24611
  badge,
24558
24612
  options: _ctx.options
@@ -24562,8 +24616,8 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
24562
24616
  };
24563
24617
  }
24564
24618
  });
24565
- const _hoisted_1$14 = ["innerHTML"];
24566
- const _sfc_main$1e = /* @__PURE__ */ defineComponent({
24619
+ const _hoisted_1$17 = ["innerHTML"];
24620
+ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
24567
24621
  __name: "CustomBadge",
24568
24622
  props: {
24569
24623
  badge: {}
@@ -24584,12 +24638,12 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
24584
24638
  return openBlock(), createElementBlock("div", {
24585
24639
  class: normalizeClass(className.value),
24586
24640
  innerHTML: text.value
24587
- }, null, 10, _hoisted_1$14);
24641
+ }, null, 10, _hoisted_1$17);
24588
24642
  };
24589
24643
  }
24590
24644
  });
24591
- const _hoisted_1$13 = { class: "lupa-text-badges" };
24592
- const _sfc_main$1d = /* @__PURE__ */ defineComponent({
24645
+ const _hoisted_1$16 = { class: "lupa-text-badges" };
24646
+ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
24593
24647
  __name: "TextBadge",
24594
24648
  props: {
24595
24649
  badge: {}
@@ -24603,7 +24657,7 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
24603
24657
  return badges.value.slice(0, props.badge.maxItems);
24604
24658
  });
24605
24659
  return (_ctx, _cache) => {
24606
- return openBlock(), createElementBlock("div", _hoisted_1$13, [
24660
+ return openBlock(), createElementBlock("div", _hoisted_1$16, [
24607
24661
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayBadges.value, (item) => {
24608
24662
  return openBlock(), createElementBlock("div", {
24609
24663
  class: "lupa-badge lupa-text-badge",
@@ -24614,9 +24668,9 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
24614
24668
  };
24615
24669
  }
24616
24670
  });
24617
- const _hoisted_1$12 = { class: "lupa-image-badges" };
24618
- const _hoisted_2$M = ["src"];
24619
- const _sfc_main$1c = /* @__PURE__ */ defineComponent({
24671
+ const _hoisted_1$15 = { class: "lupa-image-badges" };
24672
+ const _hoisted_2$O = ["src"];
24673
+ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
24620
24674
  __name: "ImageBadge",
24621
24675
  props: {
24622
24676
  badge: {}
@@ -24636,7 +24690,7 @@ const _sfc_main$1c = /* @__PURE__ */ defineComponent({
24636
24690
  return `${props.badge.rootImageUrl}${src}`;
24637
24691
  };
24638
24692
  return (_ctx, _cache) => {
24639
- return openBlock(), createElementBlock("div", _hoisted_1$12, [
24693
+ return openBlock(), createElementBlock("div", _hoisted_1$15, [
24640
24694
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayBadges.value, (item) => {
24641
24695
  return openBlock(), createElementBlock("div", {
24642
24696
  class: "lupa-badge lupa-image-badge",
@@ -24644,14 +24698,14 @@ const _sfc_main$1c = /* @__PURE__ */ defineComponent({
24644
24698
  }, [
24645
24699
  createElementVNode("img", {
24646
24700
  src: getImageUrl(item)
24647
- }, null, 8, _hoisted_2$M)
24701
+ }, null, 8, _hoisted_2$O)
24648
24702
  ]);
24649
24703
  }), 128))
24650
24704
  ]);
24651
24705
  };
24652
24706
  }
24653
24707
  });
24654
- const _sfc_main$1b = /* @__PURE__ */ defineComponent({
24708
+ const _sfc_main$1h = /* @__PURE__ */ defineComponent({
24655
24709
  __name: "DiscountBadge",
24656
24710
  props: {
24657
24711
  badge: {}
@@ -24713,16 +24767,16 @@ const _sfc_main$1b = /* @__PURE__ */ defineComponent({
24713
24767
  };
24714
24768
  }
24715
24769
  });
24716
- const _hoisted_1$11 = { id: "lupa-search-results-badges" };
24770
+ const _hoisted_1$14 = { id: "lupa-search-results-badges" };
24717
24771
  const __default__$3 = {
24718
24772
  components: {
24719
- CustomBadge: _sfc_main$1e,
24720
- TextBadge: _sfc_main$1d,
24721
- ImageBadge: _sfc_main$1c,
24722
- DiscountBadge: _sfc_main$1b
24773
+ CustomBadge: _sfc_main$1k,
24774
+ TextBadge: _sfc_main$1j,
24775
+ ImageBadge: _sfc_main$1i,
24776
+ DiscountBadge: _sfc_main$1h
24723
24777
  }
24724
24778
  };
24725
- const _sfc_main$1a = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
24779
+ const _sfc_main$1g = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
24726
24780
  __name: "SearchResultsBadgeWrapper",
24727
24781
  props: {
24728
24782
  position: {},
@@ -24785,7 +24839,7 @@ const _sfc_main$1a = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
24785
24839
  }
24786
24840
  };
24787
24841
  return (_ctx, _cache) => {
24788
- return openBlock(), createElementBlock("div", _hoisted_1$11, [
24842
+ return openBlock(), createElementBlock("div", _hoisted_1$14, [
24789
24843
  createElementVNode("div", {
24790
24844
  id: "lupa-badges",
24791
24845
  class: normalizeClass(anchorPosition.value)
@@ -24796,7 +24850,7 @@ const _sfc_main$1a = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
24796
24850
  badge
24797
24851
  }, null, 8, ["badge"]);
24798
24852
  }), 128)),
24799
- positionValue.value === "card" ? (openBlock(), createBlock(_sfc_main$1f, {
24853
+ positionValue.value === "card" ? (openBlock(), createBlock(_sfc_main$1l, {
24800
24854
  key: 0,
24801
24855
  options: _ctx.options
24802
24856
  }, null, 8, ["options"])) : createCommentVNode("", true)
@@ -24805,13 +24859,13 @@ const _sfc_main$1a = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
24805
24859
  };
24806
24860
  }
24807
24861
  }));
24808
- const _hoisted_1$10 = ["href"];
24809
- const _hoisted_2$L = { class: "lupa-search-box-product-details-section" };
24810
- const _hoisted_3$y = {
24862
+ const _hoisted_1$13 = ["href"];
24863
+ const _hoisted_2$N = { class: "lupa-search-box-product-details-section" };
24864
+ const _hoisted_3$A = {
24811
24865
  key: 0,
24812
24866
  class: "lupa-search-box-product-add-to-cart-section"
24813
24867
  };
24814
- const _sfc_main$19 = /* @__PURE__ */ defineComponent({
24868
+ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
24815
24869
  __name: "SearchBoxProduct",
24816
24870
  props: {
24817
24871
  item: {},
@@ -24917,7 +24971,7 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
24917
24971
  style: normalizeStyle(imageStyleOverride.value)
24918
24972
  }, [
24919
24973
  (openBlock(true), createElementBlock(Fragment, null, renderList(imageElements.value, (element) => {
24920
- return openBlock(), createBlock(_sfc_main$1h, {
24974
+ return openBlock(), createBlock(_sfc_main$1n, {
24921
24975
  class: "lupa-search-box-product-element",
24922
24976
  key: element.key,
24923
24977
  item: _ctx.item,
@@ -24927,10 +24981,10 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
24927
24981
  }, null, 8, ["item", "element", "labels", "link"]);
24928
24982
  }), 128))
24929
24983
  ], 4),
24930
- createElementVNode("div", _hoisted_2$L, [
24984
+ createElementVNode("div", _hoisted_2$N, [
24931
24985
  (openBlock(true), createElementBlock(Fragment, null, renderList(detailElements.value, (element) => {
24932
24986
  var _a25;
24933
- return openBlock(), createBlock(_sfc_main$1h, {
24987
+ return openBlock(), createBlock(_sfc_main$1n, {
24934
24988
  class: "lupa-search-box-product-element",
24935
24989
  key: element.key,
24936
24990
  item: _ctx.item,
@@ -24941,7 +24995,7 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
24941
24995
  ((_a25 = badgeOptions.value) == null ? void 0 : _a25.anchorElementKey) === element.key ? {
24942
24996
  name: "badges",
24943
24997
  fn: withCtx(() => [
24944
- createVNode(_sfc_main$1a, {
24998
+ createVNode(_sfc_main$1g, {
24945
24999
  options: badgeOptions.value,
24946
25000
  position: "card"
24947
25001
  }, null, 8, ["options"])
@@ -24957,7 +25011,7 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
24957
25011
  class: normalizeClass(`lupa-search-box-group-${group}`)
24958
25012
  }, [
24959
25013
  (openBlock(true), createElementBlock(Fragment, null, renderList(getGroupElements(group), (element) => {
24960
- return openBlock(), createBlock(_sfc_main$1h, {
25014
+ return openBlock(), createBlock(_sfc_main$1n, {
24961
25015
  class: "lupa-search-box-product-element",
24962
25016
  key: element.key,
24963
25017
  item: _ctx.item,
@@ -24969,8 +25023,8 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
24969
25023
  }), 128))
24970
25024
  ], 2);
24971
25025
  }), 128)),
24972
- addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_3$y, [
24973
- createVNode(_sfc_main$1h, {
25026
+ addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_3$A, [
25027
+ createVNode(_sfc_main$1n, {
24974
25028
  class: "lupa-search-box-product-element",
24975
25029
  item: _ctx.item,
24976
25030
  element: addToCartElement.value,
@@ -24979,7 +25033,7 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
24979
25033
  isInStock: isInStock.value
24980
25034
  }, null, 8, ["item", "element", "labels", "link", "isInStock"])
24981
25035
  ])) : createCommentVNode("", true)
24982
- ], 16, _hoisted_1$10);
25036
+ ], 16, _hoisted_1$13);
24983
25037
  };
24984
25038
  }
24985
25039
  });
@@ -25051,8 +25105,8 @@ const useTrackingStore = /* @__PURE__ */ defineStore("tracking", () => {
25051
25105
  };
25052
25106
  return { trackSearch, trackResults, trackEvent, trackDelayedEvent };
25053
25107
  });
25054
- const _hoisted_1$$ = { id: "lupa-search-box-products" };
25055
- const _sfc_main$18 = /* @__PURE__ */ defineComponent({
25108
+ const _hoisted_1$12 = { id: "lupa-search-box-products" };
25109
+ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
25056
25110
  __name: "SearchBoxProducts",
25057
25111
  props: {
25058
25112
  items: {},
@@ -25124,7 +25178,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
25124
25178
  }
25125
25179
  };
25126
25180
  return (_ctx, _cache) => {
25127
- return openBlock(), createElementBlock("div", _hoisted_1$$, [
25181
+ return openBlock(), createElementBlock("div", _hoisted_1$12, [
25128
25182
  _ctx.$slots.productCard ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.items, (item, index) => {
25129
25183
  return renderSlot(_ctx.$slots, "productCard", {
25130
25184
  key: index,
@@ -25136,7 +25190,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
25136
25190
  itemClicked: handleProductClick
25137
25191
  });
25138
25192
  }), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(_ctx.items, (item, index) => {
25139
- return openBlock(), createBlock(_sfc_main$19, {
25193
+ return openBlock(), createBlock(_sfc_main$1f, {
25140
25194
  key: index,
25141
25195
  item,
25142
25196
  panelOptions: _ctx.panelOptions,
@@ -25151,9 +25205,9 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
25151
25205
  };
25152
25206
  }
25153
25207
  });
25154
- const _hoisted_1$_ = { class: "lupa-search-box-documents-go-to-results-wrapper" };
25155
- const _hoisted_2$K = { key: 0 };
25156
- const _sfc_main$17 = /* @__PURE__ */ defineComponent({
25208
+ const _hoisted_1$11 = { class: "lupa-search-box-documents-go-to-results-wrapper" };
25209
+ const _hoisted_2$M = { key: 0 };
25210
+ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
25157
25211
  __name: "SearchBoxProductsGoToResultsButton",
25158
25212
  props: {
25159
25213
  options: {},
@@ -25184,13 +25238,13 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
25184
25238
  emit("goToResults");
25185
25239
  };
25186
25240
  return (_ctx, _cache) => {
25187
- return openBlock(), createElementBlock("div", _hoisted_1$_, [
25241
+ return openBlock(), createElementBlock("div", _hoisted_1$11, [
25188
25242
  createElementVNode("button", {
25189
25243
  class: "lupa-search-box-documents-go-to-results-button",
25190
25244
  onClick: goToResults
25191
25245
  }, [
25192
25246
  createTextVNode(toDisplayString(goToResultsLabel.value) + " ", 1),
25193
- totalCount.value ? (openBlock(), createElementBlock("span", _hoisted_2$K, " " + toDisplayString(totalCount.value), 1)) : createCommentVNode("", true)
25247
+ totalCount.value ? (openBlock(), createElementBlock("span", _hoisted_2$M, " " + toDisplayString(totalCount.value), 1)) : createCommentVNode("", true)
25194
25248
  ])
25195
25249
  ]);
25196
25250
  };
@@ -25286,7 +25340,7 @@ const processExtractionObject = (value = {}) => {
25286
25340
  }
25287
25341
  return parsedObject;
25288
25342
  };
25289
- const _sfc_main$16 = /* @__PURE__ */ defineComponent({
25343
+ const _sfc_main$1c = /* @__PURE__ */ defineComponent({
25290
25344
  __name: "SearchBoxProductsWrapper",
25291
25345
  props: {
25292
25346
  panel: {},
@@ -25356,7 +25410,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
25356
25410
  watch(() => props.panel.limit, getItemsDebounced);
25357
25411
  return (_ctx, _cache) => {
25358
25412
  var _a25, _b25;
25359
- return openBlock(), createBlock(_sfc_main$18, {
25413
+ return openBlock(), createBlock(_sfc_main$1e, {
25360
25414
  items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
25361
25415
  panelOptions: _ctx.panel,
25362
25416
  labels: _ctx.labels,
@@ -25366,7 +25420,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
25366
25420
  default: withCtx(() => {
25367
25421
  var _a26;
25368
25422
  return [
25369
- showGoToResultsButton.value && ((_a26 = searchResult.value) == null ? void 0 : _a26.items.length) ? (openBlock(), createBlock(_sfc_main$17, {
25423
+ showGoToResultsButton.value && ((_a26 = searchResult.value) == null ? void 0 : _a26.items.length) ? (openBlock(), createBlock(_sfc_main$1d, {
25370
25424
  key: 0,
25371
25425
  options: _ctx.searchBoxOptions,
25372
25426
  panel: _ctx.panel,
@@ -25387,7 +25441,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
25387
25441
  };
25388
25442
  }
25389
25443
  });
25390
- const _sfc_main$15 = /* @__PURE__ */ defineComponent({
25444
+ const _sfc_main$1b = /* @__PURE__ */ defineComponent({
25391
25445
  __name: "SearchBoxRelatedSourceWrapper",
25392
25446
  props: {
25393
25447
  panel: {},
@@ -25459,7 +25513,7 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
25459
25513
  });
25460
25514
  return (_ctx, _cache) => {
25461
25515
  var _a25, _b25;
25462
- return openBlock(), createBlock(_sfc_main$18, {
25516
+ return openBlock(), createBlock(_sfc_main$1e, {
25463
25517
  items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
25464
25518
  panelOptions: documentPanelOptions.value,
25465
25519
  labels: _ctx.labels,
@@ -25477,31 +25531,31 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
25477
25531
  };
25478
25532
  }
25479
25533
  });
25480
- const _hoisted_1$Z = {
25534
+ const _hoisted_1$10 = {
25481
25535
  key: 0,
25482
25536
  id: "lupa-search-box-panel"
25483
25537
  };
25484
- const _hoisted_2$J = ["data-cy"];
25485
- const _hoisted_3$x = {
25538
+ const _hoisted_2$L = ["data-cy"];
25539
+ const _hoisted_3$z = {
25486
25540
  key: 0,
25487
25541
  class: "lupa-panel-title lupa-panel-title-top-results"
25488
25542
  };
25489
- const _hoisted_4$o = {
25543
+ const _hoisted_4$q = {
25490
25544
  key: 1,
25491
25545
  class: "lupa-panel-title"
25492
25546
  };
25493
- const _hoisted_5$g = {
25547
+ const _hoisted_5$h = {
25494
25548
  key: 1,
25495
25549
  id: "lupa-search-box-panel"
25496
25550
  };
25497
25551
  const __default__$2 = {
25498
25552
  components: {
25499
- SearchBoxSuggestionsWrapper: _sfc_main$1r,
25500
- SearchBoxProductsWrapper: _sfc_main$16,
25501
- SearchBoxRelatedSourceWrapper: _sfc_main$15
25553
+ SearchBoxSuggestionsWrapper: _sfc_main$1x,
25554
+ SearchBoxProductsWrapper: _sfc_main$1c,
25555
+ SearchBoxRelatedSourceWrapper: _sfc_main$1b
25502
25556
  }
25503
25557
  };
25504
- const _sfc_main$14 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
25558
+ const _sfc_main$1a = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
25505
25559
  __name: "SearchBoxMainPanel",
25506
25560
  props: {
25507
25561
  options: {},
@@ -25666,7 +25720,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
25666
25720
  ref_key: "panelContainer",
25667
25721
  ref: panelContainer
25668
25722
  }, [
25669
- displayResults.value ? (openBlock(), createElementBlock("div", _hoisted_1$Z, [
25723
+ displayResults.value ? (openBlock(), createElementBlock("div", _hoisted_1$10, [
25670
25724
  labels.value.closePanel ? (openBlock(), createElementBlock("a", {
25671
25725
  key: 0,
25672
25726
  class: "lupa-search-box-close-panel",
@@ -25688,8 +25742,8 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
25688
25742
  style: normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
25689
25743
  "data-cy": "lupa-panel-" + panel.type + "-index"
25690
25744
  }, [
25691
- ((_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),
25692
- ((_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),
25745
+ ((_a25 = panel.labels) == null ? void 0 : _a25.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (openBlock(), createElementBlock("div", _hoisted_3$z, toDisplayString((_b25 = panel.labels) == null ? void 0 : _b25.topResultsTitle), 1)) : createCommentVNode("", true),
25746
+ ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (openBlock(), createElementBlock("div", _hoisted_4$q, toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
25693
25747
  panel.queryKey && canShowPanel(panel) ? (openBlock(), createBlock(resolveDynamicComponent(getComponent(panel.type)), {
25694
25748
  key: 2,
25695
25749
  panel,
@@ -25711,21 +25765,21 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
25711
25765
  key: "0"
25712
25766
  } : void 0
25713
25767
  ]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : createCommentVNode("", true)
25714
- ], 14, _hoisted_2$J);
25768
+ ], 14, _hoisted_2$L);
25715
25769
  }), 128))
25716
25770
  ], 4),
25717
- !unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (openBlock(), createBlock(_sfc_main$1u, {
25771
+ !unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (openBlock(), createBlock(_sfc_main$1A, {
25718
25772
  key: 1,
25719
25773
  labels: labels.value
25720
25774
  }, null, 8, ["labels"])) : createCommentVNode("", true),
25721
- displayShowMoreResultsButton.value ? (openBlock(), createBlock(_sfc_main$1x, {
25775
+ displayShowMoreResultsButton.value ? (openBlock(), createBlock(_sfc_main$1D, {
25722
25776
  key: 2,
25723
25777
  labels: labels.value,
25724
25778
  options: _ctx.options,
25725
25779
  onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
25726
25780
  }, null, 8, ["labels", "options"])) : createCommentVNode("", true)
25727
- ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_5$g, [
25728
- createVNode(_sfc_main$1v, {
25781
+ ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_5$h, [
25782
+ createVNode(_sfc_main$1B, {
25729
25783
  options: _ctx.options.history,
25730
25784
  history: history.value,
25731
25785
  onGoToResults: handleGoToResults,
@@ -25750,8 +25804,8 @@ const unbindSearchTriggers = (triggers = [], event) => {
25750
25804
  const elements = getElements(triggers);
25751
25805
  elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
25752
25806
  };
25753
- const _hoisted_1$Y = { class: "lupa-search-box-wrapper" };
25754
- const _sfc_main$13 = /* @__PURE__ */ defineComponent({
25807
+ const _hoisted_1$$ = { class: "lupa-search-box-wrapper" };
25808
+ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
25755
25809
  __name: "SearchBox",
25756
25810
  props: {
25757
25811
  options: {},
@@ -26074,8 +26128,8 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
26074
26128
  id: "lupa-search-box",
26075
26129
  class: normalizeClass({ "lupa-search-box-opened": opened.value })
26076
26130
  }, [
26077
- createElementVNode("div", _hoisted_1$Y, [
26078
- createVNode(_sfc_main$1y, {
26131
+ createElementVNode("div", _hoisted_1$$, [
26132
+ createVNode(_sfc_main$1E, {
26079
26133
  options: inputOptions.value,
26080
26134
  suggestedValue: suggestedValue.value,
26081
26135
  "can-close": (_a26 = _ctx.isSearchContainer) != null ? _a26 : false,
@@ -26088,7 +26142,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
26088
26142
  onSearch: handleSearch,
26089
26143
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
26090
26144
  }, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
26091
- opened.value || _ctx.isSearchContainer ? (openBlock(), createBlock(_sfc_main$14, {
26145
+ opened.value || _ctx.isSearchContainer ? (openBlock(), createBlock(_sfc_main$1a, {
26092
26146
  key: 0,
26093
26147
  options: panelOptions.value,
26094
26148
  inputValue: inputValue.value,
@@ -26192,20 +26246,20 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
26192
26246
  options.options.onError(e2);
26193
26247
  }
26194
26248
  });
26195
- const _hoisted_1$X = {
26249
+ const _hoisted_1$_ = {
26196
26250
  key: 0,
26197
26251
  id: "lupa-search-results-did-you-mean"
26198
26252
  };
26199
- const _hoisted_2$I = {
26253
+ const _hoisted_2$K = {
26200
26254
  key: 0,
26201
26255
  "data-cy": "suggested-search-text-label"
26202
26256
  };
26203
- const _hoisted_3$w = {
26257
+ const _hoisted_3$y = {
26204
26258
  key: 1,
26205
26259
  "data-cy": "did-you-mean-label"
26206
26260
  };
26207
- const _hoisted_4$n = { key: 1 };
26208
- const _sfc_main$12 = /* @__PURE__ */ defineComponent({
26261
+ const _hoisted_4$p = { key: 1 };
26262
+ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
26209
26263
  __name: "SearchResultsDidYouMean",
26210
26264
  props: {
26211
26265
  labels: {}
@@ -26237,8 +26291,8 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
26237
26291
  paramStore.goToResults({ searchText, facet });
26238
26292
  };
26239
26293
  return (_ctx, _cache) => {
26240
- return unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (openBlock(), createElementBlock("div", _hoisted_1$X, [
26241
- unref(searchResult).suggestedSearchText ? (openBlock(), createElementBlock("div", _hoisted_2$I, [
26294
+ return unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (openBlock(), createElementBlock("div", _hoisted_1$_, [
26295
+ unref(searchResult).suggestedSearchText ? (openBlock(), createElementBlock("div", _hoisted_2$K, [
26242
26296
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
26243
26297
  return openBlock(), createElementBlock("span", { key: index }, [
26244
26298
  createElementVNode("span", {
@@ -26247,7 +26301,7 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
26247
26301
  ]);
26248
26302
  }), 128))
26249
26303
  ])) : createCommentVNode("", true),
26250
- didYouMeanValue.value ? (openBlock(), createElementBlock("div", _hoisted_3$w, [
26304
+ didYouMeanValue.value ? (openBlock(), createElementBlock("div", _hoisted_3$y, [
26251
26305
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.labels.didYouMean.split(" "), (label, index) => {
26252
26306
  return openBlock(), createElementBlock("span", { key: index }, [
26253
26307
  label.includes("{1}") ? (openBlock(), createElementBlock("span", {
@@ -26255,7 +26309,7 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
26255
26309
  class: "lupa-did-you-mean lupa-highlighted-search-text",
26256
26310
  "data-cy": "did-you-mean-value",
26257
26311
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
26258
- }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$n, toDisplayString(label) + " ", 1))
26312
+ }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$p, toDisplayString(label) + " ", 1))
26259
26313
  ]);
26260
26314
  }), 128))
26261
26315
  ])) : createCommentVNode("", true)
@@ -26263,12 +26317,12 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
26263
26317
  };
26264
26318
  }
26265
26319
  });
26266
- const _hoisted_1$W = {
26320
+ const _hoisted_1$Z = {
26267
26321
  key: 0,
26268
26322
  class: "lupa-search-results-summary"
26269
26323
  };
26270
- const _hoisted_2$H = ["innerHTML"];
26271
- const _sfc_main$11 = /* @__PURE__ */ defineComponent({
26324
+ const _hoisted_2$J = ["innerHTML"];
26325
+ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
26272
26326
  __name: "SearchResultsSummary",
26273
26327
  props: {
26274
26328
  label: {},
@@ -26283,8 +26337,8 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
26283
26337
  return addParamsToLabel(props.label, range2, `<span>${totalItems.value}</span>`);
26284
26338
  });
26285
26339
  return (_ctx, _cache) => {
26286
- return unref(totalItems) > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$W, [
26287
- createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$H),
26340
+ return unref(totalItems) > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$Z, [
26341
+ createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$J),
26288
26342
  _ctx.clearable ? (openBlock(), createElementBlock("span", {
26289
26343
  key: 0,
26290
26344
  class: "lupa-filter-clear",
@@ -26295,19 +26349,19 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
26295
26349
  };
26296
26350
  }
26297
26351
  });
26298
- const _hoisted_1$V = {
26352
+ const _hoisted_1$Y = {
26299
26353
  key: 0,
26300
26354
  class: "lupa-result-page-title",
26301
26355
  "data-cy": "lupa-result-page-title"
26302
26356
  };
26303
- const _hoisted_2$G = { key: 0 };
26304
- const _hoisted_3$v = {
26357
+ const _hoisted_2$I = { key: 0 };
26358
+ const _hoisted_3$x = {
26305
26359
  key: 1,
26306
26360
  class: "lupa-results-total-count"
26307
26361
  };
26308
- const _hoisted_4$m = { class: "lupa-results-total-count-number" };
26309
- const _hoisted_5$f = ["innerHTML"];
26310
- const _sfc_main$10 = /* @__PURE__ */ defineComponent({
26362
+ const _hoisted_4$o = { class: "lupa-results-total-count-number" };
26363
+ const _hoisted_5$g = ["innerHTML"];
26364
+ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
26311
26365
  __name: "SearchResultsTitle",
26312
26366
  props: {
26313
26367
  options: {},
@@ -26350,16 +26404,16 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
26350
26404
  });
26351
26405
  return (_ctx, _cache) => {
26352
26406
  return openBlock(), createElementBlock("div", null, [
26353
- showSearchTitle.value ? (openBlock(), createElementBlock("h1", _hoisted_1$V, [
26407
+ showSearchTitle.value ? (openBlock(), createElementBlock("h1", _hoisted_1$Y, [
26354
26408
  createTextVNode(toDisplayString(searchResultsTitleTemplate.value || _ctx.options.labels.searchResults), 1),
26355
- queryText.value && !searchResultsTitleTemplate.value ? (openBlock(), createElementBlock("span", _hoisted_2$G, "'" + toDisplayString(queryText.value) + "'", 1)) : createCommentVNode("", true),
26356
- showProductCount.value ? (openBlock(), createElementBlock("span", _hoisted_3$v, [
26409
+ queryText.value && !searchResultsTitleTemplate.value ? (openBlock(), createElementBlock("span", _hoisted_2$I, "'" + toDisplayString(queryText.value) + "'", 1)) : createCommentVNode("", true),
26410
+ showProductCount.value ? (openBlock(), createElementBlock("span", _hoisted_3$x, [
26357
26411
  createTextVNode("(" + toDisplayString(searchResultsCountLabel.value), 1),
26358
- createElementVNode("span", _hoisted_4$m, toDisplayString(unref(totalItems)), 1),
26412
+ createElementVNode("span", _hoisted_4$o, toDisplayString(unref(totalItems)), 1),
26359
26413
  _cache[0] || (_cache[0] = createTextVNode(")"))
26360
26414
  ])) : createCommentVNode("", true)
26361
26415
  ])) : createCommentVNode("", true),
26362
- _ctx.showSummary ? (openBlock(), createBlock(_sfc_main$11, {
26416
+ _ctx.showSummary ? (openBlock(), createBlock(_sfc_main$17, {
26363
26417
  key: 1,
26364
26418
  label: summaryLabel.value
26365
26419
  }, null, 8, ["label"])) : createCommentVNode("", true),
@@ -26367,20 +26421,20 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
26367
26421
  key: 2,
26368
26422
  class: "lupa-result-page-description-top",
26369
26423
  innerHTML: descriptionTop.value
26370
- }, null, 8, _hoisted_5$f)) : createCommentVNode("", true)
26424
+ }, null, 8, _hoisted_5$g)) : createCommentVNode("", true)
26371
26425
  ]);
26372
26426
  };
26373
26427
  }
26374
26428
  });
26375
- const _hoisted_1$U = {
26429
+ const _hoisted_1$X = {
26376
26430
  class: "lupa-current-filter-label",
26377
26431
  "data-cy": "lupa-current-filter-label"
26378
26432
  };
26379
- const _hoisted_2$F = {
26433
+ const _hoisted_2$H = {
26380
26434
  class: "lupa-current-filter-value",
26381
26435
  "data-cy": "lupa-current-filter-value"
26382
26436
  };
26383
- const _sfc_main$$ = /* @__PURE__ */ defineComponent({
26437
+ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
26384
26438
  __name: "CurrentFilterDisplay",
26385
26439
  props: {
26386
26440
  filter: {}
@@ -26422,23 +26476,23 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
26422
26476
  onClick: handleClick,
26423
26477
  "aria-label": "Remove filter"
26424
26478
  }, "⨉"),
26425
- createElementVNode("div", _hoisted_1$U, toDisplayString(_ctx.filter.label) + ": ", 1),
26426
- createElementVNode("div", _hoisted_2$F, toDisplayString(formatFilterValue(props.filter)), 1)
26479
+ createElementVNode("div", _hoisted_1$X, toDisplayString(_ctx.filter.label) + ": ", 1),
26480
+ createElementVNode("div", _hoisted_2$H, toDisplayString(formatFilterValue(props.filter)), 1)
26427
26481
  ], 2);
26428
26482
  };
26429
26483
  }
26430
26484
  });
26431
- const _hoisted_1$T = { class: "lupa-filter-title-text" };
26432
- const _hoisted_2$E = {
26485
+ const _hoisted_1$W = { class: "lupa-filter-title-text" };
26486
+ const _hoisted_2$G = {
26433
26487
  key: 0,
26434
26488
  class: "lupa-filter-count"
26435
26489
  };
26436
- const _hoisted_3$u = {
26490
+ const _hoisted_3$w = {
26437
26491
  key: 0,
26438
26492
  class: "filter-values"
26439
26493
  };
26440
- const _hoisted_4$l = { class: "lupa-current-filter-list" };
26441
- const _sfc_main$_ = /* @__PURE__ */ defineComponent({
26494
+ const _hoisted_4$n = { class: "lupa-current-filter-list" };
26495
+ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
26442
26496
  __name: "CurrentFilters",
26443
26497
  props: {
26444
26498
  options: {},
@@ -26447,12 +26501,10 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
26447
26501
  setup(__props) {
26448
26502
  const optionsStore = useOptionsStore();
26449
26503
  const { searchResultOptions } = storeToRefs(optionsStore);
26450
- const units = computed(
26451
- () => {
26452
- var _a25, _b25, _c, _d, _e;
26453
- return (_e = (_d = (_c = (_b25 = (_a25 = searchResultOptions == null ? void 0 : searchResultOptions.value) == null ? void 0 : _a25.filters) == null ? void 0 : _b25.facets) == null ? void 0 : _c.stats) == null ? void 0 : _d.units) != null ? _e : {};
26454
- }
26455
- );
26504
+ const units = computed(() => {
26505
+ var _a25, _b25, _c, _d, _e;
26506
+ return (_e = (_d = (_c = (_b25 = (_a25 = searchResultOptions == null ? void 0 : searchResultOptions.value) == null ? void 0 : _a25.filters) == null ? void 0 : _b25.facets) == null ? void 0 : _c.stats) == null ? void 0 : _d.units) != null ? _e : {};
26507
+ });
26456
26508
  const isOpen = ref(false);
26457
26509
  const paramsStore = useParamsStore();
26458
26510
  const optionStore = useOptionsStore();
@@ -26502,7 +26554,8 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
26502
26554
  paramsStore.removeParameters({
26503
26555
  paramsToRemove: [
26504
26556
  optionStore.getQueryParamName(QUERY_PARAMS.PAGE),
26505
- `${FACET_PARAMS_TYPE.RANGE}${filter.key}`
26557
+ `${FACET_PARAMS_TYPE.RANGE}${filter.key}`,
26558
+ `${FACET_PARAMS_TYPE.PARTIAL_RANGE}${filter.key}`
26506
26559
  ]
26507
26560
  });
26508
26561
  break;
@@ -26519,19 +26572,19 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
26519
26572
  class: "lupa-current-filter-title",
26520
26573
  onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
26521
26574
  }, [
26522
- createElementVNode("div", _hoisted_1$T, [
26575
+ createElementVNode("div", _hoisted_1$W, [
26523
26576
  createTextVNode(toDisplayString((_c = (_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) != null ? _c : "") + " ", 1),
26524
- _ctx.expandable ? (openBlock(), createElementBlock("span", _hoisted_2$E, " (" + toDisplayString(unref(currentFilterCount)) + ") ", 1)) : createCommentVNode("", true)
26577
+ _ctx.expandable ? (openBlock(), createElementBlock("span", _hoisted_2$G, " (" + toDisplayString(unref(currentFilterCount)) + ") ", 1)) : createCommentVNode("", true)
26525
26578
  ]),
26526
26579
  _ctx.expandable ? (openBlock(), createElementBlock("div", {
26527
26580
  key: 0,
26528
26581
  class: normalizeClass(["lupa-filter-title-caret", isOpen.value && "open"])
26529
26582
  }, null, 2)) : createCommentVNode("", true)
26530
26583
  ]),
26531
- !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$u, [
26532
- createElementVNode("div", _hoisted_4$l, [
26584
+ !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$w, [
26585
+ createElementVNode("div", _hoisted_4$n, [
26533
26586
  (openBlock(true), createElementBlock(Fragment, null, renderList(currentDisplayFilters.value, (filter) => {
26534
- return openBlock(), createBlock(_sfc_main$$, {
26587
+ return openBlock(), createBlock(_sfc_main$15, {
26535
26588
  key: filter.key + "_" + filter.value,
26536
26589
  filter,
26537
26590
  units: units.value,
@@ -26549,8 +26602,8 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
26549
26602
  };
26550
26603
  }
26551
26604
  });
26552
- const _hoisted_1$S = ["href"];
26553
- const _sfc_main$Z = /* @__PURE__ */ defineComponent({
26605
+ const _hoisted_1$V = ["href"];
26606
+ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
26554
26607
  __name: "CategoryFilterItem",
26555
26608
  props: {
26556
26609
  options: {},
@@ -26587,20 +26640,20 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
26587
26640
  "data-cy": "lupa-child-category-item",
26588
26641
  href: urlLink.value,
26589
26642
  onClick: handleNavigation
26590
- }, toDisplayString(title.value), 9, _hoisted_1$S)
26643
+ }, toDisplayString(title.value), 9, _hoisted_1$V)
26591
26644
  ], 2);
26592
26645
  };
26593
26646
  }
26594
26647
  });
26595
- const _hoisted_1$R = {
26648
+ const _hoisted_1$U = {
26596
26649
  class: "lupa-category-filter",
26597
26650
  "data-cy": "lupa-category-filter"
26598
26651
  };
26599
- const _hoisted_2$D = { class: "lupa-category-back" };
26600
- const _hoisted_3$t = ["href"];
26601
- const _hoisted_4$k = ["href"];
26602
- const _hoisted_5$e = { class: "lupa-child-category-list" };
26603
- const _sfc_main$Y = /* @__PURE__ */ defineComponent({
26652
+ const _hoisted_2$F = { class: "lupa-category-back" };
26653
+ const _hoisted_3$v = ["href"];
26654
+ const _hoisted_4$m = ["href"];
26655
+ const _hoisted_5$f = { class: "lupa-child-category-list" };
26656
+ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
26604
26657
  __name: "CategoryFilter",
26605
26658
  props: {
26606
26659
  options: {}
@@ -26688,14 +26741,14 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
26688
26741
  };
26689
26742
  __expose({ fetch: fetch2 });
26690
26743
  return (_ctx, _cache) => {
26691
- return openBlock(), createElementBlock("div", _hoisted_1$R, [
26692
- createElementVNode("div", _hoisted_2$D, [
26744
+ return openBlock(), createElementBlock("div", _hoisted_1$U, [
26745
+ createElementVNode("div", _hoisted_2$F, [
26693
26746
  hasBackButton.value ? (openBlock(), createElementBlock("a", {
26694
26747
  key: 0,
26695
26748
  "data-cy": "lupa-category-back",
26696
26749
  href: backUrlLink.value,
26697
26750
  onClick: handleNavigationBack
26698
- }, toDisplayString(backTitle.value), 9, _hoisted_3$t)) : createCommentVNode("", true)
26751
+ }, toDisplayString(backTitle.value), 9, _hoisted_3$v)) : createCommentVNode("", true)
26699
26752
  ]),
26700
26753
  createElementVNode("div", {
26701
26754
  class: normalizeClass(["lupa-current-category", { "lupa-current-category-active": isActive }])
@@ -26705,11 +26758,11 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
26705
26758
  href: parentUrlLink.value,
26706
26759
  class: normalizeClass({ "lupa-title-category": !hasBackButton.value }),
26707
26760
  onClick: handleNavigationParent
26708
- }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
26761
+ }, toDisplayString(parentTitle.value), 11, _hoisted_4$m)
26709
26762
  ], 2),
26710
- createElementVNode("div", _hoisted_5$e, [
26763
+ createElementVNode("div", _hoisted_5$f, [
26711
26764
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
26712
- return openBlock(), createBlock(_sfc_main$Z, {
26765
+ return openBlock(), createBlock(_sfc_main$13, {
26713
26766
  key: getCategoryKey(child),
26714
26767
  item: child,
26715
26768
  options: _ctx.options
@@ -26720,22 +26773,22 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
26720
26773
  };
26721
26774
  }
26722
26775
  });
26723
- const _hoisted_1$Q = {
26776
+ const _hoisted_1$T = {
26724
26777
  class: "lupa-search-result-facet-term-values",
26725
26778
  "data-cy": "lupa-search-result-facet-term-values"
26726
26779
  };
26727
- const _hoisted_2$C = ["placeholder"];
26728
- const _hoisted_3$s = { class: "lupa-terms-list" };
26729
- const _hoisted_4$j = ["onClick"];
26730
- const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
26731
- const _hoisted_6$7 = { class: "lupa-term-label" };
26780
+ const _hoisted_2$E = ["placeholder"];
26781
+ const _hoisted_3$u = { class: "lupa-terms-list" };
26782
+ const _hoisted_4$l = ["onClick"];
26783
+ const _hoisted_5$e = { class: "lupa-term-checkbox-wrapper" };
26784
+ const _hoisted_6$6 = { class: "lupa-term-label" };
26732
26785
  const _hoisted_7$4 = {
26733
26786
  key: 0,
26734
26787
  class: "lupa-term-count"
26735
26788
  };
26736
26789
  const _hoisted_8$2 = { key: 0 };
26737
26790
  const _hoisted_9$2 = { key: 1 };
26738
- const _sfc_main$X = /* @__PURE__ */ defineComponent({
26791
+ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
26739
26792
  __name: "TermFacet",
26740
26793
  props: {
26741
26794
  options: {},
@@ -26801,7 +26854,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
26801
26854
  emit("select", {
26802
26855
  key: facet.value.key,
26803
26856
  value,
26804
- type: facet.value.type
26857
+ type: facet.value.type === "range" ? "partialRange" : facet.value.type
26805
26858
  });
26806
26859
  };
26807
26860
  const toggleShowAll = () => {
@@ -26829,17 +26882,17 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
26829
26882
  }
26830
26883
  };
26831
26884
  return (_ctx, _cache) => {
26832
- return openBlock(), createElementBlock("div", _hoisted_1$Q, [
26885
+ return openBlock(), createElementBlock("div", _hoisted_1$T, [
26833
26886
  isFilterable.value ? withDirectives((openBlock(), createElementBlock("input", {
26834
26887
  key: 0,
26835
26888
  class: "lupa-term-filter",
26836
26889
  "data-cy": "lupa-term-filter",
26837
26890
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
26838
26891
  placeholder: _ctx.options.labels.facetFilter
26839
- }, null, 8, _hoisted_2$C)), [
26892
+ }, null, 8, _hoisted_2$E)), [
26840
26893
  [vModelText, termFilter.value]
26841
26894
  ]) : createCommentVNode("", true),
26842
- createElementVNode("div", _hoisted_3$s, [
26895
+ createElementVNode("div", _hoisted_3$u, [
26843
26896
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayValues.value, (item) => {
26844
26897
  return openBlock(), createElementBlock("div", {
26845
26898
  class: normalizeClass(["lupa-facet-term", { checked: isChecked(item) }]),
@@ -26847,7 +26900,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
26847
26900
  key: item.title,
26848
26901
  onClick: ($event) => handleFacetClick(item)
26849
26902
  }, [
26850
- createElementVNode("div", _hoisted_5$d, [
26903
+ createElementVNode("div", _hoisted_5$e, [
26851
26904
  createElementVNode("span", {
26852
26905
  class: normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
26853
26906
  }, null, 2)
@@ -26855,10 +26908,10 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
26855
26908
  createElementVNode("div", {
26856
26909
  class: normalizeClass(["lupa-term-checkbox-label", { [getFacetValueClass(item)]: true }])
26857
26910
  }, [
26858
- createElementVNode("span", _hoisted_6$7, toDisplayString(getItemLabel(item)), 1),
26911
+ createElementVNode("span", _hoisted_6$6, toDisplayString(getItemLabel(item)), 1),
26859
26912
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_7$4, "(" + toDisplayString(item.count) + ")", 1)) : createCommentVNode("", true)
26860
26913
  ], 2)
26861
- ], 10, _hoisted_4$j);
26914
+ ], 10, _hoisted_4$l);
26862
26915
  }), 128))
26863
26916
  ]),
26864
26917
  displayShowMore.value ? (openBlock(), createElementBlock("div", {
@@ -27778,21 +27831,21 @@ const roundToMaxDecimals = (value, maxPrecision = 0.1) => {
27778
27831
  }
27779
27832
  return out;
27780
27833
  };
27781
- const _hoisted_1$P = { class: "lupa-search-result-facet-stats-values" };
27782
- const _hoisted_2$B = {
27834
+ const _hoisted_1$S = { class: "lupa-search-result-facet-stats-values" };
27835
+ const _hoisted_2$D = {
27783
27836
  key: 0,
27784
27837
  class: "lupa-stats-facet-summary"
27785
27838
  };
27786
- const _hoisted_3$r = {
27839
+ const _hoisted_3$t = {
27787
27840
  key: 1,
27788
27841
  class: "lupa-stats-facet-summary-input"
27789
27842
  };
27790
- const _hoisted_4$i = { class: "lupa-stats-from" };
27791
- const _hoisted_5$c = {
27843
+ const _hoisted_4$k = { class: "lupa-stats-from" };
27844
+ const _hoisted_5$d = {
27792
27845
  key: 0,
27793
27846
  class: "lupa-stats-range-label"
27794
27847
  };
27795
- const _hoisted_6$6 = ["min", "max", "pattern", "aria-label"];
27848
+ const _hoisted_6$5 = ["min", "max", "pattern", "aria-label"];
27796
27849
  const _hoisted_7$3 = { key: 1 };
27797
27850
  const _hoisted_8$1 = { key: 2 };
27798
27851
  const _hoisted_9$1 = { class: "lupa-stats-to" };
@@ -27807,7 +27860,7 @@ const _hoisted_14 = {
27807
27860
  key: 2,
27808
27861
  class: "lupa-stats-slider-wrapper"
27809
27862
  };
27810
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
27863
+ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
27811
27864
  __name: "StatsFacet",
27812
27865
  props: {
27813
27866
  options: {},
@@ -28026,10 +28079,10 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
28026
28079
  }
28027
28080
  );
28028
28081
  return (_ctx, _cache) => {
28029
- return openBlock(), createElementBlock("div", _hoisted_1$P, [
28030
- !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$B, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$r, [
28031
- createElementVNode("div", _hoisted_4$i, [
28032
- rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_5$c, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
28082
+ return openBlock(), createElementBlock("div", _hoisted_1$S, [
28083
+ !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$D, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$t, [
28084
+ createElementVNode("div", _hoisted_4$k, [
28085
+ rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_5$d, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
28033
28086
  withDirectives(createElementVNode("input", {
28034
28087
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
28035
28088
  type: "text",
@@ -28038,7 +28091,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
28038
28091
  max: facetMax.value,
28039
28092
  pattern: sliderInputFormat.value,
28040
28093
  "aria-label": ariaLabelFrom.value
28041
- }, null, 8, _hoisted_6$6), [
28094
+ }, null, 8, _hoisted_6$5), [
28042
28095
  [
28043
28096
  vModelText,
28044
28097
  fromValue.value,
@@ -28091,17 +28144,17 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
28091
28144
  };
28092
28145
  }
28093
28146
  });
28094
- const _hoisted_1$O = { class: "lupa-term-checkbox-wrapper" };
28095
- const _hoisted_2$A = { class: "lupa-term-label" };
28096
- const _hoisted_3$q = {
28147
+ const _hoisted_1$R = { class: "lupa-term-checkbox-wrapper" };
28148
+ const _hoisted_2$C = { class: "lupa-term-label" };
28149
+ const _hoisted_3$s = {
28097
28150
  key: 0,
28098
28151
  class: "lupa-term-count"
28099
28152
  };
28100
- const _hoisted_4$h = {
28153
+ const _hoisted_4$j = {
28101
28154
  key: 0,
28102
28155
  class: "lupa-facet-level"
28103
28156
  };
28104
- const _sfc_main$V = /* @__PURE__ */ defineComponent({
28157
+ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
28105
28158
  __name: "HierarchyFacetLevel",
28106
28159
  props: {
28107
28160
  options: {},
@@ -28155,7 +28208,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
28155
28208
  "data-cy": "lupa-facet-term",
28156
28209
  onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
28157
28210
  }, [
28158
- createElementVNode("div", _hoisted_1$O, [
28211
+ createElementVNode("div", _hoisted_1$R, [
28159
28212
  createElementVNode("span", {
28160
28213
  class: normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
28161
28214
  }, null, 2)
@@ -28163,11 +28216,11 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
28163
28216
  createElementVNode("div", {
28164
28217
  class: normalizeClass(["lupa-term-checkbox-label", { [getFacetValueClass(_ctx.item)]: true }])
28165
28218
  }, [
28166
- createElementVNode("span", _hoisted_2$A, toDisplayString(_ctx.item.title) + toDisplayString(" "), 1),
28167
- _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_3$q, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
28219
+ createElementVNode("span", _hoisted_2$C, toDisplayString(_ctx.item.title) + toDisplayString(" "), 1),
28220
+ _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_3$s, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
28168
28221
  ], 2)
28169
28222
  ]),
28170
- showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$h, [
28223
+ showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$j, [
28171
28224
  (openBlock(true), createElementBlock(Fragment, null, renderList(treeItem.value.children, (itemChild) => {
28172
28225
  return openBlock(), createBlock(_component_HierarchyFacetLevel, {
28173
28226
  key: itemChild.title,
@@ -28183,13 +28236,13 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
28183
28236
  };
28184
28237
  }
28185
28238
  });
28186
- const _hoisted_1$N = {
28239
+ const _hoisted_1$Q = {
28187
28240
  class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
28188
28241
  "data-cy": "lupa-search-result-facet-term-values"
28189
28242
  };
28190
- const _hoisted_2$z = { key: 0 };
28191
- const _hoisted_3$p = ["placeholder"];
28192
- const _sfc_main$U = /* @__PURE__ */ defineComponent({
28243
+ const _hoisted_2$B = { key: 0 };
28244
+ const _hoisted_3$r = ["placeholder"];
28245
+ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
28193
28246
  __name: "HierarchyFacet",
28194
28247
  props: {
28195
28248
  options: {},
@@ -28245,19 +28298,19 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
28245
28298
  showAll.value = false;
28246
28299
  };
28247
28300
  return (_ctx, _cache) => {
28248
- return openBlock(), createElementBlock("div", _hoisted_1$N, [
28249
- isFilterable.value ? (openBlock(), createElementBlock("div", _hoisted_2$z, [
28301
+ return openBlock(), createElementBlock("div", _hoisted_1$Q, [
28302
+ isFilterable.value ? (openBlock(), createElementBlock("div", _hoisted_2$B, [
28250
28303
  withDirectives(createElementVNode("input", {
28251
28304
  class: "lupa-term-filter",
28252
28305
  "data-cy": "lupa-term-filter",
28253
28306
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
28254
28307
  placeholder: _ctx.options.labels.facetFilter
28255
- }, null, 8, _hoisted_3$p), [
28308
+ }, null, 8, _hoisted_3$r), [
28256
28309
  [vModelText, termFilter.value]
28257
28310
  ])
28258
28311
  ])) : createCommentVNode("", true),
28259
28312
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayValues.value, (item) => {
28260
- return openBlock(), createBlock(_sfc_main$V, {
28313
+ return openBlock(), createBlock(_sfc_main$$, {
28261
28314
  key: item.title,
28262
28315
  options: _ctx.options,
28263
28316
  item,
@@ -28281,30 +28334,31 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
28281
28334
  };
28282
28335
  }
28283
28336
  });
28284
- const _hoisted_1$M = { class: "lupa-facet-label-text" };
28285
- const _hoisted_2$y = {
28337
+ const _hoisted_1$P = { class: "lupa-facet-label-text" };
28338
+ const _hoisted_2$A = {
28286
28339
  key: 0,
28287
28340
  class: "lupa-facet-content",
28288
28341
  "data-cy": "lupa-facet-content"
28289
28342
  };
28290
28343
  const __default__$1 = {
28291
28344
  components: {
28292
- TermFacet: _sfc_main$X,
28293
- StatsFacet: _sfc_main$W,
28294
- HierarchyFacet: _sfc_main$U
28345
+ TermFacet: _sfc_main$11,
28346
+ StatsFacet: _sfc_main$10,
28347
+ HierarchyFacet: _sfc_main$_
28295
28348
  }
28296
28349
  };
28297
- const _sfc_main$T = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
28350
+ const _sfc_main$Z = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
28298
28351
  __name: "FacetDisplay",
28299
28352
  props: {
28300
28353
  options: {},
28301
28354
  facet: {},
28302
28355
  currentFilters: {},
28303
- clearable: { type: Boolean }
28356
+ clearable: { type: Boolean },
28357
+ currentFacetStyle: {}
28304
28358
  },
28305
- emits: ["select", "clear"],
28359
+ emits: ["select", "clear", "expand"],
28306
28360
  setup(__props, { emit: __emit }) {
28307
- var _a25, _b25, _c;
28361
+ var _a25, _b25;
28308
28362
  const props = __props;
28309
28363
  const facet = computed(() => {
28310
28364
  var _a26;
@@ -28318,17 +28372,17 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
28318
28372
  const optionsStore = useOptionsStore();
28319
28373
  const screenStore = useScreenStore();
28320
28374
  const { currentFilterKeys } = storeToRefs(searchResultStore);
28321
- const { searchResultOptions } = storeToRefs(optionsStore);
28375
+ const { searchResultOptions, expandedFacets } = storeToRefs(optionsStore);
28322
28376
  const { isMobileWidth } = storeToRefs(screenStore);
28323
28377
  const emit = __emit;
28324
28378
  const allExpanded = computed(() => {
28325
- var _a26, _b26, _c2, _d, _e, _f;
28379
+ var _a26, _b26, _c, _d, _e, _f;
28326
28380
  if (isMobileWidth.value) {
28327
- return (_c2 = (_b26 = (_a26 = props.options) == null ? void 0 : _a26.expandAll) == null ? void 0 : _b26.mobile) != null ? _c2 : false;
28381
+ return (_c = (_b26 = (_a26 = props.options) == null ? void 0 : _a26.expandAll) == null ? void 0 : _b26.mobile) != null ? _c : false;
28328
28382
  }
28329
28383
  return (_f = (_e = (_d = props.options) == null ? void 0 : _d.expandAll) == null ? void 0 : _e.desktop) != null ? _f : false;
28330
28384
  });
28331
- 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);
28385
+ const isOpen = ref((_b25 = ((_a25 = expandedFacets.value) == null ? void 0 : _a25.includes(props.facet.key)) || allExpanded.value) != null ? _b25 : false);
28332
28386
  const facetPanel = ref(null);
28333
28387
  const facetType = computed(() => {
28334
28388
  switch (facet.value.type) {
@@ -28370,9 +28424,16 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
28370
28424
  var _a26;
28371
28425
  return getTranslatedFacetKey(props.facet, (_a26 = searchResultOptions.value.filters) == null ? void 0 : _a26.translations);
28372
28426
  });
28427
+ const expandSidebarOnFacetClick = computed(() => {
28428
+ var _a26, _b26, _c;
28429
+ if (!props.currentFacetStyle || props.currentFacetStyle === "sidebar") {
28430
+ return false;
28431
+ }
28432
+ return (_c = (_b26 = (_a26 = props.options.style) == null ? void 0 : _a26.drawer) == null ? void 0 : _b26.expandSidebarOnFacetClick) != null ? _c : false;
28433
+ });
28373
28434
  onMounted(() => {
28374
- var _a26;
28375
- if (((_a26 = props.options.style) == null ? void 0 : _a26.type) === "top-dropdown") {
28435
+ var _a26, _b26, _c;
28436
+ if (((_a26 = props.options.style) == null ? void 0 : _a26.type) === "top-dropdown" || ((_c = (_b26 = props.options) == null ? void 0 : _b26.style) == null ? void 0 : _c.type) === "drawer") {
28376
28437
  window.addEventListener("click", handleMouseClick);
28377
28438
  }
28378
28439
  });
@@ -28381,7 +28442,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
28381
28442
  });
28382
28443
  const handleMouseClick = (e2) => {
28383
28444
  const el = facetPanel.value;
28384
- if (!el) {
28445
+ if (!el || !props.currentFacetStyle || props.currentFacetStyle === "sidebar") {
28385
28446
  return;
28386
28447
  }
28387
28448
  const isOutsideElement = el && !el.contains(e2.target);
@@ -28393,6 +28454,11 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
28393
28454
  handleFacetQueryFilter();
28394
28455
  });
28395
28456
  const toggleFacet = () => {
28457
+ if (expandSidebarOnFacetClick.value) {
28458
+ expandedFacets.value = [facet.value.key];
28459
+ emit("expand");
28460
+ return;
28461
+ }
28396
28462
  isOpen.value = !isOpen.value;
28397
28463
  handleFacetQueryFilter();
28398
28464
  };
@@ -28425,12 +28491,12 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
28425
28491
  "data-cy": "lupa-search-result-facet-label",
28426
28492
  onClick: toggleFacet
28427
28493
  }, [
28428
- createElementVNode("div", _hoisted_1$M, toDisplayString(facetLabel.value), 1),
28494
+ createElementVNode("div", _hoisted_1$P, toDisplayString(facetLabel.value), 1),
28429
28495
  createElementVNode("div", {
28430
28496
  class: normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
28431
28497
  }, null, 2)
28432
28498
  ], 2),
28433
- isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_2$y, [
28499
+ isOpen.value && !expandSidebarOnFacetClick.value ? (openBlock(), createElementBlock("div", _hoisted_2$A, [
28434
28500
  (openBlock(), createBlock(resolveDynamicComponent(facetType.value), {
28435
28501
  facet: facet.value,
28436
28502
  currentFilters: currentFilters.value[facet.value.key],
@@ -28448,12 +28514,154 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
28448
28514
  };
28449
28515
  }
28450
28516
  }));
28451
- const _hoisted_1$L = { class: "lupa-search-result-facet-section" };
28452
- const _hoisted_2$x = {
28517
+ const useSidebarToggle = () => {
28518
+ const searchResultStore = useSearchResultStore();
28519
+ const optionsStore = useOptionsStore();
28520
+ const { currentFilterCount, isFilterSidebarVisible, isSortingSidebarVisible } = storeToRefs(searchResultStore);
28521
+ const { searchResultOptions } = storeToRefs(optionsStore);
28522
+ const labels = computed(() => {
28523
+ return searchResultOptions.value.labels;
28524
+ });
28525
+ const showMobileFilterCount = computed(
28526
+ () => {
28527
+ var _a25, _b25, _c, _d;
28528
+ return (_d = (_c = (_b25 = (_a25 = searchResultOptions.value.filters) == null ? void 0 : _a25.currentFilters) == null ? void 0 : _b25.mobileSidebar) == null ? void 0 : _c.showFilterCount) != null ? _d : false;
28529
+ }
28530
+ );
28531
+ const disableMobileBodyScrollLock = computed(
28532
+ () => {
28533
+ var _a25, _b25, _c;
28534
+ return (_c = (_b25 = (_a25 = searchResultOptions.value.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.disableMobileBodyScrollLock) != null ? _c : false;
28535
+ }
28536
+ );
28537
+ const isSidebarVisible = computed(
28538
+ () => isFilterSidebarVisible.value || isSortingSidebarVisible.value
28539
+ );
28540
+ const sortLabel = computed(() => {
28541
+ var _a25, _b25;
28542
+ return (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.sortBy;
28543
+ });
28544
+ const defaultLabel = computed(() => {
28545
+ var _a25;
28546
+ return (_a25 = labels.value) == null ? void 0 : _a25.mobileFilterButton;
28547
+ });
28548
+ const activeLabel = computed(() => {
28549
+ var _a25;
28550
+ return (_a25 = labels.value) == null ? void 0 : _a25.mobileFilterButtonActive;
28551
+ });
28552
+ const openLabel = computed(() => {
28553
+ var _a25;
28554
+ return (_a25 = labels.value) == null ? void 0 : _a25.mobileFilterButtonOpen;
28555
+ });
28556
+ const label = computed(() => {
28557
+ if (isSidebarVisible.value && openLabel.value) {
28558
+ return openLabel.value;
28559
+ }
28560
+ if (hasActiveFilters.value && activeLabel.value) {
28561
+ return activeLabel.value;
28562
+ }
28563
+ return defaultLabel.value;
28564
+ });
28565
+ const sortToggleVisible = computed(() => {
28566
+ var _a25, _b25;
28567
+ return ((_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.sortStyle) == null ? void 0 : _b25.type) === "drawer";
28568
+ });
28569
+ const handleFilterSidebarToggle = () => {
28570
+ searchResultStore.setSidebarState({
28571
+ visible: !isSidebarVisible.value,
28572
+ disableBodyScrolling: !disableMobileBodyScrollLock.value,
28573
+ sidebar: "filter"
28574
+ });
28575
+ };
28576
+ const handleSortSidebarToggle = () => {
28577
+ searchResultStore.setSidebarState({
28578
+ visible: !isSortingSidebarVisible.value,
28579
+ disableBodyScrolling: !disableMobileBodyScrollLock.value,
28580
+ sidebar: "sorting"
28581
+ });
28582
+ };
28583
+ const hasActiveFilters = computed(() => currentFilterCount.value > 0);
28584
+ const checkCloseOnEscape = (e2) => {
28585
+ var _a25;
28586
+ if (!["Escape", "Esc"].includes((_a25 = e2.key) != null ? _a25 : "")) {
28587
+ return;
28588
+ }
28589
+ if (isSidebarVisible.value) {
28590
+ searchResultStore.setSidebarState({ visible: false, sidebar: "sorting" });
28591
+ searchResultStore.setSidebarState({ visible: false, sidebar: "filter" });
28592
+ }
28593
+ };
28594
+ onMounted(() => {
28595
+ window.addEventListener("keydown", checkCloseOnEscape);
28596
+ });
28597
+ onBeforeUnmount(() => {
28598
+ window.removeEventListener("keydown", checkCloseOnEscape);
28599
+ });
28600
+ return {
28601
+ isSidebarVisible,
28602
+ label,
28603
+ currentFilterCount,
28604
+ hasActiveFilters,
28605
+ showMobileFilterCount,
28606
+ sortLabel,
28607
+ sortToggleVisible,
28608
+ handleFilterSidebarToggle,
28609
+ handleSortSidebarToggle
28610
+ };
28611
+ };
28612
+ const _hoisted_1$O = {
28613
+ key: 0,
28614
+ class: "lupa-desktop-toggle-filter-count"
28615
+ };
28616
+ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
28617
+ __name: "DesktopFacetToggle",
28618
+ setup(__props) {
28619
+ const {
28620
+ isSidebarVisible,
28621
+ label,
28622
+ currentFilterCount,
28623
+ hasActiveFilters,
28624
+ showMobileFilterCount,
28625
+ handleFilterSidebarToggle
28626
+ } = useSidebarToggle();
28627
+ return (_ctx, _cache) => {
28628
+ return openBlock(), createElementBlock("div", {
28629
+ class: normalizeClass(["lupa-desktop-toggle", {
28630
+ "lupa-desktop-toggle-filters-empty": unref(currentFilterCount) < 1,
28631
+ "lupa-desktop-toggle-has-filters": unref(hasActiveFilters),
28632
+ "lupa-sidebar-open": unref(isSidebarVisible)
28633
+ }]),
28634
+ onClick: _cache[0] || (_cache[0] = //@ts-ignore
28635
+ (...args) => unref(handleFilterSidebarToggle) && unref(handleFilterSidebarToggle)(...args))
28636
+ }, [
28637
+ createTextVNode(toDisplayString(unref(label)) + " ", 1),
28638
+ unref(showMobileFilterCount) && unref(currentFilterCount) > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$O, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
28639
+ ], 2);
28640
+ };
28641
+ }
28642
+ });
28643
+ const _sfc_main$X = /* @__PURE__ */ defineComponent({
28644
+ __name: "DesktopSortToggle",
28645
+ setup(__props) {
28646
+ const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
28647
+ return (_ctx, _cache) => {
28648
+ return unref(sortToggleVisible) ? (openBlock(), createElementBlock("div", {
28649
+ key: 0,
28650
+ class: normalizeClass(["lupa-desktop-toggle lupa-desktop-sort-toggle", {
28651
+ "lupa-sidebar-open": unref(isSidebarVisible)
28652
+ }]),
28653
+ onClick: _cache[0] || (_cache[0] = //@ts-ignore
28654
+ (...args) => unref(handleSortSidebarToggle) && unref(handleSortSidebarToggle)(...args))
28655
+ }, toDisplayString(unref(sortLabel)), 3)) : createCommentVNode("", true);
28656
+ };
28657
+ }
28658
+ });
28659
+ const _hoisted_1$N = { class: "lupa-search-result-facet-section" };
28660
+ const _hoisted_2$z = {
28453
28661
  key: 0,
28454
28662
  class: "lupa-facets-title"
28455
28663
  };
28456
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
28664
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
28457
28665
  __name: "FacetList",
28458
28666
  props: {
28459
28667
  options: {},
@@ -28465,6 +28673,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
28465
28673
  emits: ["select", "clear"],
28466
28674
  setup(__props, { emit: __emit }) {
28467
28675
  const props = __props;
28676
+ const { handleFilterSidebarToggle } = useSidebarToggle();
28468
28677
  const emit = __emit;
28469
28678
  const currentFiltersValue = computed(() => {
28470
28679
  var _a25;
@@ -28480,6 +28689,12 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
28480
28689
  return !((_a25 = props.options.exclude) == null ? void 0 : _a25.includes(f2.key));
28481
28690
  }) : facetsValue.value;
28482
28691
  });
28692
+ const displayFacetStyle = computed(() => {
28693
+ if (!props.facetStyle || props.facetStyle === "sidebar") {
28694
+ return "sidebar";
28695
+ }
28696
+ return "top-dropdown";
28697
+ });
28483
28698
  const handleFacetSelect = (facetAction) => {
28484
28699
  emit("select", facetAction);
28485
28700
  };
@@ -28488,29 +28703,33 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
28488
28703
  };
28489
28704
  return (_ctx, _cache) => {
28490
28705
  var _a25;
28491
- return openBlock(), createElementBlock("div", _hoisted_1$L, [
28492
- _ctx.options.labels.title ? (openBlock(), createElementBlock("div", _hoisted_2$x, toDisplayString(_ctx.options.labels.title), 1)) : createCommentVNode("", true),
28706
+ return openBlock(), createElementBlock("div", _hoisted_1$N, [
28707
+ _ctx.options.labels.title ? (openBlock(), createElementBlock("div", _hoisted_2$z, toDisplayString(_ctx.options.labels.title), 1)) : createCommentVNode("", true),
28493
28708
  createElementVNode("div", {
28494
- class: normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a25 = _ctx.facetStyle) != null ? _a25 : "")])
28709
+ class: normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a25 = displayFacetStyle.value) != null ? _a25 : "")])
28495
28710
  }, [
28496
28711
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayFacets.value, (facet) => {
28497
28712
  var _a26;
28498
- return openBlock(), createBlock(_sfc_main$T, {
28713
+ return openBlock(), createBlock(_sfc_main$Z, {
28499
28714
  key: facet.key,
28500
28715
  facet,
28501
28716
  currentFilters: currentFiltersValue.value,
28502
28717
  options: _ctx.options,
28503
28718
  clearable: (_a26 = _ctx.clearable) != null ? _a26 : false,
28719
+ "current-facet-style": _ctx.facetStyle,
28504
28720
  onSelect: handleFacetSelect,
28505
- onClear: clear
28506
- }, null, 8, ["facet", "currentFilters", "options", "clearable"]);
28507
- }), 128))
28721
+ onClear: clear,
28722
+ onExpand: unref(handleFilterSidebarToggle)
28723
+ }, null, 8, ["facet", "currentFilters", "options", "clearable", "current-facet-style", "onExpand"]);
28724
+ }), 128)),
28725
+ _ctx.facetStyle === "drawer" ? (openBlock(), createBlock(_sfc_main$Y, { key: 0 })) : createCommentVNode("", true),
28726
+ _ctx.facetStyle === "drawer" || _ctx.facetStyle === "top-dropdown" ? (openBlock(), createBlock(_sfc_main$X, { key: 1 })) : createCommentVNode("", true)
28508
28727
  ], 2)
28509
28728
  ]);
28510
28729
  };
28511
28730
  }
28512
28731
  });
28513
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
28732
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
28514
28733
  __name: "FacetsButton",
28515
28734
  props: {
28516
28735
  options: {}
@@ -28535,8 +28754,33 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
28535
28754
  };
28536
28755
  }
28537
28756
  });
28538
- const _hoisted_1$K = { class: "lupa-facets-filter-button-wrapper" };
28539
- const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28757
+ const _sfc_main$U = /* @__PURE__ */ defineComponent({
28758
+ __name: "FacetsClearButton",
28759
+ props: {
28760
+ options: {}
28761
+ },
28762
+ emits: ["clear"],
28763
+ setup(__props, { emit: __emit }) {
28764
+ const props = __props;
28765
+ const emit = __emit;
28766
+ const label = computed(() => {
28767
+ var _a25, _b25;
28768
+ return (_b25 = (_a25 = props.options.labels) == null ? void 0 : _a25.facetClearAllButton) != null ? _b25 : "";
28769
+ });
28770
+ const handleClick = () => {
28771
+ emit("clear");
28772
+ };
28773
+ return (_ctx, _cache) => {
28774
+ return label.value ? (openBlock(), createElementBlock("button", {
28775
+ key: 0,
28776
+ class: "lupa-facets-button-clear",
28777
+ onClick: withModifiers(handleClick, ["stop"])
28778
+ }, toDisplayString(label.value), 1)) : createCommentVNode("", true);
28779
+ };
28780
+ }
28781
+ });
28782
+ const _hoisted_1$M = { class: "lupa-facets-filter-button-wrapper" };
28783
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
28540
28784
  __name: "Facets",
28541
28785
  props: {
28542
28786
  options: {},
@@ -28549,6 +28793,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28549
28793
  const paramStore = useParamsStore();
28550
28794
  const searchResultStore = useSearchResultStore();
28551
28795
  const optionsStore = useOptionsStore();
28796
+ const { handleFilterSidebarToggle } = useSidebarToggle();
28552
28797
  const { filters } = storeToRefs(paramStore);
28553
28798
  const { facets: facets2, loadingFacets } = storeToRefs(searchResultStore);
28554
28799
  const { searchResultOptions } = storeToRefs(optionsStore);
@@ -28576,7 +28821,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28576
28821
  };
28577
28822
  });
28578
28823
  const showFilterButton = computed(() => {
28579
- return props.options.filterBehavior === "withFilterButton";
28824
+ return props.options.filterBehavior === "withFilterButton" && props.facetStyle === "sidebar";
28580
28825
  });
28581
28826
  const handleFacetSelect = (facetAction) => {
28582
28827
  switch (facetAction.type) {
@@ -28597,6 +28842,15 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28597
28842
  filters.value
28598
28843
  );
28599
28844
  break;
28845
+ case "partialRange":
28846
+ toggleRangeFilter(
28847
+ paramStore.appendParams,
28848
+ paramStore.removeParameters,
28849
+ facetAction,
28850
+ optionsStore.getQueryParamName,
28851
+ filters.value
28852
+ );
28853
+ break;
28600
28854
  case "hierarchy":
28601
28855
  toggleHierarchyFilter(
28602
28856
  paramStore.appendParams,
@@ -28614,8 +28868,18 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28614
28868
  }
28615
28869
  };
28616
28870
  const clear = (facet) => {
28617
- const param = getFacetKey(facet.key, facet.type);
28618
- paramStore.removeParameters({ paramsToRemove: [param] });
28871
+ if (facet.type === "range") {
28872
+ paramStore.removeParameters({
28873
+ paramsToRemove: [getFacetKey(facet.key, "range"), getFacetKey(facet.key, "partialRange")]
28874
+ });
28875
+ } else {
28876
+ const param = getFacetKey(facet.key, facet.type);
28877
+ paramStore.removeParameters({ paramsToRemove: [param] });
28878
+ }
28879
+ };
28880
+ const clearAll = () => {
28881
+ paramStore.removeAllFilters();
28882
+ handleFilterSidebarToggle();
28619
28883
  };
28620
28884
  const filter = () => {
28621
28885
  emit("filter");
@@ -28624,7 +28888,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28624
28888
  return openBlock(), createElementBlock("div", {
28625
28889
  class: normalizeClass(["lupa-search-result-facets", { "lupa-search-result-facets-loading": unref(loadingFacets) }])
28626
28890
  }, [
28627
- regularFacets.value ? (openBlock(), createBlock(_sfc_main$S, {
28891
+ regularFacets.value ? (openBlock(), createBlock(_sfc_main$W, {
28628
28892
  key: 0,
28629
28893
  options: _ctx.options,
28630
28894
  facets: regularFacets.value,
@@ -28634,10 +28898,15 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28634
28898
  onSelect: handleFacetSelect,
28635
28899
  onClear: clear
28636
28900
  }, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : createCommentVNode("", true),
28637
- createElementVNode("div", _hoisted_1$K, [
28638
- showFilterButton.value ? (openBlock(), createBlock(_sfc_main$R, {
28901
+ createElementVNode("div", _hoisted_1$M, [
28902
+ showFilterButton.value ? (openBlock(), createBlock(_sfc_main$U, {
28639
28903
  key: 0,
28640
28904
  options: _ctx.options,
28905
+ onClear: clearAll
28906
+ }, null, 8, ["options"])) : createCommentVNode("", true),
28907
+ showFilterButton.value ? (openBlock(), createBlock(_sfc_main$V, {
28908
+ key: 1,
28909
+ options: _ctx.options,
28641
28910
  onFilter: filter
28642
28911
  }, null, 8, ["options"])) : createCommentVNode("", true)
28643
28912
  ])
@@ -28645,16 +28914,17 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28645
28914
  };
28646
28915
  }
28647
28916
  });
28648
- const _hoisted_1$J = {
28917
+ const _hoisted_1$L = {
28649
28918
  key: 0,
28650
28919
  id: "lupa-search-result-filters",
28651
28920
  class: "lupa-search-result-filters"
28652
28921
  };
28653
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
28922
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
28654
28923
  __name: "SearchResultsFilters",
28655
28924
  props: {
28656
28925
  options: {},
28657
- expandable: { type: Boolean }
28926
+ expandable: { type: Boolean },
28927
+ style: {}
28658
28928
  },
28659
28929
  emits: ["filter"],
28660
28930
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -28688,40 +28958,37 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
28688
28958
  __expose({ fetch: fetch2 });
28689
28959
  return (_ctx, _cache) => {
28690
28960
  var _a25;
28691
- return visible.value ? (openBlock(), createElementBlock("div", _hoisted_1$J, [
28692
- showCurrentFilters.value ? (openBlock(), createBlock(_sfc_main$_, {
28961
+ return visible.value ? (openBlock(), createElementBlock("div", _hoisted_1$L, [
28962
+ showCurrentFilters.value ? (openBlock(), createBlock(_sfc_main$14, {
28693
28963
  key: 0,
28694
28964
  options: _ctx.options.currentFilters,
28695
28965
  expandable: (_a25 = _ctx.expandable) != null ? _a25 : false
28696
28966
  }, null, 8, ["options", "expandable"])) : createCommentVNode("", true),
28697
- _ctx.options.categories ? (openBlock(), createBlock(_sfc_main$Y, {
28967
+ _ctx.options.categories ? (openBlock(), createBlock(_sfc_main$12, {
28698
28968
  key: 1,
28699
28969
  options: _ctx.options.categories,
28700
28970
  ref_key: "categoryFilters",
28701
28971
  ref: categoryFilters
28702
28972
  }, null, 8, ["options"])) : createCommentVNode("", true),
28703
- _ctx.options.facets ? (openBlock(), createBlock(_sfc_main$Q, {
28973
+ _ctx.options.facets ? (openBlock(), createBlock(_sfc_main$T, {
28704
28974
  key: 2,
28705
28975
  options: _ctx.options.facets,
28976
+ "facet-style": _ctx.style,
28706
28977
  onFilter: filter
28707
- }, null, 8, ["options"])) : createCommentVNode("", true)
28978
+ }, null, 8, ["options", "facet-style"])) : createCommentVNode("", true)
28708
28979
  ])) : createCommentVNode("", true);
28709
28980
  };
28710
28981
  }
28711
28982
  });
28712
- const _hoisted_1$I = {
28713
- key: 0,
28714
- class: "lupa-mobile-filter-sidebar"
28715
- };
28716
- const _hoisted_2$w = { class: "lupa-mobile-sidebar-content" };
28717
- const _hoisted_3$o = { class: "lupa-sidebar-top" };
28718
- const _hoisted_4$g = { class: "lupa-sidebar-title" };
28719
- const _hoisted_5$b = {
28983
+ const _hoisted_1$K = { class: "lupa-mobile-sidebar-content" };
28984
+ const _hoisted_2$y = { class: "lupa-sidebar-top" };
28985
+ const _hoisted_3$q = { class: "lupa-sidebar-title" };
28986
+ const _hoisted_4$i = {
28720
28987
  key: 0,
28721
28988
  class: "lupa-sidebar-filter-count"
28722
28989
  };
28723
- const _hoisted_6$5 = { class: "lupa-sidebar-filter-options" };
28724
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
28990
+ const _hoisted_5$c = { class: "lupa-sidebar-filter-options" };
28991
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
28725
28992
  __name: "MobileFilterSidebar",
28726
28993
  props: {
28727
28994
  options: {}
@@ -28730,7 +28997,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
28730
28997
  setup(__props, { emit: __emit }) {
28731
28998
  const props = __props;
28732
28999
  const searchResultStore = useSearchResultStore();
28733
- const { currentFilterCount } = storeToRefs(searchResultStore);
29000
+ const { currentFilterCount, isFilterSidebarVisible, isSidebarClosing } = storeToRefs(searchResultStore);
28734
29001
  const emit = __emit;
28735
29002
  const sidebarTitle = computed(() => {
28736
29003
  var _a25, _b25, _c;
@@ -28740,7 +29007,6 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
28740
29007
  var _a25, _b25;
28741
29008
  return Boolean((_b25 = (_a25 = props.options.currentFilters) == null ? void 0 : _a25.mobileSidebar) == null ? void 0 : _b25.showFilterCount) && currentFilterCount.value > 0;
28742
29009
  });
28743
- const isMobileSidebarVisible = computed(() => searchResultStore.isMobileSidebarVisible);
28744
29010
  const isActiveFiltersExpanded = computed(() => {
28745
29011
  var _a25, _b25;
28746
29012
  return !((_b25 = (_a25 = props.options.currentFilters) == null ? void 0 : _a25.mobileSidebar) == null ? void 0 : _b25.activeFiltersExpanded);
@@ -28753,42 +29019,46 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
28753
29019
  handleMobileToggle();
28754
29020
  };
28755
29021
  return (_ctx, _cache) => {
28756
- return isMobileSidebarVisible.value ? (openBlock(), createElementBlock("div", _hoisted_1$I, [
29022
+ return unref(isFilterSidebarVisible) ? (openBlock(), createElementBlock("div", {
29023
+ key: 0,
29024
+ class: normalizeClass(["lupa-mobile-filter-sidebar", { "lupa-mobile-filter-sidebar-is-closing": unref(isSidebarClosing) }])
29025
+ }, [
28757
29026
  createElementVNode("div", {
28758
29027
  class: "lupa-sidebar-close",
28759
29028
  onClick: withModifiers(handleMobileToggle, ["stop"])
28760
29029
  }),
28761
- createElementVNode("div", _hoisted_2$w, [
28762
- createElementVNode("div", _hoisted_3$o, [
28763
- createElementVNode("div", _hoisted_4$g, [
29030
+ createElementVNode("div", _hoisted_1$K, [
29031
+ createElementVNode("div", _hoisted_2$y, [
29032
+ createElementVNode("div", _hoisted_3$q, [
28764
29033
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
28765
- isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_5$b, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
29034
+ isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_4$i, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
28766
29035
  ]),
28767
29036
  createElementVNode("div", {
28768
29037
  class: "lupa-filter-toggle-mobile",
28769
29038
  onClick: handleMobileToggle
28770
29039
  })
28771
29040
  ]),
28772
- createElementVNode("div", _hoisted_6$5, [
28773
- createVNode(_sfc_main$P, {
29041
+ createElementVNode("div", _hoisted_5$c, [
29042
+ createVNode(_sfc_main$S, {
28774
29043
  options: _ctx.options,
28775
29044
  expandable: isActiveFiltersExpanded.value,
29045
+ style: "sidebar",
28776
29046
  onFilter: filter
28777
29047
  }, null, 8, ["options", "expandable"])
28778
29048
  ])
28779
29049
  ])
28780
- ])) : createCommentVNode("", true);
29050
+ ], 2)) : createCommentVNode("", true);
28781
29051
  };
28782
29052
  }
28783
29053
  });
28784
- const _hoisted_1$H = { id: "lupa-search-results-breadcrumbs" };
28785
- const _hoisted_2$v = ["href", "onClick"];
28786
- const _hoisted_3$n = {
29054
+ const _hoisted_1$J = { id: "lupa-search-results-breadcrumbs" };
29055
+ const _hoisted_2$x = ["href", "onClick"];
29056
+ const _hoisted_3$p = {
28787
29057
  key: 1,
28788
29058
  class: "lupa-search-results-breadcrumb-text"
28789
29059
  };
28790
- const _hoisted_4$f = { key: 2 };
28791
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
29060
+ const _hoisted_4$h = { key: 2 };
29061
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
28792
29062
  __name: "SearchResultsBreadcrumbs",
28793
29063
  props: {
28794
29064
  breadcrumbs: {}
@@ -28813,7 +29083,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
28813
29083
  handleRoutingEvent(link, event, hasEventRouting.value);
28814
29084
  };
28815
29085
  return (_ctx, _cache) => {
28816
- return openBlock(), createElementBlock("div", _hoisted_1$H, [
29086
+ return openBlock(), createElementBlock("div", _hoisted_1$J, [
28817
29087
  (openBlock(true), createElementBlock(Fragment, null, renderList(breadcrumbsValue.value, (breadcrumb, index) => {
28818
29088
  var _a25;
28819
29089
  return openBlock(), createElementBlock("span", {
@@ -28828,20 +29098,20 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
28828
29098
  var _a26;
28829
29099
  return handleNavigation(e2, (_a26 = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a26 : "");
28830
29100
  }
28831
- }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$v)) : (openBlock(), createElementBlock("span", _hoisted_3$n, toDisplayString(getLabel(breadcrumb.label)), 1)),
28832
- index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$f, toDisplayString((_a25 = breadcrumb.separator) != null ? _a25 : "/"), 1)) : createCommentVNode("", true)
29101
+ }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$x)) : (openBlock(), createElementBlock("span", _hoisted_3$p, toDisplayString(getLabel(breadcrumb.label)), 1)),
29102
+ index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$h, toDisplayString((_a25 = breadcrumb.separator) != null ? _a25 : "/"), 1)) : createCommentVNode("", true)
28833
29103
  ]);
28834
29104
  }), 128))
28835
29105
  ]);
28836
29106
  };
28837
29107
  }
28838
29108
  });
28839
- const _hoisted_1$G = {
29109
+ const _hoisted_1$I = {
28840
29110
  key: 0,
28841
29111
  id: "lupa-search-result-filters",
28842
29112
  class: "lupa-search-result-filters lupa-search-result-top-filters"
28843
29113
  };
28844
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
29114
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
28845
29115
  __name: "FiltersTopDropdown",
28846
29116
  props: {
28847
29117
  options: {}
@@ -28859,8 +29129,8 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
28859
29129
  });
28860
29130
  return (_ctx, _cache) => {
28861
29131
  var _a25;
28862
- return visible.value ? (openBlock(), createElementBlock("div", _hoisted_1$G, [
28863
- _ctx.options.facets ? (openBlock(), createBlock(_sfc_main$Q, {
29132
+ return visible.value ? (openBlock(), createElementBlock("div", _hoisted_1$I, [
29133
+ _ctx.options.facets ? (openBlock(), createBlock(_sfc_main$T, {
28864
29134
  key: 0,
28865
29135
  options: _ctx.options.facets,
28866
29136
  "facet-style": (_a25 = _ctx.options.facets.style) == null ? void 0 : _a25.type,
@@ -28871,8 +29141,8 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
28871
29141
  };
28872
29142
  }
28873
29143
  });
28874
- const _hoisted_1$F = { id: "lupa-search-results-layout-selection" };
28875
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
29144
+ const _hoisted_1$H = { id: "lupa-search-results-layout-selection" };
29145
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
28876
29146
  __name: "SearchResultsLayoutSelection",
28877
29147
  setup(__props) {
28878
29148
  const searchResultStore = useSearchResultStore();
@@ -28883,7 +29153,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
28883
29153
  searchResultStore.setLayout(layout2);
28884
29154
  };
28885
29155
  return (_ctx, _cache) => {
28886
- return openBlock(), createElementBlock("div", _hoisted_1$F, [
29156
+ return openBlock(), createElementBlock("div", _hoisted_1$H, [
28887
29157
  createElementVNode("div", {
28888
29158
  class: normalizeClass([
28889
29159
  "lupa-layout-selection-grid",
@@ -28905,64 +29175,38 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
28905
29175
  };
28906
29176
  }
28907
29177
  });
28908
- const _hoisted_1$E = {
29178
+ const _hoisted_1$G = {
28909
29179
  key: 0,
28910
29180
  class: "lupa-mobile-toggle-filter-count"
28911
29181
  };
28912
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
29182
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
28913
29183
  __name: "SearchResultsMobileToggle",
28914
- props: {
28915
- labels: {},
28916
- showFilterCount: { type: Boolean }
28917
- },
28918
29184
  setup(__props) {
28919
- const props = __props;
28920
- const searchResultStore = useSearchResultStore();
28921
- const optionsStore = useOptionsStore();
28922
- const { currentFilterCount, isMobileSidebarVisible } = storeToRefs(searchResultStore);
28923
- const { searchResultOptions } = storeToRefs(optionsStore);
28924
- const disableMobileBodyScrollLock = computed(
28925
- () => {
28926
- var _a25, _b25, _c;
28927
- return (_c = (_b25 = (_a25 = searchResultOptions.value.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.disableMobileBodyScrollLock) != null ? _c : false;
28928
- }
28929
- );
28930
- const isSidebarVisible = computed(() => isMobileSidebarVisible.value);
28931
- const defaultLabel = computed(() => props.labels.mobileFilterButton);
28932
- const activeLabel = computed(() => props.labels.mobileFilterButtonActive);
28933
- const openLabel = computed(() => props.labels.mobileFilterButtonOpen);
28934
- const label = computed(() => {
28935
- if (isSidebarVisible.value && openLabel.value) {
28936
- return openLabel.value;
28937
- }
28938
- if (hasActiveFilters.value && activeLabel.value) {
28939
- return activeLabel.value;
28940
- }
28941
- return defaultLabel.value;
28942
- });
28943
- const handleMobileToggle = () => {
28944
- searchResultStore.setSidebarState({
28945
- visible: !isSidebarVisible.value,
28946
- disableBodyScrolling: !disableMobileBodyScrollLock.value
28947
- });
28948
- };
28949
- const hasActiveFilters = computed(() => currentFilterCount.value > 0);
29185
+ const {
29186
+ isSidebarVisible,
29187
+ label,
29188
+ currentFilterCount,
29189
+ hasActiveFilters,
29190
+ showMobileFilterCount,
29191
+ handleFilterSidebarToggle
29192
+ } = useSidebarToggle();
28950
29193
  return (_ctx, _cache) => {
28951
29194
  return openBlock(), createElementBlock("div", {
28952
29195
  class: normalizeClass(["lupa-mobile-toggle", {
28953
29196
  "lupa-mobile-toggle-filters-empty": unref(currentFilterCount) < 1,
28954
- "lupa-mobile-toggle-has-filters": hasActiveFilters.value,
28955
- "lupa-sidebar-open": isSidebarVisible.value
29197
+ "lupa-mobile-toggle-has-filters": unref(hasActiveFilters),
29198
+ "lupa-sidebar-open": unref(isSidebarVisible)
28956
29199
  }]),
28957
- onClick: handleMobileToggle
29200
+ onClick: _cache[0] || (_cache[0] = //@ts-ignore
29201
+ (...args) => unref(handleFilterSidebarToggle) && unref(handleFilterSidebarToggle)(...args))
28958
29202
  }, [
28959
- createTextVNode(toDisplayString(label.value) + " ", 1),
28960
- _ctx.showFilterCount && unref(currentFilterCount) > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$E, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
29203
+ createTextVNode(toDisplayString(unref(label)) + " ", 1),
29204
+ unref(showMobileFilterCount) && unref(currentFilterCount) > 0 ? (openBlock(), createElementBlock("span", _hoisted_1$G, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
28961
29205
  ], 2);
28962
29206
  };
28963
29207
  }
28964
29208
  });
28965
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
29209
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
28966
29210
  __name: "SearchResultsMobileFilterClose",
28967
29211
  props: {
28968
29212
  label: {}
@@ -28982,20 +29226,20 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
28982
29226
  };
28983
29227
  }
28984
29228
  });
28985
- const _hoisted_1$D = {
29229
+ const _hoisted_1$F = {
28986
29230
  key: 0,
28987
29231
  id: "lupa-search-results-page-select",
28988
29232
  "data-cy": "lupa-search-results-page-select"
28989
29233
  };
28990
- const _hoisted_2$u = {
29234
+ const _hoisted_2$w = {
28991
29235
  key: 0,
28992
29236
  class: "lupa-page-number-separator"
28993
29237
  };
28994
- const _hoisted_3$m = {
29238
+ const _hoisted_3$o = {
28995
29239
  key: 0,
28996
29240
  class: "lupa-page-number-separator"
28997
29241
  };
28998
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
29242
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
28999
29243
  __name: "SearchResultsPageSelect",
29000
29244
  props: {
29001
29245
  lastPageLabel: {},
@@ -29090,7 +29334,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
29090
29334
  };
29091
29335
  return (_ctx, _cache) => {
29092
29336
  var _a25;
29093
- return showPagination.value ? (openBlock(), createElementBlock("div", _hoisted_1$D, [
29337
+ return showPagination.value ? (openBlock(), createElementBlock("div", _hoisted_1$F, [
29094
29338
  showBack.value ? (openBlock(), createBlock(resolveDynamicComponent(tagName.value), {
29095
29339
  key: 0,
29096
29340
  class: normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
@@ -29114,7 +29358,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
29114
29358
  _: 1,
29115
29359
  __: [4]
29116
29360
  }, 8, ["href"])),
29117
- showFirstPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_2$u, "...")) : createCommentVNode("", true)
29361
+ showFirstPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_2$w, "...")) : createCommentVNode("", true)
29118
29362
  ], 64)) : createCommentVNode("", true),
29119
29363
  (openBlock(true), createElementBlock(Fragment, null, renderList(pages.value, (page) => {
29120
29364
  return openBlock(), createBlock(resolveDynamicComponent(tagName.value), {
@@ -29134,7 +29378,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
29134
29378
  }, 1032, ["href", "onClick", "class"]);
29135
29379
  }), 128)),
29136
29380
  showLastPage.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
29137
- showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_3$m, "...")) : createCommentVNode("", true),
29381
+ showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_3$o, "...")) : createCommentVNode("", true),
29138
29382
  (openBlock(), createBlock(resolveDynamicComponent(tagName.value), {
29139
29383
  href: getHref((_a25 = lastPage.value) != null ? _a25 : 1),
29140
29384
  class: "lupa-page-number lupa-page-number-last",
@@ -29165,18 +29409,18 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
29165
29409
  };
29166
29410
  }
29167
29411
  });
29168
- const _hoisted_1$C = {
29412
+ const _hoisted_1$E = {
29169
29413
  id: "lupa-search-results-page-size",
29170
29414
  "data-cy": "lupa-search-results-page-size"
29171
29415
  };
29172
- const _hoisted_2$t = { id: "lupa-select" };
29173
- const _hoisted_3$l = {
29416
+ const _hoisted_2$v = { id: "lupa-select" };
29417
+ const _hoisted_3$n = {
29174
29418
  class: "lupa-select-label",
29175
29419
  for: "lupa-page-size-select-dropdown"
29176
29420
  };
29177
- const _hoisted_4$e = ["aria-label"];
29178
- const _hoisted_5$a = ["value"];
29179
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
29421
+ const _hoisted_4$g = ["aria-label"];
29422
+ const _hoisted_5$b = ["value"];
29423
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
29180
29424
  __name: "SearchResultsPageSize",
29181
29425
  props: {
29182
29426
  labels: {},
@@ -29206,9 +29450,9 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
29206
29450
  };
29207
29451
  return (_ctx, _cache) => {
29208
29452
  var _a25, _b25, _c;
29209
- return openBlock(), createElementBlock("div", _hoisted_1$C, [
29210
- createElementVNode("div", _hoisted_2$t, [
29211
- createElementVNode("label", _hoisted_3$l, toDisplayString(label.value), 1),
29453
+ return openBlock(), createElementBlock("div", _hoisted_1$E, [
29454
+ createElementVNode("div", _hoisted_2$v, [
29455
+ createElementVNode("label", _hoisted_3$n, toDisplayString(label.value), 1),
29212
29456
  createElementVNode("select", {
29213
29457
  id: "lupa-page-size-select-dropdown",
29214
29458
  class: "lupa-select-dropdown",
@@ -29222,110 +29466,161 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
29222
29466
  return openBlock(), createElementBlock("option", {
29223
29467
  key: option,
29224
29468
  value: option
29225
- }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$a);
29469
+ }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$b);
29226
29470
  }), 128))
29227
- ], 40, _hoisted_4$e)
29471
+ ], 40, _hoisted_4$g)
29228
29472
  ])
29229
29473
  ]);
29230
29474
  };
29231
29475
  }
29232
29476
  });
29233
- const _hoisted_1$B = {
29477
+ const useSorting = () => {
29478
+ const paramStore = useParamsStore();
29479
+ const optionStore = useOptionsStore();
29480
+ const { sort } = storeToRefs(paramStore);
29481
+ const { ariaLabels, searchResultOptions } = storeToRefs(optionStore);
29482
+ const selectedKey = ref("");
29483
+ const previousKey = ref("");
29484
+ const sortStyle = computed(() => {
29485
+ return searchResultOptions.value.sortStyle;
29486
+ });
29487
+ const sortOptions = computed(() => {
29488
+ return searchResultOptions.value.sort;
29489
+ });
29490
+ const callbacks = computed(() => {
29491
+ return searchResultOptions.value.callbacks;
29492
+ });
29493
+ const sotyByTitleLabel = computed(() => {
29494
+ var _a25;
29495
+ return (_a25 = searchResultOptions.value.labels) == null ? void 0 : _a25.sortBy;
29496
+ });
29497
+ const sortItems = computed(() => {
29498
+ if (sortOptions.value && sortOptions.value.length) {
29499
+ return sortOptions.value;
29500
+ } else {
29501
+ return [];
29502
+ }
29503
+ });
29504
+ const defaultSortValue = computed(() => {
29505
+ var _a25, _b25, _c;
29506
+ return (_c = (_a25 = sortOptions.value) == null ? void 0 : _a25.find((x) => x.default)) != null ? _c : (_b25 = sortItems.value) == null ? void 0 : _b25[0];
29507
+ });
29508
+ const setSortValue = () => {
29509
+ var _a25, _b25;
29510
+ const optionToSelect = (_a25 = sortItems.value.find((x) => x.key === sort.value)) == null ? void 0 : _a25.key;
29511
+ selectedKey.value = optionToSelect != null ? optionToSelect : (_b25 = defaultSortValue.value) == null ? void 0 : _b25.key;
29512
+ previousKey.value = selectedKey.value;
29513
+ };
29514
+ watch(sort, () => setSortValue());
29515
+ const handleSelect = () => {
29516
+ var _a25, _b25, _c;
29517
+ const value = (_a25 = sortItems.value.find((x) => x.key === selectedKey.value)) == null ? void 0 : _a25.key;
29518
+ if (!value) {
29519
+ return;
29520
+ }
29521
+ paramStore.setSortSettings({ selectedSortKey: value, previousSortKey: previousKey.value });
29522
+ (_c = (_b25 = callbacks.value) == null ? void 0 : _b25.onSortChange) == null ? void 0 : _c.call(_b25, { selectedSortKey: value, previousSortKey: previousKey.value });
29523
+ paramStore.appendParams({
29524
+ params: [{ name: optionStore.getQueryParamName(QUERY_PARAMS.SORT), value }],
29525
+ paramsToRemove: [optionStore.getQueryParamName(QUERY_PARAMS.PAGE)]
29526
+ });
29527
+ previousKey.value = selectedKey.value;
29528
+ };
29529
+ return {
29530
+ sotyByTitleLabel,
29531
+ sortItems,
29532
+ selectedKey,
29533
+ ariaLabels,
29534
+ sortOptions,
29535
+ sortStyle,
29536
+ handleSelect,
29537
+ setSortValue
29538
+ };
29539
+ };
29540
+ const _hoisted_1$D = {
29541
+ key: 0,
29234
29542
  id: "lupa-search-results-sort",
29235
29543
  class: "lupa-search-results-sort"
29236
29544
  };
29237
- const _hoisted_2$s = { id: "lupa-select" };
29238
- const _hoisted_3$k = {
29545
+ const _hoisted_2$u = { id: "lupa-select" };
29546
+ const _hoisted_3$m = {
29239
29547
  class: "lupa-select-label",
29240
29548
  for: "lupa-sort-select-dropdown"
29241
29549
  };
29242
- const _hoisted_4$d = ["aria-label"];
29243
- const _hoisted_5$9 = ["value"];
29244
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
29550
+ const _hoisted_4$f = ["aria-label"];
29551
+ const _hoisted_5$a = ["value"];
29552
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
29245
29553
  __name: "SearchResultsSort",
29246
- props: {
29247
- options: {},
29248
- callbacks: {}
29249
- },
29250
29554
  setup(__props) {
29251
- const props = __props;
29252
- const paramStore = useParamsStore();
29253
- const optionStore = useOptionsStore();
29254
- const { sort } = storeToRefs(paramStore);
29255
- const { ariaLabels } = storeToRefs(optionStore);
29256
- const selectedKey = ref("");
29257
- const previousKey = ref("");
29258
- const sortItems = computed(() => {
29259
- if (props.options.options && props.options.options.length) {
29260
- return props.options.options;
29261
- } else {
29262
- return [];
29263
- }
29264
- });
29265
- const defaultSortValue = computed(() => {
29266
- var _a25;
29267
- return (_a25 = props.options.options.find((x) => x.default)) != null ? _a25 : props.options.options[0];
29268
- });
29269
- const setSortValue = () => {
29270
- var _a25, _b25;
29271
- const optionToSelect = (_a25 = sortItems.value.find((x) => x.key === sort.value)) == null ? void 0 : _a25.key;
29272
- selectedKey.value = optionToSelect != null ? optionToSelect : (_b25 = defaultSortValue.value) == null ? void 0 : _b25.key;
29273
- previousKey.value = selectedKey.value;
29274
- };
29275
- watch(sort, () => setSortValue());
29555
+ const {
29556
+ sortItems,
29557
+ selectedKey,
29558
+ ariaLabels,
29559
+ sotyByTitleLabel,
29560
+ sortStyle,
29561
+ handleSelect,
29562
+ setSortValue
29563
+ } = useSorting();
29276
29564
  onMounted(() => {
29277
29565
  setSortValue();
29278
29566
  });
29279
- const handleSelect = () => {
29280
- var _a25, _b25, _c;
29281
- const value = (_a25 = sortItems.value.find((x) => x.key === selectedKey.value)) == null ? void 0 : _a25.key;
29282
- if (!value) {
29283
- return;
29284
- }
29285
- paramStore.setSortSettings({ selectedSortKey: value, previousSortKey: previousKey.value });
29286
- (_c = (_b25 = props.callbacks) == null ? void 0 : _b25.onSortChange) == null ? void 0 : _c.call(_b25, { selectedSortKey: value, previousSortKey: previousKey.value });
29287
- paramStore.appendParams({
29288
- params: [{ name: optionStore.getQueryParamName(QUERY_PARAMS.SORT), value }],
29289
- paramsToRemove: [optionStore.getQueryParamName(QUERY_PARAMS.PAGE)]
29290
- });
29291
- previousKey.value = selectedKey.value;
29292
- };
29567
+ const showDefaultSort = computed(() => {
29568
+ var _a25;
29569
+ return !sortStyle.value || ((_a25 = sortStyle.value) == null ? void 0 : _a25.type) !== "drawer";
29570
+ });
29293
29571
  return (_ctx, _cache) => {
29294
29572
  var _a25, _b25;
29295
- return openBlock(), createElementBlock("div", _hoisted_1$B, [
29296
- createElementVNode("div", _hoisted_2$s, [
29297
- createElementVNode("label", _hoisted_3$k, toDisplayString(_ctx.options.label), 1),
29573
+ return showDefaultSort.value ? (openBlock(), createElementBlock("div", _hoisted_1$D, [
29574
+ createElementVNode("div", _hoisted_2$u, [
29575
+ createElementVNode("label", _hoisted_3$m, toDisplayString(unref(sotyByTitleLabel)), 1),
29298
29576
  withDirectives(createElementVNode("select", {
29299
29577
  id: "lupa-sort-select-dropdown",
29300
29578
  class: "lupa-select-dropdown",
29301
- "aria-label": (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : _ctx.options.label,
29579
+ "aria-label": (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : unref(sotyByTitleLabel),
29302
29580
  "data-cy": "lupa-sort-select-dropdown",
29303
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
29304
- onChange: handleSelect,
29581
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef$1(selectedKey) ? selectedKey.value = $event : null),
29582
+ onChange: _cache[1] || (_cache[1] = //@ts-ignore
29583
+ (...args) => unref(handleSelect) && unref(handleSelect)(...args)),
29305
29584
  ref: "select"
29306
29585
  }, [
29307
- (openBlock(true), createElementBlock(Fragment, null, renderList(sortItems.value, (option) => {
29586
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(sortItems), (option) => {
29308
29587
  return openBlock(), createElementBlock("option", {
29309
29588
  key: option.key,
29310
29589
  value: option.key
29311
- }, toDisplayString(option.label), 9, _hoisted_5$9);
29590
+ }, toDisplayString(option.label), 9, _hoisted_5$a);
29312
29591
  }), 128))
29313
- ], 40, _hoisted_4$d), [
29314
- [vModelSelect, selectedKey.value]
29592
+ ], 40, _hoisted_4$f), [
29593
+ [vModelSelect, unref(selectedKey)]
29315
29594
  ])
29316
29595
  ])
29317
- ]);
29596
+ ])) : createCommentVNode("", true);
29318
29597
  };
29319
29598
  }
29320
29599
  });
29321
- const _hoisted_1$A = { class: "lupa-toolbar-left" };
29322
- const _hoisted_2$r = {
29600
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
29601
+ __name: "SearchResultsSortDrawerToggle",
29602
+ setup(__props) {
29603
+ const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
29604
+ return (_ctx, _cache) => {
29605
+ return unref(sortToggleVisible) ? (openBlock(), createElementBlock("div", {
29606
+ key: 0,
29607
+ class: normalizeClass(["lupa-mobile-toggle lupa-mobile-sort-toggle", {
29608
+ "lupa-sidebar-open": unref(isSidebarVisible)
29609
+ }]),
29610
+ onClick: _cache[0] || (_cache[0] = //@ts-ignore
29611
+ (...args) => unref(handleSortSidebarToggle) && unref(handleSortSidebarToggle)(...args))
29612
+ }, toDisplayString(unref(sortLabel)), 3)) : createCommentVNode("", true);
29613
+ };
29614
+ }
29615
+ });
29616
+ const _hoisted_1$C = { class: "lupa-toolbar-left" };
29617
+ const _hoisted_2$t = {
29323
29618
  key: 0,
29324
29619
  class: "lupa-toolbar-right-title"
29325
29620
  };
29326
- const _hoisted_3$j = { key: 2 };
29327
- const _hoisted_4$c = { key: 4 };
29328
- const _hoisted_5$8 = { key: 6 };
29621
+ const _hoisted_3$l = { key: 2 };
29622
+ const _hoisted_4$e = { key: 4 };
29623
+ const _hoisted_5$9 = { key: 6 };
29329
29624
  const _hoisted_6$4 = { class: "lupa-toolbar-right" };
29330
29625
  const _hoisted_7$2 = {
29331
29626
  key: 0,
@@ -29333,7 +29628,7 @@ const _hoisted_7$2 = {
29333
29628
  };
29334
29629
  const _hoisted_8 = { key: 2 };
29335
29630
  const _hoisted_9 = { key: 4 };
29336
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
29631
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
29337
29632
  __name: "SearchResultsToolbar",
29338
29633
  props: {
29339
29634
  options: {},
@@ -29349,7 +29644,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
29349
29644
  const searchResultStore = useSearchResultStore();
29350
29645
  const optionsStore = useOptionsStore();
29351
29646
  const { page, limit } = storeToRefs(paramStore);
29352
- const { hasAnyFilter, searchResult, isMobileSidebarVisible } = storeToRefs(searchResultStore);
29647
+ const { hasAnyFilter, searchResult, isFilterSidebarVisible } = storeToRefs(searchResultStore);
29353
29648
  const { currentResolutionPageSizes } = storeToRefs(optionsStore);
29354
29649
  const isBottomLocation = computed(() => {
29355
29650
  return props.paginationLocation === "bottom";
@@ -29427,7 +29722,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
29427
29722
  var _a25;
29428
29723
  return (_a25 = optionsValue.value.labels.toolbarRightLabel) != null ? _a25 : "";
29429
29724
  });
29430
- const showMobileFilterCount = computed(() => {
29725
+ computed(() => {
29431
29726
  var _a25, _b25, _c;
29432
29727
  return Boolean((_c = (_b25 = (_a25 = optionsValue.value.filters) == null ? void 0 : _a25.currentFilters) == null ? void 0 : _b25.mobileSidebar) == null ? void 0 : _c.showFilterCount);
29433
29728
  });
@@ -29446,39 +29741,37 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
29446
29741
  id: "lupa-search-results-toolbar",
29447
29742
  class: normalizeClass({ "lupa-filter-no-results": !hasResults.value })
29448
29743
  }, [
29449
- createElementVNode("div", _hoisted_1$A, [
29450
- toolbarLeftLabel.value ? (openBlock(), createElementBlock("div", _hoisted_2$r, toDisplayString(toolbarLeftLabel.value), 1)) : createCommentVNode("", true),
29451
- showLayoutSelection.value ? (openBlock(), createBlock(_sfc_main$L, { key: 1 })) : (openBlock(), createElementBlock("div", _hoisted_3$j)),
29452
- showItemSummary.value ? (openBlock(), createBlock(_sfc_main$11, {
29744
+ createElementVNode("div", _hoisted_1$C, [
29745
+ toolbarLeftLabel.value ? (openBlock(), createElementBlock("div", _hoisted_2$t, toDisplayString(toolbarLeftLabel.value), 1)) : createCommentVNode("", true),
29746
+ showLayoutSelection.value ? (openBlock(), createBlock(_sfc_main$O, { key: 1 })) : (openBlock(), createElementBlock("div", _hoisted_3$l)),
29747
+ showItemSummary.value ? (openBlock(), createBlock(_sfc_main$17, {
29453
29748
  key: 3,
29454
29749
  label: searchSummaryLabel.value,
29455
29750
  clearable: unref(hasAnyFilter) && showFilterClear.value,
29456
29751
  onClear: handleClearAll
29457
- }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$c)),
29458
- displayPageSelect.value ? (openBlock(), createBlock(_sfc_main$I, {
29752
+ }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$e)),
29753
+ displayPageSelect.value ? (openBlock(), createBlock(_sfc_main$L, {
29459
29754
  key: 5,
29460
29755
  options: paginationOptions.value.pageSelect,
29461
29756
  "last-page-label": paginationOptions.value.labels.showMore,
29462
29757
  "first-page-label": paginationOptions.value.labels.showLess
29463
- }, null, 8, ["options", "last-page-label", "first-page-label"])) : (openBlock(), createElementBlock("div", _hoisted_5$8))
29758
+ }, null, 8, ["options", "last-page-label", "first-page-label"])) : (openBlock(), createElementBlock("div", _hoisted_5$9))
29464
29759
  ]),
29465
29760
  createElementVNode("div", _hoisted_6$4, [
29466
29761
  toolbarRightLabel.value ? (openBlock(), createElementBlock("div", _hoisted_7$2, toDisplayString(toolbarRightLabel.value), 1)) : createCommentVNode("", true),
29467
- createVNode(_sfc_main$K, {
29468
- labels: optionsValue.value.labels,
29469
- "show-filter-count": showMobileFilterCount.value
29470
- }, null, 8, ["labels", "show-filter-count"]),
29471
- paginationDisplay.value.pageSize ? (openBlock(), createBlock(_sfc_main$H, {
29762
+ createVNode(_sfc_main$N),
29763
+ createVNode(_sfc_main$I),
29764
+ paginationDisplay.value.pageSize ? (openBlock(), createBlock(_sfc_main$K, {
29472
29765
  key: 1,
29473
29766
  options: paginationOptions.value.pageSize,
29474
29767
  labels: paginationOptions.value.labels
29475
29768
  }, null, 8, ["options", "labels"])) : (openBlock(), createElementBlock("div", _hoisted_8)),
29476
- sortOptions.value ? (openBlock(), createBlock(_sfc_main$G, {
29769
+ sortOptions.value ? (openBlock(), createBlock(_sfc_main$J, {
29477
29770
  key: 3,
29478
29771
  options: sortOptions.value,
29479
29772
  callbacks: callbacks.value
29480
29773
  }, null, 8, ["options", "callbacks"])) : (openBlock(), createElementBlock("div", _hoisted_9)),
29481
- showFiltersCloseButton.value && unref(isMobileSidebarVisible) ? (openBlock(), createBlock(_sfc_main$J, {
29774
+ showFiltersCloseButton.value && unref(isFilterSidebarVisible) ? (openBlock(), createBlock(_sfc_main$M, {
29482
29775
  key: 5,
29483
29776
  label: optionsValue.value.labels.mobileFilterCloseButton
29484
29777
  }, null, 8, ["label"])) : createCommentVNode("", true)
@@ -29487,7 +29780,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
29487
29780
  };
29488
29781
  }
29489
29782
  });
29490
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
29783
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
29491
29784
  __name: "SearchResultsProductImage",
29492
29785
  props: {
29493
29786
  item: {},
@@ -29495,7 +29788,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
29495
29788
  },
29496
29789
  setup(__props) {
29497
29790
  return (_ctx, _cache) => {
29498
- return openBlock(), createBlock(_sfc_main$1q, {
29791
+ return openBlock(), createBlock(_sfc_main$1w, {
29499
29792
  item: _ctx.item,
29500
29793
  options: _ctx.options,
29501
29794
  "wrapper-class": "lupa-search-results-image-wrapper",
@@ -29504,16 +29797,16 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
29504
29797
  };
29505
29798
  }
29506
29799
  });
29507
- const _hoisted_1$z = ["title", "innerHTML"];
29508
- const _hoisted_2$q = ["title"];
29509
- const _hoisted_3$i = ["href", "innerHTML"];
29510
- const _hoisted_4$b = ["title"];
29511
- const _hoisted_5$7 = {
29800
+ const _hoisted_1$B = ["title", "innerHTML"];
29801
+ const _hoisted_2$s = ["title"];
29802
+ const _hoisted_3$k = ["href", "innerHTML"];
29803
+ const _hoisted_4$d = ["title"];
29804
+ const _hoisted_5$8 = {
29512
29805
  key: 0,
29513
29806
  class: "lupa-search-results-product-title-text"
29514
29807
  };
29515
29808
  const _hoisted_6$3 = ["href"];
29516
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
29809
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
29517
29810
  __name: "SearchResultsProductTitle",
29518
29811
  props: {
29519
29812
  item: {},
@@ -29550,7 +29843,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
29550
29843
  style: normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
29551
29844
  title: sanitizedTitle.value,
29552
29845
  innerHTML: sanitizedTitle.value
29553
- }, null, 12, _hoisted_1$z)) : isHtml.value && _ctx.options.link ? (openBlock(), createElementBlock("div", {
29846
+ }, null, 12, _hoisted_1$B)) : isHtml.value && _ctx.options.link ? (openBlock(), createElementBlock("div", {
29554
29847
  key: 1,
29555
29848
  class: "lupa-search-results-product-title",
29556
29849
  style: normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
@@ -29561,26 +29854,26 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
29561
29854
  class: "lupa-search-results-product-title-text lupa-title-link",
29562
29855
  innerHTML: sanitizedTitle.value,
29563
29856
  onClick: handleNavigation
29564
- }, null, 8, _hoisted_3$i)
29565
- ], 12, _hoisted_2$q)) : (openBlock(), createElementBlock("div", {
29857
+ }, null, 8, _hoisted_3$k)
29858
+ ], 12, _hoisted_2$s)) : (openBlock(), createElementBlock("div", {
29566
29859
  key: 2,
29567
29860
  class: "lupa-search-results-product-title",
29568
29861
  style: normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
29569
29862
  title: title.value
29570
29863
  }, [
29571
- !_ctx.options.link ? (openBlock(), createElementBlock("span", _hoisted_5$7, toDisplayString(title.value), 1)) : createCommentVNode("", true),
29864
+ !_ctx.options.link ? (openBlock(), createElementBlock("span", _hoisted_5$8, toDisplayString(title.value), 1)) : createCommentVNode("", true),
29572
29865
  _ctx.options.link ? (openBlock(), createElementBlock("a", {
29573
29866
  key: 1,
29574
29867
  href: _ctx.link,
29575
29868
  class: "lupa-search-results-product-title-text lupa-title-link",
29576
29869
  onClick: handleNavigation
29577
29870
  }, toDisplayString(title.value), 9, _hoisted_6$3)) : createCommentVNode("", true)
29578
- ], 12, _hoisted_4$b));
29871
+ ], 12, _hoisted_4$d));
29579
29872
  };
29580
29873
  }
29581
29874
  });
29582
- const _hoisted_1$y = ["innerHTML"];
29583
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
29875
+ const _hoisted_1$A = ["innerHTML"];
29876
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
29584
29877
  __name: "SearchResultsProductDescription",
29585
29878
  props: {
29586
29879
  item: {},
@@ -29607,7 +29900,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
29607
29900
  class: "lupa-search-results-product-description",
29608
29901
  style: normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
29609
29902
  innerHTML: sanitizedDescription.value
29610
- }, null, 12, _hoisted_1$y)) : (openBlock(), createElementBlock("div", {
29903
+ }, null, 12, _hoisted_1$A)) : (openBlock(), createElementBlock("div", {
29611
29904
  key: 1,
29612
29905
  class: "lupa-search-results-product-description",
29613
29906
  style: normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
@@ -29615,15 +29908,15 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
29615
29908
  };
29616
29909
  }
29617
29910
  });
29618
- const _hoisted_1$x = { id: "lupa-search-results-rating" };
29619
- const _hoisted_2$p = { class: "lupa-ratings" };
29620
- const _hoisted_3$h = { class: "lupa-ratings-base" };
29621
- const _hoisted_4$a = ["innerHTML"];
29622
- const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
29911
+ const _hoisted_1$z = { id: "lupa-search-results-rating" };
29912
+ const _hoisted_2$r = { class: "lupa-ratings" };
29913
+ const _hoisted_3$j = { class: "lupa-ratings-base" };
29914
+ const _hoisted_4$c = ["innerHTML"];
29915
+ const _hoisted_5$7 = { class: "lupa-rating-wrapper" };
29623
29916
  const _hoisted_6$2 = ["innerHTML"];
29624
29917
  const _hoisted_7$1 = ["href"];
29625
29918
  const STAR_COUNT = 5;
29626
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
29919
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
29627
29920
  __name: "SearchResultsProductRating",
29628
29921
  props: {
29629
29922
  item: {},
@@ -29660,18 +29953,18 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
29660
29953
  return generateLink(props.options.links.ratingDetails, props.item);
29661
29954
  });
29662
29955
  return (_ctx, _cache) => {
29663
- return openBlock(), createElementBlock("div", _hoisted_1$x, [
29664
- createElementVNode("div", _hoisted_2$p, [
29665
- createElementVNode("div", _hoisted_3$h, [
29956
+ return openBlock(), createElementBlock("div", _hoisted_1$z, [
29957
+ createElementVNode("div", _hoisted_2$r, [
29958
+ createElementVNode("div", _hoisted_3$j, [
29666
29959
  (openBlock(true), createElementBlock(Fragment, null, renderList(baseStars.value, (star, index) => {
29667
29960
  return openBlock(), createElementBlock("div", {
29668
29961
  key: index,
29669
29962
  innerHTML: star,
29670
29963
  class: "lupa-rating lupa-rating-not-highlighted"
29671
- }, null, 8, _hoisted_4$a);
29964
+ }, null, 8, _hoisted_4$c);
29672
29965
  }), 128))
29673
29966
  ]),
29674
- createElementVNode("div", _hoisted_5$6, [
29967
+ createElementVNode("div", _hoisted_5$7, [
29675
29968
  createElementVNode("div", {
29676
29969
  class: "lupa-ratings-highlighted",
29677
29970
  style: normalizeStyle({ width: ratingPercentage.value + "%" })
@@ -29694,11 +29987,11 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
29694
29987
  };
29695
29988
  }
29696
29989
  });
29697
- const _hoisted_1$w = {
29990
+ const _hoisted_1$y = {
29698
29991
  class: "lupa-search-results-product-regular-price",
29699
29992
  "data-cy": "lupa-search-results-product-regular-price"
29700
29993
  };
29701
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
29994
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
29702
29995
  __name: "SearchResultsProductRegularPrice",
29703
29996
  props: {
29704
29997
  item: {},
@@ -29720,11 +30013,11 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
29720
30013
  );
29721
30014
  });
29722
30015
  return (_ctx, _cache) => {
29723
- return openBlock(), createElementBlock("div", _hoisted_1$w, toDisplayString(price.value), 1);
30016
+ return openBlock(), createElementBlock("div", _hoisted_1$y, toDisplayString(price.value), 1);
29724
30017
  };
29725
30018
  }
29726
30019
  });
29727
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
30020
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
29728
30021
  __name: "SearchResultsProductPrice",
29729
30022
  props: {
29730
30023
  item: {},
@@ -29758,12 +30051,12 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
29758
30051
  };
29759
30052
  }
29760
30053
  });
29761
- const _hoisted_1$v = { class: "lupa-search-results-add-to-cart-wrapper" };
29762
- const _hoisted_2$o = { class: "lupa-search-results-product-addtocart" };
29763
- const _hoisted_3$g = ["disabled"];
29764
- const _hoisted_4$9 = ["href"];
29765
- const _hoisted_5$5 = ["id", "disabled"];
29766
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
30054
+ const _hoisted_1$x = { class: "lupa-search-results-add-to-cart-wrapper" };
30055
+ const _hoisted_2$q = { class: "lupa-search-results-product-addtocart" };
30056
+ const _hoisted_3$i = ["disabled"];
30057
+ const _hoisted_4$b = ["href"];
30058
+ const _hoisted_5$6 = ["id", "disabled"];
30059
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
29767
30060
  __name: "SearchResultsProductAddToCart",
29768
30061
  props: {
29769
30062
  item: {},
@@ -29822,16 +30115,16 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
29822
30115
  loading.value = false;
29823
30116
  });
29824
30117
  return (_ctx, _cache) => {
29825
- return openBlock(), createElementBlock("div", _hoisted_1$v, [
29826
- createElementVNode("div", _hoisted_2$o, [
30118
+ return openBlock(), createElementBlock("div", _hoisted_1$x, [
30119
+ createElementVNode("div", _hoisted_2$q, [
29827
30120
  hasLink.value ? (openBlock(), createElementBlock("button", mergeProps({
29828
30121
  key: 0,
29829
30122
  class: addToCartButtonClass.value,
29830
30123
  "data-cy": "lupa-add-to-cart",
29831
30124
  disabled: !inStockValue.value || loading.value
29832
30125
  }, _ctx.dynamicAttributes, { onClick: handleClick }), [
29833
- createElementVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$9)
29834
- ], 16, _hoisted_3$g)) : (openBlock(), createElementBlock("button", mergeProps({
30126
+ createElementVNode("a", { href: _ctx.link }, toDisplayString(label.value), 9, _hoisted_4$b)
30127
+ ], 16, _hoisted_3$i)) : (openBlock(), createElementBlock("button", mergeProps({
29835
30128
  key: 1,
29836
30129
  id: id.value,
29837
30130
  class: addToCartButtonClass.value,
@@ -29839,18 +30132,18 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
29839
30132
  disabled: !inStockValue.value || loading.value
29840
30133
  }, _ctx.dynamicAttributes, {
29841
30134
  onClick: withModifiers(handleClick, ["stop"])
29842
- }), toDisplayString(label.value), 17, _hoisted_5$5))
30135
+ }), toDisplayString(label.value), 17, _hoisted_5$6))
29843
30136
  ])
29844
30137
  ]);
29845
30138
  };
29846
30139
  }
29847
30140
  });
29848
- const _hoisted_1$u = ["innerHTML"];
29849
- const _hoisted_2$n = { key: 0 };
29850
- const _hoisted_3$f = { key: 1 };
29851
- const _hoisted_4$8 = { class: "lupa-search-box-custom-label" };
29852
- const _hoisted_5$4 = { class: "lupa-search-box-custom-text" };
29853
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
30141
+ const _hoisted_1$w = ["innerHTML"];
30142
+ const _hoisted_2$p = { key: 0 };
30143
+ const _hoisted_3$h = { key: 1 };
30144
+ const _hoisted_4$a = { class: "lupa-search-box-custom-label" };
30145
+ const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
30146
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
29854
30147
  __name: "SearchResultsProductCustom",
29855
30148
  props: {
29856
30149
  item: {},
@@ -29892,20 +30185,20 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
29892
30185
  key: 0,
29893
30186
  class: className.value,
29894
30187
  innerHTML: text.value
29895
- }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$u)) : (openBlock(), createElementBlock("div", mergeProps({
30188
+ }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$w)) : (openBlock(), createElementBlock("div", mergeProps({
29896
30189
  key: 1,
29897
30190
  class: className.value
29898
30191
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
29899
- !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$n, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$f, [
29900
- createElementVNode("div", _hoisted_4$8, toDisplayString(label.value), 1),
29901
- createElementVNode("div", _hoisted_5$4, toDisplayString(text.value), 1)
30192
+ !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$p, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$h, [
30193
+ createElementVNode("div", _hoisted_4$a, toDisplayString(label.value), 1),
30194
+ createElementVNode("div", _hoisted_5$5, toDisplayString(text.value), 1)
29902
30195
  ]))
29903
30196
  ], 16));
29904
30197
  };
29905
30198
  }
29906
30199
  });
29907
- const _hoisted_1$t = ["innerHTML"];
29908
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
30200
+ const _hoisted_1$v = ["innerHTML"];
30201
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
29909
30202
  __name: "SearchResultsProductCustomHtmlElement",
29910
30203
  props: {
29911
30204
  item: {},
@@ -29941,15 +30234,15 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
29941
30234
  return openBlock(), createElementBlock("div", mergeProps({
29942
30235
  class: className.value,
29943
30236
  innerHTML: text.value
29944
- }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$t);
30237
+ }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$v);
29945
30238
  };
29946
30239
  }
29947
30240
  });
29948
- const _hoisted_1$s = { id: "lupa-search-results-rating" };
29949
- const _hoisted_2$m = ["innerHTML"];
29950
- const _hoisted_3$e = { class: "lupa-ratings" };
29951
- const _hoisted_4$7 = ["href"];
29952
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
30241
+ const _hoisted_1$u = { id: "lupa-search-results-rating" };
30242
+ const _hoisted_2$o = ["innerHTML"];
30243
+ const _hoisted_3$g = { class: "lupa-ratings" };
30244
+ const _hoisted_4$9 = ["href"];
30245
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
29953
30246
  __name: "SearchResultsProductSingleStarRating",
29954
30247
  props: {
29955
30248
  item: {},
@@ -29977,35 +30270,35 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
29977
30270
  return RATING_STAR_HTML;
29978
30271
  });
29979
30272
  return (_ctx, _cache) => {
29980
- return openBlock(), createElementBlock("div", _hoisted_1$s, [
30273
+ return openBlock(), createElementBlock("div", _hoisted_1$u, [
29981
30274
  createElementVNode("div", {
29982
30275
  innerHTML: star.value,
29983
30276
  class: "lupa-rating lupa-rating-highlighted"
29984
- }, null, 8, _hoisted_2$m),
29985
- createElementVNode("div", _hoisted_3$e, toDisplayString(rating.value), 1),
30277
+ }, null, 8, _hoisted_2$o),
30278
+ createElementVNode("div", _hoisted_3$g, toDisplayString(rating.value), 1),
29986
30279
  createElementVNode("a", {
29987
30280
  href: ratingLink.value,
29988
30281
  class: "lupa-total-ratings"
29989
- }, toDisplayString(totalRatings.value), 9, _hoisted_4$7)
30282
+ }, toDisplayString(totalRatings.value), 9, _hoisted_4$9)
29990
30283
  ]);
29991
30284
  };
29992
30285
  }
29993
30286
  });
29994
30287
  const __default__ = {
29995
30288
  components: {
29996
- SearchResultsProductImage: _sfc_main$E,
29997
- SearchResultsProductTitle: _sfc_main$D,
29998
- SearchResultsProductDescription: _sfc_main$C,
29999
- SearchResultsProductRating: _sfc_main$B,
30000
- SearchResultsProductRegularPrice: _sfc_main$A,
30001
- SearchResultsProductPrice: _sfc_main$z,
30002
- SearchResultsProductAddToCart: _sfc_main$y,
30003
- SearchResultsProductCustom: _sfc_main$x,
30004
- SearchResultsProductCustomHtmlElement: _sfc_main$w,
30005
- SearchResultsProductSingleStarRating: _sfc_main$v
30006
- }
30007
- };
30008
- const _sfc_main$u = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__), {
30289
+ SearchResultsProductImage: _sfc_main$G,
30290
+ SearchResultsProductTitle: _sfc_main$F,
30291
+ SearchResultsProductDescription: _sfc_main$E,
30292
+ SearchResultsProductRating: _sfc_main$D,
30293
+ SearchResultsProductRegularPrice: _sfc_main$C,
30294
+ SearchResultsProductPrice: _sfc_main$B,
30295
+ SearchResultsProductAddToCart: _sfc_main$A,
30296
+ SearchResultsProductCustom: _sfc_main$z,
30297
+ SearchResultsProductCustomHtmlElement: _sfc_main$y,
30298
+ SearchResultsProductSingleStarRating: _sfc_main$x
30299
+ }
30300
+ };
30301
+ const _sfc_main$w = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__), {
30009
30302
  __name: "SearchResultsProductCardElement",
30010
30303
  props: {
30011
30304
  item: {},
@@ -30083,13 +30376,13 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
30083
30376
  };
30084
30377
  }
30085
30378
  }));
30086
- const _hoisted_1$r = ["href"];
30087
- const _hoisted_2$l = {
30379
+ const _hoisted_1$t = ["href"];
30380
+ const _hoisted_2$n = {
30088
30381
  key: 0,
30089
30382
  class: "lupa-out-of-stock"
30090
30383
  };
30091
- const _hoisted_3$d = { class: "lupa-search-result-product-details-section" };
30092
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
30384
+ const _hoisted_3$f = { class: "lupa-search-result-product-details-section" };
30385
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
30093
30386
  __name: "SearchResultsProductCard",
30094
30387
  props: {
30095
30388
  product: {},
@@ -30265,7 +30558,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
30265
30558
  default: withCtx(() => {
30266
30559
  var _a25;
30267
30560
  return [
30268
- createVNode(_sfc_main$1a, { options: badgesOptions.value }, null, 8, ["options"]),
30561
+ createVNode(_sfc_main$1g, { options: badgesOptions.value }, null, 8, ["options"]),
30269
30562
  createElementVNode("div", {
30270
30563
  class: normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
30271
30564
  }, [
@@ -30275,7 +30568,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
30275
30568
  onClick: handleNavigation
30276
30569
  }, [
30277
30570
  (openBlock(true), createElementBlock(Fragment, null, renderList(imageElements.value, (element) => {
30278
- return openBlock(), createBlock(_sfc_main$u, {
30571
+ return openBlock(), createBlock(_sfc_main$w, {
30279
30572
  class: "lupa-search-results-product-element",
30280
30573
  item: _ctx.product,
30281
30574
  element,
@@ -30286,16 +30579,16 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
30286
30579
  onProductEvent: handleProductEvent
30287
30580
  }, null, 8, ["item", "element", "labels", "inStock", "link"]);
30288
30581
  }), 128)),
30289
- createVNode(_sfc_main$1a, {
30582
+ createVNode(_sfc_main$1g, {
30290
30583
  options: badgesOptions.value,
30291
30584
  position: "image",
30292
30585
  class: "lupa-image-badges"
30293
30586
  }, null, 8, ["options"]),
30294
- ((_a25 = labels.value) == null ? void 0 : _a25.outOfStock) && !isInStock.value ? (openBlock(), createElementBlock("div", _hoisted_2$l, toDisplayString(labels.value.outOfStock), 1)) : createCommentVNode("", true)
30295
- ], 8, _hoisted_1$r),
30296
- createElementVNode("div", _hoisted_3$d, [
30587
+ ((_a25 = labels.value) == null ? void 0 : _a25.outOfStock) && !isInStock.value ? (openBlock(), createElementBlock("div", _hoisted_2$n, toDisplayString(labels.value.outOfStock), 1)) : createCommentVNode("", true)
30588
+ ], 8, _hoisted_1$t),
30589
+ createElementVNode("div", _hoisted_3$f, [
30297
30590
  (openBlock(true), createElementBlock(Fragment, null, renderList(detailElements.value, (element) => {
30298
- return openBlock(), createBlock(_sfc_main$u, {
30591
+ return openBlock(), createBlock(_sfc_main$w, {
30299
30592
  class: "lupa-search-results-product-element",
30300
30593
  item: _ctx.product,
30301
30594
  element,
@@ -30313,7 +30606,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
30313
30606
  class: normalizeClass("lupa-element-group-" + group)
30314
30607
  }, [
30315
30608
  (openBlock(true), createElementBlock(Fragment, null, renderList(getGroupElements(group), (element) => {
30316
- return openBlock(), createBlock(_sfc_main$u, {
30609
+ return openBlock(), createBlock(_sfc_main$w, {
30317
30610
  class: "lupa-search-results-product-element",
30318
30611
  item: _ctx.product,
30319
30612
  element,
@@ -30334,23 +30627,23 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
30334
30627
  };
30335
30628
  }
30336
30629
  });
30337
- const _hoisted_1$q = {
30630
+ const _hoisted_1$s = {
30338
30631
  id: "lupa-search-results-similar-queries",
30339
30632
  "data-cy": "lupa-search-results-similar-queries"
30340
30633
  };
30341
- const _hoisted_2$k = { class: "lupa-similar-queries-label" };
30342
- const _hoisted_3$c = {
30634
+ const _hoisted_2$m = { class: "lupa-similar-queries-label" };
30635
+ const _hoisted_3$e = {
30343
30636
  class: "lupa-similar-query-label",
30344
30637
  "data-cy": "lupa-similar-query-label"
30345
30638
  };
30346
- const _hoisted_4$6 = ["onClick"];
30347
- const _hoisted_5$3 = ["innerHTML"];
30639
+ const _hoisted_4$8 = ["onClick"];
30640
+ const _hoisted_5$4 = ["innerHTML"];
30348
30641
  const _hoisted_6$1 = { key: 0 };
30349
30642
  const _hoisted_7 = {
30350
30643
  class: "lupa-products",
30351
30644
  "data-cy": "lupa-products"
30352
30645
  };
30353
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
30646
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
30354
30647
  __name: "SearchResultsSimilarQueries",
30355
30648
  props: {
30356
30649
  labels: {},
@@ -30388,11 +30681,11 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
30388
30681
  };
30389
30682
  };
30390
30683
  return (_ctx, _cache) => {
30391
- return openBlock(), createElementBlock("div", _hoisted_1$q, [
30392
- createElementVNode("div", _hoisted_2$k, toDisplayString(_ctx.labels.similarQueries), 1),
30684
+ return openBlock(), createElementBlock("div", _hoisted_1$s, [
30685
+ createElementVNode("div", _hoisted_2$m, toDisplayString(_ctx.labels.similarQueries), 1),
30393
30686
  (openBlock(true), createElementBlock(Fragment, null, renderList(similarQueries.value, (similarQuery, index) => {
30394
30687
  return openBlock(), createElementBlock("div", { key: index }, [
30395
- createElementVNode("div", _hoisted_3$c, [
30688
+ createElementVNode("div", _hoisted_3$e, [
30396
30689
  createElementVNode("span", null, toDisplayString(similarQueryLabel.value), 1),
30397
30690
  createElementVNode("span", {
30398
30691
  id: "lupa-similar-query-text-component",
@@ -30402,13 +30695,13 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
30402
30695
  }, [
30403
30696
  createElementVNode("span", {
30404
30697
  innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
30405
- }, null, 8, _hoisted_5$3),
30698
+ }, null, 8, _hoisted_5$4),
30406
30699
  similarQuery.count ? (openBlock(), createElementBlock("span", _hoisted_6$1, " (" + toDisplayString(similarQuery.count) + ")", 1)) : createCommentVNode("", true)
30407
- ], 8, _hoisted_4$6)
30700
+ ], 8, _hoisted_4$8)
30408
30701
  ]),
30409
30702
  createElementVNode("div", _hoisted_7, [
30410
30703
  (openBlock(true), createElementBlock(Fragment, null, renderList(similarQuery.items, (product, index2) => {
30411
- return openBlock(), createBlock(_sfc_main$t, {
30704
+ return openBlock(), createBlock(_sfc_main$v, {
30412
30705
  style: normalizeStyle(_ctx.columnSize),
30413
30706
  key: getDocumentKey(index2, product),
30414
30707
  product,
@@ -30423,15 +30716,15 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
30423
30716
  };
30424
30717
  }
30425
30718
  });
30426
- const _hoisted_1$p = {
30719
+ const _hoisted_1$r = {
30427
30720
  key: 0,
30428
30721
  class: "lupa-results-additional-panel"
30429
30722
  };
30430
- const _hoisted_2$j = {
30723
+ const _hoisted_2$l = {
30431
30724
  class: "lupa-results-additional-panel-items",
30432
30725
  "data-cy": "lupa-results-additional-panel-items"
30433
30726
  };
30434
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
30727
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
30435
30728
  __name: "AdditionalPanel",
30436
30729
  props: {
30437
30730
  panel: {},
@@ -30504,10 +30797,10 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
30504
30797
  handleQueryChange();
30505
30798
  });
30506
30799
  return (_ctx, _cache) => {
30507
- return hasResults.value ? (openBlock(), createElementBlock("div", _hoisted_1$p, [
30508
- createElementVNode("div", _hoisted_2$j, [
30800
+ return hasResults.value ? (openBlock(), createElementBlock("div", _hoisted_1$r, [
30801
+ createElementVNode("div", _hoisted_2$l, [
30509
30802
  (openBlock(true), createElementBlock(Fragment, null, renderList(visibleItems.value, (item, index) => {
30510
- return openBlock(), createBlock(_sfc_main$t, {
30803
+ return openBlock(), createBlock(_sfc_main$v, {
30511
30804
  key: index,
30512
30805
  product: item,
30513
30806
  options: _ctx.panel,
@@ -30525,11 +30818,11 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
30525
30818
  };
30526
30819
  }
30527
30820
  });
30528
- const _hoisted_1$o = {
30821
+ const _hoisted_1$q = {
30529
30822
  key: 0,
30530
30823
  class: "lupa-results-additional-panels"
30531
30824
  };
30532
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
30825
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
30533
30826
  __name: "AdditionalPanels",
30534
30827
  props: {
30535
30828
  options: {},
@@ -30546,9 +30839,9 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
30546
30839
  return locationPanels.value.length > 0;
30547
30840
  });
30548
30841
  return (_ctx, _cache) => {
30549
- return isVisible.value ? (openBlock(), createElementBlock("div", _hoisted_1$o, [
30842
+ return isVisible.value ? (openBlock(), createElementBlock("div", _hoisted_1$q, [
30550
30843
  (openBlock(true), createElementBlock(Fragment, null, renderList(locationPanels.value, (panel) => {
30551
- return openBlock(), createBlock(_sfc_main$r, {
30844
+ return openBlock(), createBlock(_sfc_main$t, {
30552
30845
  key: panel.queryKey,
30553
30846
  panel,
30554
30847
  options: _ctx.sdkOptions
@@ -30565,29 +30858,29 @@ const _export_sfc = (sfc, props) => {
30565
30858
  }
30566
30859
  return target2;
30567
30860
  };
30568
- const _sfc_main$p = {};
30569
- const _hoisted_1$n = { class: "lupa-spinner-wrapper" };
30570
- const _hoisted_2$i = { class: "lupa-spinner" };
30861
+ const _sfc_main$r = {};
30862
+ const _hoisted_1$p = { class: "lupa-spinner-wrapper" };
30863
+ const _hoisted_2$k = { class: "lupa-spinner" };
30571
30864
  function _sfc_render(_ctx, _cache) {
30572
- return openBlock(), createElementBlock("div", _hoisted_1$n, [
30573
- createElementVNode("div", _hoisted_2$i, [
30865
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [
30866
+ createElementVNode("div", _hoisted_2$k, [
30574
30867
  (openBlock(), createElementBlock(Fragment, null, renderList(12, (x) => {
30575
30868
  return createElementVNode("div", { key: x });
30576
30869
  }), 64))
30577
30870
  ])
30578
30871
  ]);
30579
30872
  }
30580
- const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render]]);
30581
- const _hoisted_1$m = {
30873
+ const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render]]);
30874
+ const _hoisted_1$o = {
30582
30875
  id: "lupa-search-results-similar-results",
30583
30876
  "data-cy": "lupa-search-results-similar-results"
30584
30877
  };
30585
- const _hoisted_2$h = { class: "lupa-similar-results-label" };
30586
- const _hoisted_3$b = {
30878
+ const _hoisted_2$j = { class: "lupa-similar-results-label" };
30879
+ const _hoisted_3$d = {
30587
30880
  class: "lupa-products",
30588
30881
  "data-cy": "lupa-products"
30589
30882
  };
30590
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
30883
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
30591
30884
  __name: "SearchResultsSimilarResults",
30592
30885
  props: {
30593
30886
  columnSize: {},
@@ -30608,11 +30901,11 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
30608
30901
  };
30609
30902
  });
30610
30903
  return (_ctx, _cache) => {
30611
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
30612
- createElementVNode("div", _hoisted_2$h, toDisplayString(_ctx.labels.similarResultsLabel), 1),
30613
- createElementVNode("div", _hoisted_3$b, [
30904
+ return openBlock(), createElementBlock("div", _hoisted_1$o, [
30905
+ createElementVNode("div", _hoisted_2$j, toDisplayString(_ctx.labels.similarResultsLabel), 1),
30906
+ createElementVNode("div", _hoisted_3$d, [
30614
30907
  (openBlock(true), createElementBlock(Fragment, null, renderList(similarResults.value.items, (product, index) => {
30615
- return openBlock(), createBlock(_sfc_main$t, {
30908
+ return openBlock(), createBlock(_sfc_main$v, {
30616
30909
  style: normalizeStyle(_ctx.columnSize),
30617
30910
  key: getDocumentKey(index, product),
30618
30911
  product,
@@ -30733,15 +31026,15 @@ const extractRelatedSource = (source, searchResults, options, activeFilters) =>
30733
31026
  return extractFacetsRelatedSource(source, searchResults, options, activeFilters);
30734
31027
  }
30735
31028
  });
30736
- const _hoisted_1$l = { class: "lupa-related-query-item" };
30737
- const _hoisted_2$g = { class: "lupa-related-query-image" };
30738
- const _hoisted_3$a = { class: "lupa-related-query-label" };
30739
- const _hoisted_4$5 = { class: "lupa-related-query-title" };
30740
- const _hoisted_5$2 = {
31029
+ const _hoisted_1$n = { class: "lupa-related-query-item" };
31030
+ const _hoisted_2$i = { class: "lupa-related-query-image" };
31031
+ const _hoisted_3$c = { class: "lupa-related-query-label" };
31032
+ const _hoisted_4$7 = { class: "lupa-related-query-title" };
31033
+ const _hoisted_5$3 = {
30741
31034
  key: 0,
30742
31035
  class: "lupa-related-query-count"
30743
31036
  };
30744
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
31037
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
30745
31038
  __name: "RelatedQueryPanel",
30746
31039
  props: {
30747
31040
  query: {},
@@ -30837,9 +31130,9 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
30837
31130
  });
30838
31131
  return (_ctx, _cache) => {
30839
31132
  var _a25;
30840
- return openBlock(), createElementBlock("div", _hoisted_1$l, [
30841
- createElementVNode("div", _hoisted_2$g, [
30842
- itemToDisplay.value && image.value ? (openBlock(), createBlock(_sfc_main$1q, {
31133
+ return openBlock(), createElementBlock("div", _hoisted_1$n, [
31134
+ createElementVNode("div", _hoisted_2$i, [
31135
+ itemToDisplay.value && image.value ? (openBlock(), createBlock(_sfc_main$1w, {
30843
31136
  key: 0,
30844
31137
  "wrapper-class": "lupa-related-query-image-wrapper",
30845
31138
  "image-class": "lupa-related-query-image",
@@ -30847,24 +31140,24 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
30847
31140
  options: image.value
30848
31141
  }, null, 8, ["item", "options"])) : createCommentVNode("", true)
30849
31142
  ]),
30850
- createElementVNode("div", _hoisted_3$a, [
30851
- createElementVNode("span", _hoisted_4$5, toDisplayString(_ctx.query), 1),
30852
- ((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (openBlock(), createElementBlock("span", _hoisted_5$2, "(" + toDisplayString(totalItemCount.value) + ")", 1)) : createCommentVNode("", true)
31143
+ createElementVNode("div", _hoisted_3$c, [
31144
+ createElementVNode("span", _hoisted_4$7, toDisplayString(_ctx.query), 1),
31145
+ ((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (openBlock(), createElementBlock("span", _hoisted_5$3, "(" + toDisplayString(totalItemCount.value) + ")", 1)) : createCommentVNode("", true)
30853
31146
  ])
30854
31147
  ]);
30855
31148
  };
30856
31149
  }
30857
31150
  });
30858
- const _hoisted_1$k = {
31151
+ const _hoisted_1$m = {
30859
31152
  key: 0,
30860
31153
  class: "lupa-related-queries"
30861
31154
  };
30862
- const _hoisted_2$f = {
31155
+ const _hoisted_2$h = {
30863
31156
  key: 0,
30864
31157
  class: "lupa-related-queries-title"
30865
31158
  };
30866
- const _hoisted_3$9 = ["onClick"];
30867
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
31159
+ const _hoisted_3$b = ["onClick"];
31160
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
30868
31161
  __name: "RelatedQueries",
30869
31162
  props: {
30870
31163
  options: {}
@@ -30958,8 +31251,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
30958
31251
  };
30959
31252
  return (_ctx, _cache) => {
30960
31253
  var _a25, _b25, _c, _d;
30961
- return _ctx.options && hasEnoughRelatedQueries.value ? (openBlock(), createElementBlock("div", _hoisted_1$k, [
30962
- ((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (openBlock(), createElementBlock("h3", _hoisted_2$f, toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
31254
+ return _ctx.options && hasEnoughRelatedQueries.value ? (openBlock(), createElementBlock("div", _hoisted_1$m, [
31255
+ ((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (openBlock(), createElementBlock("h3", _hoisted_2$h, toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
30963
31256
  createElementVNode("ul", null, [
30964
31257
  (openBlock(true), createElementBlock(Fragment, null, renderList(relatedQueries2.value, (query) => {
30965
31258
  return withDirectives((openBlock(), createElementBlock("li", {
@@ -30969,14 +31262,14 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
30969
31262
  createElementVNode("a", {
30970
31263
  onClick: ($event) => handleRelatedQueryClick(query)
30971
31264
  }, [
30972
- createVNode(_sfc_main$n, {
31265
+ createVNode(_sfc_main$p, {
30973
31266
  "source-key": query.key,
30974
31267
  options: _ctx.options,
30975
31268
  query: query.value,
30976
31269
  "existing-items-from-other-queries": allDisplayItems.value,
30977
31270
  onLoaded: (item) => processLoadedItem(query, item)
30978
31271
  }, null, 8, ["source-key", "options", "query", "existing-items-from-other-queries", "onLoaded"])
30979
- ], 8, _hoisted_3$9)
31272
+ ], 8, _hoisted_3$b)
30980
31273
  ], 2)), [
30981
31274
  [vShow, querySourceResultMap.value[query.value] !== false]
30982
31275
  ]);
@@ -31013,13 +31306,13 @@ const extractRedirectionSuggestion = (searchText = "", options) => {
31013
31306
  }
31014
31307
  return null;
31015
31308
  };
31016
- const _hoisted_1$j = {
31309
+ const _hoisted_1$l = {
31017
31310
  key: 0,
31018
31311
  class: "lupa-redirection-suggestion"
31019
31312
  };
31020
- const _hoisted_2$e = { class: "lupa-redirections-suggestion-label" };
31021
- const _hoisted_3$8 = ["href"];
31022
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
31313
+ const _hoisted_2$g = { class: "lupa-redirections-suggestion-label" };
31314
+ const _hoisted_3$a = ["href"];
31315
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
31023
31316
  __name: "RedirectionSuggestions",
31024
31317
  props: {
31025
31318
  options: {}
@@ -31042,19 +31335,19 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
31042
31335
  )
31043
31336
  );
31044
31337
  return (_ctx, _cache) => {
31045
- return redirectionSuggestion.value && label.value && link.value ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
31046
- createElementVNode("h4", _hoisted_2$e, [
31047
- createElementVNode("a", { href: link.value }, toDisplayString(label.value), 9, _hoisted_3$8)
31338
+ return redirectionSuggestion.value && label.value && link.value ? (openBlock(), createElementBlock("div", _hoisted_1$l, [
31339
+ createElementVNode("h4", _hoisted_2$g, [
31340
+ createElementVNode("a", { href: link.value }, toDisplayString(label.value), 9, _hoisted_3$a)
31048
31341
  ])
31049
31342
  ])) : createCommentVNode("", true);
31050
31343
  };
31051
31344
  }
31052
31345
  });
31053
- const _hoisted_1$i = {
31346
+ const _hoisted_1$k = {
31054
31347
  key: 0,
31055
31348
  class: "lupa-refiners-loading-notice"
31056
31349
  };
31057
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
31350
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
31058
31351
  __name: "RefinersLoadingNotice",
31059
31352
  props: {
31060
31353
  labels: {}
@@ -31065,22 +31358,22 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
31065
31358
  const props = __props;
31066
31359
  const label = computed(() => props.labels.refinersLoadingNotice);
31067
31360
  return (_ctx, _cache) => {
31068
- return label.value && unref(loadingRefiners) ? (openBlock(), createElementBlock("div", _hoisted_1$i, [
31361
+ return label.value && unref(loadingRefiners) ? (openBlock(), createElementBlock("div", _hoisted_1$k, [
31069
31362
  createElementVNode("p", null, toDisplayString(label.value), 1),
31070
31363
  createVNode(Spinner)
31071
31364
  ])) : createCommentVNode("", true);
31072
31365
  };
31073
31366
  }
31074
31367
  });
31075
- const _hoisted_1$h = { class: "lupa-related-query-item" };
31076
- const _hoisted_2$d = { class: "lupa-related-query-image" };
31077
- const _hoisted_3$7 = { class: "lupa-related-query-label" };
31078
- const _hoisted_4$4 = { class: "lupa-related-query-title" };
31079
- const _hoisted_5$1 = {
31368
+ const _hoisted_1$j = { class: "lupa-related-query-item" };
31369
+ const _hoisted_2$f = { class: "lupa-related-query-image" };
31370
+ const _hoisted_3$9 = { class: "lupa-related-query-label" };
31371
+ const _hoisted_4$6 = { class: "lupa-related-query-title" };
31372
+ const _hoisted_5$2 = {
31080
31373
  key: 0,
31081
31374
  class: "lupa-related-query-count"
31082
31375
  };
31083
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
31376
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
31084
31377
  __name: "RelatedQueryPanelApi",
31085
31378
  props: {
31086
31379
  relatedQuery: {},
@@ -31112,9 +31405,9 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
31112
31405
  });
31113
31406
  return (_ctx, _cache) => {
31114
31407
  var _a25;
31115
- return openBlock(), createElementBlock("div", _hoisted_1$h, [
31116
- createElementVNode("div", _hoisted_2$d, [
31117
- itemToDisplay.value && image.value ? (openBlock(), createBlock(_sfc_main$1q, {
31408
+ return openBlock(), createElementBlock("div", _hoisted_1$j, [
31409
+ createElementVNode("div", _hoisted_2$f, [
31410
+ itemToDisplay.value && image.value ? (openBlock(), createBlock(_sfc_main$1w, {
31118
31411
  key: 0,
31119
31412
  "wrapper-class": "lupa-related-query-image-wrapper",
31120
31413
  "image-class": "lupa-related-query-image",
@@ -31122,24 +31415,24 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
31122
31415
  options: image.value
31123
31416
  }, null, 8, ["item", "options"])) : createCommentVNode("", true)
31124
31417
  ]),
31125
- createElementVNode("div", _hoisted_3$7, [
31126
- createElementVNode("span", _hoisted_4$4, toDisplayString(query.value), 1),
31127
- ((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (openBlock(), createElementBlock("span", _hoisted_5$1, "(" + toDisplayString(totalItemCount.value) + ")", 1)) : createCommentVNode("", true)
31418
+ createElementVNode("div", _hoisted_3$9, [
31419
+ createElementVNode("span", _hoisted_4$6, toDisplayString(query.value), 1),
31420
+ ((_a25 = _ctx.options) == null ? void 0 : _a25.showCount) ? (openBlock(), createElementBlock("span", _hoisted_5$2, "(" + toDisplayString(totalItemCount.value) + ")", 1)) : createCommentVNode("", true)
31128
31421
  ])
31129
31422
  ]);
31130
31423
  };
31131
31424
  }
31132
31425
  });
31133
- const _hoisted_1$g = {
31426
+ const _hoisted_1$i = {
31134
31427
  key: 0,
31135
31428
  class: "lupa-related-queries"
31136
31429
  };
31137
- const _hoisted_2$c = {
31430
+ const _hoisted_2$e = {
31138
31431
  key: 0,
31139
31432
  class: "lupa-related-queries-title"
31140
31433
  };
31141
- const _hoisted_3$6 = ["onClick"];
31142
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
31434
+ const _hoisted_3$8 = ["onClick"];
31435
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
31143
31436
  __name: "RelatedQueriesApi",
31144
31437
  props: {
31145
31438
  options: {}
@@ -31149,7 +31442,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
31149
31442
  const searchResultStore = useSearchResultStore();
31150
31443
  const paramsStore = useParamsStore();
31151
31444
  const optionsStore = useOptionsStore();
31152
- const { searchResult, relatedQueriesResult } = storeToRefs(searchResultStore);
31445
+ const { searchResult, relatedQueriesResult, relatedQueryFacetKeys } = storeToRefs(searchResultStore);
31153
31446
  const relatedQueries2 = computed(() => {
31154
31447
  var _a25, _b25, _c, _d;
31155
31448
  const allQueries = (_b25 = (_a25 = relatedQueriesResult.value) == null ? void 0 : _a25.relatedQueries) != null ? _b25 : [];
@@ -31177,7 +31470,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
31177
31470
  { key: query.key, value: query.value },
31178
31471
  optionsStore.getQueryParamName,
31179
31472
  {},
31180
- (_a25 = relatedQueries2.value) == null ? void 0 : _a25.map((q) => `f.${q.facetKey}`)
31473
+ (_a25 = relatedQueryFacetKeys.value) == null ? void 0 : _a25.map((key) => `f.${key}`)
31181
31474
  );
31182
31475
  };
31183
31476
  const getSelectedFilterClass = (relatedQuery) => {
@@ -31191,8 +31484,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
31191
31484
  };
31192
31485
  return (_ctx, _cache) => {
31193
31486
  var _a25, _b25, _c, _d;
31194
- return hasEnoughRelatedQueries.value ? (openBlock(), createElementBlock("div", _hoisted_1$g, [
31195
- ((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (openBlock(), createElementBlock("h3", _hoisted_2$c, toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
31487
+ return hasEnoughRelatedQueries.value ? (openBlock(), createElementBlock("div", _hoisted_1$i, [
31488
+ ((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (openBlock(), createElementBlock("h3", _hoisted_2$e, toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
31196
31489
  createElementVNode("ul", null, [
31197
31490
  (openBlock(true), createElementBlock(Fragment, null, renderList(relatedQueries2.value, (query) => {
31198
31491
  return openBlock(), createElementBlock("li", {
@@ -31202,11 +31495,11 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
31202
31495
  createElementVNode("a", {
31203
31496
  onClick: ($event) => handleRelatedQueryClick(query)
31204
31497
  }, [
31205
- createVNode(_sfc_main$j, {
31498
+ createVNode(_sfc_main$l, {
31206
31499
  relatedQuery: query,
31207
31500
  options: _ctx.options
31208
31501
  }, null, 8, ["relatedQuery", "options"])
31209
- ], 8, _hoisted_3$6)
31502
+ ], 8, _hoisted_3$8)
31210
31503
  ], 2);
31211
31504
  }), 128))
31212
31505
  ])
@@ -31214,9 +31507,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
31214
31507
  };
31215
31508
  }
31216
31509
  });
31217
- const _hoisted_1$f = { key: 0 };
31218
- const _hoisted_2$b = ["innerHTML"];
31219
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
31510
+ const _hoisted_1$h = { key: 0 };
31511
+ const _hoisted_2$d = ["innerHTML"];
31512
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
31220
31513
  __name: "ZeroResults",
31221
31514
  props: {
31222
31515
  emptyResultsLabel: {},
@@ -31245,36 +31538,36 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
31245
31538
  });
31246
31539
  return (_ctx, _cache) => {
31247
31540
  return openBlock(), createElementBlock(Fragment, null, [
31248
- showDefaultZeroResultsTemplate.value ? (openBlock(), createElementBlock("div", _hoisted_1$f, [
31541
+ showDefaultZeroResultsTemplate.value ? (openBlock(), createElementBlock("div", _hoisted_1$h, [
31249
31542
  createTextVNode(toDisplayString(_ctx.emptyResultsLabel) + " ", 1),
31250
31543
  createElementVNode("span", null, toDisplayString(_ctx.currentQueryText), 1)
31251
31544
  ])) : createCommentVNode("", true),
31252
31545
  showCustomZeroResultsTemplate.value ? (openBlock(), createElementBlock("div", {
31253
31546
  key: 1,
31254
31547
  innerHTML: htmlTemplate.value
31255
- }, null, 8, _hoisted_2$b)) : createCommentVNode("", true)
31548
+ }, null, 8, _hoisted_2$d)) : createCommentVNode("", true)
31256
31549
  ], 64);
31257
31550
  };
31258
31551
  }
31259
31552
  });
31260
- const _hoisted_1$e = { id: "lupa-search-results-products" };
31261
- const _hoisted_2$a = {
31553
+ const _hoisted_1$g = { id: "lupa-search-results-products" };
31554
+ const _hoisted_2$c = {
31262
31555
  class: "lupa-products",
31263
31556
  "data-cy": "lupa-products"
31264
31557
  };
31265
- const _hoisted_3$5 = {
31558
+ const _hoisted_3$7 = {
31266
31559
  key: 1,
31267
31560
  class: "lupa-empty-results",
31268
31561
  "data-cy": "lupa-no-results-in-page"
31269
31562
  };
31270
- const _hoisted_4$3 = {
31563
+ const _hoisted_4$5 = {
31271
31564
  key: 5,
31272
31565
  class: "lupa-empty-results",
31273
31566
  "data-cy": "lupa-no-results"
31274
31567
  };
31275
- const _hoisted_5 = { key: 6 };
31568
+ const _hoisted_5$1 = { key: 6 };
31276
31569
  const _hoisted_6 = { key: 7 };
31277
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
31570
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
31278
31571
  __name: "SearchResultsProducts",
31279
31572
  props: {
31280
31573
  options: {},
@@ -31290,7 +31583,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31290
31583
  hasResults,
31291
31584
  currentQueryText,
31292
31585
  isPageEmpty,
31293
- isMobileSidebarVisible,
31586
+ isFilterSidebarVisible,
31294
31587
  columnCount,
31295
31588
  searchResult,
31296
31589
  layout,
@@ -31321,7 +31614,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31321
31614
  });
31322
31615
  const showTopFilters = computed(() => {
31323
31616
  var _a25, _b25, _c;
31324
- return ((_c = (_b25 = (_a25 = props.options.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.style) == null ? void 0 : _c.type) === "top-dropdown";
31617
+ return ((_c = (_b25 = (_a25 = props.options.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.style) == null ? void 0 : _c.type) !== "sidebar";
31325
31618
  });
31326
31619
  const showMobileFilters = computed(() => {
31327
31620
  return props.options.searchTitlePosition !== "search-results-top";
@@ -31398,40 +31691,40 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31398
31691
  };
31399
31692
  return (_ctx, _cache) => {
31400
31693
  var _a25, _b25, _c;
31401
- return openBlock(), createElementBlock("div", _hoisted_1$e, [
31402
- unref(loading) && !unref(isMobileSidebarVisible) ? (openBlock(), createBlock(Spinner, {
31694
+ return openBlock(), createElementBlock("div", _hoisted_1$g, [
31695
+ unref(loading) && !unref(isFilterSidebarVisible) ? (openBlock(), createBlock(Spinner, {
31403
31696
  key: 0,
31404
31697
  class: "lupa-loader"
31405
31698
  })) : createCommentVNode("", true),
31406
- createVNode(_sfc_main$l, {
31699
+ createVNode(_sfc_main$n, {
31407
31700
  options: _ctx.options.redirectionSuggestions
31408
31701
  }, null, 8, ["options"]),
31409
- createVNode(_sfc_main$q, {
31702
+ createVNode(_sfc_main$s, {
31410
31703
  options: _ctx.options,
31411
31704
  location: "top",
31412
31705
  sdkOptions: _ctx.options.options
31413
31706
  }, null, 8, ["options", "sdkOptions"]),
31414
- showLocalRelatedQueries.value ? (openBlock(), createBlock(_sfc_main$m, {
31707
+ showLocalRelatedQueries.value ? (openBlock(), createBlock(_sfc_main$o, {
31415
31708
  key: 1,
31416
31709
  options: _ctx.options.relatedQueries
31417
31710
  }, null, 8, ["options"])) : createCommentVNode("", true),
31418
- showApiRelatedQueries.value ? (openBlock(), createBlock(_sfc_main$i, {
31711
+ showApiRelatedQueries.value ? (openBlock(), createBlock(_sfc_main$k, {
31419
31712
  key: 2,
31420
31713
  options: _ctx.options.relatedQueries
31421
31714
  }, null, 8, ["options"])) : createCommentVNode("", true),
31422
31715
  unref(hasResults) ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
31423
- showTopFilters.value ? (openBlock(), createBlock(_sfc_main$M, {
31716
+ showTopFilters.value ? (openBlock(), createBlock(_sfc_main$P, {
31424
31717
  key: 0,
31425
31718
  options: (_a25 = _ctx.options.filters) != null ? _a25 : {}
31426
31719
  }, null, 8, ["options"])) : createCommentVNode("", true),
31427
- showMobileFilters.value ? (openBlock(), createBlock(_sfc_main$F, {
31720
+ showMobileFilters.value ? (openBlock(), createBlock(_sfc_main$H, {
31428
31721
  key: 1,
31429
31722
  class: "lupa-toolbar-mobile",
31430
31723
  options: _ctx.options,
31431
31724
  "pagination-location": "top",
31432
31725
  onFilter: filter
31433
31726
  }, null, 8, ["options"])) : createCommentVNode("", true),
31434
- currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (openBlock(), createBlock(_sfc_main$_, {
31727
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (openBlock(), createBlock(_sfc_main$14, {
31435
31728
  key: 2,
31436
31729
  class: normalizeClass(currentFiltersClass.value),
31437
31730
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -31440,19 +31733,19 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31440
31733
  }, null, 8, ["class", "options", "expandable"])) : createCommentVNode("", true)
31441
31734
  ], 64)) : createCommentVNode("", true),
31442
31735
  unref(hasResults) ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
31443
- createVNode(_sfc_main$F, {
31736
+ createVNode(_sfc_main$H, {
31444
31737
  class: "lupa-toolbar-top",
31445
31738
  options: _ctx.options,
31446
31739
  "pagination-location": "top"
31447
31740
  }, null, 8, ["options"]),
31448
- currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (openBlock(), createBlock(_sfc_main$_, {
31741
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (openBlock(), createBlock(_sfc_main$14, {
31449
31742
  key: 0,
31450
31743
  class: normalizeClass(currentFiltersClass.value),
31451
31744
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
31452
31745
  options: currentFilterOptions.value,
31453
31746
  expandable: !desktopFiltersExpanded.value
31454
31747
  }, null, 8, ["class", "options", "expandable"])) : createCommentVNode("", true),
31455
- createElementVNode("div", _hoisted_2$a, [
31748
+ createElementVNode("div", _hoisted_2$c, [
31456
31749
  _ctx.$slots.productCard ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(searchResult).items, (product, index) => {
31457
31750
  return renderSlot(_ctx.$slots, "productCard", {
31458
31751
  style: normalizeStyle(columnSize.value),
@@ -31461,7 +31754,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31461
31754
  options: productCardOptions.value
31462
31755
  });
31463
31756
  }), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(searchResult).items, (product, index) => {
31464
- return openBlock(), createBlock(_sfc_main$t, {
31757
+ return openBlock(), createBlock(_sfc_main$v, {
31465
31758
  style: normalizeStyle(columnSize.value),
31466
31759
  key: getProductKeyAction(index, product),
31467
31760
  product,
@@ -31470,7 +31763,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31470
31763
  }, null, 8, ["style", "product", "options", "analytics-metadata"]);
31471
31764
  }), 128))
31472
31765
  ]),
31473
- unref(isPageEmpty) && _ctx.options.labels.noItemsInPage ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
31766
+ unref(isPageEmpty) && _ctx.options.labels.noItemsInPage ? (openBlock(), createElementBlock("div", _hoisted_3$7, [
31474
31767
  createTextVNode(toDisplayString(_ctx.options.labels.noItemsInPage) + " ", 1),
31475
31768
  _ctx.options.labels.backToFirstPage ? (openBlock(), createElementBlock("span", {
31476
31769
  key: 0,
@@ -31478,36 +31771,36 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31478
31771
  onClick: goToFirstPage
31479
31772
  }, toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : createCommentVNode("", true)
31480
31773
  ])) : createCommentVNode("", true),
31481
- createVNode(_sfc_main$F, {
31774
+ createVNode(_sfc_main$H, {
31482
31775
  class: "lupa-toolbar-bottom",
31483
31776
  options: _ctx.options,
31484
31777
  "pagination-location": "bottom"
31485
31778
  }, null, 8, ["options"]),
31486
- createVNode(_sfc_main$q, {
31779
+ createVNode(_sfc_main$s, {
31487
31780
  options: _ctx.options,
31488
31781
  location: "bottom",
31489
31782
  sdkOptions: _ctx.options.options
31490
31783
  }, null, 8, ["options", "sdkOptions"])
31491
- ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
31492
- createVNode(_sfc_main$h, {
31784
+ ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
31785
+ createVNode(_sfc_main$j, {
31493
31786
  emptyResultsLabel: (_b25 = _ctx.options.labels) == null ? void 0 : _b25.emptyResults,
31494
31787
  currentQueryText: unref(currentQueryText),
31495
31788
  hasSimilarQueries: hasSimilarQueries.value || hasSimilarResults.value,
31496
31789
  zeroResults: (_c = _ctx.options) == null ? void 0 : _c.zeroResults
31497
31790
  }, null, 8, ["emptyResultsLabel", "currentQueryText", "hasSimilarQueries", "zeroResults"])
31498
31791
  ])) : createCommentVNode("", true),
31499
- createVNode(_sfc_main$k, {
31792
+ createVNode(_sfc_main$m, {
31500
31793
  labels: _ctx.options.labels
31501
31794
  }, null, 8, ["labels"]),
31502
- hasSimilarQueries.value ? (openBlock(), createElementBlock("div", _hoisted_5, [
31503
- createVNode(_sfc_main$s, {
31795
+ hasSimilarQueries.value ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
31796
+ createVNode(_sfc_main$u, {
31504
31797
  labels: similarQueriesLabels.value,
31505
31798
  columnSize: columnSize.value,
31506
31799
  productCardOptions: productCardOptions.value
31507
31800
  }, null, 8, ["labels", "columnSize", "productCardOptions"])
31508
31801
  ])) : createCommentVNode("", true),
31509
31802
  hasSimilarResults.value ? (openBlock(), createElementBlock("div", _hoisted_6, [
31510
- createVNode(_sfc_main$o, {
31803
+ createVNode(_sfc_main$q, {
31511
31804
  labels: similarResultsLabels.value,
31512
31805
  columnSize: columnSize.value,
31513
31806
  productCardOptions: productCardOptions.value
@@ -31518,17 +31811,17 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31518
31811
  };
31519
31812
  }
31520
31813
  });
31521
- const _hoisted_1$d = { class: "lupa-top-mobile-filter-wrapper" };
31522
- const _hoisted_2$9 = {
31814
+ const _hoisted_1$f = { class: "lupa-top-mobile-filter-wrapper" };
31815
+ const _hoisted_2$b = {
31523
31816
  key: 0,
31524
31817
  class: "lupa-category-back"
31525
31818
  };
31526
- const _hoisted_3$4 = ["href"];
31527
- const _hoisted_4$2 = {
31819
+ const _hoisted_3$6 = ["href"];
31820
+ const _hoisted_4$4 = {
31528
31821
  key: 1,
31529
31822
  class: "lupa-child-category-list"
31530
31823
  };
31531
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
31824
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
31532
31825
  __name: "CategoryTopFilters",
31533
31826
  props: {
31534
31827
  options: {}
@@ -31576,24 +31869,24 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
31576
31869
  "has-related-category-children": hasRelatedCategoryChildren.value
31577
31870
  }])
31578
31871
  }, [
31579
- createElementVNode("div", _hoisted_1$d, [
31580
- hasBackButton.value ? (openBlock(), createElementBlock("div", _hoisted_2$9, [
31872
+ createElementVNode("div", _hoisted_1$f, [
31873
+ hasBackButton.value ? (openBlock(), createElementBlock("div", _hoisted_2$b, [
31581
31874
  createElementVNode("a", {
31582
31875
  "data-cy": "lupa-category-back",
31583
31876
  href: backUrlLink.value,
31584
31877
  onClick: handleNavigationBack
31585
- }, toDisplayString(backTitle.value), 9, _hoisted_3$4)
31878
+ }, toDisplayString(backTitle.value), 9, _hoisted_3$6)
31586
31879
  ])) : createCommentVNode("", true),
31587
- hasRelatedCategoryChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
31880
+ hasRelatedCategoryChildren.value ? (openBlock(), createElementBlock("div", _hoisted_4$4, [
31588
31881
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(relatedCategoryChildren), (child) => {
31589
- return openBlock(), createBlock(_sfc_main$Z, {
31882
+ return openBlock(), createBlock(_sfc_main$13, {
31590
31883
  key: getCategoryKey(child),
31591
31884
  item: child,
31592
31885
  options: categoryOptions.value
31593
31886
  }, null, 8, ["item", "options"]);
31594
31887
  }), 128))
31595
31888
  ])) : createCommentVNode("", true),
31596
- createVNode(_sfc_main$F, {
31889
+ createVNode(_sfc_main$H, {
31597
31890
  class: "lupa-toolbar-mobile",
31598
31891
  "pagination-location": "top",
31599
31892
  options: _ctx.options
@@ -31603,6 +31896,129 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
31603
31896
  };
31604
31897
  }
31605
31898
  });
31899
+ const _hoisted_1$e = {
31900
+ id: "lupa-search-results-sort-list",
31901
+ class: "lupa-search-results-sort-list"
31902
+ };
31903
+ const _hoisted_2$a = ["onClick"];
31904
+ const _hoisted_3$5 = ["for"];
31905
+ const _hoisted_4$3 = ["id", "checked"];
31906
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
31907
+ __name: "SortList",
31908
+ setup(__props) {
31909
+ const { sortItems, selectedKey, handleSelect, setSortValue } = useSorting();
31910
+ onMounted(() => {
31911
+ setSortValue();
31912
+ });
31913
+ const selectValue = (key) => {
31914
+ selectedKey.value = key;
31915
+ handleSelect();
31916
+ };
31917
+ return (_ctx, _cache) => {
31918
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [
31919
+ createElementVNode("ul", null, [
31920
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(sortItems), (option) => {
31921
+ return openBlock(), createElementBlock("li", {
31922
+ key: option.key,
31923
+ class: normalizeClass({ "lupa-sort-item-selected": option.key === unref(selectedKey) }),
31924
+ onClick: ($event) => selectValue(option.key)
31925
+ }, [
31926
+ createElementVNode("label", {
31927
+ for: "lupa-sort-list-" + option.key
31928
+ }, toDisplayString(option.label), 9, _hoisted_3$5),
31929
+ createElementVNode("input", {
31930
+ id: "lupa-sort-list-" + option.key,
31931
+ type: "radio",
31932
+ checked: option.key === unref(selectedKey)
31933
+ }, null, 8, _hoisted_4$3)
31934
+ ], 10, _hoisted_2$a);
31935
+ }), 128))
31936
+ ])
31937
+ ]);
31938
+ };
31939
+ }
31940
+ });
31941
+ const _hoisted_1$d = { class: "lupa-sort-sidebar-content" };
31942
+ const _hoisted_2$9 = { class: "lupa-sidebar-top" };
31943
+ const _hoisted_3$4 = { class: "lupa-sidebar-title" };
31944
+ const _hoisted_4$2 = { class: "lupa-sidebar-sort-options" };
31945
+ const _hoisted_5 = { class: "lupa-sidebar-sort-actions" };
31946
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
31947
+ __name: "SortDrawer",
31948
+ setup(__props) {
31949
+ const optionsStore = useOptionsStore();
31950
+ const searchResultStore = useSearchResultStore();
31951
+ const paramStore = useParamsStore();
31952
+ const { searchResultOptions } = storeToRefs(optionsStore);
31953
+ const { isSidebarClosing, isSortingSidebarVisible } = storeToRefs(searchResultStore);
31954
+ const { handleSortSidebarToggle } = useSidebarToggle();
31955
+ const sortStyleOptions = computed(() => {
31956
+ var _a25;
31957
+ return (_a25 = searchResultOptions.value) == null ? void 0 : _a25.sortStyle;
31958
+ });
31959
+ const sidebarTitle = computed(() => {
31960
+ var _a25, _b25, _c, _d;
31961
+ return (_d = (_c = (_b25 = (_a25 = sortStyleOptions == null ? void 0 : sortStyleOptions.value) == null ? void 0 : _a25.drawer) == null ? void 0 : _b25.labels) == null ? void 0 : _c.title) != null ? _d : "";
31962
+ });
31963
+ const clearSortLabel = computed(() => {
31964
+ var _a25, _b25, _c, _d;
31965
+ return (_d = (_c = (_b25 = (_a25 = sortStyleOptions == null ? void 0 : sortStyleOptions.value) == null ? void 0 : _a25.drawer) == null ? void 0 : _b25.labels) == null ? void 0 : _c.clearLabel) != null ? _d : "";
31966
+ });
31967
+ const applySortLabel = computed(() => {
31968
+ var _a25, _b25, _c, _d;
31969
+ return (_d = (_c = (_b25 = (_a25 = sortStyleOptions == null ? void 0 : sortStyleOptions.value) == null ? void 0 : _a25.drawer) == null ? void 0 : _b25.labels) == null ? void 0 : _c.applyLabel) != null ? _d : "";
31970
+ });
31971
+ const handleDrawerToggle = () => {
31972
+ searchResultStore.setSidebarState({ visible: false, sidebar: "sorting" });
31973
+ };
31974
+ const clearSort = () => {
31975
+ paramStore.removeParameters({
31976
+ paramsToRemove: [optionsStore.getQueryParamName(QUERY_PARAMS.SORT)]
31977
+ });
31978
+ handleSortSidebarToggle();
31979
+ };
31980
+ const applySort = () => {
31981
+ handleSortSidebarToggle();
31982
+ };
31983
+ return (_ctx, _cache) => {
31984
+ return unref(isSortingSidebarVisible) ? (openBlock(), createElementBlock("div", {
31985
+ key: 0,
31986
+ class: normalizeClass(["lupa-sort-sidebar", { "lupa-sort-is-closing": unref(isSidebarClosing) }])
31987
+ }, [
31988
+ createElementVNode("div", {
31989
+ class: "lupa-sidebar-close",
31990
+ onClick: withModifiers(handleDrawerToggle, ["stop"])
31991
+ }),
31992
+ createElementVNode("div", _hoisted_1$d, [
31993
+ createElementVNode("div", _hoisted_2$9, [
31994
+ createElementVNode("div", _hoisted_3$4, toDisplayString(sidebarTitle.value), 1),
31995
+ createElementVNode("div", {
31996
+ class: "lupa-filter-toggle-mobile",
31997
+ onClick: handleDrawerToggle
31998
+ })
31999
+ ]),
32000
+ createElementVNode("div", _hoisted_4$2, [
32001
+ createVNode(_sfc_main$g)
32002
+ ]),
32003
+ createElementVNode("div", _hoisted_5, [
32004
+ clearSortLabel.value ? (openBlock(), createElementBlock("button", {
32005
+ key: 0,
32006
+ type: "button",
32007
+ class: "lupa-sidebar-sort-clear",
32008
+ onClick: withModifiers(clearSort, ["stop"])
32009
+ }, toDisplayString(clearSortLabel.value), 1)) : createCommentVNode("", true),
32010
+ applySortLabel.value ? (openBlock(), createElementBlock("button", {
32011
+ key: 1,
32012
+ type: "button",
32013
+ class: "lupa-sidebar-sort-apply",
32014
+ onClick: withModifiers(applySort, ["stop"])
32015
+ }, toDisplayString(applySortLabel.value), 1)) : createCommentVNode("", true)
32016
+ ])
32017
+ ])
32018
+ ], 2)) : createCommentVNode("", true);
32019
+ };
32020
+ }
32021
+ });
31606
32022
  const _hoisted_1$c = {
31607
32023
  key: 0,
31608
32024
  class: "lupa-container-title-summary-mobile"
@@ -31637,7 +32053,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
31637
32053
  currentQueryText,
31638
32054
  hasResults,
31639
32055
  currentFilterCount,
31640
- isMobileSidebarVisible,
32056
+ isFilterSidebarVisible,
31641
32057
  layout,
31642
32058
  loadingFacets,
31643
32059
  loadingRefiners
@@ -31659,7 +32075,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
31659
32075
  });
31660
32076
  const indicatorClasses = computed(() => {
31661
32077
  return {
31662
- "lupa-mobile-sidebar-visible": isMobileSidebarVisible.value,
32078
+ "lupa-mobile-sidebar-visible": isFilterSidebarVisible.value,
31663
32079
  "lupa-layout-grid": !layout.value || layout.value === ResultsLayoutEnum.GRID,
31664
32080
  "lupa-layout-list": layout.value === ResultsLayoutEnum.LIST
31665
32081
  };
@@ -31901,32 +32317,33 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
31901
32317
  class: normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !unref(hasResults) }])
31902
32318
  }, [
31903
32319
  _ctx.isContainer ? (openBlock(), createElementBlock("div", _hoisted_1$c, [
31904
- createVNode(_sfc_main$12, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
31905
- createVNode(_sfc_main$10, {
32320
+ createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32321
+ createVNode(_sfc_main$16, {
31906
32322
  "show-summary": true,
31907
32323
  options: _ctx.options,
31908
32324
  "is-product-list": (_a25 = _ctx.isProductList) != null ? _a25 : false
31909
32325
  }, null, 8, ["options", "is-product-list"])
31910
32326
  ])) : createCommentVNode("", true),
31911
- isTitleResultTopPosition.value ? (openBlock(), createBlock(_sfc_main$f, {
32327
+ isTitleResultTopPosition.value ? (openBlock(), createBlock(_sfc_main$h, {
31912
32328
  key: 1,
31913
32329
  options: _ctx.options
31914
32330
  }, null, 8, ["options"])) : createCommentVNode("", true),
31915
- _ctx.options.filters ? (openBlock(), createBlock(_sfc_main$O, {
32331
+ _ctx.options.filters ? (openBlock(), createBlock(_sfc_main$R, {
31916
32332
  key: 2,
31917
32333
  options: _ctx.options.filters,
31918
32334
  onFilter: handleParamsChange
31919
32335
  }, null, 8, ["options"])) : createCommentVNode("", true),
31920
- unref(currentQueryText) || _ctx.isProductList ? (openBlock(), createBlock(_sfc_main$N, {
31921
- key: 3,
32336
+ _ctx.options.sort ? (openBlock(), createBlock(_sfc_main$f, { key: 3 })) : createCommentVNode("", true),
32337
+ unref(currentQueryText) || _ctx.isProductList ? (openBlock(), createBlock(_sfc_main$Q, {
32338
+ key: 4,
31922
32339
  breadcrumbs: _ctx.options.breadcrumbs
31923
32340
  }, null, 8, ["breadcrumbs"])) : createCommentVNode("", true),
31924
32341
  isTitleResultTopPosition.value ? (openBlock(), createElementBlock("div", {
31925
- key: 4,
32342
+ key: 5,
31926
32343
  id: "lupa-search-results",
31927
32344
  class: normalizeClass(["top-layout-wrapper", indicatorClasses.value])
31928
32345
  }, [
31929
- showFilterSidebar.value ? (openBlock(), createBlock(_sfc_main$P, {
32346
+ showFilterSidebar.value ? (openBlock(), createBlock(_sfc_main$S, {
31930
32347
  key: 0,
31931
32348
  options: (_b25 = _ctx.options.filters) != null ? _b25 : {},
31932
32349
  ref_key: "searchResultsFilters",
@@ -31934,12 +32351,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
31934
32351
  onFilter: handleParamsChange
31935
32352
  }, null, 8, ["options"])) : createCommentVNode("", true),
31936
32353
  createElementVNode("div", _hoisted_2$8, [
31937
- createVNode(_sfc_main$12, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
31938
- createVNode(_sfc_main$10, {
32354
+ createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32355
+ createVNode(_sfc_main$16, {
31939
32356
  options: _ctx.options,
31940
32357
  "is-product-list": (_c = _ctx.isProductList) != null ? _c : false
31941
32358
  }, null, 8, ["options", "is-product-list"]),
31942
- createVNode(_sfc_main$g, {
32359
+ createVNode(_sfc_main$i, {
31943
32360
  options: _ctx.options,
31944
32361
  ssr: ssrEnabled.value,
31945
32362
  onFilter: handleParamsChange
@@ -31950,9 +32367,9 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
31950
32367
  _: 3
31951
32368
  }, 8, ["options", "ssr"])
31952
32369
  ])
31953
- ], 2)) : (openBlock(), createElementBlock(Fragment, { key: 5 }, [
31954
- createVNode(_sfc_main$12, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
31955
- createVNode(_sfc_main$10, {
32370
+ ], 2)) : (openBlock(), createElementBlock(Fragment, { key: 6 }, [
32371
+ createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32372
+ createVNode(_sfc_main$16, {
31956
32373
  options: _ctx.options,
31957
32374
  "is-product-list": (_d = _ctx.isProductList) != null ? _d : false
31958
32375
  }, null, 8, ["options", "is-product-list"]),
@@ -31960,14 +32377,14 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
31960
32377
  id: "lupa-search-results",
31961
32378
  class: normalizeClass(indicatorClasses.value)
31962
32379
  }, [
31963
- showFilterSidebar.value ? (openBlock(), createBlock(_sfc_main$P, {
32380
+ showFilterSidebar.value ? (openBlock(), createBlock(_sfc_main$S, {
31964
32381
  key: 0,
31965
32382
  options: (_e = _ctx.options.filters) != null ? _e : {},
31966
32383
  ref_key: "searchResultsFilters",
31967
32384
  ref: searchResultsFilters,
31968
32385
  onFilter: handleParamsChange
31969
32386
  }, null, 8, ["options"])) : createCommentVNode("", true),
31970
- createVNode(_sfc_main$g, {
32387
+ createVNode(_sfc_main$i, {
31971
32388
  options: _ctx.options,
31972
32389
  ssr: ssrEnabled.value,
31973
32390
  onFilter: handleParamsChange
@@ -32111,7 +32528,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
32111
32528
  onClick: withModifiers(innerClick, ["stop"])
32112
32529
  }, [
32113
32530
  createElementVNode("div", _hoisted_1$a, [
32114
- createVNode(_sfc_main$13, {
32531
+ createVNode(_sfc_main$19, {
32115
32532
  options: fullSearchBoxOptions.value,
32116
32533
  "is-search-container": true,
32117
32534
  ref_key: "searchBox",
@@ -33766,7 +34183,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
33766
34183
  key: getProductKeyAction(index, product)
33767
34184
  }, {
33768
34185
  default: withCtx(() => [
33769
- createVNode(_sfc_main$t, {
34186
+ createVNode(_sfc_main$v, {
33770
34187
  product,
33771
34188
  options: _ctx.options,
33772
34189
  "click-tracking-settings": clickTrackingSettings.value,
@@ -33781,7 +34198,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
33781
34198
  _: 1
33782
34199
  }, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_4$1, [
33783
34200
  (openBlock(true), createElementBlock(Fragment, null, renderList(recommendations.value, (product, index) => {
33784
- return openBlock(), createBlock(_sfc_main$t, {
34201
+ return openBlock(), createBlock(_sfc_main$v, {
33785
34202
  style: normalizeStyle(columnSize.value),
33786
34203
  key: getProductKeyAction(index, product),
33787
34204
  product,
@@ -34027,7 +34444,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
34027
34444
  createElementVNode("a", {
34028
34445
  href: getLink(product)
34029
34446
  }, [
34030
- createVNode(_sfc_main$E, {
34447
+ createVNode(_sfc_main$G, {
34031
34448
  item: product,
34032
34449
  options: image.value
34033
34450
  }, null, 8, ["item", "options"])
@@ -34192,7 +34609,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
34192
34609
  return (_ctx, _cache) => {
34193
34610
  return openBlock(), createElementBlock("section", _hoisted_1$3, [
34194
34611
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.searchResults, (product, index) => {
34195
- return openBlock(), createBlock(_sfc_main$t, {
34612
+ return openBlock(), createBlock(_sfc_main$v, {
34196
34613
  class: "lupa-chat-product-card",
34197
34614
  key: getProductKeyAction(index, product),
34198
34615
  product,
@@ -34527,7 +34944,7 @@ export {
34527
34944
  LupaSearch,
34528
34945
  _sfc_main$c as ProductList,
34529
34946
  _sfc_main$a as Recommendations,
34530
- _sfc_main$13 as SearchBox,
34947
+ _sfc_main$19 as SearchBox,
34531
34948
  SearchBoxPanelType,
34532
34949
  _sfc_main$b as SearchContainer,
34533
34950
  _sfc_main$e as SearchResults,