@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.
@@ -8841,6 +8841,34 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
8841
8841
  };
8842
8842
  }
8843
8843
  });
8844
+ const generateGridTemplate = (elements) => {
8845
+ const indexedElements = elements.map((el, index) => __spreadProps2(__spreadValues2({}, el), { index }));
8846
+ if (!indexedElements.length || !indexedElements.every((el) => el.gridArea === "left" || el.gridArea === "right")) {
8847
+ return void 0;
8848
+ }
8849
+ let leftElements = indexedElements.filter((el) => el.gridArea === "left");
8850
+ let rightElements = indexedElements.filter((el) => el.gridArea === "right");
8851
+ if (!leftElements.length && !rightElements.length) {
8852
+ return "";
8853
+ } else if (!leftElements.length) {
8854
+ leftElements = rightElements;
8855
+ } else if (!rightElements.length) {
8856
+ rightElements = leftElements;
8857
+ }
8858
+ const totalRows = Math.max(leftElements.length, rightElements.length);
8859
+ const gridTemplate = [];
8860
+ for (let row = 0; row < totalRows; row++) {
8861
+ const leftIndex = row < leftElements.length ? row : leftElements.length - 1;
8862
+ const rightIndex = row < rightElements.length ? row : rightElements.length - 1;
8863
+ const leftElement = leftElements[leftIndex];
8864
+ const rightElement = rightElements[rightIndex];
8865
+ const leftColumn = `${leftElement.gridArea}${leftElement.index}`;
8866
+ const rightColumn = `${rightElement.gridArea}${rightElement.index}`;
8867
+ const gridRow = `${leftColumn} ${rightColumn}`;
8868
+ gridTemplate.push(`"${gridRow}"`);
8869
+ }
8870
+ return gridTemplate.join(" ");
8871
+ };
8844
8872
  const _hoisted_1$19 = ["innerHTML"];
8845
8873
  const _hoisted_2$Q = {
8846
8874
  key: 1,
@@ -9039,6 +9067,7 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
9039
9067
  });
9040
9068
  };
9041
9069
  const getSuggestionsDebounced = debounce$1(getSuggestions, props.debounce);
9070
+ watch(() => props.panel.limit, getSuggestionsDebounced);
9042
9071
  return (_ctx, _cache) => {
9043
9072
  return openBlock(), createBlock(_sfc_main$1h, {
9044
9073
  items: searchResult.value,
@@ -18159,6 +18188,25 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18159
18188
  var _a;
18160
18189
  return Boolean((_a = hoverImages.value) == null ? void 0 : _a.length);
18161
18190
  });
18191
+ const widthOverride = computed(() => {
18192
+ var _a, _b;
18193
+ return (_b = (_a = props.options.dimensions) == null ? void 0 : _a.width) != null ? _b : void 0;
18194
+ });
18195
+ const heightOverride = computed(() => {
18196
+ var _a, _b;
18197
+ return (_b = (_a = props.options.dimensions) == null ? void 0 : _a.height) != null ? _b : void 0;
18198
+ });
18199
+ const objectFitOverride = computed(() => {
18200
+ var _a, _b;
18201
+ return (_b = (_a = props.options.dimensions) == null ? void 0 : _a.objectFit) != null ? _b : void 0;
18202
+ });
18203
+ const styleOverride = computed(() => {
18204
+ return {
18205
+ width: widthOverride.value ? `${widthOverride.value}px` : void 0,
18206
+ height: heightOverride.value ? `${heightOverride.value}px` : void 0,
18207
+ objectFit: objectFitOverride.value ? objectFitOverride.value : void 0
18208
+ };
18209
+ });
18162
18210
  const replaceWithPlaceholder = (e2) => {
18163
18211
  replaceImageWithPlaceholder(e2, placeholder.value);
18164
18212
  };
@@ -18223,6 +18271,7 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18223
18271
  return (_ctx, _cache) => {
18224
18272
  return openBlock(), createElementBlock("div", {
18225
18273
  class: normalizeClass({ [_ctx.wrapperClass]: Boolean(_ctx.wrapperClass), "lupa-images-hover": isHover.value }),
18274
+ style: normalizeStyle(styleOverride.value),
18226
18275
  onMouseenter: handleMouseEnter,
18227
18276
  onMouseleave: handleMouseLeave
18228
18277
  }, [
@@ -18233,6 +18282,7 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18233
18282
  default: withCtx(() => [
18234
18283
  (openBlock(), createElementBlock("img", mergeProps({
18235
18284
  class: ["lupa-images-hover-image", { [_ctx.imageClass]: true, "lupa-images-hover-image": isHover.value }],
18285
+ style: styleOverride.value,
18236
18286
  src: finalUrl.value
18237
18287
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
18238
18288
  onError: replaceWithPlaceholder,
@@ -18243,9 +18293,10 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
18243
18293
  })) : (openBlock(), createElementBlock("img", mergeProps({
18244
18294
  key: 1,
18245
18295
  class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
18296
+ style: styleOverride.value,
18246
18297
  src: finalMainImageUrl.value
18247
18298
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$P))
18248
- ], 34);
18299
+ ], 38);
18249
18300
  };
18250
18301
  }
18251
18302
  });
@@ -18509,6 +18560,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
18509
18560
  const layout = ref(ResultsLayoutEnum.GRID);
18510
18561
  const loading = ref(false);
18511
18562
  const isMobileSidebarVisible = ref(false);
18563
+ const relatedCategoryChildren = ref([]);
18512
18564
  const optionsStore = useOptionsStore();
18513
18565
  const paramsStore = useParamsStore();
18514
18566
  const screenStore = useScreenStore();
@@ -18650,6 +18702,9 @@ const useSearchResultStore = defineStore("searchResult", () => {
18650
18702
  const hasExactMatch = items.some((item) => getNormalizedString(item.title) === searchInput);
18651
18703
  return hasExactMatch ? items.filter((item) => getNormalizedString(item.title) === searchInput) : items;
18652
18704
  };
18705
+ const setRelatedCategoryChildren = (children) => {
18706
+ relatedCategoryChildren.value = [...children];
18707
+ };
18653
18708
  return {
18654
18709
  isMobileSidebarVisible,
18655
18710
  searchResult,
@@ -18670,6 +18725,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
18670
18725
  itemRange,
18671
18726
  isPageEmpty,
18672
18727
  hideFiltersOnExactMatchForKeys,
18728
+ relatedCategoryChildren,
18673
18729
  setSidebarState,
18674
18730
  queryFacet,
18675
18731
  add: add2,
@@ -18678,7 +18734,8 @@ const useSearchResultStore = defineStore("searchResult", () => {
18678
18734
  setLayout,
18679
18735
  setLoading,
18680
18736
  clearSearchResult,
18681
- filterVisibleFilterValues
18737
+ filterVisibleFilterValues,
18738
+ setRelatedCategoryChildren
18682
18739
  };
18683
18740
  });
18684
18741
  const _hoisted_1$11 = { class: "lupa-search-box-add-to-cart-wrapper" };
@@ -19095,9 +19152,8 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValu
19095
19152
  }
19096
19153
  }));
