@getlupa/vue 0.24.3 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12589,17 +12589,27 @@ const getPageCount = (total, limit) => {
12589
12589
  const isObject = (value) => {
12590
12590
  return value !== null && typeof value === "object" && !Array.isArray(value);
12591
12591
  };
12592
- const parseParam = (key, params) => {
12593
- const value = params.get(key);
12592
+ const decodeParam = (value) => {
12594
12593
  if (!value) {
12595
12594
  return void 0;
12596
12595
  }
12596
+ try {
12597
+ if (!/%[0-9A-Fa-f]{2}/.test(value)) {
12598
+ return value;
12599
+ }
12600
+ } catch (e2) {
12601
+ return value;
12602
+ }
12597
12603
  try {
12598
12604
  return decodeURIComponent(value);
12599
12605
  } catch (e2) {
12600
- return void 0;
12606
+ return value;
12601
12607
  }
12602
12608
  };
12609
+ const parseParam = (key, params) => {
12610
+ const value = params.get(key);
12611
+ return decodeParam(value != null ? value : void 0);
12612
+ };
12603
12613
  const parseRegularKeys = (regularKeys, searchParams, getQueryParamName) => {
12604
12614
  const params = /* @__PURE__ */ Object.create({});
12605
12615
  const keys = reverseKeyValue({
@@ -12617,7 +12627,7 @@ const parseRegularKeys = (regularKeys, searchParams, getQueryParamName) => {
12617
12627
  const parseFacetKey = (key, searchParams) => {
12618
12628
  var _a25, _b25, _c, _d;
12619
12629
  if (key.startsWith(FACET_PARAMS_TYPE.TERMS)) {
12620
- return (_b25 = (_a25 = searchParams.getAll(key)) == null ? void 0 : _a25.map((v) => decodeURIComponent(v))) != null ? _b25 : [];
12630
+ return (_b25 = (_a25 = searchParams.getAll(key)) == null ? void 0 : _a25.map((v) => decodeParam(v))) != null ? _b25 : [];
12621
12631
  }
12622
12632
  if (key.startsWith(FACET_PARAMS_TYPE.RANGE) || key.startsWith(FACET_PARAMS_TYPE.PARTIAL_RANGE)) {
12623
12633
  const range2 = searchParams.get(key);
@@ -12633,7 +12643,7 @@ const parseFacetKey = (key, searchParams) => {
12633
12643
  if (key.startsWith(FACET_PARAMS_TYPE.HIERARCHY)) {
12634
12644
  return {
12635
12645
  level: 0,
12636
- terms: (_d = (_c = searchParams.getAll(key)) == null ? void 0 : _c.map((v) => decodeURIComponent(v))) != null ? _d : []
12646
+ terms: (_d = (_c = searchParams.getAll(key)) == null ? void 0 : _c.map((v) => decodeParam(v))) != null ? _d : []
12637
12647
  };
12638
12648
  }
12639
12649
  return [];
@@ -12660,15 +12670,15 @@ const parseParams = (getQueryParamName, searchParams) => {
12660
12670
  }, parseRegularKeys(regularKeys, searchParams, getQueryParamName)), parseFacetKeys(facetKeys, searchParams));
12661
12671
  return r;
12662
12672
  };
12663
- const appendParam = (url, { name, value }, encode2 = true) => {
12673
+ const appendParam = (url, { name, value }) => {
12664
12674
  if (Array.isArray(value)) {
12665
12675
  appendArrayParams(url, { name, value });
12666
12676
  } else {
12667
- appendSingleParam(url, { name, value }, encode2);
12677
+ appendSingleParam(url, { name, value });
12668
12678
  }
12669
12679
  };
12670
- const appendSingleParam = (url, param, encode2 = true) => {
12671
- const valueToAppend = encode2 ? encodeParam(param.value) : param.value;
12680
+ const appendSingleParam = (url, param) => {
12681
+ const valueToAppend = param.value;
12672
12682
  if (url.searchParams.has(param.name)) {
12673
12683
  url.searchParams.set(param.name, valueToAppend);
12674
12684
  } else {
@@ -12677,7 +12687,7 @@ const appendSingleParam = (url, param, encode2 = true) => {
12677
12687
  };
12678
12688
  const appendArrayParams = (url, param) => {
12679
12689
  url.searchParams.delete(param.name);
12680
- param.value.forEach((v) => url.searchParams.append(param.name, encodeParam(v)));
12690
+ param.value.forEach((v) => url.searchParams.append(param.name, v));
12681
12691
  };
12682
12692
  const getRemovableParams = (url, getQueryParamName, paramsToRemove) => {
12683
12693
  if (paramsToRemove === "all") {
@@ -13037,13 +13047,12 @@ const useParamsStore = /* @__PURE__ */ defineStore("params", () => {
13037
13047
  const getPageUrlWithNewParams = ({
13038
13048
  params: newParams,
13039
13049
  paramsToRemove,
13040
- encode: encode2 = true,
13041
13050
  searchResultsLink: searchResultsLink2
13042
13051
  }) => {
13043
13052
  const url = getPageUrl(searchResultsLink2);
13044
13053
  paramsToRemove = getRemovableParams(url, optionsStore.getQueryParamName, paramsToRemove);
13045
13054
  removeParams(url, paramsToRemove);
13046
- newParams.forEach((p2) => appendParam(url, p2, encode2));
13055
+ newParams.forEach((p2) => appendParam(url, p2));
13047
13056
  return url.search;
13048
13057
  };
13049
13058
  const removeParameters = ({
@@ -13125,7 +13134,7 @@ const useParamsStore = /* @__PURE__ */ defineStore("params", () => {
13125
13134
  const routing = (_b25 = optionsStore.boxRoutingBehavior) != null ? _b25 : "direct-link";
13126
13135
  redirectToResultsPage(
13127
13136
  searchResultsLink.value,
13128
- encodeParam(searchText),
13137
+ searchText,
13129
13138
  optionsStore.getQueryParamName,
13130
13139
  facet,
13131
13140
  routing
@@ -13135,7 +13144,6 @@ const useParamsStore = /* @__PURE__ */ defineStore("params", () => {
13135
13144
  const appendParams = ({
13136
13145
  params: newParams,
13137
13146
  paramsToRemove,
13138
- encode: encode2 = true,
13139
13147
  save = true,
13140
13148
  searchResultsLink: searchResultsLink2
13141
13149
  }) => {
@@ -13145,7 +13153,7 @@ const useParamsStore = /* @__PURE__ */ defineStore("params", () => {
13145
13153
  const url = getPageUrl(searchResultsLink2);
13146
13154
  paramsToRemove = getRemovableParams(url, optionsStore.getQueryParamName, paramsToRemove);
13147
13155
  removeParams(url, paramsToRemove);
13148
- newParams.forEach((p2) => appendParam(url, p2, encode2));
13156
+ newParams.forEach((p2) => appendParam(url, p2));
13149
13157
  navigate(url);
13150
13158
  if (!save) {
13151
13159
  return;
@@ -13442,7 +13450,7 @@ const getApiUrl = (environment, customBaseUrl) => {
13442
13450
  }
13443
13451
  return Env[environment] || Env["production"];
13444
13452
  };
13445
- const _sfc_main$1G = /* @__PURE__ */ vue.defineComponent({
13453
+ const _sfc_main$1K = /* @__PURE__ */ vue.defineComponent({
13446
13454
  __name: "VoiceSearchProgressCircle",
13447
13455
  props: {
13448
13456
  isRecording: { type: Boolean },
@@ -13655,15 +13663,15 @@ function useVoiceRecorder(options) {
13655
13663
  closeSocket
13656
13664
  };
13657
13665
  }
13658
- const _hoisted_1$1o = {
13666
+ const _hoisted_1$1q = {
13659
13667
  key: 0,
13660
13668
  class: "lupa-dialog-overlay"
13661
13669
  };
13662
- const _hoisted_2$Z = { class: "lupa-dialog-content" };
13670
+ const _hoisted_2$_ = { class: "lupa-dialog-content" };
13663
13671
  const _hoisted_3$G = { class: "lupa-listening-text" };
13664
13672
  const _hoisted_4$v = { class: "lupa-mic-button-wrapper" };
13665
13673
  const _hoisted_5$l = ["aria-label"];
13666
- const _sfc_main$1F = /* @__PURE__ */ vue.defineComponent({
13674
+ const _sfc_main$1J = /* @__PURE__ */ vue.defineComponent({
13667
13675
  __name: "VoiceSearchDialog",
13668
13676
  props: {
13669
13677
  isOpen: { type: Boolean },
@@ -13768,12 +13776,12 @@ const _sfc_main$1F = /* @__PURE__ */ vue.defineComponent({
13768
13776
  return (_ctx, _cache) => {
13769
13777
  var _a25, _b25;
13770
13778
  return vue.openBlock(), vue.createElementBlock("div", null, [
13771
- props.isOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1o, [
13779
+ props.isOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1q, [
13772
13780
  vue.createElementVNode("button", {
13773
13781
  class: "lupa-dialog-box-close-button",
13774
13782
  onClick: _cache[0] || (_cache[0] = () => emit("close"))
13775
13783
  }),
13776
- vue.createElementVNode("div", _hoisted_2$Z, [
13784
+ vue.createElementVNode("div", _hoisted_2$_, [
13777
13785
  vue.createElementVNode("p", _hoisted_3$G, vue.toDisplayString(description.value), 1),
13778
13786
  vue.createElementVNode("div", _hoisted_4$v, [
13779
13787
  vue.createElementVNode("button", {
@@ -13782,7 +13790,7 @@ const _sfc_main$1F = /* @__PURE__ */ vue.defineComponent({
13782
13790
  "aria-controls": "voice-search-microphone",
13783
13791
  "aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
13784
13792
  }, null, 10, _hoisted_5$l),
13785
- vue.createVNode(_sfc_main$1G, {
13793
+ vue.createVNode(_sfc_main$1K, {
13786
13794
  ref_key: "voiceSearchProgressBar",
13787
13795
  ref: voiceSearchProgressBar,
13788
13796
  class: "lupa-progress-circle",
@@ -13797,8 +13805,8 @@ const _sfc_main$1F = /* @__PURE__ */ vue.defineComponent({
13797
13805
  };
13798
13806
  }
13799
13807
  });
13800
- const _hoisted_1$1n = { id: "lupa-search-box-input-container" };
13801
- const _hoisted_2$Y = { id: "lupa-search-box-input" };
13808
+ const _hoisted_1$1p = { id: "lupa-search-box-input-container" };
13809
+ const _hoisted_2$Z = { id: "lupa-search-box-input" };
13802
13810
  const _hoisted_3$F = ["value"];
13803
13811
  const _hoisted_4$u = ["aria-label", "placeholder"];
13804
13812
  const _hoisted_5$k = {
@@ -13807,7 +13815,7 @@ const _hoisted_5$k = {
13807
13815
  };
13808
13816
  const _hoisted_6$7 = { key: 2 };
13809
13817
  const _hoisted_7$5 = ["aria-label"];
13810
- const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
13818
+ const _sfc_main$1I = /* @__PURE__ */ vue.defineComponent({
13811
13819
  __name: "SearchBoxInput",
13812
13820
  props: {
13813
13821
  options: {},
@@ -13943,7 +13951,7 @@ const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
13943
13951
  };
13944
13952
  __expose({ focus });
13945
13953
  return (_ctx, _cache) => {
13946
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1n, [
13954
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1p, [
13947
13955
  _ctx.options.showClearButton && !isClearButtonAtEndOfInput.value ? (vue.openBlock(), vue.createElementBlock("div", {
13948
13956
  key: 0,
13949
13957
  class: vue.normalizeClass(["lupa-input-clear", [
@@ -13952,7 +13960,7 @@ const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
13952
13960
  ]]),
13953
13961
  onClick: clear
13954
13962
  }, null, 2)) : vue.createCommentVNode("", true),
13955
- vue.createElementVNode("div", _hoisted_2$Y, [
13963
+ vue.createElementVNode("div", _hoisted_2$Z, [
13956
13964
  vue.createElementVNode("input", {
13957
13965
  class: "lupa-hint",
13958
13966
  "aria-hidden": "true",
@@ -14006,7 +14014,7 @@ const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
14006
14014
  "aria-label": voiceSearchAriaLabel.value
14007
14015
  }, null, 8, _hoisted_7$5)
14008
14016
  ])) : vue.createCommentVNode("", true),
14009
- isVoiceSearchEnabled.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1F, {
14017
+ isVoiceSearchEnabled.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1J, {
14010
14018
  key: 3,
14011
14019
  ref_key: "voiceDialogOverlay",
14012
14020
  ref: voiceDialogOverlay,
@@ -14020,7 +14028,7 @@ const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
14020
14028
  };
14021
14029
  }
14022
14030
  });
14023
- const _sfc_main$1D = /* @__PURE__ */ vue.defineComponent({
14031
+ const _sfc_main$1H = /* @__PURE__ */ vue.defineComponent({
14024
14032
  __name: "SearchBoxMoreResults",
14025
14033
  props: {
14026
14034
  labels: {},
@@ -14058,9 +14066,9 @@ const _sfc_main$1D = /* @__PURE__ */ vue.defineComponent({
14058
14066
  };
14059
14067
  }
14060
14068
  });
14061
- const _hoisted_1$1m = { class: "lupa-search-box-history-item" };
14062
- const _hoisted_2$X = { class: "lupa-search-box-history-item-content" };
14063
- const _sfc_main$1C = /* @__PURE__ */ vue.defineComponent({
14069
+ const _hoisted_1$1o = { class: "lupa-search-box-history-item" };
14070
+ const _hoisted_2$Y = { class: "lupa-search-box-history-item-content" };
14071
+ const _sfc_main$1G = /* @__PURE__ */ vue.defineComponent({
14064
14072
  __name: "SearchBoxHistoryItem",
14065
14073
  props: {
14066
14074
  item: {},
@@ -14077,8 +14085,8 @@ const _sfc_main$1C = /* @__PURE__ */ vue.defineComponent({
14077
14085
  emit("click", { query: props.item });
14078
14086
  };
14079
14087
  return (_ctx, _cache) => {
14080
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1m, [
14081
- vue.createElementVNode("div", _hoisted_2$X, [
14088
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1o, [
14089
+ vue.createElementVNode("div", _hoisted_2$Y, [
14082
14090
  vue.createElementVNode("div", {
14083
14091
  class: vue.normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
14084
14092
  onClick: click2
@@ -14092,11 +14100,11 @@ const _sfc_main$1C = /* @__PURE__ */ vue.defineComponent({
14092
14100
  };
14093
14101
  }
14094
14102
  });
14095
- const _hoisted_1$1l = {
14103
+ const _hoisted_1$1n = {
14096
14104
  key: 0,
14097
14105
  class: "lupa-search-box-history-panel"
14098
14106
  };
14099
- const _sfc_main$1B = /* @__PURE__ */ vue.defineComponent({
14107
+ const _sfc_main$1F = /* @__PURE__ */ vue.defineComponent({
14100
14108
  __name: "SearchBoxHistoryPanel",
14101
14109
  props: {
14102
14110
  options: {}
@@ -14147,9 +14155,9 @@ const _sfc_main$1B = /* @__PURE__ */ vue.defineComponent({
14147
14155
  }
14148
14156
  };
14149
14157
  return (_ctx, _cache) => {
14150
- return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1l, [
14158
+ return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1n, [
14151
14159
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(limitedHistory.value, (item, index) => {
14152
- return vue.openBlock(), vue.createBlock(_sfc_main$1C, {
14160
+ return vue.openBlock(), vue.createBlock(_sfc_main$1G, {
14153
14161
  key: item,
14154
14162
  item,
14155
14163
  highlighted: index === highlightIndex.value,
@@ -14165,12 +14173,12 @@ const _sfc_main$1B = /* @__PURE__ */ vue.defineComponent({
14165
14173
  };
14166
14174
  }
14167
14175
  });
14168
- const _hoisted_1$1k = ["innerHTML"];
14169
- const _hoisted_2$W = {
14176
+ const _hoisted_1$1m = ["innerHTML"];
14177
+ const _hoisted_2$X = {
14170
14178
  key: 1,
14171
14179
  class: "lupa-search-box-no-results"
14172
14180
  };
14173
- const _sfc_main$1A = /* @__PURE__ */ vue.defineComponent({
14181
+ const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
14174
14182
  __name: "SearchBoxNoResults",
14175
14183
  props: {
14176
14184
  options: {}
@@ -14189,7 +14197,7 @@ const _sfc_main$1A = /* @__PURE__ */ vue.defineComponent({
14189
14197
  key: 0,
14190
14198
  class: "lupa-search-box-no-results",
14191
14199
  innerHTML: customHtml.value
14192
- }, null, 8, _hoisted_1$1k)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$W, vue.toDisplayString((_a25 = labels.value) == null ? void 0 : _a25.noResults), 1));
14200
+ }, null, 8, _hoisted_1$1m)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$X, vue.toDisplayString((_a25 = labels.value) == null ? void 0 : _a25.noResults), 1));
14193
14201
  };
14194
14202
  }
14195
14203
  });
@@ -14221,8 +14229,8 @@ const generateGridTemplate = (elements) => {
14221
14229
  }
14222
14230
  return gridTemplate.join(" ");
14223
14231
  };
14224
- const _hoisted_1$1j = ["innerHTML"];
14225
- const _hoisted_2$V = {
14232
+ const _hoisted_1$1l = ["innerHTML"];
14233
+ const _hoisted_2$W = {
14226
14234
  key: 1,
14227
14235
  "data-cy": "lupa-suggestion-value",
14228
14236
  class: "lupa-suggestion-value"
@@ -14240,7 +14248,7 @@ const _hoisted_5$j = {
14240
14248
  class: "lupa-suggestion-facet-value",
14241
14249
  "data-cy": "lupa-suggestion-facet-value"
14242
14250
  };
14243
- const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
14251
+ const _sfc_main$1D = /* @__PURE__ */ vue.defineComponent({
14244
14252
  __name: "SearchBoxSuggestion",
14245
14253
  props: {
14246
14254
  suggestion: {},
@@ -14277,7 +14285,7 @@ const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
14277
14285
  class: "lupa-suggestion-value",
14278
14286
  "data-cy": "lupa-suggestion-value",
14279
14287
  innerHTML: _ctx.suggestion.displayHighlight
14280
- }, null, 8, _hoisted_1$1j)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$V, vue.toDisplayString(_ctx.suggestion.display), 1)),
14288
+ }, null, 8, _hoisted_1$1l)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$W, vue.toDisplayString(_ctx.suggestion.display), 1)),
14281
14289
  _ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$E, [
14282
14290
  vue.createElementVNode("span", _hoisted_4$t, vue.toDisplayString(facetLabel.value), 1),
14283
14291
  vue.createElementVNode("span", _hoisted_5$j, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
@@ -14286,11 +14294,11 @@ const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
14286
14294
  };
14287
14295
  }
14288
14296
  });
14289
- const _hoisted_1$1i = {
14297
+ const _hoisted_1$1k = {
14290
14298
  id: "lupa-search-box-suggestions",
14291
14299
  "data-cy": "lupa-search-box-suggestions"
14292
14300
  };
14293
- const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
14301
+ const _sfc_main$1C = /* @__PURE__ */ vue.defineComponent({
14294
14302
  __name: "SearchBoxSuggestions",
14295
14303
  props: {
14296
14304
  items: {},
@@ -14357,9 +14365,9 @@ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
14357
14365
  });
14358
14366
  });
14359
14367
  return (_ctx, _cache) => {
14360
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1i, [
14368
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1k, [
14361
14369
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items.value, (item, index) => {
14362
- return vue.openBlock(), vue.createBlock(_sfc_main$1z, {
14370
+ return vue.openBlock(), vue.createBlock(_sfc_main$1D, {
14363
14371
  key: getSuggestionKey(item),
14364
14372
  class: vue.normalizeClass([
14365
14373
  "lupa-suggestion",
@@ -14391,7 +14399,7 @@ const debounce = (func, timeout) => {
14391
14399
  }, timeout);
14392
14400
  };
14393
14401
  };
14394
- const _sfc_main$1x = /* @__PURE__ */ vue.defineComponent({
14402
+ const _sfc_main$1B = /* @__PURE__ */ vue.defineComponent({
14395
14403
  __name: "SearchBoxSuggestionsWrapper",
14396
14404
  props: {
14397
14405
  panel: {},
@@ -14434,7 +14442,7 @@ const _sfc_main$1x = /* @__PURE__ */ vue.defineComponent({
14434
14442
  const getSuggestionsDebounced = debounce(getSuggestions, props.debounce);
14435
14443
  vue.watch(() => props.panel.limit, getSuggestionsDebounced);
14436
14444
  return (_ctx, _cache) => {
14437
- return vue.openBlock(), vue.createBlock(_sfc_main$1y, {
14445
+ return vue.openBlock(), vue.createBlock(_sfc_main$1C, {
14438
14446
  items: searchResult.value,
14439
14447
  highlight: _ctx.panel.highlight,
14440
14448
  queryKey: _ctx.panel.queryKey,
@@ -23777,9 +23785,9 @@ const replaceImageWithPlaceholder = (e2, placeholder) => {
23777
23785
  targetImage.src = placeholder;
23778
23786
  }
23779
23787
  };
23780
- const _hoisted_1$1h = ["src"];
23781
- const _hoisted_2$U = ["src"];
23782
- const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
23788
+ const _hoisted_1$1j = ["src"];
23789
+ const _hoisted_2$V = ["src"];
23790
+ const _sfc_main$1A = /* @__PURE__ */ vue.defineComponent({
23783
23791
  __name: "ProductImage",
23784
23792
  props: {
23785
23793
  item: {},
@@ -23921,7 +23929,7 @@ const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
23921
23929
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
23922
23930
  onError: replaceWithPlaceholder,
23923
23931
  key: finalUrl.value
23924
- }), null, 16, _hoisted_1$1h))
23932
+ }), null, 16, _hoisted_1$1j))
23925
23933
  ]),
23926
23934
  _: 1
23927
23935
  })) : (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
@@ -23929,12 +23937,12 @@ const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
23929
23937
  class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
23930
23938
  style: styleOverride.value,
23931
23939
  src: finalMainImageUrl.value
23932
- }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$U))
23940
+ }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$V))
23933
23941
  ], 38);
23934
23942
  };
23935
23943
  }
23936
23944
  });
23937
- const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
23945
+ const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
23938
23946
  __name: "SearchBoxProductImage",
23939
23947
  props: {
23940
23948
  item: {},
@@ -23942,7 +23950,7 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
23942
23950
  },
23943
23951
  setup(__props) {
23944
23952
  return (_ctx, _cache) => {
23945
- return vue.openBlock(), vue.createBlock(_sfc_main$1w, {
23953
+ return vue.openBlock(), vue.createBlock(_sfc_main$1A, {
23946
23954
  item: _ctx.item,
23947
23955
  options: _ctx.options,
23948
23956
  "wrapper-class": "lupa-search-box-image-wrapper",
@@ -23951,12 +23959,12 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
23951
23959
  };
23952
23960
  }
23953
23961
  });
23954
- const _hoisted_1$1g = ["innerHTML"];
23955
- const _hoisted_2$T = {
23962
+ const _hoisted_1$1i = ["innerHTML"];
23963
+ const _hoisted_2$U = {
23956
23964
  key: 1,
23957
23965
  class: "lupa-search-box-product-title"
23958
23966
  };
23959
- const _sfc_main$1u = /* @__PURE__ */ vue.defineComponent({
23967
+ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
23960
23968
  __name: "SearchBoxProductTitle",
23961
23969
  props: {
23962
23970
  item: {},
@@ -23979,18 +23987,18 @@ const _sfc_main$1u = /* @__PURE__ */ vue.defineComponent({
23979
23987
  key: 0,
23980
23988
  class: "lupa-search-box-product-title",
23981
23989
  innerHTML: sanitizedTitle.value
23982
- }, null, 8, _hoisted_1$1g)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$T, [
23990
+ }, null, 8, _hoisted_1$1i)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$U, [
23983
23991
  vue.createElementVNode("strong", null, vue.toDisplayString(title.value), 1)
23984
23992
  ]));
23985
23993
  };
23986
23994
  }
23987
23995
  });
23988
- const _hoisted_1$1f = ["innerHTML"];
23989
- const _hoisted_2$S = {
23996
+ const _hoisted_1$1h = ["innerHTML"];
23997
+ const _hoisted_2$T = {
23990
23998
  key: 1,
23991
23999
  class: "lupa-search-box-product-description"
23992
24000
  };
23993
- const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
24001
+ const _sfc_main$1x = /* @__PURE__ */ vue.defineComponent({
23994
24002
  __name: "SearchBoxProductDescription",
23995
24003
  props: {
23996
24004
  item: {},
@@ -24013,12 +24021,12 @@ const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
24013
24021
  key: 0,
24014
24022
  class: "lupa-search-box-product-description",
24015
24023
  innerHTML: sanitizedDescription.value
24016
- }, null, 8, _hoisted_1$1f)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$S, vue.toDisplayString(description.value), 1));
24024
+ }, null, 8, _hoisted_1$1h)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$T, vue.toDisplayString(description.value), 1));
24017
24025
  };
24018
24026
  }
24019
24027
  });
24020
- const _hoisted_1$1e = { class: "lupa-search-box-product-price" };
24021
- const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
24028
+ const _hoisted_1$1g = { class: "lupa-search-box-product-price" };
24029
+ const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
24022
24030
  __name: "SearchBoxProductPrice",
24023
24031
  props: {
24024
24032
  item: {},
@@ -24040,13 +24048,13 @@ const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
24040
24048
  );
24041
24049
  });
24042
24050
  return (_ctx, _cache) => {
24043
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1e, [
24051
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1g, [
24044
24052
  vue.createElementVNode("strong", null, vue.toDisplayString(price.value), 1)
24045
24053
  ]);
24046
24054
  };
24047
24055
  }
24048
24056
  });
24049
- const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
24057
+ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
24050
24058
  __name: "SearchBoxProductRegularPrice",
24051
24059
  props: {
24052
24060
  item: {},
@@ -24077,12 +24085,12 @@ const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
24077
24085
  };
24078
24086
  }
24079
24087
  });
24080
- const _hoisted_1$1d = ["innerHTML"];
24081
- const _hoisted_2$R = { key: 0 };
24088
+ const _hoisted_1$1f = ["innerHTML"];
24089
+ const _hoisted_2$S = { key: 0 };
24082
24090
  const _hoisted_3$D = { key: 1 };
24083
24091
  const _hoisted_4$s = { class: "lupa-search-box-custom-label" };
24084
24092
  const _hoisted_5$i = { class: "lupa-search-box-custom-text" };
24085
- const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24093
+ const _sfc_main$1u = /* @__PURE__ */ vue.defineComponent({
24086
24094
  __name: "SearchBoxProductCustom",
24087
24095
  props: {
24088
24096
  item: {},
@@ -24108,11 +24116,11 @@ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24108
24116
  key: 0,
24109
24117
  class: [className.value, "lupa-search-box-product-custom"],
24110
24118
  innerHTML: text.value
24111
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1d)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
24119
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1f)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
24112
24120
  key: 1,
24113
24121
  class: [className.value, "lupa-search-box-product-custom"]
24114
24122
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
24115
- !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$R, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$D, [
24123
+ !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$S, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$D, [
24116
24124
  vue.createElementVNode("div", _hoisted_4$s, vue.toDisplayString(label.value), 1),
24117
24125
  vue.createElementVNode("div", _hoisted_5$i, vue.toDisplayString(text.value), 1)
24118
24126
  ]))
@@ -24120,8 +24128,8 @@ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24120
24128
  };
24121
24129
  }
24122
24130
  });
24123
- const _hoisted_1$1c = ["innerHTML"];
24124
- const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
24131
+ const _hoisted_1$1e = ["innerHTML"];
24132
+ const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
24125
24133
  __name: "SearchBoxProductCustomHtml",
24126
24134
  props: {
24127
24135
  item: {},
@@ -24146,7 +24154,7 @@ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
24146
24154
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
24147
24155
  class: className.value,
24148
24156
  innerHTML: text.value
24149
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1c);
24157
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$1e);
24150
24158
  };
24151
24159
  }
24152
24160
  });
@@ -24485,6 +24493,7 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24485
24493
  relatedQueriesApiEnabled,
24486
24494
  lastResultsSource,
24487
24495
  relatedQueryFacetKeys,
24496
+ loadingRelatedQueries,
24488
24497
  setSidebarState,
24489
24498
  queryFacet,
24490
24499
  setLastRequestId,
@@ -24501,12 +24510,12 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24501
24510
  setRelatedQueriesApiEnabled
24502
24511
  };
24503
24512
  });
24504
- const _hoisted_1$1b = { class: "lupa-search-box-add-to-cart-wrapper" };
24505
- const _hoisted_2$Q = { class: "lupa-search-box-product-addtocart" };
24513
+ const _hoisted_1$1d = { class: "lupa-search-box-add-to-cart-wrapper" };
24514
+ const _hoisted_2$R = { class: "lupa-search-box-product-addtocart" };
24506
24515
  const _hoisted_3$C = ["disabled"];
24507
24516
  const _hoisted_4$r = ["href"];
24508
24517
  const _hoisted_5$h = ["disabled"];
24509
- const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24518
+ const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
24510
24519
  __name: "SearchBoxProductAddToCart",
24511
24520
  props: {
24512
24521
  item: {},
@@ -24552,8 +24561,8 @@ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24552
24561
  return Boolean(props.link && props.options.link);
24553
24562
  });
24554
24563
  return (_ctx, _cache) => {
24555
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1b, [
24556
- vue.createElementVNode("div", _hoisted_2$Q, [
24564
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1d, [
24565
+ vue.createElementVNode("div", _hoisted_2$R, [
24557
24566
  hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
24558
24567
  key: 0,
24559
24568
  class: addToCartButtonClass.value,
@@ -24574,23 +24583,23 @@ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24574
24583
  };
24575
24584
  }
24576
24585
  });
24577
- const _hoisted_1$1a = {
24586
+ const _hoisted_1$1c = {
24578
24587
  key: 1,
24579
24588
  class: "lupa-search-box-element-badge-wrapper"
24580
24589
  };
24581
24590
  const __default__$4 = {
24582
24591
  components: {
24583
- SearchBoxProductImage: _sfc_main$1v,
24584
- SearchBoxProductTitle: _sfc_main$1u,
24585
- SearchBoxProductDescription: _sfc_main$1t,
24586
- SearchBoxProductPrice: _sfc_main$1s,
24587
- SearchBoxProductRegularPrice: _sfc_main$1r,
24588
- SearchBoxProductCustom: _sfc_main$1q,
24589
- SearchBoxProductCustomHtml: _sfc_main$1p,
24590
- SearchBoxProductAddToCart: _sfc_main$1o
24592
+ SearchBoxProductImage: _sfc_main$1z,
24593
+ SearchBoxProductTitle: _sfc_main$1y,
24594
+ SearchBoxProductDescription: _sfc_main$1x,
24595
+ SearchBoxProductPrice: _sfc_main$1w,
24596
+ SearchBoxProductRegularPrice: _sfc_main$1v,
24597
+ SearchBoxProductCustom: _sfc_main$1u,
24598
+ SearchBoxProductCustomHtml: _sfc_main$1t,
24599
+ SearchBoxProductAddToCart: _sfc_main$1s
24591
24600
  }
24592
24601
  };
24593
- const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
24602
+ const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
24594
24603
  __name: "SearchBoxProductElement",
24595
24604
  props: {
24596
24605
  item: {},
@@ -24662,7 +24671,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
24662
24671
  "dynamic-attributes": dynamicAttributes.value,
24663
24672
  link: _ctx.link
24664
24673
  }, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes", "link"])) : vue.createCommentVNode("", true)
24665
- ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1a, [
24674
+ ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1c, [
24666
24675
  displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
24667
24676
  key: 0,
24668
24677
  item: enhancedItem.value,
@@ -24677,14 +24686,14 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
24677
24686
  };
24678
24687
  }
24679
24688
  }));
24680
- const _hoisted_1$19 = { class: "lupa-badge-title" };
24681
- const _hoisted_2$P = ["src"];
24689
+ const _hoisted_1$1b = { class: "lupa-badge-title" };
24690
+ const _hoisted_2$Q = ["src"];
24682
24691
  const _hoisted_3$B = { key: 1 };
24683
24692
  const _hoisted_4$q = {
24684
24693
  key: 0,
24685
24694
  class: "lupa-badge-full-text"
24686
24695
  };
24687
- const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
24696
+ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24688
24697
  __name: "SearchResultGeneratedBadge",
24689
24698
  props: {
24690
24699
  options: {},
@@ -24717,11 +24726,11 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
24717
24726
  class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
24718
24727
  style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
24719
24728
  }, [
24720
- vue.createElementVNode("span", _hoisted_1$19, [
24729
+ vue.createElementVNode("span", _hoisted_1$1b, [
24721
24730
  image.value ? (vue.openBlock(), vue.createElementBlock("img", {
24722
24731
  key: 0,
24723
24732
  src: image.value
24724
- }, null, 8, _hoisted_2$P)) : vue.createCommentVNode("", true),
24733
+ }, null, 8, _hoisted_2$Q)) : vue.createCommentVNode("", true),
24725
24734
  hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$B, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
24726
24735
  ]),
24727
24736
  hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$q, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
@@ -24729,8 +24738,8 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
24729
24738
  };
24730
24739
  }
24731
24740
  });
24732
- const _hoisted_1$18 = { class: "lupa-generated-badges" };
24733
- const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24741
+ const _hoisted_1$1a = { class: "lupa-generated-badges" };
24742
+ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
24734
24743
  __name: "SearchResultGeneratedBadges",
24735
24744
  props: {
24736
24745
  options: {}
@@ -24756,9 +24765,9 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24756
24765
  })).filter((b) => Boolean(b.id));
24757
24766
  });
24758
24767
  return (_ctx, _cache) => {
24759
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
24768
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1a, [
24760
24769
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
24761
- return vue.openBlock(), vue.createBlock(_sfc_main$1m, {
24770
+ return vue.openBlock(), vue.createBlock(_sfc_main$1q, {
24762
24771
  key: badge.id,
24763
24772
  badge,
24764
24773
  options: _ctx.options
@@ -24768,8 +24777,8 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24768
24777
  };
24769
24778
  }
24770
24779
  });
24771
- const _hoisted_1$17 = ["innerHTML"];
24772
- const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
24780
+ const _hoisted_1$19 = ["innerHTML"];
24781
+ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24773
24782
  __name: "CustomBadge",
24774
24783
  props: {
24775
24784
  badge: {}
@@ -24790,12 +24799,12 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
24790
24799
  return vue.openBlock(), vue.createElementBlock("div", {
24791
24800
  class: vue.normalizeClass(className.value),
24792
24801
  innerHTML: text.value
24793
- }, null, 10, _hoisted_1$17);
24802
+ }, null, 10, _hoisted_1$19);
24794
24803
  };
24795
24804
  }
24796
24805
  });
24797
- const _hoisted_1$16 = { class: "lupa-text-badges" };
24798
- const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
24806
+ const _hoisted_1$18 = { class: "lupa-text-badges" };
24807
+ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
24799
24808
  __name: "TextBadge",
24800
24809
  props: {
24801
24810
  badge: {}
@@ -24809,7 +24818,7 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
24809
24818
  return badges.value.slice(0, props.badge.maxItems);
24810
24819
  });
24811
24820
  return (_ctx, _cache) => {
24812
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$16, [
24821
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
24813
24822
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
24814
24823
  return vue.openBlock(), vue.createElementBlock("div", {
24815
24824
  class: "lupa-badge lupa-text-badge",
@@ -24820,9 +24829,9 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
24820
24829
  };
24821
24830
  }
24822
24831
  });
24823
- const _hoisted_1$15 = { class: "lupa-image-badges" };
24824
- const _hoisted_2$O = ["src"];
24825
- const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
24832
+ const _hoisted_1$17 = { class: "lupa-image-badges" };
24833
+ const _hoisted_2$P = ["src"];
24834
+ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
24826
24835
  __name: "ImageBadge",
24827
24836
  props: {
24828
24837
  badge: {}
@@ -24842,7 +24851,7 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
24842
24851
  return `${props.badge.rootImageUrl}${src}`;
24843
24852
  };
24844
24853
  return (_ctx, _cache) => {
24845
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, [
24854
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$17, [
24846
24855
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
24847
24856
  return vue.openBlock(), vue.createElementBlock("div", {
24848
24857
  class: "lupa-badge lupa-image-badge",
@@ -24850,14 +24859,14 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
24850
24859
  }, [
24851
24860
  vue.createElementVNode("img", {
24852
24861
  src: getImageUrl(item)
24853
- }, null, 8, _hoisted_2$O)
24862
+ }, null, 8, _hoisted_2$P)
24854
24863
  ]);
24855
24864
  }), 128))
24856
24865
  ]);
24857
24866
  };
24858
24867
  }
24859
24868
  });
24860
- const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
24869
+ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24861
24870
  __name: "DiscountBadge",
24862
24871
  props: {
24863
24872
  badge: {}
@@ -24919,16 +24928,16 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
24919
24928
  };
24920
24929
  }
24921
24930
  });
24922
- const _hoisted_1$14 = { id: "lupa-search-results-badges" };
24931
+ const _hoisted_1$16 = { id: "lupa-search-results-badges" };
24923
24932
  const __default__$3 = {
24924
24933
  components: {
24925
- CustomBadge: _sfc_main$1k,
24926
- TextBadge: _sfc_main$1j,
24927
- ImageBadge: _sfc_main$1i,
24928
- DiscountBadge: _sfc_main$1h
24934
+ CustomBadge: _sfc_main$1o,
24935
+ TextBadge: _sfc_main$1n,
24936
+ ImageBadge: _sfc_main$1m,
24937
+ DiscountBadge: _sfc_main$1l
24929
24938
  }
24930
24939
  };
24931
- const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
24940
+ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
24932
24941
  __name: "SearchResultsBadgeWrapper",
24933
24942
  props: {
24934
24943
  position: {},
@@ -24991,7 +25000,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
24991
25000
  }
24992
25001
  };
24993
25002
  return (_ctx, _cache) => {
24994
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
25003
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$16, [
24995
25004
  vue.createElementVNode("div", {
24996
25005
  id: "lupa-badges",
24997
25006
  class: vue.normalizeClass(anchorPosition.value)
@@ -25002,7 +25011,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25002
25011
  badge
25003
25012
  }, null, 8, ["badge"]);
25004
25013
  }), 128)),
25005
- positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$1l, {
25014
+ positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$1p, {
25006
25015
  key: 0,
25007
25016
  options: _ctx.options
25008
25017
  }, null, 8, ["options"])) : vue.createCommentVNode("", true)
@@ -25011,13 +25020,13 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25011
25020
  };
25012
25021
  }
25013
25022
  }));
25014
- const _hoisted_1$13 = ["href"];
25015
- const _hoisted_2$N = { class: "lupa-search-box-product-details-section" };
25023
+ const _hoisted_1$15 = ["href"];
25024
+ const _hoisted_2$O = { class: "lupa-search-box-product-details-section" };
25016
25025
  const _hoisted_3$A = {
25017
25026
  key: 0,
25018
25027
  class: "lupa-search-box-product-add-to-cart-section"
25019
25028
  };
25020
- const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25029
+ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
25021
25030
  __name: "SearchBoxProduct",
25022
25031
  props: {
25023
25032
  item: {},
@@ -25123,7 +25132,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25123
25132
  style: vue.normalizeStyle(imageStyleOverride.value)
25124
25133
  }, [
25125
25134
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
25126
- return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
25135
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
25127
25136
  class: "lupa-search-box-product-element",
25128
25137
  key: element.key,
25129
25138
  item: _ctx.item,
@@ -25133,10 +25142,10 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25133
25142
  }, null, 8, ["item", "element", "labels", "link"]);
25134
25143
  }), 128))
25135
25144
  ], 4),
25136
- vue.createElementVNode("div", _hoisted_2$N, [
25145
+ vue.createElementVNode("div", _hoisted_2$O, [
25137
25146
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
25138
25147
  var _a25;
25139
- return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
25148
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
25140
25149
  class: "lupa-search-box-product-element",
25141
25150
  key: element.key,
25142
25151
  item: _ctx.item,
@@ -25147,7 +25156,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25147
25156
  ((_a25 = badgeOptions.value) == null ? void 0 : _a25.anchorElementKey) === element.key ? {
25148
25157
  name: "badges",
25149
25158
  fn: vue.withCtx(() => [
25150
- vue.createVNode(_sfc_main$1g, {
25159
+ vue.createVNode(_sfc_main$1k, {
25151
25160
  options: badgeOptions.value,
25152
25161
  position: "card"
25153
25162
  }, null, 8, ["options"])
@@ -25163,7 +25172,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25163
25172
  class: vue.normalizeClass(`lupa-search-box-group-${group}`)
25164
25173
  }, [
25165
25174
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
25166
- return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
25175
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
25167
25176
  class: "lupa-search-box-product-element",
25168
25177
  key: element.key,
25169
25178
  item: _ctx.item,
@@ -25176,7 +25185,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25176
25185
  ], 2);
25177
25186
  }), 128)),
25178
25187
  addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
25179
- vue.createVNode(_sfc_main$1n, {
25188
+ vue.createVNode(_sfc_main$1r, {
25180
25189
  class: "lupa-search-box-product-element",
25181
25190
  item: _ctx.item,
25182
25191
  element: addToCartElement.value,
@@ -25185,7 +25194,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25185
25194
  isInStock: isInStock.value
25186
25195
  }, null, 8, ["item", "element", "labels", "link", "isInStock"])
25187
25196
  ])) : vue.createCommentVNode("", true)
25188
- ], 16, _hoisted_1$13);
25197
+ ], 16, _hoisted_1$15);
25189
25198
  };
