@getlupa/client 1.14.3 → 1.14.5

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.
@@ -8839,6 +8839,34 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
8839
8839
  };
8840
8840
  }
8841
8841
  });
8842
+ const generateGridTemplate = (elements) => {
8843
+ const indexedElements = elements.map((el, index) => __spreadProps2(__spreadValues2({}, el), { index }));
8844
+ if (!indexedElements.length || !indexedElements.every((el) => el.gridArea === "left" || el.gridArea === "right")) {
8845
+ return void 0;
8846
+ }
8847
+ let leftElements = indexedElements.filter((el) => el.gridArea === "left");
8848
+ let rightElements = indexedElements.filter((el) => el.gridArea === "right");
8849
+ if (!leftElements.length && !rightElements.length) {
8850
+ return "";
8851
+ } else if (!leftElements.length) {
8852
+ leftElements = rightElements;
8853
+ } else if (!rightElements.length) {
8854
+ rightElements = leftElements;
8855
+ }
8856
+ const totalRows = Math.max(leftElements.length, rightElements.length);
8857
+ const gridTemplate = [];
8858
+ for (let row = 0; row < totalRows; row++) {
8859
+ const leftIndex = row < leftElements.length ? row : leftElements.length - 1;
8860
+ const rightIndex = row < rightElements.length ? row : rightElements.length - 1;
8861
+ const leftElement = leftElements[leftIndex];
8862
+ const rightElement = rightElements[rightIndex];
8863
+ const leftColumn = `${leftElement.gridArea}${leftElement.index}`;
8864
+ const rightColumn = `${rightElement.gridArea}${rightElement.index}`;
8865
+ const gridRow = `${leftColumn} ${rightColumn}`;
8866
+ gridTemplate.push(`"${gridRow}"`);
8867
+ }
8868
+ return gridTemplate.join(" ");
8869
+ };
8842
8870
  const _hoisted_1$19 = ["innerHTML"];
8843
8871
  const _hoisted_2$Q = {
8844
8872
  key: 1,
@@ -9037,6 +9065,7 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
9037
9065
  });
9038
9066
  };
9039
9067
  const getSuggestionsDebounced = debounce$1(getSuggestions, props.debounce);
9068
+ watch(() => props.panel.limit, getSuggestionsDebounced);
9040
9069
  return (_ctx, _cache) => {
9041
9070
  return openBlock(), createBlock(_sfc_main$1h, {
9042
9071
  items: searchResult.value,
@@ -18157,6 +18186,25 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18157
18186
  var _a;
18158
18187
  return Boolean((_a = hoverImages.value) == null ? void 0 : _a.length);
18159
18188
  });
18189
+ const widthOverride = computed(() => {
18190
+ var _a, _b;
18191
+ return (_b = (_a = props.options.dimensions) == null ? void 0 : _a.width) != null ? _b : void 0;
18192
+ });
18193
+ const heightOverride = computed(() => {
18194
+ var _a, _b;
18195
+ return (_b = (_a = props.options.dimensions) == null ? void 0 : _a.height) != null ? _b : void 0;
18196
+ });
18197
+ const objectFitOverride = computed(() => {
18198
+ var _a, _b;
18199
+ return (_b = (_a = props.options.dimensions) == null ? void 0 : _a.objectFit) != null ? _b : void 0;
18200
+ });
18201
+ const styleOverride = computed(() => {
18202
+ return {
18203
+ width: widthOverride.value ? `${widthOverride.value}px` : void 0,
18204
+ height: heightOverride.value ? `${heightOverride.value}px` : void 0,
18205
+ objectFit: objectFitOverride.value ? objectFitOverride.value : void 0
18206
+ };
18207
+ });
18160
18208
  const replaceWithPlaceholder = (e2) => {
18161
18209
  replaceImageWithPlaceholder(e2, placeholder.value);
18162
18210
  };
@@ -18221,6 +18269,7 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18221
18269
  return (_ctx, _cache) => {
18222
18270
  return openBlock(), createElementBlock("div", {
18223
18271
  class: normalizeClass({ [_ctx.wrapperClass]: Boolean(_ctx.wrapperClass), "lupa-images-hover": isHover.value }),
18272
+ style: normalizeStyle(styleOverride.value),
18224
18273
  onMouseenter: handleMouseEnter,
18225
18274
  onMouseleave: handleMouseLeave
18226
18275
  }, [
@@ -18231,6 +18280,7 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18231
18280
  default: withCtx(() => [
18232
18281
  (openBlock(), createElementBlock("img", mergeProps({
18233
18282
  class: ["lupa-images-hover-image", { [_ctx.imageClass]: true, "lupa-images-hover-image": isHover.value }],
18283
+ style: styleOverride.value,
18234
18284
  src: finalUrl.value
18235
18285
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
18236
18286
  onError: replaceWithPlaceholder,
@@ -18241,9 +18291,10 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18241
18291
  })) : (openBlock(), createElementBlock("img", mergeProps({
18242
18292
  key: 1,
18243
18293
  class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
18294
+ style: styleOverride.value,
18244
18295
  src: finalMainImageUrl.value
18245
18296
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$P))
18246
- ], 34);
18297
+ ], 38);
18247
18298
  };
18248
18299
  }
18249
18300
  });
@@ -18507,6 +18558,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
18507
18558
  const layout = ref(ResultsLayoutEnum.GRID);
18508
18559
  const loading = ref(false);
18509
18560
  const isMobileSidebarVisible = ref(false);
18561
+ const relatedCategoryChildren = ref([]);
18510
18562
  const optionsStore = useOptionsStore();
18511
18563
  const paramsStore = useParamsStore();
18512
18564
  const screenStore = useScreenStore();
@@ -18648,6 +18700,9 @@ const useSearchResultStore = defineStore("searchResult", () => {
18648
18700
  const hasExactMatch = items.some((item) => getNormalizedString(item.title) === searchInput);
18649
18701
  return hasExactMatch ? items.filter((item) => getNormalizedString(item.title) === searchInput) : items;
18650
18702
  };
18703
+ const setRelatedCategoryChildren = (children) => {
18704
+ relatedCategoryChildren.value = [...children];
18705
+ };
18651
18706
  return {
18652
18707
  isMobileSidebarVisible,
18653
18708
  searchResult,
@@ -18668,6 +18723,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
18668
18723
  itemRange,
18669
18724
  isPageEmpty,
18670
18725
  hideFiltersOnExactMatchForKeys,
18726
+ relatedCategoryChildren,
18671
18727
  setSidebarState,
18672
18728
  queryFacet,
18673
18729
  add: add2,
@@ -18676,7 +18732,8 @@ const useSearchResultStore = defineStore("searchResult", () => {
18676
18732
  setLayout,
18677
18733
  setLoading,
18678
18734
  clearSearchResult,
18679
- filterVisibleFilterValues
18735
+ filterVisibleFilterValues,
18736
+ setRelatedCategoryChildren
18680
18737
  };
18681
18738
  });
18682
18739
  const _hoisted_1$11 = { class: "lupa-search-box-add-to-cart-wrapper" };
@@ -19093,9 +19150,8 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValu
19093
19150
  }
19094
19151
  }));