19097
19154
  const _hoisted_1$V = ["href"];
19098
- const _hoisted_2$I = { class: "lupa-search-box-product-image-section" };
19099
- const _hoisted_3$w = { class: "lupa-search-box-product-details-section" };
19100
- const _hoisted_4$p = {
19155
+ const _hoisted_2$I = { class: "lupa-search-box-product-details-section" };
19156
+ const _hoisted_3$w = {
19101
19157
  key: 0,
19102
19158
  class: "lupa-search-box-product-add-to-cart-section"
19103
19159
  };
@@ -19125,6 +19181,25 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19125
19181
  var _a, _b;
19126
19182
  return (_b = (_a = props.panelOptions.elements) == null ? void 0 : _a.filter((e2) => e2.type === DocumentElementType.IMAGE)) != null ? _b : [];
19127
19183
  });
19184
+ const mainImageElement = computed(() => {
19185
+ return imageElements.value[0];
19186
+ });
19187
+ const widthOverride = computed(() => {
19188
+ var _a, _b, _c;
19189
+ return (_c = (_b = (_a = mainImageElement.value) == null ? void 0 : _a.dimensions) == null ? void 0 : _b.width) != null ? _c : void 0;
19190
+ });
19191
+ const heightOverride = computed(() => {
19192
+ var _a, _b, _c;
19193
+ return (_c = (_b = (_a = mainImageElement.value) == null ? void 0 : _a.dimensions) == null ? void 0 : _b.height) != null ? _c : void 0;
19194
+ });
19195
+ const imageStyleOverride = computed(() => {
19196
+ var _a;
19197
+ return ((_a = mainImageElement.value) == null ? void 0 : _a.dimensions) ? {
19198
+ width: widthOverride.value ? `${widthOverride.value}px` : void 0,
19199
+ height: heightOverride.value ? `${heightOverride.value}px` : void 0,
19200
+ minWidth: widthOverride.value ? `${widthOverride.value + 10}px` : void 0
19201
+ } : {};
19202
+ });
19128
19203
  const detailElements = computed(() => {
19129
19204
  var _a, _b;
19130
19205
  return (_b = (_a = props.panelOptions.elements) == null ? void 0 : _a.filter(
@@ -19163,7 +19238,10 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19163
19238
  "data-cy": "lupa-search-box-product",
19164
19239
  onClick: handleClick
19165
19240
  }), [
19166
- createBaseVNode("div", _hoisted_2$I, [
19241
+ createBaseVNode("div", {
19242
+ class: "lupa-search-box-product-image-section",
19243
+ style: normalizeStyle(imageStyleOverride.value)
19244
+ }, [
19167
19245
  (openBlock(true), createElementBlock(Fragment, null, renderList(imageElements.value, (element) => {
19168
19246
  return openBlock(), createBlock(_sfc_main$16, {
19169
19247
  class: "lupa-search-box-product-element",
@@ -19174,8 +19252,8 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19174
19252
  link: link.value
19175
19253
  }, null, 8, ["item", "element", "labels", "link"]);
19176
19254
  }), 128))
19177
- ]),
19178
- createBaseVNode("div", _hoisted_3$w, [
19255
+ ], 4),
19256
+ createBaseVNode("div", _hoisted_2$I, [
19179
19257
  (openBlock(true), createElementBlock(Fragment, null, renderList(detailElements.value, (element) => {
19180
19258
  var _a;
19181
19259
  return openBlock(), createBlock(_sfc_main$16, {
@@ -19199,7 +19277,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
19199
19277
  ]), 1032, ["item", "element", "labels", "link"]);
19200
19278
  }), 128))
19201
19279
  ]),
19202
- addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_4$p, [
19280
+ addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_3$w, [
19203
19281
  createVNode(_sfc_main$16, {
19204
19282
  class: "lupa-search-box-product-element",
19205
19283
  item: _ctx.item,
@@ -19457,6 +19535,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
19457
19535
  });
19458
19536
  };
19459
19537
  const getItemsDebounced = debounce$1(getItems, props.debounce);
19538
+ watch(() => props.panel.limit, getItemsDebounced);
19460
19539
  return (_ctx, _cache) => {
19461
19540
  var _a, _b;
19462
19541
  return openBlock(), createBlock(_sfc_main$_, {
@@ -19589,7 +19668,7 @@ const _hoisted_3$v = {
19589
19668
  key: 0,
19590
19669
  class: "lupa-panel-title lupa-panel-title-top-results"
19591
19670
  };
19592
- const _hoisted_4$o = {
19671
+ const _hoisted_4$p = {
19593
19672
  key: 1,
19594
19673
  class: "lupa-panel-title"
19595
19674
  };
@@ -19645,6 +19724,13 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19645
19724
  const displayPanels = computed(
19646
19725
  () => props.isSearchContainer ? panels.value.filter((p2) => p2.type === SearchBoxPanelType.SUGGESTION) : panels.value
19647
19726
  );
19727
+ const gridTemplate = computed(() => generateGridTemplate(panels.value));
19728
+ const styleOverrides = computed(() => {
19729
+ return {
19730
+ display: expandOnSinglePanel.value ? "block" : "grid",
19731
+ gridTemplateAreas: gridTemplate.value ? gridTemplate.value : "left right"
19732
+ };
19733
+ });
19648
19734
  const getInput = (panel) => {
19649
19735
  var _a, _b;
19650
19736
  if (panel.type === SearchBoxPanelType.SUGGESTION || !panel.searchBySuggestion) {
@@ -19671,6 +19757,9 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19671
19757
  searchBoxStore.resetHighlightIndex();
19672
19758
  });
19673
19759
  const handleNavigation = (e2) => {
19760
+ if (!props.focused) {
19761
+ return;
19762
+ }
19674
19763
  switch (e2.key) {
19675
19764
  case "ArrowDown":
19676
19765
  e2.preventDefault();
@@ -19758,7 +19847,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19758
19847
  }, toDisplayString(labels.value.closePanel), 1)) : createCommentVNode("", true),
19759
19848
  createBaseVNode("div", {
19760
19849
  class: "lupa-main-panel",
19761
- style: normalizeStyle(expandOnSinglePanel.value ? { display: "block" } : {}),
19850
+ style: normalizeStyle(styleOverrides.value),
19762
19851
  "data-cy": "lupa-main-panel"
19763
19852
  }, [
19764
19853
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayPanels.value, (panel, index) => {
@@ -19769,10 +19858,11 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19769
19858
  "lupa-panel-" + panel.type + "-index",
19770
19859
  panel.customClassName ? panel.customClassName : ""
19771
19860
  ]),
19861
+ style: normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
19772
19862
  "data-cy": "lupa-panel-" + panel.type + "-index"
19773
19863
  }, [
19774
19864
  ((_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),
19775
- ((_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),
19865
+ ((_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),
19776
19866
  panel.queryKey && canShowPanel(panel) ? (openBlock(), createBlock(resolveDynamicComponent(getComponent(panel.type)), {
19777
19867
  key: 2,
19778
19868
  panel,
@@ -19794,7 +19884,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps2(__spreadValue
19794
19884
  key: "0"
19795
19885
  } : void 0
19796
19886
  ]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : createCommentVNode("", true)
19797
- ], 10, _hoisted_2$G);
19887
+ ], 14, _hoisted_2$G);
19798
19888
  }), 128))
19799
19889
  ], 4),
19800
19890
  !unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (openBlock(), createBlock(_sfc_main$1j, {
@@ -19858,6 +19948,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19858
19948
  const inputValue = ref("");
19859
19949
  const suggestedValue = ref(defaultSuggestedValue);
19860
19950
  const opened = ref(props.isSearchContainer);
19951
+ const focused = ref(false);
19861
19952
  const searchBoxInput = ref(null);
19862
19953
  const { highlightedDocument } = storeToRefs(searchBoxStore);
19863
19954
  const searchValue = computed(() => {
@@ -19916,6 +20007,9 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19916
20007
  const elementClass = (_b = (_a2 = e2.target) == null ? void 0 : _a2.className) != null ? _b : "";
19917
20008
  const hasLupaClass = typeof elementClass.includes == "function" && elementClass.includes("lupa-search-box");
19918
20009
  const isOutsideElement = el && !el.contains(e2.target) && !hasLupaClass;
20010
+ if (isOutsideElement && props.options.keepOpen) {
20011
+ focused.value = false;
20012
+ }
19919
20013
  if (!isOutsideElement || props.options.keepOpen) {
19920
20014
  return;
19921
20015
  }
@@ -19924,11 +20018,12 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19924
20018
  };
19925
20019
  const close = () => {
19926
20020
  opened.value = false;
20021
+ focused.value = false;
19927
20022
  suggestedValue.value = defaultSuggestedValue;
19928
20023
  };
19929
20024
  const handleKeyDown = (e2) => {
19930
20025
  var _a2, _b;
19931
- if (!opened.value) {
20026
+ if (!focused.value) {
19932
20027
  return;
19933
20028
  }
19934
20029
  switch (e2.key) {
@@ -19948,6 +20043,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
19948
20043
  const handleInput = (value) => {
19949
20044
  var _a2;
19950
20045
  opened.value = true;
20046
+ focused.value = true;
19951
20047
  inputValue.value = (_a2 = value == null ? void 0 : value.replace(/\s+$/, "")) != null ? _a2 : "";
19952
20048
  suggestedValue.value = defaultSuggestedValue;
19953
20049
  searchBoxStore.resetHighlightIndex();
@@ -20075,12 +20171,14 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
20075
20171
  }
20076
20172
  });
20077
20173
  };
20174
+ watch(() => props.options.debounce, handleCurrentValueSearch);
20078
20175
  const resetValues = () => {
20079
20176
  inputValue.value = "";
20080
20177
  suggestedValue.value = defaultSuggestedValue;
20081
20178
  };
20082
20179
  const handleProductClick = () => {
20083
20180
  opened.value = false;
20181
+ focused.value = false;
20084
20182
  };
20085
20183
  const slotProps = (props2) => {
20086
20184
  return __spreadValues2({}, props2);
@@ -20097,15 +20195,17 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
20097
20195
  ref_key: "searchBoxInput",
20098
20196
  ref: searchBoxInput,
20099
20197
  onInput: handleInput,
20100
- onFocus: _cache[0] || (_cache[0] = ($event) => opened.value = true),
20198
+ onBlur: _cache[0] || (_cache[0] = ($event) => focused.value = false),
20199
+ onFocus: _cache[1] || (_cache[1] = ($event) => opened.value = true),
20101
20200
  onSearch: handleSearch,
20102
- onClose: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("close"))
20201
+ onClose: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("close"))
20103
20202
  }, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
20104
20203
  opened.value || _ctx.isSearchContainer ? (openBlock(), createBlock(_sfc_main$W, {
20105
20204
  key: 0,
20106
20205
  options: panelOptions.value,
20107
20206
  inputValue: inputValue.value,
20108
20207
  isSearchContainer: _ctx.isSearchContainer,
20208
+ focused: focused.value,
20109
20209
  onFetched: handleItemsFetch,
20110
20210
  onItemSelect: handleItemSelect,
20111
20211
  onGoToResults: handleSearch,
@@ -20119,7 +20219,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
20119
20219
  ]),
20120
20220
  key: "0"
20121
20221
  } : void 0
20122
- ]), 1032, ["options", "inputValue", "isSearchContainer"])) : createCommentVNode("", true)
20222
+ ]), 1032, ["options", "inputValue", "isSearchContainer", "focused"])) : createCommentVNode("", true)
20123
20223
  ])