25190
25199
  }
25191
25200
  });
@@ -25257,8 +25266,8 @@ const useTrackingStore = /* @__PURE__ */ defineStore("tracking", () => {
25257
25266
  };
25258
25267
  return { trackSearch, trackResults, trackEvent, trackDelayedEvent };
25259
25268
  });
25260
- const _hoisted_1$12 = ["innerHTML"];
25261
- const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25269
+ const _hoisted_1$14 = ["innerHTML"];
25270
+ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
25262
25271
  __name: "SearchBoxProducts",
25263
25272
  props: {
25264
25273
  items: {},
@@ -25369,7 +25378,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25369
25378
  itemClicked: handleProductClick
25370
25379
  });
25371
25380
  }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(displayItems.value, (item, index) => {
25372
- return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
25381
+ return vue.openBlock(), vue.createBlock(_sfc_main$1j, {
25373
25382
  key: index,
25374
25383
  item,
25375
25384
  panelOptions: _ctx.panelOptions,
@@ -25382,7 +25391,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25382
25391
  hasResults.value && ((_a25 = _ctx.panelOptions) == null ? void 0 : _a25.appendCustomHtml) && (showAll.value || !showAllItemsToggleButton.value) ? (vue.openBlock(), vue.createElementBlock("div", {
25383
25392
  key: 2,
25384
25393
  innerHTML: _ctx.panelOptions.appendCustomHtml
25385
- }, null, 8, _hoisted_1$12)) : vue.createCommentVNode("", true),
25394
+ }, null, 8, _hoisted_1$14)) : vue.createCommentVNode("", true),
25386
25395
  showAllItemsToggleButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
25387
25396
  key: 3,
25388
25397
  class: "lupa-search-box-expand",
@@ -25393,9 +25402,9 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25393
25402
  };