19095
19152
  const _hoisted_1$V = ["href"];
19096
- const _hoisted_2$I = { class: "lupa-search-box-product-image-section" };
19097
- const _hoisted_3$w = { class: "lupa-search-box-product-details-section" };
19098
- const _hoisted_4$p = {
19153
+ const _hoisted_2$I = { class: "lupa-search-box-product-details-section" };
19154
+ const _hoisted_3$w = {
19099
19155
  key: 0,
19100
19156
  class: "lupa-search-box-product-add-to-cart-section"
19101
19157
  };
@@ -19123,6 +19179,25 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19123
19179
  var _a, _b;
19124
19180
  return (_b = (_a = props.panelOptions.elements) == null ? void 0 : _a.filter((e2) => e2.type === DocumentElementType.IMAGE)) != null ? _b : [];
19125
19181
  });
19182
+ const mainImageElement = computed(() => {
19183
+ return imageElements.value[0];
19184
+ });
19185
+ const widthOverride = computed(() => {
19186
+ var _a, _b, _c;
19187
+ return (_c = (_b = (_a = mainImageElement.value) == null ? void 0 : _a.dimensions) == null ? void 0 : _b.width) != null ? _c : void 0;
19188
+ });
19189
+ const heightOverride = computed(() => {
19190
+ var _a, _b, _c;
19191
+ return (_c = (_b = (_a = mainImageElement.value) == null ? void 0 : _a.dimensions) == null ? void 0 : _b.height) != null ? _c : void 0;
19192
+ });
19193
+ const imageStyleOverride = computed(() => {
19194
+ var _a;
19195
+ return ((_a = mainImageElement.value) == null ? void 0 : _a.dimensions) ? {
19196
+ width: widthOverride.value ? `${widthOverride.value}px` : void 0,
19197
+ height: heightOverride.value ? `${heightOverride.value}px` : void 0,
19198
+ minWidth: widthOverride.value ? `${widthOverride.value + 10}px` : void 0
19199
+ } : {};
19200
+ });
19126
19201
  const detailElements = computed(() => {
19127
19202
  var _a, _b;
19128
19203
  return (_b = (_a = props.panelOptions.elements) == null ? void 0 : _a.filter(
@@ -19161,7 +19236,10 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19161
19236
  "data-cy": "lupa-search-box-product",
19162
19237
  onClick: handleClick
19163
19238
  }), [
19164
- createBaseVNode("div", _hoisted_2$I, [
19239
+ createBaseVNode("div", {
19240
+ class: "lupa-search-box-product-image-section",
19241
+ style: normalizeStyle(imageStyleOverride.value)
19242
+ }, [
19165
19243
  (openBlock(true), createElementBlock(Fragment, null, renderList(imageElements.value, (element) => {
19166
19244
  return openBlock(), createBlock(_sfc_main$16, {
19167
19245
  class: "lupa-search-box-product-element",
@@ -19172,8 +19250,8 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19172
19250
  link: link.value
19173
19251
  }, null, 8, ["item", "element", "labels", "link"]);
19174
19252
  }), 128))
19175
- ]),
19176
- createBaseVNode("div", _hoisted_3$w, [
19253
+ ], 4),
19254
+ createBaseVNode("div", _hoisted_2$I, [
19177
19255
  (openBlock(true), createElementBlock(Fragment, null, renderList(detailElements.value, (element) => {
19178
19256
  var _a;
19179
19257
  return openBlock(), createBlock(_sfc_main$16, {
@@ -19197,7 +19275,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19197
19275
  ]), 1032, ["item", "element", "labels", "link"]);
19198
19276
  }), 128))
19199
19277
  ]),
19200
- addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_4$p, [
19278
+ addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_3$w, [
19201
19279
  createVNode(_sfc_main$16, {
19202
19280
  class: "lupa-search-box-product-element",
19203
19281
  item: _ctx.item,
@@ -19455,6 +19533,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
19455
19533
  });
19456
19534
  };
19457
19535
  const getItemsDebounced = debounce$1(getItems, props.debounce);
19536
+ watch(() => props.panel.limit, getItemsDebounced);
19458
19537
  return (_ctx, _cache) => {
19459
19538
  var _a, _b;
19460
19539
  return openBlock(), createBlock(_sfc_main$_, {
@@ -19587,7 +19666,7 @@ const _hoisted_3$v = {
19587
19666
  key: 0,
19588
19667
  class: "lupa-panel-title lupa-panel-title-top-results"
19589
19668
  };
19590
- const _hoisted_4$o = {
19669
+ const _hoisted_4$p = {
19591
19670
  key: 1,
19592
19671
  class: "lupa-panel-title"
19593
19672
  };
@@ -19643,6 +19722,13 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19643
19722
  const displayPanels = computed(
19644
19723
  () => props.isSearchContainer ? panels.value.filter((p2) => p2.type === SearchBoxPanelType.SUGGESTION) : panels.value
19645
19724
  );
19725
+ const gridTemplate = computed(() => generateGridTemplate(panels.value));
19726
+ const styleOverrides = computed(() => {
19727
+ return {
19728
+ display: expandOnSinglePanel.value ? "block" : "grid",
19729
+ gridTemplateAreas: gridTemplate.value ? gridTemplate.value : "left right"
19730
+ };
19731
+ });
19646
19732
  const getInput = (panel) => {
19647
19733
  var _a, _b;
19648
19734
  if (panel.type === SearchBoxPanelType.SUGGESTION || !panel.searchBySuggestion) {
@@ -19669,6 +19755,9 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19669
19755
  searchBoxStore.resetHighlightIndex();
19670
19756
  });
19671
19757
  const handleNavigation = (e2) => {
19758
+ if (!props.focused) {
19759
+ return;
19760
+ }
19672
19761
  switch (e2.key) {
19673
19762
  case "ArrowDown":
19674
19763
  e2.preventDefault();
@@ -19756,7 +19845,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19756
19845
  }, toDisplayString(labels.value.closePanel), 1)) : createCommentVNode("", true),
19757
19846
  createBaseVNode("div", {
19758
19847
  class: "lupa-main-panel",
19759
- style: normalizeStyle(expandOnSinglePanel.value ? { display: "block" } : {}),
19848
+ style: normalizeStyle(styleOverrides.value),
19760
19849
  "data-cy": "lupa-main-panel"
19761
19850
  }, [
19762
19851
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayPanels.value, (panel, index) => {
@@ -19767,10 +19856,11 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19767
19856
  "lupa-panel-" + panel.type + "-index",
19768
19857
  panel.customClassName ? panel.customClassName : ""
19769
19858
  ]),
19859
+ style: normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
19770
19860
  "data-cy": "lupa-panel-" + panel.type + "-index"
19771
19861
  }, [
19772
19862
  ((_a2 = panel.labels) == null ? void 0 : _a2.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (openBlock(), createElementBlock("div", _hoisted_3$v, toDisplayString((_b = panel.labels) == null ? void 0 : _b.topResultsTitle), 1)) : createCommentVNode("", true),
19773
- ((_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),
19863
+ ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (openBlock(), createElementBlock("div", _hoisted_4$p, toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : createCommentVNode("", true),
19774
19864
  panel.queryKey && canShowPanel(panel) ? (openBlock(), createBlock(resolveDynamicComponent(getComponent(panel.type)), {
19775
19865
  key: 2,
19776
19866
  panel,
@@ -19792,7 +19882,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19792
19882
  key: "0"
19793
19883
  } : void 0
19794
19884
  ]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : createCommentVNode("", true)
19795
- ], 10, _hoisted_2$G);
19885
+ ], 14, _hoisted_2$G);
19796
19886
  }), 128))
19797
19887
  ], 4),
19798
19888
  !unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (openBlock(), createBlock(_sfc_main$1j, {
@@ -19856,6 +19946,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19856
19946
  const inputValue = ref("");
19857
19947
  const suggestedValue = ref(defaultSuggestedValue);
19858
19948
  const opened = ref(props.isSearchContainer);
19949
+ const focused = ref(false);
19859
19950
  const searchBoxInput = ref(null);
19860
19951
  const { highlightedDocument } = storeToRefs(searchBoxStore);
19861
19952
  const searchValue = computed(() => {
@@ -19914,6 +20005,9 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19914
20005
  const elementClass = (_b = (_a2 = e2.target) == null ? void 0 : _a2.className) != null ? _b : "";
19915
20006
  const hasLupaClass = typeof elementClass.includes == "function" && elementClass.includes("lupa-search-box");
19916
20007
  const isOutsideElement = el && !el.contains(e2.target) && !hasLupaClass;
20008
+ if (isOutsideElement && props.options.keepOpen) {
20009
+ focused.value = false;
20010
+ }
19917
20011
  if (!isOutsideElement || props.options.keepOpen) {
19918
20012
  return;
19919
20013
  }
@@ -19922,11 +20016,12 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19922
20016
  };
19923
20017
  const close = () => {
19924
20018
  opened.value = false;
20019
+ focused.value = false;
19925
20020
  suggestedValue.value = defaultSuggestedValue;
19926
20021
  };
19927
20022
  const handleKeyDown = (e2) => {
19928
20023
  var _a2, _b;
19929
- if (!opened.value) {
20024
+ if (!focused.value) {
19930
20025
  return;
19931
20026
  }
19932
20027
  switch (e2.key) {
@@ -19946,6 +20041,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19946
20041
  const handleInput = (value) => {
19947
20042
  var _a2;
19948
20043
  opened.value = true;
20044
+ focused.value = true;
19949
20045
  inputValue.value = (_a2 = value == null ? void 0 : value.replace(/\s+$/, "")) != null ? _a2 : "";
19950
20046
  suggestedValue.value = defaultSuggestedValue;
19951
20047
  searchBoxStore.resetHighlightIndex();
@@ -20073,12 +20169,14 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
20073
20169
  }
20074
20170
  });
20075
20171
  };
20172
+ watch(() => props.options.debounce, handleCurrentValueSearch);
20076
20173
  const resetValues = () => {
20077
20174
  inputValue.value = "";
20078
20175
  suggestedValue.value = defaultSuggestedValue;
20079
20176
  };
20080
20177
  const handleProductClick = () => {
20081
20178
  opened.value = false;
20179
+ focused.value = false;
20082
20180
  };
20083
20181
  const slotProps = (props2) => {
20084
20182
  return __spreadValues2({}, props2);
@@ -20095,15 +20193,17 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
20095
20193
  ref_key: "searchBoxInput",
20096
20194
  ref: searchBoxInput,
20097
20195
  onInput: handleInput,
20098
- onFocus: _cache[0] || (_cache[0] = ($event) => opened.value = true),
20196
+ onBlur: _cache[0] || (_cache[0] = ($event) => focused.value = false),
20197
+ onFocus: _cache[1] || (_cache[1] = ($event) => opened.value = true),
20099
20198
  onSearch: handleSearch,
20100
- onClose: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("close"))
20199
+ onClose: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("close"))
20101
20200
  }, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
20102
20201
  opened.value || _ctx.isSearchContainer ? (openBlock(), createBlock(_sfc_main$W, {
20103
20202
  key: 0,
20104
20203
  options: panelOptions.value,
20105
20204
  inputValue: inputValue.value,
20106
20205
  isSearchContainer: _ctx.isSearchContainer,
20206
+ focused: focused.value,
20107
20207
  onFetched: handleItemsFetch,
20108
20208
  onItemSelect: handleItemSelect,
20109
20209
  onGoToResults: handleSearch,
@@ -20117,7 +20217,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
20117
20217
  ]),
20118
20218
  key: "0"
20119
20219
  } : void 0
20120
- ]), 1032, ["options", "inputValue", "isSearchContainer"])) : createCommentVNode("", true)
20220
+ ]), 1032, ["options", "inputValue", "isSearchContainer", "focused"])) : createCommentVNode("", true)
20121
20221
  ])