20124
20224
  ]);
20125
20225
  };
@@ -20201,7 +20301,7 @@ const _hoisted_3$u = {
20201
20301
  key: 1,
20202
20302
  "data-cy": "did-you-mean-label"
20203
20303
  };
20204
- const _hoisted_4$n = { key: 1 };
20304
+ const _hoisted_4$o = { key: 1 };
20205
20305
  const _sfc_main$U = /* @__PURE__ */ defineComponent({
20206
20306
  __name: "SearchResultsDidYouMean",
20207
20307
  props: {
@@ -20252,7 +20352,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
20252
20352
  class: "lupa-did-you-mean lupa-highlighted-search-text",
20253
20353
  "data-cy": "did-you-mean-value",
20254
20354
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
20255
- }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$n, toDisplayString(label) + " ", 1))
20355
+ }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$o, toDisplayString(label) + " ", 1))
20256
20356
  ]);
20257
20357
  }), 128))
20258
20358
  ])) : createCommentVNode("", true)
@@ -20302,7 +20402,7 @@ const _hoisted_3$t = {
20302
20402
  key: 1,
20303
20403
  class: "lupa-results-total-count"
20304
20404
  };
20305
- const _hoisted_4$m = { class: "lupa-results-total-count-number" };
20405
+ const _hoisted_4$n = { class: "lupa-results-total-count-number" };
20306
20406
  const _hoisted_5$g = ["innerHTML"];