25394
25403
  }
25395
25404
  });
25396
- const _hoisted_1$11 = { class: "lupa-search-box-documents-go-to-results-wrapper" };
25397
- const _hoisted_2$M = { key: 0 };
25398
- const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
25405
+ const _hoisted_1$13 = { class: "lupa-search-box-documents-go-to-results-wrapper" };
25406
+ const _hoisted_2$N = { key: 0 };
25407
+ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
25399
25408
  __name: "SearchBoxProductsGoToResultsButton",
25400
25409
  props: {
25401
25410
  options: {},
@@ -25426,13 +25435,13 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
25426
25435
  emit("goToResults");
25427
25436
  };
25428
25437
  return (_ctx, _cache) => {
25429
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
25438
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$13, [
25430
25439
  vue.createElementVNode("button", {
25431
25440
  class: "lupa-search-box-documents-go-to-results-button",
25432
25441
  onClick: goToResults
25433
25442
  }, [
25434
25443
  vue.createTextVNode(vue.toDisplayString(goToResultsLabel.value) + " ", 1),
25435
- totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$M, " " + vue.toDisplayString(totalCount.value), 1)) : vue.createCommentVNode("", true)
25444
+ totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$N, " " + vue.toDisplayString(totalCount.value), 1)) : vue.createCommentVNode("", true)
25436
25445
  ])
25437
25446
  ]);
25438
25447
  };
@@ -25528,7 +25537,7 @@ const processExtractionObject = (value = {}) => {
25528
25537
  }
25529
25538
  return parsedObject;
25530
25539
  };
25531
- const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25540
+ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
25532
25541
  __name: "SearchBoxProductsWrapper",
25533
25542
  props: {
25534
25543
  panel: {},
@@ -25599,7 +25608,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25599
25608
  vue.watch(() => props.panel.limit, getItemsDebounced);
25600
25609
  return (_ctx, _cache) => {
25601
25610
  var _a25, _b25;
25602
- return vue.openBlock(), vue.createBlock(_sfc_main$1e, {
25611
+ return vue.openBlock(), vue.createBlock(_sfc_main$1i, {
25603
25612
  items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
25604
25613
  panelOptions: _ctx.panel,
25605
25614
  labels: _ctx.labels,
@@ -25609,7 +25618,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25609
25618
  default: vue.withCtx(() => {
25610
25619
  var _a26;
25611
25620
  return [
25612
- showGoToResultsButton.value && ((_a26 = searchResult.value) == null ? void 0 : _a26.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$1d, {
25621
+ showGoToResultsButton.value && ((_a26 = searchResult.value) == null ? void 0 : _a26.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$1h, {
25613
25622
  key: 0,
25614
25623
  options: _ctx.searchBoxOptions,
25615
25624
  panel: _ctx.panel,
@@ -25630,7 +25639,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25630
25639
  };
25631
25640
  }
25632
25641
  });
25633
- const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
25642
+ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25634
25643
  __name: "SearchBoxRelatedSourceWrapper",
25635
25644
  props: {
25636
25645
  panel: {},
@@ -25702,7 +25711,7 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
25702
25711
  });
25703
25712
  return (_ctx, _cache) => {
25704
25713
  var _a25, _b25;
25705
- return vue.openBlock(), vue.createBlock(_sfc_main$1e, {
25714
+ return vue.openBlock(), vue.createBlock(_sfc_main$1i, {
25706
25715
  items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
25707
25716
  panelOptions: documentPanelOptions.value,
25708
25717
  labels: _ctx.labels,
@@ -25720,8 +25729,8 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
25720
25729
  };
25721
25730
  }
25722
25731
  });
25723
- const _hoisted_1$10 = ["data-cy"];
25724
- const _hoisted_2$L = {
25732
+ const _hoisted_1$12 = ["data-cy"];
25733
+ const _hoisted_2$M = {
25725
25734
  key: 0,
25726
25735
  class: "lupa-panel-title lupa-panel-title-top-results"
25727
25736
  };
@@ -25731,12 +25740,12 @@ const _hoisted_3$z = {
25731
25740
  };
25732
25741
  const __default__$2 = {
25733
25742
  components: {
25734
- SearchBoxSuggestionsWrapper: _sfc_main$1x,
25735
- SearchBoxProductsWrapper: _sfc_main$1c,
25736
- SearchBoxRelatedSourceWrapper: _sfc_main$1b
25743
+ SearchBoxSuggestionsWrapper: _sfc_main$1B,
25744
+ SearchBoxProductsWrapper: _sfc_main$1g,
25745
+ SearchBoxRelatedSourceWrapper: _sfc_main$1f
25737
25746
  }
25738
25747
  };
25739
- const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
25748
+ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
25740
25749
  __name: "SearchBoxMainPanel",
25741
25750
  props: {
25742
25751
  options: {},
@@ -25927,7 +25936,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25927
25936
  style: vue.normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
25928
25937
  "data-cy": "lupa-panel-" + panel.type + "-index"
25929
25938
  }, [
25930
- ((_a25 = panel.labels) == null ? void 0 : _a25.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$L, vue.toDisplayString((_b25 = panel.labels) == null ? void 0 : _b25.topResultsTitle), 1)) : vue.createCommentVNode("", true),
25939
+ ((_a25 = panel.labels) == null ? void 0 : _a25.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$M, vue.toDisplayString((_b25 = panel.labels) == null ? void 0 : _b25.topResultsTitle), 1)) : vue.createCommentVNode("", true),
25931
25940
  ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, vue.toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
25932
25941
  panel.queryKey && canShowPanel(panel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getComponent(panel.type)), {
25933
25942
  key: 2,
@@ -25950,14 +25959,14 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25950
25959
  key: "0"
25951
25960
  } : void 0
25952
25961
  ]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : vue.createCommentVNode("", true)
25953
- ], 14, _hoisted_1$10);
25962
+ ], 14, _hoisted_1$12);
25954
25963
  }), 128))
25955
25964
  ], 4),