20122
20222
  ]);
20123
20223
  };
@@ -20199,7 +20299,7 @@ const _hoisted_3$u = {
20199
20299
  key: 1,
20200
20300
  "data-cy": "did-you-mean-label"
20201
20301
  };
20202
- const _hoisted_4$n = { key: 1 };
20302
+ const _hoisted_4$o = { key: 1 };
20203
20303
  const _sfc_main$U = /* @__PURE__ */ defineComponent({
20204
20304
  __name: "SearchResultsDidYouMean",
20205
20305
  props: {
@@ -20250,7 +20350,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
20250
20350
  class: "lupa-did-you-mean lupa-highlighted-search-text",
20251
20351
  "data-cy": "did-you-mean-value",
20252
20352
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
20253
- }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$n, toDisplayString(label) + " ", 1))
20353
+ }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$o, toDisplayString(label) + " ", 1))
20254
20354
  ]);
20255
20355
  }), 128))
20256
20356
  ])) : createCommentVNode("", true)
@@ -20300,7 +20400,7 @@ const _hoisted_3$t = {
20300
20400
  key: 1,
20301
20401
  class: "lupa-results-total-count"
20302
20402
  };
20303
- const _hoisted_4$m = { class: "lupa-results-total-count-number" };
20403
+ const _hoisted_4$n = { class: "lupa-results-total-count-number" };
20304
20404
  const _hoisted_5$g = ["innerHTML"];