20307
20407
  const _sfc_main$S = /* @__PURE__ */ defineComponent({
20308
20408
  __name: "SearchResultsTitle",
@@ -20348,7 +20448,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
20348
20448
  queryText.value ? (openBlock(), createElementBlock("span", _hoisted_2$C, "'" + toDisplayString(queryText.value) + "'", 1)) : createCommentVNode("", true),
20349
20449
  showProductCount.value ? (openBlock(), createElementBlock("span", _hoisted_3$t, [
20350
20450
  createTextVNode("(" + toDisplayString(searchResultsCountLabel.value), 1),
20351
- createBaseVNode("span", _hoisted_4$m, toDisplayString(unref(totalItems)), 1),
20451
+ createBaseVNode("span", _hoisted_4$n, toDisplayString(unref(totalItems)), 1),
20352
20452
  createTextVNode(")")
20353
20453
  ])) : createCommentVNode("", true)
20354
20454
  ])) : createCommentVNode("", true),
@@ -20406,7 +20506,7 @@ const _hoisted_3$r = {
20406
20506
  key: 0,
20407
20507
  class: "filter-values"
20408
20508
  };
20409
- const _hoisted_4$l = { class: "lupa-current-filter-list" };
20509
+ const _hoisted_4$m = { class: "lupa-current-filter-list" };
20410
20510
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
20411
20511
  __name: "CurrentFilters",