25956
- !vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$1A, {
25965
+ !vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$1E, {
25957
25966
  key: 1,
25958
25967
  options: _ctx.options
25959
25968
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
25960
- displayShowMoreResultsButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1D, {
25969
+ displayShowMoreResultsButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1H, {
25961
25970
  key: 2,
25962
25971
  labels: labels.value,
25963
25972
  options: _ctx.options,
@@ -25968,7 +25977,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25968
25977
  id: "lupa-search-box-panel",
25969
25978
  class: vue.normalizeClass({ "lupa-search-text-empty": isSearchEmpty.value })
25970
25979
  }, [
25971
- vue.createVNode(_sfc_main$1B, {
25980
+ vue.createVNode(_sfc_main$1F, {
25972
25981
  options: _ctx.options.history,
25973
25982
  history: history.value,
25974
25983
  onGoToResults: handleGoToResults,
@@ -25993,8 +26002,8 @@ const unbindSearchTriggers = (triggers = [], event) => {
25993
26002
  const elements = getElements(triggers);
25994
26003
  elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
25995
26004
  };
25996
- const _hoisted_1$$ = { class: "lupa-search-box-wrapper" };
25997
- const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
26005
+ const _hoisted_1$11 = { class: "lupa-search-box-wrapper" };
26006
+ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
25998
26007
  __name: "SearchBox",
25999
26008
  props: {
26000
26009
  options: {},
@@ -26333,8 +26342,8 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
26333
26342
  id: "lupa-search-box",
26334
26343
  class: vue.normalizeClass({ "lupa-search-box-opened": opened.value })
26335
26344
  }, [
26336
- vue.createElementVNode("div", _hoisted_1$$, [
26337
- vue.createVNode(_sfc_main$1E, {
26345
+ vue.createElementVNode("div", _hoisted_1$11, [
26346
+ vue.createVNode(_sfc_main$1I, {
26338
26347
  options: inputOptions.value,
26339
26348
  suggestedValue: suggestedValue.value,
26340
26349
  "can-close": (_a26 = _ctx.isSearchContainer) != null ? _a26 : false,
@@ -26347,7 +26356,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
26347
26356
  onSearch: handleSearch,
26348
26357
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
26349
26358
  }, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
26350
- opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$1a, {
26359
+ opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$1e, {
26351
26360
  key: 0,
26352
26361
  options: panelOptions.value,
26353
26362
  inputValue: inputValue.value,
@@ -26455,11 +26464,11 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
26455
26464
  options.options.onError(e2);
26456
26465
  }
26457
26466
  });
26458
- const _hoisted_1$_ = {
26467
+ const _hoisted_1$10 = {
26459
26468
  key: 0,
26460
26469
  id: "lupa-search-results-did-you-mean"
26461
26470
  };
26462
- const _hoisted_2$K = {
26471
+ const _hoisted_2$L = {
26463
26472
  key: 0,
26464
26473
  "data-cy": "suggested-search-text-label"
26465
26474
  };
@@ -26468,7 +26477,7 @@ const _hoisted_3$y = {
26468
26477
  "data-cy": "did-you-mean-label"
26469
26478
  };
26470
26479
  const _hoisted_4$p = { key: 1 };
26471
- const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
26480
+ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
26472
26481
  __name: "SearchResultsDidYouMean",
26473
26482
  props: {
26474
26483
  labels: {}
@@ -26500,8 +26509,8 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
26500
26509
  paramStore.goToResults({ searchText, facet });
26501
26510
  };
26502
26511
  return (_ctx, _cache) => {
26503
- return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
26504
- vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$K, [
26512
+ return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$10, [
26513
+ vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$L, [
26505
26514
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
26506
26515
  return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
26507
26516
  vue.createElementVNode("span", {
@@ -26526,12 +26535,12 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
26526
26535
  };
26527
26536
  }
26528
26537
  });
26529
- const _hoisted_1$Z = {
26538
+ const _hoisted_1$$ = {
26530
26539
  key: 0,
26531
26540
  class: "lupa-search-results-summary"
26532
26541
  };
26533
- const _hoisted_2$J = ["innerHTML"];
26534
- const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26542
+ const _hoisted_2$K = ["innerHTML"];
26543
+ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
26535
26544
  __name: "SearchResultsSummary",
26536
26545
  props: {
26537
26546
  label: {},
@@ -26546,8 +26555,8 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26546
26555
  return addParamsToLabel(props.label, range2, `<span>${totalItems.value}</span>`);
26547
26556
  });
26548
26557
  return (_ctx, _cache) => {
26549
- return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
26550
- vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$J),
26558
+ return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$$, [
26559
+ vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$K),
26551
26560
  _ctx.clearable ? (vue.openBlock(), vue.createElementBlock("span", {
26552
26561
  key: 0,
26553
26562
  class: "lupa-filter-clear",
@@ -26558,7 +26567,130 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26558
26567
  };
26559
26568
  }
26560
26569
  });
26561
- const _hoisted_1$Y = {
26570
+ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
26571
+ __name: "SkeletonBlock",
26572
+ props: {
26573
+ style: {}
26574
+ },
26575
+ setup(__props) {
26576
+ return (_ctx, _cache) => {
26577
+ return vue.openBlock(), vue.createElementBlock("div", {
26578
+ class: "lupa-skeleton-block-wrapper",
26579
+ style: vue.normalizeStyle(_ctx.style)
26580
+ }, _cache[0] || (_cache[0] = [
26581
+ vue.createElementVNode("div", { class: "lupa-skeleton-block" }, [
26582
+ vue.createElementVNode("div", { class: "lupa-skeleton-block__shimmer" })
26583
+ ], -1)
26584
+ ]), 4);
26585
+ };
26586
+ }
26587
+ });
26588
+ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
26589
+ __name: "SkeletonText",
26590
+ props: {
26591
+ style: {},
26592
+ lines: { default: 1 }
26593
+ },
26594
+ setup(__props) {
26595
+ return (_ctx, _cache) => {
26596
+ return vue.openBlock(), vue.createElementBlock("div", {
26597
+ class: "lupa-skeleton-text-wrapper",
26598
+ style: vue.normalizeStyle(_ctx.style)
26599
+ }, [
26600
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.lines, (i) => {
26601
+ return vue.openBlock(), vue.createElementBlock("div", {
26602
+ key: i,
26603
+ class: "lupa-skeleton-line"
26604
+ }, _cache[0] || (_cache[0] = [
26605
+ vue.createElementVNode("div", { class: "lupa-skeleton-line__shimmer" }, null, -1)
26606
+ ]));
26607
+ }), 128))
26608
+ ], 4);
26609
+ };
26610
+ }
26611
+ });
26612
+ const _hoisted_1$_ = {
26613
+ key: 1,
26614
+ class: "lupa-skeleton-text"
26615
+ };
26616
+ const _hoisted_2$J = {
26617
+ key: 2,
26618
+ class: "lupa-skeleton-blocks"
26619
+ };
26620
+ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
26621
+ __name: "LoadingBlock",
26622
+ props: {
26623
+ style: {},
26624
+ type: {},
26625
+ enabled: { type: Boolean },
26626
+ loading: { type: Boolean },
26627
+ count: {}
26628
+ },
26629
+ setup(__props) {
26630
+ return (_ctx, _cache) => {
26631
+ return !_ctx.loading || !_ctx.enabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : _ctx.type === "text" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
26632
+ vue.createVNode(_sfc_main$19, {
26633
+ style: vue.normalizeStyle(_ctx.style),
26634
+ lines: _ctx.count
26635
+ }, null, 8, ["style", "lines"])
26636
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$J, [
26637
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.count, (n) => {
26638
+ return vue.openBlock(), vue.createBlock(_sfc_main$1a, {
26639
+ key: n,
26640
+ style: vue.normalizeStyle(_ctx.style)
26641
+ }, null, 8, ["style"]);
26642
+ }), 128))
26643
+ ]));
26644
+ };
26645
+ }
26646
+ });
26647
+ const useLoadingSkeleton = () => {
26648
+ const paramsStore = useParamsStore();
26649
+ const optionsStore = useOptionsStore();
26650
+ const searchResultStore = useSearchResultStore();
26651
+ const { limit } = storeToRefs(paramsStore);
26652
+ const {
26653
+ searchResult,
26654
+ relatedQueriesResult,
26655
+ loading,
26656
+ loadingFacets: loadingFacetsBase,
26657
+ loadingRelatedQueries
26658
+ } = storeToRefs(searchResultStore);
26659
+ const { searchResultOptions } = storeToRefs(optionsStore);
26660
+ const skeletonEnabled = vue.computed(() => {
26661
+ var _a25, _b25, _c, _d;
26662
+ return ((_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.loadingSkeleton) == null ? void 0 : _b25.enabled) && !((_d = (_c = searchResult.value) == null ? void 0 : _c.items) == null ? void 0 : _d.length);
26663
+ });
26664
+ const relatedQueriesSkeletonEnabled = vue.computed(() => {
26665
+ var _a25, _b25, _c, _d, _e;
26666
+ return ((_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.loadingSkeleton) == null ? void 0 : _b25.enabled) && Boolean((_c = searchResultOptions.value) == null ? void 0 : _c.relatedQueries) && !((_e = (_d = relatedQueriesResult.value) == null ? void 0 : _d.relatedQueries) == null ? void 0 : _e.length);
26667
+ });
26668
+ const facetSkeletonEnabled = vue.computed(() => {
26669
+ var _a25, _b25, _c, _d;
26670
+ return ((_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.loadingSkeleton) == null ? void 0 : _b25.enabled) && !((_d = (_c = searchResult.value) == null ? void 0 : _c.facets) == null ? void 0 : _d.length);
26671
+ });
26672
+ const loadingFacets = vue.computed(() => {
26673
+ var _a25;
26674
+ if ((_a25 = searchResultOptions.value) == null ? void 0 : _a25.splitExpensiveRequests) {
26675
+ return loadingFacetsBase.value;
26676
+ }
26677
+ return loading.value;
26678
+ });
26679
+ const loadingAny = vue.computed(() => {
26680
+ return loading.value || loadingRelatedQueries.value || loadingFacets.value;
26681
+ });
26682
+ return {
26683
+ loading,
26684
+ loadingRelatedQueries,
26685
+ loadingFacets,
26686
+ loadingAny,
26687
+ limit,
26688
+ skeletonEnabled,
26689
+ relatedQueriesSkeletonEnabled,
26690
+ facetSkeletonEnabled
26691
+ };
26692
+ };
26693
+ const _hoisted_1$Z = {
26562
26694
  key: 0,
26563
26695
  class: "lupa-result-page-title",
26564
26696
  "data-cy": "lupa-result-page-title"
@@ -26570,7 +26702,7 @@ const _hoisted_3$x = {
26570
26702
  };
26571
26703
  const _hoisted_4$o = { class: "lupa-results-total-count-number" };
26572
26704
  const _hoisted_5$g = ["innerHTML"];
26573
- const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26705
+ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26574
26706
  __name: "SearchResultsTitle",
26575
26707
  props: {
26576
26708
  options: {},
@@ -26580,7 +26712,10 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26580
26712
  setup(__props) {
26581
26713
  const props = __props;
26582
26714
  const searchResultStore = useSearchResultStore();
26715
+ const paramsStore = useParamsStore();
26583
26716
  const { currentQueryText, totalItems, searchResult } = storeToRefs(searchResultStore);
26717
+ const { skeletonEnabled, loading } = useLoadingSkeleton();
26718
+ const { query } = storeToRefs(paramsStore);
26584
26719
  const suggestedSearchText = vue.computed(() => searchResult.value.suggestedSearchText);
26585
26720
  const queryText = vue.computed(() => {
26586
26721
  return suggestedSearchText.value || currentQueryText.value;
@@ -26613,29 +26748,39 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26613
26748
  });
26614
26749
  return (_ctx, _cache) => {
26615
26750
  return vue.openBlock(), vue.createElementBlock("div", null, [
26616
- showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$Y, [
26617
- vue.createTextVNode(vue.toDisplayString(searchResultsTitleTemplate.value || _ctx.options.labels.searchResults), 1),
26618
- queryText.value && !searchResultsTitleTemplate.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$I, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
26619
- showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$x, [
26620
- vue.createTextVNode("(" + vue.toDisplayString(searchResultsCountLabel.value), 1),
26621
- vue.createElementVNode("span", _hoisted_4$o, vue.toDisplayString(vue.unref(totalItems)), 1),
26622
- _cache[0] || (_cache[0] = vue.createTextVNode(")"))
26623
- ])) : vue.createCommentVNode("", true)
26624
- ])) : vue.createCommentVNode("", true),
26625
- _ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$17, {
26626
- key: 1,
26627
- label: summaryLabel.value
26628
- }, null, 8, ["label"])) : vue.createCommentVNode("", true),
26629
- descriptionTop.value ? (vue.openBlock(), vue.createElementBlock("div", {
26630
- key: 2,
26631
- class: "lupa-result-page-description-top",
26632
- innerHTML: descriptionTop.value
26633
- }, null, 8, _hoisted_5$g)) : vue.createCommentVNode("", true)
26751
+ vue.createVNode(_sfc_main$18, {
26752
+ type: "text",
26753
+ count: 1,
26754
+ enabled: vue.unref(skeletonEnabled) && Boolean(vue.unref(query)),
26755
+ loading: vue.unref(loading)
26756
+ }, {
26757
+ default: vue.withCtx(() => [
26758
+ showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$Z, [
26759
+ vue.createTextVNode(vue.toDisplayString(searchResultsTitleTemplate.value || _ctx.options.labels.searchResults), 1),
26760
+ queryText.value && !searchResultsTitleTemplate.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$I, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
26761
+ showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$x, [
26762
+ vue.createTextVNode("(" + vue.toDisplayString(searchResultsCountLabel.value), 1),
26763
+ vue.createElementVNode("span", _hoisted_4$o, vue.toDisplayString(vue.unref(totalItems)), 1),
26764
+ _cache[0] || (_cache[0] = vue.createTextVNode(")"))
26765
+ ])) : vue.createCommentVNode("", true)
26766
+ ])) : vue.createCommentVNode("", true),
26767
+ _ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$1b, {
26768
+ key: 1,
26769
+ label: summaryLabel.value
26770
+ }, null, 8, ["label"])) : vue.createCommentVNode("", true),
26771
+ descriptionTop.value ? (vue.openBlock(), vue.createElementBlock("div", {
26772
+ key: 2,
26773
+ class: "lupa-result-page-description-top",
26774
+ innerHTML: descriptionTop.value
26775
+ }, null, 8, _hoisted_5$g)) : vue.createCommentVNode("", true)
26776
+ ]),
26777
+ _: 1
26778
+ }, 8, ["enabled", "loading"])
26634
26779
  ]);
26635
26780
  };
26636
26781
  }
26637
26782
  });
26638
- const _hoisted_1$X = {
26783
+ const _hoisted_1$Y = {
26639
26784
  class: "lupa-current-filter-label",
26640
26785
  "data-cy": "lupa-current-filter-label"
26641
26786
  };
@@ -26643,7 +26788,7 @@ const _hoisted_2$H = {
26643
26788
  class: "lupa-current-filter-value",
26644
26789
  "data-cy": "lupa-current-filter-value"
26645
26790
  };
26646
- const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
26791
+ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26647
26792
  __name: "CurrentFilterDisplay",
26648
26793
  props: {
26649
26794
  filter: {}
@@ -26685,13 +26830,13 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
26685
26830
  onClick: handleClick,
26686
26831
  "aria-label": "Remove filter"
26687
26832
  }, "⨉"),
26688
- vue.createElementVNode("div", _hoisted_1$X, vue.toDisplayString(_ctx.filter.label) + ": ", 1),
26833
+ vue.createElementVNode("div", _hoisted_1$Y, vue.toDisplayString(_ctx.filter.label) + ": ", 1),
26689
26834
  vue.createElementVNode("div", _hoisted_2$H, vue.toDisplayString(formatFilterValue(props.filter)), 1)
26690
26835
  ], 2);
26691
26836
  };
26692
26837
  }
26693
26838
  });
26694
- const _hoisted_1$W = { class: "lupa-filter-title-text" };
26839
+ const _hoisted_1$X = { class: "lupa-filter-title-text" };
26695
26840
  const _hoisted_2$G = {
26696
26841
  key: 0,
26697
26842
  class: "lupa-filter-count"
@@ -26701,7 +26846,7 @@ const _hoisted_3$w = {
26701
26846
  class: "filter-values"
26702
26847
  };
26703
26848
  const _hoisted_4$n = { class: "lupa-current-filter-list" };
26704
- const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26849
+ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
26705
26850
  __name: "CurrentFilters",
26706
26851
  props: {
26707
26852
  options: {},
@@ -26781,7 +26926,7 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26781
26926
  class: "lupa-current-filter-title",
26782
26927
  onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
26783
26928
  }, [
26784
- vue.createElementVNode("div", _hoisted_1$W, [
26929
+ vue.createElementVNode("div", _hoisted_1$X, [
26785
26930
  vue.createTextVNode(vue.toDisplayString((_c = (_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) != null ? _c : "") + " ", 1),
26786
26931
  _ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$G, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
26787
26932
  ]),
@@ -26793,7 +26938,7 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26793
26938
  !_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
26794
26939
  vue.createElementVNode("div", _hoisted_4$n, [
26795
26940
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter) => {
26796
- return vue.openBlock(), vue.createBlock(_sfc_main$15, {
26941
+ return vue.openBlock(), vue.createBlock(_sfc_main$16, {
26797
26942
  key: filter.key + "_" + filter.value,
26798
26943
  filter,
26799
26944
  units: units.value,
@@ -26811,8 +26956,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26811
26956
  };
26812
26957
  }
26813
26958
  });
26814
- const _hoisted_1$V = ["href"];
26815
- const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
26959
+ const _hoisted_1$W = ["href"];
26960
+ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26816
26961
  __name: "CategoryFilterItem",
26817
26962
  props: {
26818
26963
  options: {},
@@ -26849,12 +26994,12 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
26849
26994
  "data-cy": "lupa-child-category-item",
26850
26995
  href: urlLink.value,
26851
26996
  onClick: handleNavigation
26852
- }, vue.toDisplayString(title.value), 9, _hoisted_1$V)
26997
+ }, vue.toDisplayString(title.value), 9, _hoisted_1$W)
26853
26998
  ], 2);
26854
26999
  };
26855
27000
  }
26856
27001
  });