20305
20405
  const _sfc_main$S = /* @__PURE__ */ defineComponent({
20306
20406
  __name: "SearchResultsTitle",
@@ -20346,7 +20446,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
20346
20446
  queryText.value ? (openBlock(), createElementBlock("span", _hoisted_2$C, "'" + toDisplayString(queryText.value) + "'", 1)) : createCommentVNode("", true),
20347
20447
  showProductCount.value ? (openBlock(), createElementBlock("span", _hoisted_3$t, [
20348
20448
  createTextVNode("(" + toDisplayString(searchResultsCountLabel.value), 1),
20349
- createBaseVNode("span", _hoisted_4$m, toDisplayString(unref(totalItems)), 1),
20449
+ createBaseVNode("span", _hoisted_4$n, toDisplayString(unref(totalItems)), 1),
20350
20450
  createTextVNode(")")
20351
20451
  ])) : createCommentVNode("", true)
20352
20452
  ])) : createCommentVNode("", true),
@@ -20404,7 +20504,7 @@ const _hoisted_3$r = {
20404
20504
  key: 0,
20405
20505
  class: "filter-values"
20406
20506
  };
20407
- const _hoisted_4$l = { class: "lupa-current-filter-list" };
20507
+ const _hoisted_4$m = { class: "lupa-current-filter-list" };
20408
20508
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
20409
20509
  __name: "CurrentFilters",