20412
20512
  props: {
@@ -20490,7 +20590,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
20490
20590
  }, null, 2)) : createCommentVNode("", true)
20491
20591
  ]),
20492
20592
  !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$r, [
20493
- createBaseVNode("div", _hoisted_4$l, [
20593
+ createBaseVNode("div", _hoisted_4$m, [
20494
20594
  (openBlock(true), createElementBlock(Fragment, null, renderList(currentDisplayFilters.value, (filter2) => {
20495
20595
  return openBlock(), createBlock(_sfc_main$R, {
20496
20596
  key: filter2.key + "_" + filter2.value,
@@ -20558,7 +20658,7 @@ const _hoisted_1$K = {
20558
20658
  };
20559
20659
  const _hoisted_2$z = { class: "lupa-category-back" };
20560
20660
  const _hoisted_3$q = ["href"];
20561
- const _hoisted_4$k = ["href"];
20661
+ const _hoisted_4$l = ["href"];
20562
20662
  const _hoisted_5$f = { class: "lupa-child-category-list" };
20563
20663
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
20564
20664
  __name: "CategoryFilter",
@@ -20569,6 +20669,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
20569
20669
  const props = __props;
20570
20670
  const categoryChildren = ref([]);
20571
20671
  const optionStore = useOptionsStore();
20672
+ const searchResultsStore = useSearchResultStore();
20572
20673
  const { envOptions, searchResultOptions } = storeToRefs(optionStore);
20573
20674
  const hasBackButton = computed(() => {
20574
20675
  var _a;
@@ -20605,6 +20706,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
20605
20706
  return;
20606
20707
  }
20607
20708
  categoryChildren.value = result2.items;
20709
+ searchResultsStore.setRelatedCategoryChildren(categoryChildren.value);
20608
20710
  (_c = (_b = searchResultOptions.value.callbacks) == null ? void 0 : _b.onCategoryFilterResults) == null ? void 0 : _c.call(_b, {
20609
20711
  queryKey: props.options.queryKey,
20610
20712
  hasResults: result2.total > 0
@@ -20663,7 +20765,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
20663
20765
  href: parentUrlLink.value,
20664
20766
  class: normalizeClass({ "lupa-title-category": !hasBackButton.value }),
20665
20767
  onClick: handleNavigationParent
20666
- }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
20768
+ }, toDisplayString(parentTitle.value), 11, _hoisted_4$l)
20667
20769
  ], 2),
20668
20770
  createBaseVNode("div", _hoisted_5$f, [
20669
20771
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
@@ -20684,7 +20786,7 @@ const _hoisted_1$J = {
20684
20786
  };
20685
20787
  const _hoisted_2$y = ["placeholder"];
20686
20788
  const _hoisted_3$p = { class: "lupa-terms-list" };
20687
- const _hoisted_4$j = ["onClick"];
20789
+ const _hoisted_4$k = ["onClick"];
20688
20790
  const _hoisted_5$e = { class: "lupa-term-checkbox-wrapper" };
20689
20791
  const _hoisted_6$9 = { class: "lupa-term-checkbox-label" };
20690
20792
  const _hoisted_7$6 = { class: "lupa-term-label" };
@@ -20792,7 +20894,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
20792
20894
  createBaseVNode("span", _hoisted_7$6, toDisplayString(item.title), 1),
20793
20895
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_8$2, "(" + toDisplayString(item.count) + ")", 1)) : createCommentVNode("", true)
20794
20896
  ])
20795
- ], 10, _hoisted_4$j);
20897
+ ], 10, _hoisted_4$k);
20796
20898
  }), 128))
20797
20899
  ]),