26857
- const _hoisted_1$U = {
27002
+ const _hoisted_1$V = {
26858
27003
  class: "lupa-category-filter",
26859
27004
  "data-cy": "lupa-category-filter"
26860
27005
  };
@@ -26862,7 +27007,7 @@ const _hoisted_2$F = { class: "lupa-category-back" };
26862
27007
  const _hoisted_3$v = ["href"];
26863
27008
  const _hoisted_4$m = ["href"];
26864
27009
  const _hoisted_5$f = { class: "lupa-child-category-list" };
26865
- const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
27010
+ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
26866
27011
  __name: "CategoryFilter",
26867
27012
  props: {
26868
27013
  options: {}
@@ -26950,7 +27095,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
26950
27095
  };
26951
27096
  __expose({ fetch: fetch2 });
26952
27097
  return (_ctx, _cache) => {
26953
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
27098
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
26954
27099
  vue.createElementVNode("div", _hoisted_2$F, [
26955
27100
  hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
26956
27101
  key: 0,
@@ -26971,7 +27116,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
26971
27116
  ], 2),
26972
27117
  vue.createElementVNode("div", _hoisted_5$f, [
26973
27118
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
26974
- return vue.openBlock(), vue.createBlock(_sfc_main$13, {
27119
+ return vue.openBlock(), vue.createBlock(_sfc_main$14, {
26975
27120
  key: getCategoryKey(child),
26976
27121
  item: child,
26977
27122
  options: _ctx.options
@@ -26982,7 +27127,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
26982
27127
  };
26983
27128
  }
26984
27129
  });
26985
- const _hoisted_1$T = {
27130
+ const _hoisted_1$U = {
26986
27131
  class: "lupa-search-result-facet-term-values",
26987
27132
  "data-cy": "lupa-search-result-facet-term-values"
26988
27133
  };
@@ -26997,7 +27142,7 @@ const _hoisted_7$4 = {
26997
27142
  };
26998
27143
  const _hoisted_8$2 = { key: 0 };
26999
27144
  const _hoisted_9$2 = { key: 1 };
27000
- const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
27145
+ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
27001
27146
  __name: "TermFacet",
27002
27147
  props: {
27003
27148
  options: {},
@@ -27091,7 +27236,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
27091
27236
  }
27092
27237
  };
27093
27238
  return (_ctx, _cache) => {
27094
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
27239
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
27095
27240
  isFilterable.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
27096
27241
  key: 0,
27097
27242
  class: "lupa-term-filter",
@@ -28040,7 +28185,7 @@ const roundToMaxDecimals = (value, maxPrecision = 0.1) => {
28040
28185
  }
28041
28186
  return out;
28042
28187
  };
28043
- const _hoisted_1$S = { class: "lupa-search-result-facet-stats-values" };
28188
+ const _hoisted_1$T = { class: "lupa-search-result-facet-stats-values" };
28044
28189
  const _hoisted_2$D = {
28045
28190
  key: 0,
28046
28191
  class: "lupa-stats-facet-summary"
@@ -28069,7 +28214,7 @@ const _hoisted_14 = {
28069
28214
  key: 2,
28070
28215
  class: "lupa-stats-slider-wrapper"
28071
28216
  };
28072
- const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28217
+ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
28073
28218
  __name: "StatsFacet",
28074
28219
  props: {
28075
28220
  options: {},
@@ -28288,7 +28433,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28288
28433
  }
28289
28434
  );
28290
28435
  return (_ctx, _cache) => {
28291
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
28436
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
28292
28437
  !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$D, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$t, [
28293
28438
  vue.createElementVNode("div", _hoisted_4$k, [
28294
28439
  rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
@@ -28353,7 +28498,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28353
28498
  };
28354
28499
  }
28355
28500
  });
28356
- const _hoisted_1$R = { class: "lupa-term-checkbox-wrapper" };
28501
+ const _hoisted_1$S = { class: "lupa-term-checkbox-wrapper" };
28357
28502
  const _hoisted_2$C = { class: "lupa-term-label" };
28358
28503
  const _hoisted_3$s = {
28359
28504
  key: 0,
@@ -28363,7 +28508,7 @@ const _hoisted_4$j = {
28363
28508
  key: 0,
28364
28509
  class: "lupa-facet-level"
28365
28510
  };
28366
- const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28511
+ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28367
28512
  __name: "HierarchyFacetLevel",
28368
28513
  props: {
28369
28514
  options: {},
@@ -28417,7 +28562,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28417
28562
  "data-cy": "lupa-facet-term",
28418
28563
  onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
28419
28564
  }, [
28420
- vue.createElementVNode("div", _hoisted_1$R, [
28565
+ vue.createElementVNode("div", _hoisted_1$S, [
28421
28566
  vue.createElementVNode("span", {
28422
28567
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
28423
28568
  }, null, 2)
@@ -28445,13 +28590,13 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28445
28590
  };
28446
28591
  }
28447
28592
  });
28448
- const _hoisted_1$Q = {
28593
+ const _hoisted_1$R = {
28449
28594
  class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
28450
28595
  "data-cy": "lupa-search-result-facet-term-values"
28451
28596
  };
28452
28597
  const _hoisted_2$B = { key: 0 };
28453
28598
  const _hoisted_3$r = ["placeholder"];
28454
- const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28599
+ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28455
28600
  __name: "HierarchyFacet",
28456
28601
  props: {
28457
28602
  options: {},
@@ -28507,7 +28652,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28507
28652
  showAll.value = false;
28508
28653
  };
28509
28654
  return (_ctx, _cache) => {
28510
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
28655
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$R, [
28511
28656
  isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$B, [
28512
28657
  vue.withDirectives(vue.createElementVNode("input", {
28513
28658
  class: "lupa-term-filter",
@@ -28519,7 +28664,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28519
28664
  ])
28520
28665
  ])) : vue.createCommentVNode("", true),
28521
28666
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
28522
- return vue.openBlock(), vue.createBlock(_sfc_main$$, {
28667
+ return vue.openBlock(), vue.createBlock(_sfc_main$10, {
28523
28668
  key: item.title,
28524
28669
  options: _ctx.options,
28525
28670
  item,
@@ -28543,7 +28688,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28543
28688
  };
28544
28689
  }
28545
28690
  });
28546
- const _hoisted_1$P = { class: "lupa-facet-label-text" };
28691
+ const _hoisted_1$Q = { class: "lupa-facet-label-text" };
28547
28692
  const _hoisted_2$A = {
28548
28693
  key: 0,
28549
28694
  class: "lupa-facet-content",
@@ -28551,12 +28696,12 @@ const _hoisted_2$A = {
28551
28696
  };
28552
28697
  const __default__$1 = {
28553
28698
  components: {
28554
- TermFacet: _sfc_main$11,
28555
- StatsFacet: _sfc_main$10,
28556
- HierarchyFacet: _sfc_main$_
28699
+ TermFacet: _sfc_main$12,
28700
+ StatsFacet: _sfc_main$11,
28701
+ HierarchyFacet: _sfc_main$$
28557
28702
  }
28558
28703
  };
28559
- const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
28704
+ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
28560
28705
  __name: "FacetDisplay",
28561
28706
  props: {
28562
28707
  options: {},
@@ -28703,7 +28848,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
28703
28848
  "data-cy": "lupa-search-result-facet-label",
28704
28849
  onClick: toggleFacet
28705
28850
  }, [
28706
- vue.createElementVNode("div", _hoisted_1$P, vue.toDisplayString(facetLabel.value), 1),
28851
+ vue.createElementVNode("div", _hoisted_1$Q, vue.toDisplayString(facetLabel.value), 1),
28707
28852
  vue.createElementVNode("div", {
28708
28853
  class: vue.normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
28709
28854
  }, null, 2)
@@ -28821,11 +28966,11 @@ const useSidebarToggle = () => {
28821
28966
  handleSortSidebarToggle
28822
28967
  };
28823
28968
  };
28824
- const _hoisted_1$O = {
28969
+ const _hoisted_1$P = {
28825
28970
  key: 0,
28826
28971
  class: "lupa-desktop-toggle-filter-count"
28827
28972
  };
28828
- const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
28973
+ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
28829
28974
  __name: "DesktopFacetToggle",
28830
28975
  setup(__props) {
28831
28976
  const {
@@ -28847,12 +28992,12 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
28847
28992
  (...args) => vue.unref(handleFilterSidebarToggle) && vue.unref(handleFilterSidebarToggle)(...args))
28848
28993
  }, [
28849
28994
  vue.createTextVNode(vue.toDisplayString(vue.unref(label)) + " ", 1),
28850
- vue.unref(showMobileFilterCount) && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$O, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
28995
+ vue.unref(showMobileFilterCount) && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$P, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
28851
28996
  ], 2);
28852
28997
  };
28853
28998
  }
28854
28999
  });
28855
- const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
29000
+ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
28856
29001
  __name: "DesktopSortToggle",
28857
29002
  setup(__props) {
28858
29003
  const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
@@ -28868,12 +29013,12 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
28868
29013
  };
28869
29014
  }
28870
29015
  });
28871
- const _hoisted_1$N = { class: "lupa-search-result-facet-section" };
29016
+ const _hoisted_1$O = { class: "lupa-search-result-facet-section" };
28872
29017
  const _hoisted_2$z = {
28873
29018
  key: 0,
28874
29019
  class: "lupa-facets-title"
28875
29020
  };
28876
- const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
29021
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
28877
29022
  __name: "FacetList",
28878
29023
  props: {
28879
29024
  options: {},
@@ -28915,14 +29060,14 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
28915
29060
  };
28916
29061
  return (_ctx, _cache) => {
28917
29062
  var _a25;
28918
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
29063
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
28919
29064
  _ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
28920
29065
  vue.createElementVNode("div", {
28921
29066
  class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a25 = displayFacetStyle.value) != null ? _a25 : "")])
28922
29067
  }, [
28923
29068
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFacets.value, (facet) => {
28924
29069
  var _a26;
28925
- return vue.openBlock(), vue.createBlock(_sfc_main$Z, {
29070
+ return vue.openBlock(), vue.createBlock(_sfc_main$_, {
28926
29071
  key: facet.key,
28927
29072
  facet,
28928
29073
  currentFilters: currentFiltersValue.value,
@@ -28934,14 +29079,14 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
28934
29079
  onExpand: vue.unref(handleFilterSidebarToggle)
28935
29080
  }, null, 8, ["facet", "currentFilters", "options", "clearable", "current-facet-style", "onExpand"]);
28936
29081
  }), 128)),
28937
- _ctx.facetStyle === "drawer" ? (vue.openBlock(), vue.createBlock(_sfc_main$Y, { key: 0 })) : vue.createCommentVNode("", true),
28938
- _ctx.facetStyle === "drawer" || _ctx.facetStyle === "top-dropdown" ? (vue.openBlock(), vue.createBlock(_sfc_main$X, { key: 1 })) : vue.createCommentVNode("", true)
29082
+ _ctx.facetStyle === "drawer" ? (vue.openBlock(), vue.createBlock(_sfc_main$Z, { key: 0 })) : vue.createCommentVNode("", true),
29083
+ _ctx.facetStyle === "drawer" || _ctx.facetStyle === "top-dropdown" ? (vue.openBlock(), vue.createBlock(_sfc_main$Y, { key: 1 })) : vue.createCommentVNode("", true)
28939
29084
  ], 2)
28940
29085
  ]);
28941
29086
  };
28942
29087
  }
28943
29088
  });
28944
- const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
29089
+ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
28945
29090
  __name: "FacetsButton",
28946
29091
  props: {
28947
29092
  options: {}
@@ -28966,7 +29111,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
28966
29111
  };
28967
29112
  }
28968
29113
  });
28969
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
29114
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
28970
29115
  __name: "FacetsClearButton",
28971
29116
  props: {
28972
29117
  options: {}
@@ -28991,8 +29136,8 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
28991
29136
  };
28992
29137
  }
28993
29138
  });
28994
- const _hoisted_1$M = { class: "lupa-facets-filter-button-wrapper" };
28995
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29139
+ const _hoisted_1$N = { class: "lupa-facets-filter-button-wrapper" };
29140
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
28996
29141
  __name: "Facets",
28997
29142
  props: {
28998
29143
  options: {},
@@ -29100,7 +29245,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29100
29245
  return vue.openBlock(), vue.createElementBlock("div", {
29101
29246
  class: vue.normalizeClass(["lupa-search-result-facets", { "lupa-search-result-facets-loading": vue.unref(loadingFacets) }])
29102
29247
  }, [
29103
- regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$W, {
29248
+ regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$X, {
29104
29249
  key: 0,
29105
29250
  options: _ctx.options,
29106
29251
  facets: regularFacets.value,
@@ -29110,13 +29255,13 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29110
29255
  onSelect: handleFacetSelect,
29111
29256
  onClear: clear
29112
29257
  }, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : vue.createCommentVNode("", true),
29113
- vue.createElementVNode("div", _hoisted_1$M, [
29114
- showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
29258
+ vue.createElementVNode("div", _hoisted_1$N, [
29259
+ showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
29115
29260
  key: 0,
29116
29261
  options: _ctx.options,
29117
29262
  onClear: clearAll
29118
29263
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
29119
- showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
29264
+ showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$W, {
29120
29265
  key: 1,
29121
29266
  options: _ctx.options,
29122
29267
  onFilter: filter
@@ -29126,12 +29271,12 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29126
29271
  };
29127
29272
  }
29128
29273
  });
29129
- const _hoisted_1$L = {
29274
+ const _hoisted_1$M = {
29130
29275
  key: 0,
29131
29276
  id: "lupa-search-result-filters",
29132
29277
  class: "lupa-search-result-filters"
29133
29278
  };
29134
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29279
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29135
29280
  __name: "SearchResultsFilters",
29136
29281
  props: {
29137
29282
  options: {},
@@ -29141,6 +29286,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29141
29286
  emits: ["filter"],
29142
29287
  setup(__props, { expose: __expose, emit: __emit }) {
29143
29288
  const categoryFilters = vue.ref(null);
29289
+ const { facetSkeletonEnabled, loadingFacets } = useLoadingSkeleton();
29144
29290
  const props = __props;
29145
29291
  const emit = __emit;
29146
29292
  const desktopFiltersVisible = vue.computed(() => {
@@ -29169,30 +29315,42 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29169
29315
  };
29170
29316
  __expose({ fetch: fetch2 });
29171
29317
  return (_ctx, _cache) => {
29172
- var _a25;
29173
- return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
29174
- showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
29175
- key: 0,
29176
- options: _ctx.options.currentFilters,
29177
- expandable: (_a25 = _ctx.expandable) != null ? _a25 : false
29178
- }, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
29179
- _ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$12, {
29180
- key: 1,
29181
- options: _ctx.options.categories,
29182
- ref_key: "categoryFilters",
29183
- ref: categoryFilters
29184
- }, null, 8, ["options"])) : vue.createCommentVNode("", true),
29185
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
29186
- key: 2,
29187
- options: _ctx.options.facets,
29188
- "facet-style": _ctx.style,
29189
- onFilter: filter
29190
- }, null, 8, ["options", "facet-style"])) : vue.createCommentVNode("", true)
29318
+ return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$M, [
29319
+ vue.createVNode(_sfc_main$18, {
29320
+ class: "lupa-skeleton-filters",
29321
+ count: 1,
29322
+ enabled: vue.unref(facetSkeletonEnabled),
29323
+ loading: vue.unref(loadingFacets)
29324
+ }, {
29325
+ default: vue.withCtx(() => {
29326
+ var _a25;
29327
+ return [
29328
+ showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$15, {
29329
+ key: 0,
29330
+ options: _ctx.options.currentFilters,
29331
+ expandable: (_a25 = _ctx.expandable) != null ? _a25 : false
29332
+ }, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
29333
+ _ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$13, {
29334
+ key: 1,
29335
+ options: _ctx.options.categories,
29336
+ ref_key: "categoryFilters",
29337
+ ref: categoryFilters
29338
+ }, null, 8, ["options"])) : vue.createCommentVNode("", true),
29339
+ _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
29340
+ key: 2,
29341
+ options: _ctx.options.facets,
29342
+ "facet-style": _ctx.style,
29343
+ onFilter: filter
29344
+ }, null, 8, ["options", "facet-style"])) : vue.createCommentVNode("", true)
29345
+ ];
29346
+ }),
29347
+ _: 1
29348
+ }, 8, ["enabled", "loading"])
29191
29349
  ])) : vue.createCommentVNode("", true);
29192
29350
  };
29193
29351
  }
29194
29352
  });
29195
- const _hoisted_1$K = { class: "lupa-mobile-sidebar-content" };
29353
+ const _hoisted_1$L = { class: "lupa-mobile-sidebar-content" };
29196
29354
  const _hoisted_2$y = { class: "lupa-sidebar-top" };
29197
29355
  const _hoisted_3$q = { class: "lupa-sidebar-title" };
29198
29356
  const _hoisted_4$i = {
@@ -29200,7 +29358,7 @@ const _hoisted_4$i = {
29200
29358
  class: "lupa-sidebar-filter-count"
29201
29359
  };
29202
29360
  const _hoisted_5$c = { class: "lupa-sidebar-filter-options" };
29203
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29361
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29204
29362
  __name: "MobileFilterSidebar",
29205
29363
  props: {
29206
29364
  options: {}
@@ -29239,7 +29397,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29239
29397
  class: "lupa-sidebar-close",
29240
29398
  onClick: vue.withModifiers(handleMobileToggle, ["stop"])
29241
29399
  }),
29242
- vue.createElementVNode("div", _hoisted_1$K, [
29400
+ vue.createElementVNode("div", _hoisted_1$L, [
29243
29401
  vue.createElementVNode("div", _hoisted_2$y, [
29244
29402
  vue.createElementVNode("div", _hoisted_3$q, [
29245
29403
  vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
@@ -29251,7 +29409,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29251
29409
  })
29252
29410
  ]),
29253
29411
  vue.createElementVNode("div", _hoisted_5$c, [
29254
- vue.createVNode(_sfc_main$S, {
29412
+ vue.createVNode(_sfc_main$T, {
29255
29413
  options: _ctx.options,
29256
29414
  expandable: isActiveFiltersExpanded.value,
29257
29415
  style: "sidebar",
@@ -29263,14 +29421,17 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29263
29421
  };
29264
29422
  }
29265
29423
  });
29266
- const _hoisted_1$J = { id: "lupa-search-results-breadcrumbs" };
29424
+ const _hoisted_1$K = {
29425
+ key: 0,
29426
+ id: "lupa-search-results-breadcrumbs"
29427
+ };
29267
29428
  const _hoisted_2$x = ["href", "onClick"];
29268
29429
  const _hoisted_3$p = {
29269
29430
  key: 1,
29270
29431
  class: "lupa-search-results-breadcrumb-text"
29271
29432
  };
29272
29433
  const _hoisted_4$h = { key: 2 };
29273
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29434
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29274
29435
  __name: "SearchResultsBreadcrumbs",
29275
29436
  props: {
29276
29437
  breadcrumbs: {}
@@ -29288,6 +29449,10 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29288
29449
  const hasEventRouting = vue.computed(() => {
29289
29450
  return searchResultOptions.value.routingBehavior === "event";
29290
29451
  });
29452
+ const hasBreadcrumbs = vue.computed(() => {
29453
+ var _a25;
29454
+ return ((_a25 = breadcrumbsValue.value) == null ? void 0 : _a25.length) > 0;
29455
+ });
29291
29456
  const getLabel = (label) => {
29292
29457
  return addParamsToLabel(label, `'${currentQueryText.value}'`);
29293
29458
  };
@@ -29295,7 +29460,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29295
29460
  handleRoutingEvent(link, event, hasEventRouting.value);
29296
29461
  };
29297
29462
  return (_ctx, _cache) => {
29298
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
29463
+ return hasBreadcrumbs.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
29299
29464
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(breadcrumbsValue.value, (breadcrumb, index) => {
29300
29465
  var _a25;
29301
29466
  return vue.openBlock(), vue.createElementBlock("span", {
@@ -29314,16 +29479,16 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29314
29479
  index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, vue.toDisplayString((_a25 = breadcrumb.separator) != null ? _a25 : "/"), 1)) : vue.createCommentVNode("", true)
29315
29480
  ]);
29316
29481
  }), 128))
29317
- ]);
29482
+ ])) : vue.createCommentVNode("", true);
29318
29483
  };
29319
29484
  }
29320
29485
  });
29321
- const _hoisted_1$I = {
29486
+ const _hoisted_1$J = {
29322
29487
  key: 0,
29323
29488
  id: "lupa-search-result-filters",
29324
29489
  class: "lupa-search-result-filters lupa-search-result-top-filters"
29325
29490
  };
29326
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
29491
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29327
29492
  __name: "FiltersTopDropdown",
29328
29493
  props: {
29329
29494
  options: {}
@@ -29331,6 +29496,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
29331
29496
  emits: ["filter"],
29332
29497
  setup(__props, { emit: __emit }) {
29333
29498
  const props = __props;
29499
+ const { facetSkeletonEnabled, loadingFacets } = useLoadingSkeleton();
29334
29500
  const emit = __emit;
29335
29501
  const filter = () => {
29336
29502
  emit("filter");
@@ -29340,21 +29506,33 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
29340
29506
  return (_a25 = props.options.visible) != null ? _a25 : true;
29341
29507
  });
29342
29508
  return (_ctx, _cache) => {
29343
- var _a25;
29344
- return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
29345
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
29346
- key: 0,
29347
- options: _ctx.options.facets,
29348
- "facet-style": (_a25 = _ctx.options.facets.style) == null ? void 0 : _a25.type,
29349
- clearable: true,
29350
- onFilter: filter
29351
- }, null, 8, ["options", "facet-style"])) : vue.createCommentVNode("", true)
29509
+ return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
29510
+ vue.createVNode(_sfc_main$18, {
29511
+ class: "lupa-skeleton-top-dropdown-filters",
29512
+ count: 1,
29513
+ enabled: vue.unref(facetSkeletonEnabled),
29514
+ loading: vue.unref(loadingFacets)
29515
+ }, {
29516
+ default: vue.withCtx(() => {
29517
+ var _a25;
29518
+ return [
29519
+ _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
29520
+ key: 0,
29521
+ options: _ctx.options.facets,
29522
+ "facet-style": (_a25 = _ctx.options.facets.style) == null ? void 0 : _a25.type,
29523
+ clearable: true,
29524
+ onFilter: filter
29525
+ }, null, 8, ["options", "facet-style"])) : vue.createCommentVNode("", true)
29526
+ ];
29527
+ }),
29528
+ _: 1
29529
+ }, 8, ["enabled", "loading"])
29352
29530
  ])) : vue.createCommentVNode("", true);
29353
29531
  };
29354
29532
  }
29355
29533
  });