20410
20510
  props: {
@@ -20488,7 +20588,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
20488
20588
  }, null, 2)) : createCommentVNode("", true)
20489
20589
  ]),
20490
20590
  !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$r, [
20491
- createBaseVNode("div", _hoisted_4$l, [
20591
+ createBaseVNode("div", _hoisted_4$m, [
20492
20592
  (openBlock(true), createElementBlock(Fragment, null, renderList(currentDisplayFilters.value, (filter2) => {
20493
20593
  return openBlock(), createBlock(_sfc_main$R, {
20494
20594
  key: filter2.key + "_" + filter2.value,
@@ -20556,7 +20656,7 @@ const _hoisted_1$K = {
20556
20656
  };
20557
20657
  const _hoisted_2$z = { class: "lupa-category-back" };
20558
20658
  const _hoisted_3$q = ["href"];
20559
- const _hoisted_4$k = ["href"];
20659
+ const _hoisted_4$l = ["href"];
20560
20660
  const _hoisted_5$f = { class: "lupa-child-category-list" };
20561
20661
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
20562
20662
  __name: "CategoryFilter",
@@ -20567,6 +20667,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
20567
20667
  const props = __props;
20568
20668
  const categoryChildren = ref([]);
20569
20669
  const optionStore = useOptionsStore();
20670
+ const searchResultsStore = useSearchResultStore();
20570
20671
  const { envOptions, searchResultOptions } = storeToRefs(optionStore);
20571
20672
  const hasBackButton = computed(() => {
20572
20673
  var _a;
@@ -20603,6 +20704,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
20603
20704
  return;
20604
20705
  }
20605
20706
  categoryChildren.value = result2.items;
20707
+ searchResultsStore.setRelatedCategoryChildren(categoryChildren.value);
20606
20708
  (_c = (_b = searchResultOptions.value.callbacks) == null ? void 0 : _b.onCategoryFilterResults) == null ? void 0 : _c.call(_b, {
20607
20709
  queryKey: props.options.queryKey,
20608
20710
  hasResults: result2.total > 0
@@ -20661,7 +20763,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
20661
20763
  href: parentUrlLink.value,
20662
20764
  class: normalizeClass({ "lupa-title-category": !hasBackButton.value }),
20663
20765
  onClick: handleNavigationParent
20664
- }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
20766
+ }, toDisplayString(parentTitle.value), 11, _hoisted_4$l)
20665
20767
  ], 2),
20666
20768
  createBaseVNode("div", _hoisted_5$f, [
20667
20769
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
@@ -20682,7 +20784,7 @@ const _hoisted_1$J = {
20682
20784
  };
20683
20785
  const _hoisted_2$y = ["placeholder"];
20684
20786
  const _hoisted_3$p = { class: "lupa-terms-list" };
20685
- const _hoisted_4$j = ["onClick"];
20787
+ const _hoisted_4$k = ["onClick"];
20686
20788
  const _hoisted_5$e = { class: "lupa-term-checkbox-wrapper" };
20687
20789
  const _hoisted_6$9 = { class: "lupa-term-checkbox-label" };
20688
20790
  const _hoisted_7$6 = { class: "lupa-term-label" };
@@ -20790,7 +20892,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
20790
20892
  createBaseVNode("span", _hoisted_7$6, toDisplayString(item.title), 1),
20791
20893
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_8$2, "(" + toDisplayString(item.count) + ")", 1)) : createCommentVNode("", true)
20792
20894
  ])
20793
- ], 10, _hoisted_4$j);
20895
+ ], 10, _hoisted_4$k);
20794
20896
  }), 128))
20795
20897
  ]),