20798
20900
  displayShowMore.value ? (openBlock(), createElementBlock("div", {
@@ -21792,7 +21894,7 @@ const _hoisted_3$o = {
21792
21894
  key: 1,
21793
21895
  class: "lupa-stats-facet-summary-input"
21794
21896
  };
21795
- const _hoisted_4$i = {
21897
+ const _hoisted_4$j = {
21796
21898
  key: 0,
21797
21899
  class: "lupa-stats-range-label"
21798
21900
  };
@@ -21987,7 +22089,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
21987
22089
  return openBlock(), createElementBlock("div", _hoisted_1$I, [
21988
22090
  !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$x, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$o, [
21989
22091
  createBaseVNode("div", null, [
21990
- rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
22092
+ rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$j, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
21991
22093
  createBaseVNode("div", _hoisted_5$d, [
21992
22094
  withDirectives(createBaseVNode("input", {
21993
22095
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
@@ -22054,7 +22156,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
22054
22156
  const _hoisted_1$H = { class: "lupa-term-checkbox-wrapper" };
22055
22157
  const _hoisted_2$w = { class: "lupa-term-checkbox-label" };
22056
22158
  const _hoisted_3$n = { class: "lupa-term-label" };
22057
- const _hoisted_4$h = {
22159
+ const _hoisted_4$i = {
22058
22160
  key: 0,
22059
22161
  class: "lupa-term-count"
22060
22162
  };
@@ -22115,7 +22217,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
22115
22217
  ]),
22116
22218
  createBaseVNode("div", _hoisted_2$w, [
22117
22219
  createBaseVNode("span", _hoisted_3$n, toDisplayString(_ctx.item.title) + toDisplayString(" "), 1),
22118
- _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$h, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
22220
+ _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$i, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
22119
22221
  ])
22120
22222
  ]),
22121
22223
  showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$c, [
@@ -22627,7 +22729,7 @@ const _hoisted_1$A = {
22627
22729
  };
22628
22730
  const _hoisted_2$r = ["onClick"];
22629
22731
  const _hoisted_3$l = { class: "lupa-mobile-sidebar-content" };
22630
- const _hoisted_4$g = { class: "lupa-sidebar-top" };
22732
+ const _hoisted_4$h = { class: "lupa-sidebar-top" };
22631
22733
  const _hoisted_5$b = { class: "lupa-sidebar-title" };
22632
22734
  const _hoisted_6$7 = {
22633
22735
  key: 0,
@@ -22671,7 +22773,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
22671
22773
  onClick: withModifiers(handleMobileToggle, ["stop"])
22672
22774
  }, null, 8, _hoisted_2$r),
22673
22775
  createBaseVNode("div", _hoisted_3$l, [
22674
- createBaseVNode("div", _hoisted_4$g, [
22776
+ createBaseVNode("div", _hoisted_4$h, [
22675
22777
  createBaseVNode("div", _hoisted_5$b, [
22676
22778
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
22677
22779
  isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_6$7, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
@@ -22699,7 +22801,7 @@ const _hoisted_3$k = {
22699
22801
  key: 1,
22700
22802
  class: "lupa-search-results-breadcrumb-text"
22701
22803
  };
22702
- const _hoisted_4$f = { key: 2 };
22804
+ const _hoisted_4$g = { key: 2 };
22703
22805
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
22704
22806
  __name: "SearchResultsBreadcrumbs",
22705
22807
  props: {
@@ -22740,7 +22842,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
22740
22842
  return handleNavigation(e2, (_a = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a : "");
22741
22843
  }
22742
22844
  }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$q)) : (openBlock(), createElementBlock("span", _hoisted_3$k, toDisplayString(getLabel(breadcrumb.label)), 1)),
22743
- index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$f, " / ")) : createCommentVNode("", true)
22845
+ index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$g, " / ")) : createCommentVNode("", true)
22744
22846
  ]);
22745
22847
  }), 128))
22746
22848
  ]);
@@ -22846,7 +22948,7 @@ const _hoisted_2$p = {
22846
22948
  class: "lupa-page-number-separator"
22847
22949
  };
22848
22950
  const _hoisted_3$j = ["onClick"];
22849
- const _hoisted_4$e = {
22951
+ const _hoisted_4$f = {
22850
22952
  key: 0,
22851
22953
  class: "lupa-page-number-separator"
22852
22954
  };
@@ -22952,7 +23054,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
22952
23054
  }, toDisplayString(page), 11, _hoisted_3$j);
22953
23055
  }), 128)),
22954
23056
  showLastPage.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
22955
- showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$e, "...")) : createCommentVNode("", true),
23057
+ showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$f, "...")) : createCommentVNode("", true),
22956
23058
  createBaseVNode("div", {
22957
23059
  class: "lupa-page-number lupa-page-number-last",
22958
23060
  onClick: _cache[2] || (_cache[2] = () => {
@@ -22977,7 +23079,7 @@ const _hoisted_1$u = {
22977
23079
  };
22978
23080
  const _hoisted_2$o = { id: "lupa-select" };
22979
23081
  const _hoisted_3$i = { class: "lupa-select-label" };
22980
- const _hoisted_4$d = ["aria-label"];
23082
+ const _hoisted_4$e = ["aria-label"];
22981
23083
  const _hoisted_5$a = ["value"];
22982
23084
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
22983
23085
  __name: "SearchResultsPageSize",
@@ -23024,7 +23126,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
23024
23126
  value: option
23025
23127
  }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$a);
23026
23128
  }), 128))
23027
- ], 40, _hoisted_4$d)
23129
+ ], 40, _hoisted_4$e)
23028
23130
  ])
23029
23131
  ]);
23030
23132
  };
@@ -23036,7 +23138,7 @@ const _hoisted_1$t = {
23036
23138
  };
23037
23139
  const _hoisted_2$n = { id: "lupa-select" };
23038
23140
  const _hoisted_3$h = { class: "lupa-select-label" };
23039
- const _hoisted_4$c = ["aria-label"];
23141
+ const _hoisted_4$d = ["aria-label"];
23040
23142
  const _hoisted_5$9 = ["value"];