29356
- const _hoisted_1$H = { id: "lupa-search-results-layout-selection" };
29357
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
29534
+ const _hoisted_1$I = { id: "lupa-search-results-layout-selection" };
29535
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
29358
29536
  __name: "SearchResultsLayoutSelection",
29359
29537
  setup(__props) {
29360
29538
  const searchResultStore = useSearchResultStore();
@@ -29365,7 +29543,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
29365
29543
  searchResultStore.setLayout(layout2);
29366
29544
  };
29367
29545
  return (_ctx, _cache) => {
29368
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
29546
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
29369
29547
  vue.createElementVNode("div", {
29370
29548
  class: vue.normalizeClass([
29371
29549
  "lupa-layout-selection-grid",
@@ -29387,11 +29565,11 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
29387
29565
  };
29388
29566
  }
29389
29567
  });
29390
- const _hoisted_1$G = {
29568
+ const _hoisted_1$H = {
29391
29569
  key: 0,
29392
29570
  class: "lupa-mobile-toggle-filter-count"
29393
29571
  };
29394
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
29572
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
29395
29573
  __name: "SearchResultsMobileToggle",
29396
29574
  setup(__props) {
29397
29575
  const {
@@ -29413,12 +29591,12 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
29413
29591
  (...args) => vue.unref(handleFilterSidebarToggle) && vue.unref(handleFilterSidebarToggle)(...args))
29414
29592
  }, [
29415
29593
  vue.createTextVNode(vue.toDisplayString(vue.unref(label)) + " ", 1),
29416
- vue.unref(showMobileFilterCount) && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$G, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
29594
+ vue.unref(showMobileFilterCount) && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$H, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
29417
29595
  ], 2);
29418
29596
  };
29419
29597
  }
29420
29598
  });
29421
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
29599
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
29422
29600
  __name: "SearchResultsMobileFilterClose",
29423
29601
  props: {
29424
29602
  label: {}
@@ -29438,7 +29616,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
29438
29616
  };
29439
29617
  }
29440
29618
  });
29441
- const _hoisted_1$F = {
29619
+ const _hoisted_1$G = {
29442
29620
  key: 0,
29443
29621
  id: "lupa-search-results-page-select",
29444
29622
  "data-cy": "lupa-search-results-page-select"
@@ -29451,7 +29629,7 @@ const _hoisted_3$o = {
29451
29629
  key: 0,
29452
29630
  class: "lupa-page-number-separator"
29453
29631
  };
29454
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29632
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
29455
29633
  __name: "SearchResultsPageSelect",
29456
29634
  props: {
29457
29635
  lastPageLabel: {},
@@ -29546,7 +29724,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29546
29724
  };
29547
29725
  return (_ctx, _cache) => {
29548
29726
  var _a25;
29549
- return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
29727
+ return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
29550
29728
  showBack.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tagName.value), {
29551
29729
  key: 0,
29552
29730
  class: vue.normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
@@ -29621,7 +29799,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29621
29799
  };
29622
29800
  }
29623
29801
  });
29624
- const _hoisted_1$E = {
29802
+ const _hoisted_1$F = {
29625
29803
  id: "lupa-search-results-page-size",
29626
29804
  "data-cy": "lupa-search-results-page-size"
29627
29805
  };
@@ -29632,7 +29810,7 @@ const _hoisted_3$n = {
29632
29810
  };
29633
29811
  const _hoisted_4$g = ["value", "aria-label"];
29634
29812
  const _hoisted_5$b = ["value"];
29635
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
29813
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29636
29814
  __name: "SearchResultsPageSize",
29637
29815
  props: {
29638
29816
  labels: {},
@@ -29663,7 +29841,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
29663
29841
  };
29664
29842
  return (_ctx, _cache) => {
29665
29843
  var _a25, _b25, _c;
29666
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
29844
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
29667
29845
  vue.createElementVNode("div", _hoisted_2$v, [
29668
29846
  vue.createElementVNode("label", _hoisted_3$n, vue.toDisplayString(label.value), 1),
29669
29847
  vue.createElementVNode("select", {
@@ -29755,7 +29933,7 @@ const useSorting = () => {
29755
29933
  setSortValue
29756
29934
  };
29757
29935
  };
29758
- const _hoisted_1$D = {
29936
+ const _hoisted_1$E = {
29759
29937
  key: 0,
29760
29938
  id: "lupa-search-results-sort",
29761
29939
  class: "lupa-search-results-sort"
@@ -29767,7 +29945,7 @@ const _hoisted_3$m = {
29767
29945
  };
29768
29946
  const _hoisted_4$f = ["aria-label"];
29769
29947
  const _hoisted_5$a = ["value"];
29770
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29948
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
29771
29949
  __name: "SearchResultsSort",
29772
29950
  setup(__props) {
29773
29951
  const {
@@ -29788,7 +29966,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29788
29966
  });
29789
29967
  return (_ctx, _cache) => {
29790
29968
  var _a25, _b25;
29791
- return showDefaultSort.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
29969
+ return showDefaultSort.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
29792
29970
  vue.createElementVNode("div", _hoisted_2$u, [
29793
29971
  vue.createElementVNode("label", _hoisted_3$m, vue.toDisplayString(vue.unref(sotyByTitleLabel)), 1),
29794
29972
  vue.withDirectives(vue.createElementVNode("select", {
@@ -29815,7 +29993,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29815
29993
  };
29816
29994
  }
29817
29995
  });
29818
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
29996
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29819
29997
  __name: "SearchResultsSortDrawerToggle",
29820
29998
  setup(__props) {
29821
29999
  const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
@@ -29831,7 +30009,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
29831
30009
  };
29832
30010
  }
29833
30011
  });
29834
- const _hoisted_1$C = { class: "lupa-toolbar-left" };
30012
+ const _hoisted_1$D = { class: "lupa-toolbar-left" };
29835
30013
  const _hoisted_2$t = {
29836
30014
  key: 0,
29837
30015
  class: "lupa-toolbar-right-title"
@@ -29846,7 +30024,7 @@ const _hoisted_7$2 = {
29846
30024
  };
29847
30025
  const _hoisted_8 = { key: 2 };
29848
30026
  const _hoisted_9 = { key: 4 };
29849
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
30027
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
29850
30028
  __name: "SearchResultsToolbar",
29851
30029
  props: {
29852
30030
  options: {},
@@ -29959,16 +30137,16 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
29959
30137
  id: "lupa-search-results-toolbar",
29960
30138
  class: vue.normalizeClass({ "lupa-filter-no-results": !hasResults.value })
29961
30139
  }, [
29962
- vue.createElementVNode("div", _hoisted_1$C, [
30140
+ vue.createElementVNode("div", _hoisted_1$D, [
29963
30141
  toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
29964
- showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$O, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$l)),
29965
- showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$17, {
30142
+ showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$P, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$l)),
30143
+ showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1b, {
29966
30144
  key: 3,
29967
30145
  label: searchSummaryLabel.value,
29968
30146
  clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
29969
30147
  onClear: handleClearAll
29970
30148
  }, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e)),
29971
- displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, {
30149
+ displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
29972
30150
  key: 5,
29973
30151
  options: paginationOptions.value.pageSelect,
29974
30152
  "last-page-label": paginationOptions.value.labels.showMore,
@@ -29977,19 +30155,19 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
29977
30155
  ]),
29978
30156
  vue.createElementVNode("div", _hoisted_6$4, [
29979
30157
  toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
29980
- vue.createVNode(_sfc_main$N),
29981
- vue.createVNode(_sfc_main$I),
29982
- paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
30158
+ vue.createVNode(_sfc_main$O),
30159
+ vue.createVNode(_sfc_main$J),
30160
+ paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$L, {
29983
30161
  key: 1,
29984
30162
  options: paginationOptions.value.pageSize,
29985
30163
  labels: paginationOptions.value.labels
29986
30164
  }, null, 8, ["options", "labels"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8)),
29987
- sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
30165
+ sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
29988
30166
  key: 3,
29989
30167
  options: sortOptions.value,
29990
30168
  callbacks: callbacks.value
29991
30169
  }, null, 8, ["options", "callbacks"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9)),
29992
- showFiltersCloseButton.value && vue.unref(isFilterSidebarVisible) ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
30170
+ showFiltersCloseButton.value && vue.unref(isFilterSidebarVisible) ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
29993
30171
  key: 5,
29994
30172
  label: optionsValue.value.labels.mobileFilterCloseButton
29995
30173
  }, null, 8, ["label"])) : vue.createCommentVNode("", true)
@@ -29998,7 +30176,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
29998
30176
  };
29999
30177
  }
30000
30178
  });
30001
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30179
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
30002
30180
  __name: "SearchResultsProductImage",
30003
30181
  props: {
30004
30182
  item: {},
@@ -30006,7 +30184,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30006
30184
  },
30007
30185
  setup(__props) {
30008
30186
  return (_ctx, _cache) => {
30009
- return vue.openBlock(), vue.createBlock(_sfc_main$1w, {
30187
+ return vue.openBlock(), vue.createBlock(_sfc_main$1A, {
30010
30188
  item: _ctx.item,
30011
30189
  options: _ctx.options,
30012
30190
  "wrapper-class": "lupa-search-results-image-wrapper",
@@ -30015,7 +30193,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30015
30193
  };
30016
30194
  }
30017
30195
  });
30018
- const _hoisted_1$B = ["title", "innerHTML"];
30196
+ const _hoisted_1$C = ["title", "innerHTML"];
30019
30197
  const _hoisted_2$s = ["title"];
30020
30198
  const _hoisted_3$k = ["href", "innerHTML"];
30021
30199
  const _hoisted_4$d = ["title"];
@@ -30024,7 +30202,7 @@ const _hoisted_5$8 = {
30024
30202
  class: "lupa-search-results-product-title-text"
30025
30203
  };
30026
30204
  const _hoisted_6$3 = ["href"];
30027
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30205
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30028
30206
  __name: "SearchResultsProductTitle",
30029
30207
  props: {
30030
30208
  item: {},
@@ -30061,7 +30239,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30061
30239
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
30062
30240
  title: sanitizedTitle.value,
30063
30241
  innerHTML: sanitizedTitle.value
30064
- }, null, 12, _hoisted_1$B)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
30242
+ }, null, 12, _hoisted_1$C)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
30065
30243
  key: 1,
30066
30244
  class: "lupa-search-results-product-title",
30067
30245
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
@@ -30090,8 +30268,8 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30090
30268
  };
30091
30269
  }
30092
30270
  });
30093
- const _hoisted_1$A = ["innerHTML"];
30094
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30271
+ const _hoisted_1$B = ["innerHTML"];
30272
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30095
30273
  __name: "SearchResultsProductDescription",
30096
30274
  props: {
30097
30275
  item: {},
@@ -30118,7 +30296,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30118
30296
  class: "lupa-search-results-product-description",
30119
30297
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
30120
30298
  innerHTML: sanitizedDescription.value
30121
- }, null, 12, _hoisted_1$A)) : (vue.openBlock(), vue.createElementBlock("div", {
30299
+ }, null, 12, _hoisted_1$B)) : (vue.openBlock(), vue.createElementBlock("div", {
30122
30300
  key: 1,
30123
30301
  class: "lupa-search-results-product-description",
30124
30302
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
@@ -30126,7 +30304,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30126
30304
  };
30127
30305
  }
30128
30306
  });
30129
- const _hoisted_1$z = { id: "lupa-search-results-rating" };
30307
+ const _hoisted_1$A = { id: "lupa-search-results-rating" };
30130
30308
  const _hoisted_2$r = { class: "lupa-ratings" };
30131
30309
  const _hoisted_3$j = { class: "lupa-ratings-base" };
30132
30310
  const _hoisted_4$c = ["innerHTML"];
@@ -30134,7 +30312,7 @@ const _hoisted_5$7 = { class: "lupa-rating-wrapper" };
30134
30312
  const _hoisted_6$2 = ["innerHTML"];
30135
30313
  const _hoisted_7$1 = ["href"];
30136
30314
  const STAR_COUNT = 5;
30137
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30315
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30138
30316
  __name: "SearchResultsProductRating",
30139
30317
  props: {
30140
30318
  item: {},
@@ -30171,7 +30349,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30171
30349
  return generateLink(props.options.links.ratingDetails, props.item);
30172
30350
  });
30173
30351
  return (_ctx, _cache) => {
30174
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
30352
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
30175
30353
  vue.createElementVNode("div", _hoisted_2$r, [
30176
30354
  vue.createElementVNode("div", _hoisted_3$j, [
30177
30355
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(baseStars.value, (star, index) => {
@@ -30205,11 +30383,11 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30205
30383
  };
30206
30384
  }
30207
30385
  });
30208
- const _hoisted_1$y = {
30386
+ const _hoisted_1$z = {
30209
30387
  class: "lupa-search-results-product-regular-price",
30210
30388
  "data-cy": "lupa-search-results-product-regular-price"
30211
30389
  };
30212
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
30390
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30213
30391
  __name: "SearchResultsProductRegularPrice",
30214
30392
  props: {
30215
30393
  item: {},
@@ -30231,11 +30409,11 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
30231
30409
  );
30232
30410
  });
30233
30411
  return (_ctx, _cache) => {
30234
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, vue.toDisplayString(price.value), 1);
30412
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, vue.toDisplayString(price.value), 1);
30235
30413
  };
30236
30414
  }
30237
30415
  });
30238
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
30416
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
30239
30417
  __name: "SearchResultsProductPrice",
30240
30418
  props: {
30241
30419
  item: {},
@@ -30269,12 +30447,12 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
30269
30447
  };
30270
30448
  }
30271
30449
  });
30272
- const _hoisted_1$x = { class: "lupa-search-results-add-to-cart-wrapper" };
30450
+ const _hoisted_1$y = { class: "lupa-search-results-add-to-cart-wrapper" };
30273
30451
  const _hoisted_2$q = { class: "lupa-search-results-product-addtocart" };
30274
30452
  const _hoisted_3$i = ["disabled"];
30275
30453
  const _hoisted_4$b = ["href"];
30276
30454
  const _hoisted_5$6 = ["id", "disabled"];
30277
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30455
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
30278
30456
  __name: "SearchResultsProductAddToCart",
30279
30457
  props: {
30280
30458
  item: {},
@@ -30333,7 +30511,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30333
30511
  loading.value = false;
30334
30512
  });
30335
30513
  return (_ctx, _cache) => {
30336
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
30514
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
30337
30515
  vue.createElementVNode("div", _hoisted_2$q, [
30338
30516
  hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
30339
30517
  key: 0,
@@ -30356,12 +30534,12 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30356
30534
  };
30357
30535
  }
30358
30536
  });
30359
- const _hoisted_1$w = ["innerHTML"];
30537
+ const _hoisted_1$x = ["innerHTML"];
30360
30538
  const _hoisted_2$p = { key: 0 };
30361
30539
  const _hoisted_3$h = { key: 1 };
30362
30540
  const _hoisted_4$a = { class: "lupa-search-box-custom-label" };
30363
30541
  const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
30364
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30542
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30365
30543
  __name: "SearchResultsProductCustom",
30366
30544
  props: {
30367
30545
  item: {},
@@ -30403,7 +30581,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30403
30581
  key: 0,
30404
30582
  class: className.value,
30405
30583
  innerHTML: text.value
30406
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$w)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
30584
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$x)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
30407
30585
  key: 1,
30408
30586
  class: className.value
30409
30587
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
@@ -30415,8 +30593,8 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30415
30593
  };
30416
30594
  }
30417
30595
  });
30418
- const _hoisted_1$v = ["innerHTML"];
30419
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
30596
+ const _hoisted_1$w = ["innerHTML"];
30597
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30420
30598
  __name: "SearchResultsProductCustomHtmlElement",
30421
30599
  props: {
30422
30600
  item: {},
@@ -30452,15 +30630,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
30452
30630
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
30453
30631
  class: className.value,
30454
30632
  innerHTML: text.value
30455
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$v);
30633
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$w);
30456
30634
  };
30457
30635
  }
30458
30636
  });
30459
- const _hoisted_1$u = { id: "lupa-search-results-rating" };
30637
+ const _hoisted_1$v = { id: "lupa-search-results-rating" };
30460
30638
  const _hoisted_2$o = ["innerHTML"];
30461
30639
  const _hoisted_3$g = { class: "lupa-ratings" };
30462
30640
  const _hoisted_4$9 = ["href"];
30463
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
30641
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
30464
30642
  __name: "SearchResultsProductSingleStarRating",
30465
30643
  props: {
30466
30644
  item: {},
@@ -30488,7 +30666,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
30488
30666
  return RATING_STAR_HTML;
30489
30667
  });
30490
30668
  return (_ctx, _cache) => {
30491
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
30669
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
30492
30670
  vue.createElementVNode("div", {
30493
30671
  innerHTML: star.value,
30494
30672
  class: "lupa-rating lupa-rating-highlighted"
@@ -30504,19 +30682,19 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
30504
30682
  });
30505
30683
  const __default__ = {
30506
30684
  components: {
30507
- SearchResultsProductImage: _sfc_main$G,
30508
- SearchResultsProductTitle: _sfc_main$F,
30509
- SearchResultsProductDescription: _sfc_main$E,
30510
- SearchResultsProductRating: _sfc_main$D,
30511
- SearchResultsProductRegularPrice: _sfc_main$C,
30512
- SearchResultsProductPrice: _sfc_main$B,
30513
- SearchResultsProductAddToCart: _sfc_main$A,
30514
- SearchResultsProductCustom: _sfc_main$z,
30515
- SearchResultsProductCustomHtmlElement: _sfc_main$y,
30516
- SearchResultsProductSingleStarRating: _sfc_main$x
30517
- }
30518
- };
30519
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
30685
+ SearchResultsProductImage: _sfc_main$H,
30686
+ SearchResultsProductTitle: _sfc_main$G,
30687
+ SearchResultsProductDescription: _sfc_main$F,
30688
+ SearchResultsProductRating: _sfc_main$E,
30689
+ SearchResultsProductRegularPrice: _sfc_main$D,
30690
+ SearchResultsProductPrice: _sfc_main$C,
30691
+ SearchResultsProductAddToCart: _sfc_main$B,
30692
+ SearchResultsProductCustom: _sfc_main$A,
30693
+ SearchResultsProductCustomHtmlElement: _sfc_main$z,
30694
+ SearchResultsProductSingleStarRating: _sfc_main$y
30695
+ }
30696
+ };
30697
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
30520
30698
  __name: "SearchResultsProductCardElement",