20796
20898
  displayShowMore.value ? (openBlock(), createElementBlock("div", {
@@ -21790,7 +21892,7 @@ const _hoisted_3$o = {
21790
21892
  key: 1,
21791
21893
  class: "lupa-stats-facet-summary-input"
21792
21894
  };
21793
- const _hoisted_4$i = {
21895
+ const _hoisted_4$j = {
21794
21896
  key: 0,
21795
21897
  class: "lupa-stats-range-label"
21796
21898
  };
@@ -21985,7 +22087,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
21985
22087
  return openBlock(), createElementBlock("div", _hoisted_1$I, [
21986
22088
  !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$x, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$o, [
21987
22089
  createBaseVNode("div", null, [
21988
- rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
22090
+ rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$j, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
21989
22091
  createBaseVNode("div", _hoisted_5$d, [
21990
22092
  withDirectives(createBaseVNode("input", {
21991
22093
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
@@ -22052,7 +22154,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
22052
22154
  const _hoisted_1$H = { class: "lupa-term-checkbox-wrapper" };
22053
22155
  const _hoisted_2$w = { class: "lupa-term-checkbox-label" };
22054
22156
  const _hoisted_3$n = { class: "lupa-term-label" };
22055
- const _hoisted_4$h = {
22157
+ const _hoisted_4$i = {
22056
22158
  key: 0,
22057
22159
  class: "lupa-term-count"
22058
22160
  };
@@ -22113,7 +22215,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
22113
22215
  ]),
22114
22216
  createBaseVNode("div", _hoisted_2$w, [
22115
22217
  createBaseVNode("span", _hoisted_3$n, toDisplayString(_ctx.item.title) + toDisplayString(" "), 1),
22116
- _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$h, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
22218
+ _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$i, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
22117
22219
  ])
22118
22220
  ]),
22119
22221
  showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$c, [
@@ -22625,7 +22727,7 @@ const _hoisted_1$A = {
22625
22727
  };
22626
22728
  const _hoisted_2$r = ["onClick"];
22627
22729
  const _hoisted_3$l = { class: "lupa-mobile-sidebar-content" };
22628
- const _hoisted_4$g = { class: "lupa-sidebar-top" };
22730
+ const _hoisted_4$h = { class: "lupa-sidebar-top" };
22629
22731
  const _hoisted_5$b = { class: "lupa-sidebar-title" };
22630
22732
  const _hoisted_6$7 = {
22631
22733
  key: 0,
@@ -22669,7 +22771,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
22669
22771
  onClick: withModifiers(handleMobileToggle, ["stop"])
22670
22772
  }, null, 8, _hoisted_2$r),
22671
22773
  createBaseVNode("div", _hoisted_3$l, [
22672
- createBaseVNode("div", _hoisted_4$g, [
22774
+ createBaseVNode("div", _hoisted_4$h, [
22673
22775
  createBaseVNode("div", _hoisted_5$b, [
22674
22776
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
22675
22777
  isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_6$7, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
@@ -22697,7 +22799,7 @@ const _hoisted_3$k = {
22697
22799
  key: 1,
22698
22800
  class: "lupa-search-results-breadcrumb-text"
22699
22801
  };
22700
- const _hoisted_4$f = { key: 2 };
22802
+ const _hoisted_4$g = { key: 2 };
22701
22803
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
22702
22804
  __name: "SearchResultsBreadcrumbs",
22703
22805
  props: {
@@ -22738,7 +22840,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
22738
22840
  return handleNavigation(e2, (_a = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a : "");
22739
22841
  }
22740
22842
  }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$q)) : (openBlock(), createElementBlock("span", _hoisted_3$k, toDisplayString(getLabel(breadcrumb.label)), 1)),
22741
- index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$f, " / ")) : createCommentVNode("", true)
22843
+ index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$g, " / ")) : createCommentVNode("", true)
22742
22844
  ]);
22743
22845
  }), 128))
22744
22846
  ]);
@@ -22844,7 +22946,7 @@ const _hoisted_2$p = {
22844
22946
  class: "lupa-page-number-separator"
22845
22947
  };
22846
22948
  const _hoisted_3$j = ["onClick"];
22847
- const _hoisted_4$e = {
22949
+ const _hoisted_4$f = {
22848
22950
  key: 0,
22849
22951
  class: "lupa-page-number-separator"
22850
22952
  };
@@ -22950,7 +23052,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
22950
23052
  }, toDisplayString(page), 11, _hoisted_3$j);
22951
23053
  }), 128)),
22952
23054
  showLastPage.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
22953
- showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$e, "...")) : createCommentVNode("", true),
23055
+ showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$f, "...")) : createCommentVNode("", true),
22954
23056
  createBaseVNode("div", {
22955
23057
  class: "lupa-page-number lupa-page-number-last",
22956
23058
  onClick: _cache[2] || (_cache[2] = () => {
@@ -22975,7 +23077,7 @@ const _hoisted_1$u = {
22975
23077
  };
22976
23078
  const _hoisted_2$o = { id: "lupa-select" };
22977
23079
  const _hoisted_3$i = { class: "lupa-select-label" };
22978
- const _hoisted_4$d = ["aria-label"];
23080
+ const _hoisted_4$e = ["aria-label"];
22979
23081
  const _hoisted_5$a = ["value"];
22980
23082
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
22981
23083
  __name: "SearchResultsPageSize",
@@ -23022,7 +23124,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
23022
23124
  value: option
23023
23125
  }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$a);
23024
23126
  }), 128))
23025
- ], 40, _hoisted_4$d)
23127
+ ], 40, _hoisted_4$e)
23026
23128
  ])
23027
23129
  ]);
23028
23130
  };
@@ -23034,7 +23136,7 @@ const _hoisted_1$t = {
23034
23136
  };
23035
23137
  const _hoisted_2$n = { id: "lupa-select" };
23036
23138
  const _hoisted_3$h = { class: "lupa-select-label" };
23037
- const _hoisted_4$c = ["aria-label"];
23139
+ const _hoisted_4$d = ["aria-label"];
23038
23140
  const _hoisted_5$9 = ["value"];