23041
23143
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
23042
23144
  __name: "SearchResultsSort",
@@ -23104,7 +23206,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
23104
23206
  value: option.key
23105
23207
  }, toDisplayString(option.label), 9, _hoisted_5$9);
23106
23208
  }), 128))
23107
- ], 40, _hoisted_4$c), [
23209
+ ], 40, _hoisted_4$d), [
23108
23210
  [vModelSelect, selectedKey.value]
23109
23211
  ])
23110
23212
  ])
@@ -23118,7 +23220,7 @@ const _hoisted_2$m = {
23118
23220
  class: "lupa-toolbar-right-title"
23119
23221
  };
23120
23222
  const _hoisted_3$g = { key: 2 };
23121
- const _hoisted_4$b = { key: 4 };
23223
+ const _hoisted_4$c = { key: 4 };
23122
23224
  const _hoisted_5$8 = { key: 6 };
23123
23225
  const _hoisted_6$6 = { class: "lupa-toolbar-right" };
23124
23226
  const _hoisted_7$3 = {
@@ -23242,7 +23344,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
23242
23344
  label: searchSummaryLabel.value,
23243
23345
  clearable: unref(hasAnyFilter) && showFilterClear.value,
23244
23346
  onClear: handleClearAll
23245
- }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$b)),
23347
+ }, null, 8, ["label", "clearable"])) : (openBlock(), createElementBlock("div", _hoisted_4$c)),
23246
23348
  displayPageSelect.value ? (openBlock(), createBlock(_sfc_main$z, {
23247
23349
  key: 5,
23248
23350
  options: paginationOptions.value.pageSelect,
@@ -23291,7 +23393,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
23291
23393
  const _hoisted_1$r = ["title", "innerHTML"];
23292
23394
  const _hoisted_2$l = ["title"];
23293
23395
  const _hoisted_3$f = ["href", "innerHTML"];
23294
- const _hoisted_4$a = ["title"];
23396
+ const _hoisted_4$b = ["title"];
23295
23397
  const _hoisted_5$7 = {
23296
23398
  key: 0,
23297
23399
  class: "lupa-search-results-product-title-text"
@@ -23359,7 +23461,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
23359
23461
  class: "lupa-search-results-product-title-text lupa-title-link",
23360
23462
  onClick: handleNavigation
23361
23463
  }, toDisplayString(title.value), 9, _hoisted_6$5)) : createCommentVNode("", true)
23362
- ], 12, _hoisted_4$a));
23464
+ ], 12, _hoisted_4$b));
23363
23465
  };
23364
23466
  }
23365
23467
  });
@@ -23402,7 +23504,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
23402
23504
  const _hoisted_1$p = { id: "lupa-search-results-rating" };
23403
23505
  const _hoisted_2$k = { class: "lupa-ratings" };
23404
23506
  const _hoisted_3$e = { class: "lupa-ratings-base" };
23405
- const _hoisted_4$9 = ["innerHTML"];
23507
+ const _hoisted_4$a = ["innerHTML"];
23406
23508
  const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
23407
23509
  const _hoisted_6$4 = ["innerHTML"];
23408
23510
  const _hoisted_7$2 = ["href"];
@@ -23446,7 +23548,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
23446
23548
  key: index,
23447
23549
  innerHTML: star,
23448
23550
  class: "lupa-rating lupa-rating-not-highlighted"
23449
- }, null, 8, _hoisted_4$9);
23551
+ }, null, 8, _hoisted_4$a);
23450
23552
  }), 128))
23451
23553
  ]),
23452
23554
  createBaseVNode("div", _hoisted_5$6, [
@@ -23580,7 +23682,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
23580
23682
  const _hoisted_1$m = ["innerHTML"];
23581
23683
  const _hoisted_2$i = { key: 0 };
23582
23684
  const _hoisted_3$c = { key: 1 };
23583
- const _hoisted_4$8 = { class: "lupa-search-box-custom-label" };
23685
+ const _hoisted_4$9 = { class: "lupa-search-box-custom-label" };
23584
23686
  const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
23585
23687
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
23586
23688
  __name: "SearchResultsProductCustom",
@@ -23625,7 +23727,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
23625
23727
  class: className.value
23626
23728
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
23627
23729
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$i, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$c, [
23628
- createBaseVNode("div", _hoisted_4$8, toDisplayString(label.value), 1),
23730
+ createBaseVNode("div", _hoisted_4$9, toDisplayString(label.value), 1),
23629
23731
  createBaseVNode("div", _hoisted_5$5, toDisplayString(text.value), 1)
23630
23732
  ]))
23631
23733
  ], 16));
@@ -23671,7 +23773,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
23671
23773
  const _hoisted_1$k = { id: "lupa-search-results-rating" };
23672
23774
  const _hoisted_2$h = ["innerHTML"];
23673
23775
  const _hoisted_3$b = { class: "lupa-ratings" };
23674
- const _hoisted_4$7 = ["href"];
23776
+ const _hoisted_4$8 = ["href"];
23675
23777
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
23676
23778
  __name: "SearchResultsProductSingleStarRating",