30521
30699
  props: {
30522
30700
  item: {},
@@ -30594,13 +30772,13 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
30594
30772
  };
30595
30773
  }
30596
30774
  }));
30597
- const _hoisted_1$t = ["href"];
30775
+ const _hoisted_1$u = ["href"];
30598
30776
  const _hoisted_2$n = {
30599
30777
  key: 0,
30600
30778
  class: "lupa-out-of-stock"
30601
30779
  };
30602
30780
  const _hoisted_3$f = { class: "lupa-search-result-product-details-section" };
30603
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30781
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
30604
30782
  __name: "SearchResultsProductCard",
30605
30783
  props: {
30606
30784
  product: {},
@@ -30777,7 +30955,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30777
30955
  default: vue.withCtx(() => {
30778
30956
  var _a25;
30779
30957
  return [
30780
- vue.createVNode(_sfc_main$1g, { options: badgesOptions.value }, null, 8, ["options"]),
30958
+ vue.createVNode(_sfc_main$1k, { options: badgesOptions.value }, null, 8, ["options"]),
30781
30959
  vue.createElementVNode("div", {
30782
30960
  class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
30783
30961
  }, [
@@ -30787,7 +30965,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30787
30965
  onClick: handleNavigation
30788
30966
  }, [
30789
30967
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
30790
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
30968
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
30791
30969
  class: "lupa-search-results-product-element",
30792
30970
  item: _ctx.product,
30793
30971
  element,
@@ -30798,16 +30976,16 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30798
30976
  onProductEvent: handleProductEvent
30799
30977
  }, null, 8, ["item", "element", "labels", "inStock", "link"]);
30800
30978
  }), 128)),
30801
- vue.createVNode(_sfc_main$1g, {
30979
+ vue.createVNode(_sfc_main$1k, {
30802
30980
  options: badgesOptions.value,
30803
30981
  position: "image",
30804
30982
  class: "lupa-image-badges"
30805
30983
  }, null, 8, ["options"]),
30806
30984
  ((_a25 = labels.value) == null ? void 0 : _a25.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$n, vue.toDisplayString(labels.value.outOfStock), 1)) : vue.createCommentVNode("", true)
30807
- ], 8, _hoisted_1$t),
30985
+ ], 8, _hoisted_1$u),
30808
30986
  vue.createElementVNode("div", _hoisted_3$f, [
30809
30987
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
30810
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
30988
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
30811
30989
  class: "lupa-search-results-product-element",
30812
30990
  item: _ctx.product,
30813
30991
  element,
@@ -30825,7 +31003,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30825
31003
  class: vue.normalizeClass("lupa-element-group-" + group)
30826
31004
  }, [
30827
31005
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
30828
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
31006
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
30829
31007
  class: "lupa-search-results-product-element",
30830
31008
  item: _ctx.product,
30831
31009
  element,
@@ -30846,7 +31024,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30846
31024
  };
30847
31025
  }
30848
31026
  });
30849
- const _hoisted_1$s = {
31027
+ const _hoisted_1$t = {
30850
31028
  id: "lupa-search-results-similar-queries",
30851
31029
  "data-cy": "lupa-search-results-similar-queries"
30852
31030
  };
@@ -30862,7 +31040,7 @@ const _hoisted_7 = {
30862
31040
  class: "lupa-products",
30863
31041
  "data-cy": "lupa-products"
30864
31042
  };
30865
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
31043
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30866
31044
  __name: "SearchResultsSimilarQueries",
30867
31045
  props: {
30868
31046
  labels: {},
@@ -30900,7 +31078,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30900
31078
  };
30901
31079
  };
30902
31080
  return (_ctx, _cache) => {
30903
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
31081
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
30904
31082
  vue.createElementVNode("div", _hoisted_2$m, vue.toDisplayString(_ctx.labels.similarQueries), 1),
30905
31083
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQueries.value, (similarQuery, index) => {
30906
31084
  return vue.openBlock(), vue.createElementBlock("div", { key: index }, [
@@ -30920,7 +31098,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30920
31098
  ]),
30921
31099
  vue.createElementVNode("div", _hoisted_7, [
30922
31100
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQuery.items, (product, index2) => {
30923
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31101
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
30924
31102
  style: vue.normalizeStyle(_ctx.columnSize),
30925
31103
  key: getDocumentKey(index2, product),
30926
31104
  product,
@@ -30935,7 +31113,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30935
31113
  };
30936
31114
  }
30937
31115
  });
30938
- const _hoisted_1$r = {
31116
+ const _hoisted_1$s = {
30939
31117
  key: 0,
30940
31118
  class: "lupa-results-additional-panel"
30941
31119
  };
@@ -30943,7 +31121,7 @@ const _hoisted_2$l = {
30943
31121
  class: "lupa-results-additional-panel-items",
30944
31122
  "data-cy": "lupa-results-additional-panel-items"
30945
31123
  };
30946
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31124
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30947
31125
  __name: "AdditionalPanel",
30948
31126
  props: {
30949
31127
  panel: {},
@@ -31016,10 +31194,10 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31016
31194
  handleQueryChange();
31017
31195
  });
31018
31196
  return (_ctx, _cache) => {
31019
- return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
31197
+ return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
31020
31198
  vue.createElementVNode("div", _hoisted_2$l, [
31021
31199
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index) => {
31022
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31200
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
31023
31201
  key: index,
31024
31202
  product: item,
31025
31203
  options: _ctx.panel,
@@ -31037,11 +31215,11 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31037
31215
  };
31038
31216
  }
31039
31217
  });
31040
- const _hoisted_1$q = {
31218
+ const _hoisted_1$r = {
31041
31219
  key: 0,
31042
31220
  class: "lupa-results-additional-panels"
31043
31221
  };
31044
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31222
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31045
31223
  __name: "AdditionalPanels",
31046
31224
  props: {
31047
31225
  options: {},
@@ -31058,9 +31236,9 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31058
31236
  return locationPanels.value.length > 0;
31059
31237
  });
31060
31238
  return (_ctx, _cache) => {
31061
- return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
31239
+ return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
31062
31240
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(locationPanels.value, (panel) => {
31063
- return vue.openBlock(), vue.createBlock(_sfc_main$t, {
31241
+ return vue.openBlock(), vue.createBlock(_sfc_main$u, {
31064
31242
  key: panel.queryKey,
31065
31243
  panel,
31066
31244
  options: _ctx.sdkOptions
@@ -31077,11 +31255,11 @@ const _export_sfc = (sfc, props) => {
31077
31255
  }
31078
31256
  return target2;
31079
31257
  };
31080
- const _sfc_main$r = {};
31081
- const _hoisted_1$p = { class: "lupa-spinner-wrapper" };
31258
+ const _sfc_main$s = {};
31259
+ const _hoisted_1$q = { class: "lupa-spinner-wrapper" };
31082
31260
  const _hoisted_2$k = { class: "lupa-spinner" };
31083
31261
  function _sfc_render(_ctx, _cache) {
31084
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
31262
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
31085
31263
  vue.createElementVNode("div", _hoisted_2$k, [
31086
31264
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(12, (x) => {
31087
31265
  return vue.createElementVNode("div", { key: x });
@@ -31089,8 +31267,8 @@ function _sfc_render(_ctx, _cache) {
31089
31267
  ])
31090
31268
  ]);
31091
31269
  }
31092
- const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render]]);
31093
- const _hoisted_1$o = {
31270
+ const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render]]);
31271
+ const _hoisted_1$p = {
31094
31272
  id: "lupa-search-results-similar-results",
31095
31273
  "data-cy": "lupa-search-results-similar-results"
31096
31274
  };
@@ -31099,7 +31277,7 @@ const _hoisted_3$d = {
31099
31277
  class: "lupa-products",
31100
31278
  "data-cy": "lupa-products"
31101
31279
  };
31102
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31280
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
31103
31281
  __name: "SearchResultsSimilarResults",
31104
31282
  props: {
31105
31283
  columnSize: {},
@@ -31120,11 +31298,11 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31120
31298
  };
31121
31299
  });
31122
31300
  return (_ctx, _cache) => {
31123
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
31301
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
31124
31302
  vue.createElementVNode("div", _hoisted_2$j, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
31125
31303
  vue.createElementVNode("div", _hoisted_3$d, [
31126
31304
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarResults.value.items, (product, index) => {
31127
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31305
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
31128
31306
  style: vue.normalizeStyle(_ctx.columnSize),
31129
31307
  key: getDocumentKey(index, product),
31130
31308
  product,
@@ -31245,7 +31423,7 @@ const extractRelatedSource = (source, searchResults, options, activeFilters) =>
31245
31423
  return extractFacetsRelatedSource(source, searchResults, options, activeFilters);
31246
31424
  }
31247
31425
  });
31248
- const _hoisted_1$n = { class: "lupa-related-query-item" };
31426
+ const _hoisted_1$o = { class: "lupa-related-query-item" };
31249
31427
  const _hoisted_2$i = { class: "lupa-related-query-image" };
31250
31428
  const _hoisted_3$c = { class: "lupa-related-query-label" };
31251
31429
  const _hoisted_4$7 = { class: "lupa-related-query-title" };
@@ -31253,7 +31431,7 @@ const _hoisted_5$3 = {
31253
31431
  key: 0,
31254
31432
  class: "lupa-related-query-count"
31255
31433
  };
31256
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31434
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31257
31435
  __name: "RelatedQueryPanel",
31258
31436
  props: {
31259
31437
  query: {},
@@ -31350,9 +31528,9 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31350
31528
  });
31351
31529
  return (_ctx, _cache) => {
31352
31530
  var _a25;
31353
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
31531
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
31354
31532
  vue.createElementVNode("div", _hoisted_2$i, [
31355
- itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1w, {
31533
+ itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1A, {
31356
31534
  key: 0,
31357
31535
  "wrapper-class": "lupa-related-query-image-wrapper",
31358
31536
  "image-class": "lupa-related-query-image",
@@ -31368,7 +31546,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31368
31546
  };
31369
31547
  }
31370
31548
  });
31371
- const _hoisted_1$m = {
31549
+ const _hoisted_1$n = {
31372
31550
  key: 0,
31373
31551
  class: "lupa-related-queries"
31374
31552
  };
@@ -31377,7 +31555,7 @@ const _hoisted_2$h = {
31377
31555
  class: "lupa-related-queries-title"
31378
31556
  };
31379
31557
  const _hoisted_3$b = ["onClick"];
31380
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31558
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31381
31559
  __name: "RelatedQueries",
31382
31560
  props: {
31383
31561
  options: {}
@@ -31471,7 +31649,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31471
31649
  };
31472
31650
  return (_ctx, _cache) => {
31473
31651
  var _a25, _b25, _c, _d;
31474
- return _ctx.options && hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
31652
+ return _ctx.options && hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
31475
31653
  ((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$h, vue.toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
31476
31654
  vue.createElementVNode("ul", null, [
31477
31655
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries2.value, (query) => {
@@ -31482,7 +31660,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31482
31660
  vue.createElementVNode("a", {
31483
31661
  onClick: ($event) => handleRelatedQueryClick(query)
31484
31662
  }, [
31485
- vue.createVNode(_sfc_main$p, {
31663
+ vue.createVNode(_sfc_main$q, {
31486
31664
  "source-key": query.key,
31487
31665
  options: _ctx.options,
31488
31666
  query: query.value,
@@ -31526,13 +31704,13 @@ const extractRedirectionSuggestion = (searchText = "", options) => {
31526
31704
  }
31527
31705
  return null;
31528
31706
  };
31529
- const _hoisted_1$l = {
31707
+ const _hoisted_1$m = {
31530
31708
  key: 0,
31531
31709
  class: "lupa-redirection-suggestion"
31532
31710
  };
31533
31711
  const _hoisted_2$g = { class: "lupa-redirections-suggestion-label" };
31534
31712
  const _hoisted_3$a = ["href"];
31535
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31713
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31536
31714
  __name: "RedirectionSuggestions",
31537
31715
  props: {
31538
31716
  options: {}
@@ -31555,7 +31733,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31555
31733
  )
31556
31734
  );
31557
31735
  return (_ctx, _cache) => {
31558
- return redirectionSuggestion.value && label.value && link.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
31736
+ return redirectionSuggestion.value && label.value && link.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
31559
31737
  vue.createElementVNode("h4", _hoisted_2$g, [
31560
31738
  vue.createElementVNode("a", { href: link.value }, vue.toDisplayString(label.value), 9, _hoisted_3$a)
31561
31739
  ])
@@ -31563,11 +31741,11 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31563
31741
  };
31564
31742
  }
31565
31743
  });
31566
- const _hoisted_1$k = {
31744
+ const _hoisted_1$l = {
31567
31745
  key: 0,
31568
31746
  class: "lupa-refiners-loading-notice"
31569
31747
  };
31570
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31748
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31571
31749
  __name: "RefinersLoadingNotice",
31572
31750
  props: {
31573
31751
  labels: {}
@@ -31578,14 +31756,14 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31578
31756
  const props = __props;
31579
31757
  const label = vue.computed(() => props.labels.refinersLoadingNotice);
31580
31758
  return (_ctx, _cache) => {
31581
- return label.value && vue.unref(loadingRefiners) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
31759
+ return label.value && vue.unref(loadingRefiners) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
31582
31760
  vue.createElementVNode("p", null, vue.toDisplayString(label.value), 1),
31583
31761
  vue.createVNode(Spinner)
31584
31762
  ])) : vue.createCommentVNode("", true);
31585
31763
  };
31586
31764
  }
31587
31765
  });
31588
- const _hoisted_1$j = { class: "lupa-related-query-item" };
31766
+ const _hoisted_1$k = { class: "lupa-related-query-item" };
31589
31767
  const _hoisted_2$f = { class: "lupa-related-query-image" };
31590
31768
  const _hoisted_3$9 = { class: "lupa-related-query-label" };
31591
31769
  const _hoisted_4$6 = { class: "lupa-related-query-title" };
@@ -31593,7 +31771,7 @@ const _hoisted_5$2 = {
31593
31771
  key: 0,
31594
31772
  class: "lupa-related-query-count"
31595
31773
  };
31596
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31774
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31597
31775
  __name: "RelatedQueryPanelApi",
31598
31776
  props: {
31599
31777
  relatedQuery: {},
@@ -31625,9 +31803,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31625
31803
  });
31626
31804
  return (_ctx, _cache) => {
31627
31805
  var _a25;
31628
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
31806
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
31629
31807
  vue.createElementVNode("div", _hoisted_2$f, [
31630
- itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1w, {
31808
+ itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1A, {
31631
31809
  key: 0,
31632
31810
  "wrapper-class": "lupa-related-query-image-wrapper",
31633
31811
  "image-class": "lupa-related-query-image",
@@ -31643,7 +31821,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31643
31821
  };
31644
31822
  }
31645
31823
  });
31646
- const _hoisted_1$i = {
31824
+ const _hoisted_1$j = {
31647
31825
  key: 0,
31648
31826
  class: "lupa-related-queries"
31649
31827
  };
@@ -31652,7 +31830,7 @@ const _hoisted_2$e = {
31652
31830
  class: "lupa-related-queries-title"
31653
31831
  };
31654
31832
  const _hoisted_3$8 = ["onClick"];
31655
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31833
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31656
31834
  __name: "RelatedQueriesApi",
31657
31835
  props: {
31658
31836
  options: {}
@@ -31704,7 +31882,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31704
31882
  };
31705
31883
  return (_ctx, _cache) => {
31706
31884
  var _a25, _b25, _c, _d;
31707
- return hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
31885
+ return hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
31708
31886
  ((_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$e, vue.toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
31709
31887
  vue.createElementVNode("ul", null, [
31710
31888
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries2.value, (query) => {
@@ -31715,7 +31893,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31715
31893
  vue.createElementVNode("a", {
31716
31894
  onClick: ($event) => handleRelatedQueryClick(query)
31717
31895
  }, [
31718
- vue.createVNode(_sfc_main$l, {
31896
+ vue.createVNode(_sfc_main$m, {
31719
31897
  relatedQuery: query,
31720
31898
  options: _ctx.options
31721
31899
  }, null, 8, ["relatedQuery", "options"])
@@ -31727,9 +31905,9 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31727
31905
  };
31728
31906
  }
31729
31907
  });
31730
- const _hoisted_1$h = { key: 0 };
31908
+ const _hoisted_1$i = { key: 0 };
31731
31909
  const _hoisted_2$d = ["innerHTML"];
31732
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
31910
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31733
31911
  __name: "ZeroResults",
31734
31912
  props: {
31735
31913
  emptyResultsLabel: {},
@@ -31758,7 +31936,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
31758
31936
  });
31759
31937
  return (_ctx, _cache) => {
31760
31938
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
31761
- showDefaultZeroResultsTemplate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
31939
+ showDefaultZeroResultsTemplate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
31762
31940
  vue.createTextVNode(vue.toDisplayString(_ctx.emptyResultsLabel) + " ", 1),
31763
31941
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.currentQueryText), 1)
31764
31942
  ])) : vue.createCommentVNode("", true),
@@ -31770,6 +31948,31 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
31770
31948
  };
31771
31949
  }
31772
31950
  });
31951
+ const _hoisted_1$h = {
31952
+ key: 1,
31953
+ class: "lupa-skeleton-grid"
31954
+ };
31955
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
31956
+ __name: "LoadingGrid",
31957
+ props: {
31958
+ style: {},
31959
+ enabled: { type: Boolean },
31960
+ loading: { type: Boolean },
31961
+ count: {}
31962
+ },
31963
+ setup(__props) {
31964
+ return (_ctx, _cache) => {
31965
+ return !_ctx.loading || !_ctx.enabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
31966
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.count, (n) => {
31967
+ return vue.openBlock(), vue.createBlock(_sfc_main$1a, {
31968
+ key: n,
31969
+ style: vue.normalizeStyle(_ctx.style)
31970
+ }, null, 8, ["style"]);
31971
+ }), 128))
31972
+ ]));
31973
+ };
31974
+ }
31975
+ });
31773
31976
  const _hoisted_1$g = { id: "lupa-search-results-products" };