23039
23141
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
23040
23142
  __name: "SearchResultsSort",
@@ -23102,7 +23204,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
23102
23204
  value: option.key
23103
23205
  }, toDisplayString(option.label), 9, _hoisted_5$9);
23104
23206
  }), 128))
23105
- ], 40, _hoisted_4$c), [
23207
+ ], 40, _hoisted_4$d), [
23106
23208
  [vModelSelect, selectedKey.value]
23107
23209
  ])
23108
23210
  ])
@@ -23116,7 +23218,7 @@ const _hoisted_2$m = {
23116
23218
  class: "lupa-toolbar-right-title"
23117
23219
  };
23118
23220
  const _hoisted_3$g = { key: 2 };
23119
- const _hoisted_4$b = { key: 4 };
23221
+ const _hoisted_4$c = { key: 4 };
23120
23222
  const _hoisted_5$8 = { key: 6 };
23121
23223
  const _hoisted_6$6 = { class: "lupa-toolbar-right" };
23122
23224
  const _hoisted_7$3 = {
@@ -23240,7 +23342,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
23240
23342
  label: searchSummaryLabel.value,
23241
23343
  clearable: unref(hasAnyFilter) && showFilterClear.value,
23242
23344
  onClear: handleClearAll
23243
- }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$b)),
23345
+ }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$c)),
23244
23346
  displayPageSelect.value ? (openBlock(), createBlock(_sfc_main$z, {
23245
23347
  key: 5,
23246
23348
  options: paginationOptions.value.pageSelect,
@@ -23289,7 +23391,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
23289
23391
  const _hoisted_1$r = ["title", "innerHTML"];
23290
23392
  const _hoisted_2$l = ["title"];
23291
23393
  const _hoisted_3$f = ["href", "innerHTML"];
23292
- const _hoisted_4$a = ["title"];
23394
+ const _hoisted_4$b = ["title"];
23293
23395
  const _hoisted_5$7 = {
23294
23396
  key: 0,
23295
23397
  class: "lupa-search-results-product-title-text"
@@ -23357,7 +23459,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
23357
23459
  class: "lupa-search-results-product-title-text lupa-title-link",
23358
23460
  onClick: handleNavigation
23359
23461
  }, toDisplayString(title.value), 9, _hoisted_6$5)) : createCommentVNode("", true)
23360
- ], 12, _hoisted_4$a));
23462
+ ], 12, _hoisted_4$b));
23361
23463
  };
23362
23464
  }
23363
23465
  });
@@ -23400,7 +23502,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
23400
23502
  const _hoisted_1$p = { id: "lupa-search-results-rating" };
23401
23503
  const _hoisted_2$k = { class: "lupa-ratings" };
23402
23504
  const _hoisted_3$e = { class: "lupa-ratings-base" };
23403
- const _hoisted_4$9 = ["innerHTML"];
23505
+ const _hoisted_4$a = ["innerHTML"];
23404
23506
  const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
23405
23507
  const _hoisted_6$4 = ["innerHTML"];
23406
23508
  const _hoisted_7$2 = ["href"];
@@ -23444,7 +23546,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
23444
23546
  key: index,
23445
23547
  innerHTML: star,
23446
23548
  class: "lupa-rating lupa-rating-not-highlighted"
23447
- }, null, 8, _hoisted_4$9);
23549
+ }, null, 8, _hoisted_4$a);
23448
23550
  }), 128))
23449
23551
  ]),
23450
23552
  createBaseVNode("div", _hoisted_5$6, [
@@ -23578,7 +23680,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
23578
23680
  const _hoisted_1$m = ["innerHTML"];
23579
23681
  const _hoisted_2$i = { key: 0 };
23580
23682
  const _hoisted_3$c = { key: 1 };
23581
- const _hoisted_4$8 = { class: "lupa-search-box-custom-label" };
23683
+ const _hoisted_4$9 = { class: "lupa-search-box-custom-label" };
23582
23684
  const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
23583
23685
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
23584
23686
  __name: "SearchResultsProductCustom",
@@ -23623,7 +23725,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
23623
23725
  class: className.value
23624
23726
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
23625
23727
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$i, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$c, [
23626
- createBaseVNode("div", _hoisted_4$8, toDisplayString(label.value), 1),
23728
+ createBaseVNode("div", _hoisted_4$9, toDisplayString(label.value), 1),
23627
23729
  createBaseVNode("div", _hoisted_5$5, toDisplayString(text.value), 1)
23628
23730
  ]))
23629
23731
  ], 16));
@@ -23669,7 +23771,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
23669
23771
  const _hoisted_1$k = { id: "lupa-search-results-rating" };
23670
23772
  const _hoisted_2$h = ["innerHTML"];
23671
23773
  const _hoisted_3$b = { class: "lupa-ratings" };
23672
- const _hoisted_4$7 = ["href"];
23774
+ const _hoisted_4$8 = ["href"];
23673
23775
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
23674
23776
  __name: "SearchResultsProductSingleStarRating",
23675
23777
  props: {
@@ -23707,7 +23809,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
23707
23809
  createBaseVNode("a", {
23708
23810
  href: ratingLink.value,
23709
23811
  class: "lupa-total-ratings"
23710
- }, toDisplayString(totalRatings.value), 9, _hoisted_4$7)
23812
+ }, toDisplayString(totalRatings.value), 9, _hoisted_4$8)
23711
23813
  ]);