23677
23779
  props: {
@@ -23709,7 +23811,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
23709
23811
  createBaseVNode("a", {
23710
23812
  href: ratingLink.value,
23711
23813
  class: "lupa-total-ratings"
23712
- }, toDisplayString(totalRatings.value), 9, _hoisted_4$7)
23814
+ }, toDisplayString(totalRatings.value), 9, _hoisted_4$8)
23713
23815
  ]);
23714
23816
  };
23715
23817
  }
@@ -24037,7 +24139,7 @@ const _hoisted_3$9 = {
24037
24139
  class: "lupa-similar-query-label",
24038
24140
  "data-cy": "lupa-similar-query-label"
24039
24141
  };
24040
- const _hoisted_4$6 = ["onClick"];
24142
+ const _hoisted_4$7 = ["onClick"];
24041
24143
  const _hoisted_5$4 = ["innerHTML"];
24042
24144
  const _hoisted_6$3 = { key: 0 };
24043
24145
  const _hoisted_7$1 = {
@@ -24090,7 +24192,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
24090
24192
  innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
24091
24193
  }, null, 8, _hoisted_5$4),
24092
24194
  similarQuery.count ? (openBlock(), createElementBlock("span", _hoisted_6$3, " (" + toDisplayString(similarQuery.count) + ")", 1)) : createCommentVNode("", true)
24093
- ], 8, _hoisted_4$6)
24195
+ ], 8, _hoisted_4$7)
24094
24196
  ]),
24095
24197
  createBaseVNode("div", _hoisted_7$1, [
24096
24198
  (openBlock(true), createElementBlock(Fragment, null, renderList(similarQuery.items, (product, index2) => {
@@ -24313,7 +24415,7 @@ const _hoisted_3$7 = {
24313
24415
  class: "lupa-empty-results",
24314
24416
  "data-cy": "lupa-no-results-in-page"
24315
24417
  };
24316
- const _hoisted_4$5 = {
24418
+ const _hoisted_4$6 = {
24317
24419
  key: 3,
24318
24420
  class: "lupa-empty-results",
24319
24421
  "data-cy": "lupa-no-results"
@@ -24505,7 +24607,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
24505
24607
  location: "bottom",
24506
24608
  sdkOptions: _ctx.options.options
24507
24609
  }, null, 8, ["options", "sdkOptions"])
24508
- ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
24610
+ ], 64)) : !unref(loading) && unref(currentQueryText) ? (openBlock(), createElementBlock("div", _hoisted_4$6, [
24509
24611
  createTextVNode(toDisplayString(_ctx.options.labels.emptyResults) + " ", 1),
24510
24612
  createBaseVNode("span", null, toDisplayString(unref(currentQueryText)), 1)
24511
24613
  ])) : createCommentVNode("", true),
@@ -24534,6 +24636,7 @@ const _hoisted_2$a = {
24534
24636
  class: "lupa-category-back"
24535
24637
  };
24536
24638
  const _hoisted_3$6 = ["href"];
24639
+ const _hoisted_4$5 = { class: "lupa-child-category-list" };
24537
24640
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
24538
24641
  __name: "CategoryTopFilters",
24539
24642
  props: {
@@ -24541,6 +24644,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
24541
24644
  },
24542
24645
  setup(__props) {
24543
24646
  const props = __props;
24647
+ const searchResultsStore = useSearchResultStore();
24648
+ const { relatedCategoryChildren } = storeToRefs(searchResultsStore);
24544
24649
  const hasBackButton = computed(() => {
24545
24650
  var _a, _b;
24546
24651
  return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.back) == null ? void 0 : _b.title);
@@ -24556,12 +24661,19 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
24556
24661
  const hasEventRouting = computed(() => {
24557
24662
  return props.options.routingBehavior === "event";
24558
24663
  });
24664
+ const categoryOptions = computed(() => {
24665
+ return props.options.categories;
24666
+ });
24559
24667
  const handleNavigationBack = (event) => {
24560
24668
  if (!backUrlLink.value) {
24561
24669
  return;
24562
24670
  }
24563
24671
  handleRoutingEvent(backUrlLink.value, event, hasEventRouting.value);
24564
24672
  };
24673
+ const getCategoryKey = (item) => {
24674
+ var _a, _b, _c, _d, _e, _f;
24675
+ 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 : ""]);
24676
+ };
24565
24677
  return (_ctx, _cache) => {
24566
24678
  return openBlock(), createElementBlock("div", {
24567
24679
  class: normalizeClass(["lupa-category-top-mobile-filters", { "lupa-has-back-button": hasBackButton.value }])
@@ -24574,6 +24686,15 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
24574
24686
  onClick: handleNavigationBack
24575
24687
  }, toDisplayString(backTitle.value), 9, _hoisted_3$6)
24576
24688
  ])) : createCommentVNode("", true),
24689
+ createBaseVNode("div", _hoisted_4$5, [
24690
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(relatedCategoryChildren), (child) => {
24691
+ return openBlock(), createBlock(_sfc_main$P, {
24692
+ key: getCategoryKey(child),
24693
+ item: child,
24694
+ options: categoryOptions.value
24695
+ }, null, 8, ["item", "options"]);
24696
+ }), 128))
24697
+ ]),
24577
24698
  createVNode(_sfc_main$w, {
24578
24699
  class: "lupa-toolbar-mobile",
24579
24700
  "pagination-location": "top",