31774
31977
  const _hoisted_2$c = {
31775
31978
  class: "lupa-products",
@@ -31781,12 +31984,12 @@ const _hoisted_3$7 = {
31781
31984
  "data-cy": "lupa-no-results-in-page"
31782
31985
  };
31783
31986
  const _hoisted_4$5 = {
31784
- key: 5,
31987
+ key: 3,
31785
31988
  class: "lupa-empty-results",
31786
31989
  "data-cy": "lupa-no-results"
31787
31990
  };
31788
- const _hoisted_5$1 = { key: 6 };
31789
- const _hoisted_6 = { key: 7 };
31991
+ const _hoisted_5$1 = { key: 4 };
31992
+ const _hoisted_6 = { key: 5 };
31790
31993
  const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31791
31994
  __name: "SearchResultsProducts",
31792
31995
  props: {
@@ -31810,6 +32013,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31810
32013
  loading,
31811
32014
  relatedQueriesApiEnabled
31812
32015
  } = storeToRefs(searchResultStore);
32016
+ const { limit, skeletonEnabled, relatedQueriesSkeletonEnabled, loadingRelatedQueries } = useLoadingSkeleton();
31813
32017
  const emit = __emit;
31814
32018
  const productCardOptions = vue.computed(() => {
31815
32019
  return pick(props.options, [
@@ -31866,12 +32070,12 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31866
32070
  });
31867
32071
  const columnSize = vue.computed(() => {
31868
32072
  if (props.ssr) {
31869
- return "";
32073
+ return {};
31870
32074
  }
31871
32075
  if (layout.value === ResultsLayoutEnum.LIST) {
31872
- return "width: 100%";
32076
+ return { width: "100%" };
31873
32077
  }
31874
- return `width: ${100 / columnCount.value}%`;
32078
+ return { width: `${100 / columnCount.value}%` };
31875
32079
  });
31876
32080
  const hasSimilarQueries = vue.computed(() => {
31877
32081
  var _a25;
@@ -31907,40 +32111,50 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31907
32111
  emit("filter");
31908
32112
  };
31909
32113
  return (_ctx, _cache) => {
31910
- var _a25, _b25, _c;
32114
+ var _a25, _b25, _c, _d;
31911
32115
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
31912
- vue.unref(loading) && !vue.unref(isFilterSidebarVisible) ? (vue.openBlock(), vue.createBlock(Spinner, {
32116
+ !vue.unref(skeletonEnabled) && vue.unref(loading) && !vue.unref(isFilterSidebarVisible) ? (vue.openBlock(), vue.createBlock(Spinner, {
31913
32117
  key: 0,
31914
32118
  class: "lupa-loader"
31915
32119
  })) : vue.createCommentVNode("", true),
31916
- vue.createVNode(_sfc_main$n, {
32120
+ vue.createVNode(_sfc_main$o, {
31917
32121
  options: _ctx.options.redirectionSuggestions
31918
32122
  }, null, 8, ["options"]),
31919
- vue.createVNode(_sfc_main$s, {
32123
+ vue.createVNode(_sfc_main$t, {
31920
32124
  options: _ctx.options,
31921
32125
  location: "top",
31922
- sdkOptions: _ctx.options.options
31923
- }, null, 8, ["options", "sdkOptions"]),
31924
- showLocalRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$o, {
31925
- key: 1,
31926
- options: _ctx.options.relatedQueries
31927
- }, null, 8, ["options"])) : vue.createCommentVNode("", true),
31928
- showApiRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$k, {
31929
- key: 2,
31930
- options: _ctx.options.relatedQueries
31931
- }, null, 8, ["options"])) : vue.createCommentVNode("", true),
31932
- vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
31933
- showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$P, {
32126
+ "sdk-options": _ctx.options.options
32127
+ }, null, 8, ["options", "sdk-options"]),
32128
+ vue.createVNode(_sfc_main$18, {
32129
+ enabled: vue.unref(relatedQueriesSkeletonEnabled),
32130
+ loading: vue.unref(loading) || vue.unref(loadingRelatedQueries),
32131
+ count: 1,
32132
+ class: "lupa-skeleton-related-queries"
32133
+ }, {
32134
+ default: vue.withCtx(() => [
32135
+ showLocalRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
32136
+ key: 0,
32137
+ options: _ctx.options.relatedQueries
32138
+ }, null, 8, ["options"])) : vue.createCommentVNode("", true),
32139
+ showApiRelatedQueries.value ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
32140
+ key: 1,
32141
+ options: _ctx.options.relatedQueries
32142
+ }, null, 8, ["options"])) : vue.createCommentVNode("", true)
32143
+ ]),
32144
+ _: 1
32145
+ }, 8, ["enabled", "loading"]),
32146
+ vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
32147
+ showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
31934
32148
  key: 0,
31935
32149
  options: (_a25 = _ctx.options.filters) != null ? _a25 : {}
31936
32150
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
31937
- vue.createVNode(_sfc_main$H, {
32151
+ vue.createVNode(_sfc_main$I, {
31938
32152
  class: "lupa-toolbar-mobile",
31939
32153
  options: _ctx.options,
31940
32154
  "pagination-location": "top",
31941
32155
  onFilter: filter
31942
32156
  }, null, 8, ["options"]),
31943
- currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
32157
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$15, {
31944
32158
  key: 1,
31945
32159
  class: vue.normalizeClass(currentFiltersClass.value),
31946
32160
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -31948,13 +32162,13 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31948
32162
  expandable: !desktopFiltersExpanded.value
31949
32163
  }, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true)
31950
32164
  ], 64)) : vue.createCommentVNode("", true),
31951
- vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 4 }, [
31952
- vue.createVNode(_sfc_main$H, {
32165
+ vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
32166
+ vue.createVNode(_sfc_main$I, {
31953
32167
  class: "lupa-toolbar-top",
31954
32168
  options: _ctx.options,
31955
32169
  "pagination-location": "top"
31956
32170
  }, null, 8, ["options"]),
31957
- currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
32171
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$15, {
31958
32172
  key: 0,
31959
32173
  class: vue.normalizeClass(currentFiltersClass.value),
31960
32174
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -31962,22 +32176,32 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31962
32176
  expandable: !desktopFiltersExpanded.value
31963
32177
  }, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true),
31964
32178
  vue.createElementVNode("div", _hoisted_2$c, [
31965
- _ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
31966
- return vue.renderSlot(_ctx.$slots, "productCard", {
31967
- style: vue.normalizeStyle(columnSize.value),
31968
- key: getProductKeyAction(index, product),
31969
- product,
31970
- options: productCardOptions.value
31971
- });
31972
- }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
31973
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31974
- style: vue.normalizeStyle(columnSize.value),
31975
- key: getProductKeyAction(index, product),
31976
- product,
31977
- options: productCardOptions.value,
31978
- "analytics-metadata": clickMetadata.value
31979
- }, null, 8, ["style", "product", "options", "analytics-metadata"]);
31980
- }), 128))
32179
+ vue.createVNode(_sfc_main$j, {
32180
+ enabled: vue.unref(skeletonEnabled),
32181
+ loading: vue.unref(loading),
32182
+ count: (_b25 = vue.unref(limit)) != null ? _b25 : 12,
32183
+ style: vue.normalizeStyle(columnSize.value)
32184
+ }, {
32185
+ default: vue.withCtx(() => [
32186
+ _ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
32187
+ return vue.renderSlot(_ctx.$slots, "productCard", {
32188
+ key: getProductKeyAction(index, product),
32189
+ style: vue.normalizeStyle(columnSize.value),
32190
+ product,
32191
+ options: productCardOptions.value
32192
+ });
32193
+ }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
32194
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
32195
+ key: getProductKeyAction(index, product),
32196
+ style: vue.normalizeStyle(columnSize.value),
32197
+ product,
32198
+ options: productCardOptions.value,
32199
+ "analytics-metadata": clickMetadata.value
32200
+ }, null, 8, ["style", "product", "options", "analytics-metadata"]);
32201
+ }), 128))
32202
+ ]),
32203
+ _: 3
32204
+ }, 8, ["enabled", "loading", "count", "style"])
31981
32205
  ]),
31982
32206
  vue.unref(isPageEmpty) && _ctx.options.labels.noItemsInPage ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, [
31983
32207
  vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.noItemsInPage) + " ", 1),
@@ -31987,40 +32211,40 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31987
32211
  onClick: goToFirstPage
31988
32212
  }, vue.toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : vue.createCommentVNode("", true)
31989
32213
  ])) : vue.createCommentVNode("", true),
31990
- vue.createVNode(_sfc_main$H, {
32214
+ vue.createVNode(_sfc_main$I, {
31991
32215
  class: "lupa-toolbar-bottom",
31992
32216
  options: _ctx.options,
31993
32217
  "pagination-location": "bottom"
31994
32218
  }, null, 8, ["options"]),
31995
- vue.createVNode(_sfc_main$s, {
32219
+ vue.createVNode(_sfc_main$t, {
31996
32220
  options: _ctx.options,
31997
32221
  location: "bottom",
31998
- sdkOptions: _ctx.options.options
31999
- }, null, 8, ["options", "sdkOptions"])
32222
+ "sdk-options": _ctx.options.options
32223
+ }, null, 8, ["options", "sdk-options"])
32000
32224
  ], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
32001
- vue.createVNode(_sfc_main$j, {
32002
- emptyResultsLabel: (_b25 = _ctx.options.labels) == null ? void 0 : _b25.emptyResults,
32003
- currentQueryText: vue.unref(currentQueryText),
32004
- hasSimilarQueries: hasSimilarQueries.value || hasSimilarResults.value,
32005
- zeroResults: (_c = _ctx.options) == null ? void 0 : _c.zeroResults
32006
- }, null, 8, ["emptyResultsLabel", "currentQueryText", "hasSimilarQueries", "zeroResults"])
32225
+ vue.createVNode(_sfc_main$k, {
32226
+ "empty-results-label": (_c = _ctx.options.labels) == null ? void 0 : _c.emptyResults,
32227
+ "current-query-text": vue.unref(currentQueryText),
32228
+ "has-similar-queries": hasSimilarQueries.value || hasSimilarResults.value,
32229
+ "zero-results": (_d = _ctx.options) == null ? void 0 : _d.zeroResults
32230
+ }, null, 8, ["empty-results-label", "current-query-text", "has-similar-queries", "zero-results"])
32007
32231
  ])) : vue.createCommentVNode("", true),
32008
- vue.createVNode(_sfc_main$m, {
32232
+ vue.createVNode(_sfc_main$n, {
32009
32233
  labels: _ctx.options.labels
32010
32234
  }, null, 8, ["labels"]),
32011
32235
  hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
32012
- vue.createVNode(_sfc_main$u, {
32236
+ vue.createVNode(_sfc_main$v, {
32013
32237
  labels: similarQueriesLabels.value,
32014
- columnSize: columnSize.value,
32015
- productCardOptions: productCardOptions.value
32016
- }, null, 8, ["labels", "columnSize", "productCardOptions"])
32238
+ "column-size": columnSize.value,
32239
+ "product-card-options": productCardOptions.value
32240
+ }, null, 8, ["labels", "column-size", "product-card-options"])
32017
32241
  ])) : vue.createCommentVNode("", true),
32018
32242
  hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
32019
- vue.createVNode(_sfc_main$q, {
32243
+ vue.createVNode(_sfc_main$r, {
32020
32244
  labels: similarResultsLabels.value,
32021
- columnSize: columnSize.value,
32022
- productCardOptions: productCardOptions.value
32023
- }, null, 8, ["labels", "columnSize", "productCardOptions"])
32245
+ "column-size": columnSize.value,
32246
+ "product-card-options": productCardOptions.value
32247
+ }, null, 8, ["labels", "column-size", "product-card-options"])
32024
32248
  ])) : vue.createCommentVNode("", true),
32025
32249
  vue.renderSlot(_ctx.$slots, "append")
32026
32250
  ]);
@@ -32095,7 +32319,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
32095
32319
  ])) : vue.createCommentVNode("", true),
32096
32320
  hasRelatedCategoryChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
32097
32321
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relatedCategoryChildren), (child) => {
32098
- return vue.openBlock(), vue.createBlock(_sfc_main$13, {
32322
+ return vue.openBlock(), vue.createBlock(_sfc_main$14, {
32099
32323
  key: getCategoryKey(child),
32100
32324
  item: child,
32101
32325
  options: categoryOptions.value
@@ -32529,8 +32753,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32529
32753
  class: vue.normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !vue.unref(hasResults) }])
32530
32754
  }, [
32531
32755
  _ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
32532
- vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32533
- vue.createVNode(_sfc_main$16, {
32756
+ vue.createVNode(_sfc_main$1c, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32757
+ vue.createVNode(_sfc_main$17, {
32534
32758
  "show-summary": true,
32535
32759
  options: _ctx.options,
32536
32760
  "is-product-list": (_a25 = _ctx.isProductList) != null ? _a25 : false
@@ -32540,13 +32764,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32540
32764
  key: 1,
32541
32765
  options: _ctx.options
32542
32766
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
32543
- _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$R, {
32767
+ _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
32544
32768
  key: 2,
32545
32769
  options: _ctx.options.filters,
32546
32770
  onFilter: handleParamsChange
32547
32771
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
32548
32772
  _ctx.options.sort ? (vue.openBlock(), vue.createBlock(_sfc_main$f, { key: 3 })) : vue.createCommentVNode("", true),
32549
- vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
32773
+ vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$R, {
32550
32774
  key: 4,
32551
32775
  breadcrumbs: _ctx.options.breadcrumbs
32552
32776
  }, null, 8, ["breadcrumbs"])) : vue.createCommentVNode("", true),
@@ -32555,7 +32779,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32555
32779
  id: "lupa-search-results",
32556
32780
  class: vue.normalizeClass(["top-layout-wrapper", indicatorClasses.value])
32557
32781
  }, [
32558
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
32782
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
32559
32783
  key: 0,
32560
32784
  options: (_b25 = _ctx.options.filters) != null ? _b25 : {},
32561
32785
  ref_key: "searchResultsFilters",
@@ -32563,8 +32787,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32563
32787
  onFilter: handleParamsChange
32564
32788
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
32565
32789
  vue.createElementVNode("div", _hoisted_2$8, [
32566
- vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32567
- vue.createVNode(_sfc_main$16, {
32790
+ vue.createVNode(_sfc_main$1c, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32791
+ vue.createVNode(_sfc_main$17, {
32568
32792
  options: _ctx.options,
32569
32793
  "is-product-list": (_c = _ctx.isProductList) != null ? _c : false
32570
32794
  }, null, 8, ["options", "is-product-list"]),
@@ -32580,8 +32804,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32580
32804
  }, 8, ["options", "ssr"])
32581
32805
  ])
32582
32806
  ], 2)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 6 }, [
32583
- vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32584
- vue.createVNode(_sfc_main$16, {
32807
+ vue.createVNode(_sfc_main$1c, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32808
+ vue.createVNode(_sfc_main$17, {
32585
32809
  options: _ctx.options,
32586
32810
  "is-product-list": (_d = _ctx.isProductList) != null ? _d : false
32587
32811
  }, null, 8, ["options", "is-product-list"]),
@@ -32589,7 +32813,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32589
32813
  id: "lupa-search-results",
32590
32814
  class: vue.normalizeClass(indicatorClasses.value)
32591
32815
  }, [
32592
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
32816
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
32593
32817
  key: 0,
32594
32818
  options: (_e = _ctx.options.filters) != null ? _e : {},
32595
32819
  ref_key: "searchResultsFilters",
@@ -32740,7 +32964,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
32740
32964
  onClick: vue.withModifiers(innerClick, ["stop"])
32741
32965
  }, [
32742
32966
  vue.createElementVNode("div", _hoisted_1$a, [
32743
- vue.createVNode(_sfc_main$19, {
32967
+ vue.createVNode(_sfc_main$1d, {
32744
32968
  options: fullSearchBoxOptions.value,
32745
32969
  "is-search-container": true,
32746
32970
  ref_key: "searchBox",
@@ -34395,7 +34619,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
34395
34619
  key: getProductKeyAction(index, product)
34396
34620
  }, {
34397
34621
  default: vue.withCtx(() => [
34398
- vue.createVNode(_sfc_main$v, {
34622
+ vue.createVNode(_sfc_main$w, {
34399
34623
  product,
34400
34624
  options: _ctx.options,
34401
34625
  "click-tracking-settings": clickTrackingSettings.value,
@@ -34410,7 +34634,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
34410
34634
  _: 1
34411
34635
  }, 16, ["wrap-around"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
34412
34636
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(recommendations.value, (product, index) => {
34413
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
34637
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
34414
34638
  style: vue.normalizeStyle(columnSize.value),
34415
34639
  key: getProductKeyAction(index, product),
34416
34640
  product,
@@ -34656,7 +34880,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
34656
34880
  vue.createElementVNode("a", {
34657
34881
  href: getLink(product)
34658
34882
  }, [
34659
- vue.createVNode(_sfc_main$G, {
34883
+ vue.createVNode(_sfc_main$H, {
34660
34884
  item: product,
34661
34885
  options: image.value
34662
34886
  }, null, 8, ["item", "options"])
@@ -34821,7 +35045,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
34821
35045
  return (_ctx, _cache) => {
34822
35046
  return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$3, [
34823
35047
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
34824
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
35048
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
34825
35049
  class: "lupa-chat-product-card",
34826
35050
  key: getProductKeyAction(index, product),
34827
35051
  product,
@@ -35155,7 +35379,7 @@ exports.DocumentElementType = DocumentElementType;
35155
35379
  exports.LupaSearch = LupaSearch;
35156
35380
  exports.ProductList = _sfc_main$c;
35157
35381
  exports.Recommendations = _sfc_main$a;
35158
- exports.SearchBox = _sfc_main$19;
35382
+ exports.SearchBox = _sfc_main$1d;
35159
35383
  exports.SearchBoxPanelType = SearchBoxPanelType;
35160
35384
  exports.SearchContainer = _sfc_main$b;
35161
35385
  exports.SearchResults = _sfc_main$e;