23712
23814
  };
23713
23815
  }
@@ -24035,7 +24137,7 @@ const _hoisted_3$9 = {
24035
24137
  class: "lupa-similar-query-label",
24036
24138
  "data-cy": "lupa-similar-query-label"
24037
24139
  };
24038
- const _hoisted_4$6 = ["onClick"];
24140
+ const _hoisted_4$7 = ["onClick"];
24039
24141
  const _hoisted_5$4 = ["innerHTML"];
24040
24142
  const _hoisted_6$3 = { key: 0 };
24041
24143
  const _hoisted_7$1 = {
@@ -24088,7 +24190,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
24088
24190
  innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
24089
24191
  }, null, 8, _hoisted_5$4),
24090
24192
  similarQuery.count ? (openBlock(), createElementBlock("span", _hoisted_6$3, " (" + toDisplayString(similarQuery.count) + ")", 1)) : createCommentVNode("", true)
24091
- ], 8, _hoisted_4$6)
24193
+ ], 8, _hoisted_4$7)
24092
24194
  ]),
24093
24195
  createBaseVNode("div", _hoisted_7$1, [
24094
24196
  (openBlock(true), createElementBlock(Fragment, null, renderList(similarQuery.items, (product, index2) => {
@@ -24311,7 +24413,7 @@ const _hoisted_3$7 = {
24311
24413
  class: "lupa-empty-results",
24312
24414
  "data-cy": "lupa-no-results-in-page"
24313
24415
  };
24314
- const _hoisted_4$5 = {
24416
+ const _hoisted_4$6 = {
24315
24417
  key: 3,
24316
24418
  class: "lupa-empty-results",
24317
24419
  "data-cy": "lupa-no-results"
@@ -24503,7 +24605,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
24503
24605
  location: "bottom",
24504
24606
  sdkOptions: _ctx.options.options
24505
24607
  }, null, 8, ["options", "sdkOptions"])
24506
- ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
24608
+ ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$6, [
24507
24609
  createTextVNode(toDisplayString(_ctx.options.labels.emptyResults) + " ", 1),
24508
24610
  createBaseVNode("span", null, toDisplayString(unref(currentQueryText)), 1)
24509
24611
  ])) : createCommentVNode("", true),
@@ -24532,6 +24634,7 @@ const _hoisted_2$a = {
24532
24634
  class: "lupa-category-back"
24533
24635
  };
24534
24636
  const _hoisted_3$6 = ["href"];
24637
+ const _hoisted_4$5 = { class: "lupa-child-category-list" };
24535
24638
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
24536
24639
  __name: "CategoryTopFilters",
24537
24640
  props: {
@@ -24539,6 +24642,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
24539
24642
  },
24540
24643
  setup(__props) {
24541
24644
  const props = __props;
24645
+ const searchResultsStore = useSearchResultStore();
24646
+ const { relatedCategoryChildren } = storeToRefs(searchResultsStore);
24542
24647
  const hasBackButton = computed(() => {
24543
24648
  var _a, _b;
24544
24649
  return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.back) == null ? void 0 : _b.title);
@@ -24554,12 +24659,19 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
24554
24659
  const hasEventRouting = computed(() => {
24555
24660
  return props.options.routingBehavior === "event";
24556
24661
  });
24662
+ const categoryOptions = computed(() => {
24663
+ return props.options.categories;
24664
+ });
24557
24665
  const handleNavigationBack = (event) => {
24558
24666
  if (!backUrlLink.value) {
24559
24667
  return;
24560
24668
  }
24561
24669
  handleRoutingEvent(backUrlLink.value, event, hasEventRouting.value);
24562
24670
  };
24671
+ const getCategoryKey = (item) => {
24672
+ var _a, _b, _c, _d, _e, _f;
24673
+ return (item == null ? void 0 : item[(_c = (_b = (_a = categoryOptions.value) == null ? void 0 : _a.keys) == null ? void 0 : _b.titleKey) != null ? _c : ""]) + (item == null ? void 0 : item[(_f = (_e = (_d = categoryOptions.value) == null ? void 0 : _d.keys) == null ? void 0 : _e.urlKey) != null ? _f : ""]);
24674
+ };
24563
24675
  return (_ctx, _cache) => {
24564
24676
  return openBlock(), createElementBlock("div", {
24565
24677
  class: normalizeClass(["lupa-category-top-mobile-filters", { "lupa-has-back-button": hasBackButton.value }])
@@ -24572,6 +24684,15 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
24572
24684
  onClick: handleNavigationBack
24573
24685
  }, toDisplayString(backTitle.value), 9, _hoisted_3$6)
24574
24686
  ])) : createCommentVNode("", true),
24687
+ createBaseVNode("div", _hoisted_4$5, [
24688
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(relatedCategoryChildren), (child) => {
24689
+ return openBlock(), createBlock(_sfc_main$P, {
24690
+ key: getCategoryKey(child),
24691
+ item: child,
24692
+ options: categoryOptions.value
24693
+ }, null, 8, ["item", "options"]);
24694
+ }), 128))
24695
+ ]),
24575
24696
  createVNode(_sfc_main$w, {
24576
24697
  class: "lupa-toolbar-mobile",
24577
24698
  "pagination-location": "top",