@getlupa/vue 0.24.2 → 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,
@@ -23692,11 +23700,14 @@ const getDynamicAttributes = (dynamicAttributes = [], document2 = {}) => {
23692
23700
  }
23693
23701
  return parsedAttributes;
23694
23702
  };
23695
- const getFieldValue = (doc, field = "") => {
23703
+ const getFieldValue = (doc, field = "", matchLiteral) => {
23696
23704
  var _a25;
23697
23705
  if (typeof field === "number") {
23698
23706
  return +field;
23699
23707
  }
23708
+ if (matchLiteral) {
23709
+ return field;
23710
+ }
23700
23711
  const value = (_a25 = field == null ? void 0 : field.split(".")) == null ? void 0 : _a25.reduce((obj, key) => obj ? obj[key] : void 0, doc);
23701
23712
  if (+value) {
23702
23713
  return +value;
@@ -23720,32 +23731,32 @@ const processDisplayCondition = (displayCondition, doc = {}) => {
23720
23731
  case "equals": {
23721
23732
  if (fields.length < 2) return false;
23722
23733
  const [field1, field2] = fields;
23723
- return getFieldValue(doc, field1) === getFieldValue(doc, field2);
23734
+ return getFieldValue(doc, field1) === getFieldValue(doc, field2, displayCondition.matchLiteral);
23724
23735
  }
23725
23736
  case "notEquals": {
23726
23737
  if (fields.length < 2) return false;
23727
23738
  const [field1, field2] = fields;
23728
- return getFieldValue(doc, field1) !== getFieldValue(doc, field2);
23739
+ return getFieldValue(doc, field1) !== getFieldValue(doc, field2, displayCondition.matchLiteral);
23729
23740
  }
23730
23741
  case "greaterThan": {
23731
23742
  if (fields.length < 2) return false;
23732
23743
  const [field1, field2] = fields;
23733
- return getFieldValue(doc, field1) > getFieldValue(doc, field2);
23744
+ return getFieldValue(doc, field1) > getFieldValue(doc, field2, displayCondition.matchLiteral);
23734
23745
  }
23735
23746
  case "lessThan": {
23736
23747
  if (fields.length < 2) return false;
23737
23748
  const [field1, field2] = fields;
23738
- return getFieldValue(doc, field1) < getFieldValue(doc, field2);
23749
+ return getFieldValue(doc, field1) < getFieldValue(doc, field2, displayCondition.matchLiteral);
23739
23750
  }
23740
23751
  case "greaterThanOrEquals": {
23741
23752
  if (fields.length < 2) return false;
23742
23753
  const [field1, field2] = fields;
23743
- return getFieldValue(doc, field1) >= getFieldValue(doc, field2);
23754
+ return getFieldValue(doc, field1) >= getFieldValue(doc, field2, displayCondition.matchLiteral);
23744
23755
  }
23745
23756
  case "lessThanOrEquals": {
23746
23757
  if (fields.length < 2) return false;
23747
23758
  const [field1, field2] = fields;
23748
- return getFieldValue(doc, field1) <= getFieldValue(doc, field2);
23759
+ return getFieldValue(doc, field1) <= getFieldValue(doc, field2, displayCondition.matchLiteral);
23749
23760
  }
23750
23761
  default:
23751
23762
  return false;
@@ -23774,9 +23785,9 @@ const replaceImageWithPlaceholder = (e2, placeholder) => {
23774
23785
  targetImage.src = placeholder;
23775
23786
  }
23776
23787
  };
23777
- const _hoisted_1$1h = ["src"];
23778
- const _hoisted_2$U = ["src"];
23779
- 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({
23780
23791
  __name: "ProductImage",
23781
23792
  props: {
23782
23793
  item: {},
@@ -23918,7 +23929,7 @@ const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
23918
23929
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
23919
23930
  onError: replaceWithPlaceholder,
23920
23931
  key: finalUrl.value
23921
- }), null, 16, _hoisted_1$1h))
23932
+ }), null, 16, _hoisted_1$1j))
23922
23933
  ]),
23923
23934
  _: 1
23924
23935
  })) : (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
@@ -23926,12 +23937,12 @@ const _sfc_main$1w = /* @__PURE__ */ vue.defineComponent({
23926
23937
  class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
23927
23938
  style: styleOverride.value,
23928
23939
  src: finalMainImageUrl.value
23929
- }, { 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))
23930
23941
  ], 38);
23931
23942
  };
23932
23943
  }
23933
23944
  });
23934
- const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
23945
+ const _sfc_main$1z = /* @__PURE__ */ vue.defineComponent({
23935
23946
  __name: "SearchBoxProductImage",
23936
23947
  props: {
23937
23948
  item: {},
@@ -23939,7 +23950,7 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
23939
23950
  },
23940
23951
  setup(__props) {
23941
23952
  return (_ctx, _cache) => {
23942
- return vue.openBlock(), vue.createBlock(_sfc_main$1w, {
23953
+ return vue.openBlock(), vue.createBlock(_sfc_main$1A, {
23943
23954
  item: _ctx.item,
23944
23955
  options: _ctx.options,
23945
23956
  "wrapper-class": "lupa-search-box-image-wrapper",
@@ -23948,12 +23959,12 @@ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
23948
23959
  };
23949
23960
  }
23950
23961
  });
23951
- const _hoisted_1$1g = ["innerHTML"];
23952
- const _hoisted_2$T = {
23962
+ const _hoisted_1$1i = ["innerHTML"];
23963
+ const _hoisted_2$U = {
23953
23964
  key: 1,
23954
23965
  class: "lupa-search-box-product-title"
23955
23966
  };
23956
- const _sfc_main$1u = /* @__PURE__ */ vue.defineComponent({
23967
+ const _sfc_main$1y = /* @__PURE__ */ vue.defineComponent({
23957
23968
  __name: "SearchBoxProductTitle",
23958
23969
  props: {
23959
23970
  item: {},
@@ -23976,18 +23987,18 @@ const _sfc_main$1u = /* @__PURE__ */ vue.defineComponent({
23976
23987
  key: 0,
23977
23988
  class: "lupa-search-box-product-title",
23978
23989
  innerHTML: sanitizedTitle.value
23979
- }, 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, [
23980
23991
  vue.createElementVNode("strong", null, vue.toDisplayString(title.value), 1)
23981
23992
  ]));
23982
23993
  };
23983
23994
  }
23984
23995
  });
23985
- const _hoisted_1$1f = ["innerHTML"];
23986
- const _hoisted_2$S = {
23996
+ const _hoisted_1$1h = ["innerHTML"];
23997
+ const _hoisted_2$T = {
23987
23998
  key: 1,
23988
23999
  class: "lupa-search-box-product-description"
23989
24000
  };
23990
- const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
24001
+ const _sfc_main$1x = /* @__PURE__ */ vue.defineComponent({
23991
24002
  __name: "SearchBoxProductDescription",
23992
24003
  props: {
23993
24004
  item: {},
@@ -24010,12 +24021,12 @@ const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
24010
24021
  key: 0,
24011
24022
  class: "lupa-search-box-product-description",
24012
24023
  innerHTML: sanitizedDescription.value
24013
- }, 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));
24014
24025
  };
24015
24026
  }
24016
24027
  });
24017
- const _hoisted_1$1e = { class: "lupa-search-box-product-price" };
24018
- 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({
24019
24030
  __name: "SearchBoxProductPrice",
24020
24031
  props: {
24021
24032
  item: {},
@@ -24037,13 +24048,13 @@ const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
24037
24048
  );
24038
24049
  });
24039
24050
  return (_ctx, _cache) => {
24040
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1e, [
24051
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1g, [
24041
24052
  vue.createElementVNode("strong", null, vue.toDisplayString(price.value), 1)
24042
24053
  ]);
24043
24054
  };
24044
24055
  }
24045
24056
  });
24046
- const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
24057
+ const _sfc_main$1v = /* @__PURE__ */ vue.defineComponent({
24047
24058
  __name: "SearchBoxProductRegularPrice",
24048
24059
  props: {
24049
24060
  item: {},
@@ -24074,12 +24085,12 @@ const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent({
24074
24085
  };
24075
24086
  }
24076
24087
  });
24077
- const _hoisted_1$1d = ["innerHTML"];
24078
- const _hoisted_2$R = { key: 0 };
24088
+ const _hoisted_1$1f = ["innerHTML"];
24089
+ const _hoisted_2$S = { key: 0 };
24079
24090
  const _hoisted_3$D = { key: 1 };
24080
24091
  const _hoisted_4$s = { class: "lupa-search-box-custom-label" };
24081
24092
  const _hoisted_5$i = { class: "lupa-search-box-custom-text" };
24082
- const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24093
+ const _sfc_main$1u = /* @__PURE__ */ vue.defineComponent({
24083
24094
  __name: "SearchBoxProductCustom",
24084
24095
  props: {
24085
24096
  item: {},
@@ -24105,11 +24116,11 @@ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24105
24116
  key: 0,
24106
24117
  class: [className.value, "lupa-search-box-product-custom"],
24107
24118
  innerHTML: text.value
24108
- }, 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({
24109
24120
  key: 1,
24110
24121
  class: [className.value, "lupa-search-box-product-custom"]
24111
24122
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
24112
- !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, [
24113
24124
  vue.createElementVNode("div", _hoisted_4$s, vue.toDisplayString(label.value), 1),
24114
24125
  vue.createElementVNode("div", _hoisted_5$i, vue.toDisplayString(text.value), 1)
24115
24126
  ]))
@@ -24117,8 +24128,8 @@ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24117
24128
  };
24118
24129
  }
24119
24130
  });
24120
- const _hoisted_1$1c = ["innerHTML"];
24121
- const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
24131
+ const _hoisted_1$1e = ["innerHTML"];
24132
+ const _sfc_main$1t = /* @__PURE__ */ vue.defineComponent({
24122
24133
  __name: "SearchBoxProductCustomHtml",
24123
24134
  props: {
24124
24135
  item: {},
@@ -24143,7 +24154,7 @@ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
24143
24154
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
24144
24155
  class: className.value,
24145
24156
  innerHTML: text.value
24146
- }, 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);
24147
24158
  };
24148
24159
  }
24149
24160
  });
@@ -24482,6 +24493,7 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24482
24493
  relatedQueriesApiEnabled,
24483
24494
  lastResultsSource,
24484
24495
  relatedQueryFacetKeys,
24496
+ loadingRelatedQueries,
24485
24497
  setSidebarState,
24486
24498
  queryFacet,
24487
24499
  setLastRequestId,
@@ -24498,12 +24510,12 @@ const useSearchResultStore = /* @__PURE__ */ defineStore("searchResult", () => {
24498
24510
  setRelatedQueriesApiEnabled
24499
24511
  };
24500
24512
  });
24501
- const _hoisted_1$1b = { class: "lupa-search-box-add-to-cart-wrapper" };
24502
- 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" };
24503
24515
  const _hoisted_3$C = ["disabled"];
24504
24516
  const _hoisted_4$r = ["href"];
24505
24517
  const _hoisted_5$h = ["disabled"];
24506
- const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24518
+ const _sfc_main$1s = /* @__PURE__ */ vue.defineComponent({
24507
24519
  __name: "SearchBoxProductAddToCart",
24508
24520
  props: {
24509
24521
  item: {},
@@ -24549,8 +24561,8 @@ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24549
24561
  return Boolean(props.link && props.options.link);
24550
24562
  });
24551
24563
  return (_ctx, _cache) => {
24552
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1b, [
24553
- vue.createElementVNode("div", _hoisted_2$Q, [
24564
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1d, [
24565
+ vue.createElementVNode("div", _hoisted_2$R, [
24554
24566
  hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
24555
24567
  key: 0,
24556
24568
  class: addToCartButtonClass.value,
@@ -24571,23 +24583,23 @@ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24571
24583
  };
24572
24584
  }
24573
24585
  });
24574
- const _hoisted_1$1a = {
24586
+ const _hoisted_1$1c = {
24575
24587
  key: 1,
24576
24588
  class: "lupa-search-box-element-badge-wrapper"
24577
24589
  };
24578
24590
  const __default__$4 = {
24579
24591
  components: {
24580
- SearchBoxProductImage: _sfc_main$1v,
24581
- SearchBoxProductTitle: _sfc_main$1u,
24582
- SearchBoxProductDescription: _sfc_main$1t,
24583
- SearchBoxProductPrice: _sfc_main$1s,
24584
- SearchBoxProductRegularPrice: _sfc_main$1r,
24585
- SearchBoxProductCustom: _sfc_main$1q,
24586
- SearchBoxProductCustomHtml: _sfc_main$1p,
24587
- 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
24588
24600
  }
24589
24601
  };
24590
- const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
24602
+ const _sfc_main$1r = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
24591
24603
  __name: "SearchBoxProductElement",
24592
24604
  props: {
24593
24605
  item: {},
@@ -24659,7 +24671,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
24659
24671
  "dynamic-attributes": dynamicAttributes.value,
24660
24672
  link: _ctx.link
24661
24673
  }, renderDynamicAttributesOnParentElement.value && dynamicAttributes.value), null, 16, ["item", "options", "labels", "class", "inStock", "dynamic-attributes", "link"])) : vue.createCommentVNode("", true)
24662
- ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1a, [
24674
+ ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1c, [
24663
24675
  displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
24664
24676
  key: 0,
24665
24677
  item: enhancedItem.value,
@@ -24674,14 +24686,14 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
24674
24686
  };
24675
24687
  }
24676
24688
  }));
24677
- const _hoisted_1$19 = { class: "lupa-badge-title" };
24678
- const _hoisted_2$P = ["src"];
24689
+ const _hoisted_1$1b = { class: "lupa-badge-title" };
24690
+ const _hoisted_2$Q = ["src"];
24679
24691
  const _hoisted_3$B = { key: 1 };
24680
24692
  const _hoisted_4$q = {
24681
24693
  key: 0,
24682
24694
  class: "lupa-badge-full-text"
24683
24695
  };
24684
- const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
24696
+ const _sfc_main$1q = /* @__PURE__ */ vue.defineComponent({
24685
24697
  __name: "SearchResultGeneratedBadge",
24686
24698
  props: {
24687
24699
  options: {},
@@ -24714,11 +24726,11 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
24714
24726
  class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
24715
24727
  style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
24716
24728
  }, [
24717
- vue.createElementVNode("span", _hoisted_1$19, [
24729
+ vue.createElementVNode("span", _hoisted_1$1b, [
24718
24730
  image.value ? (vue.openBlock(), vue.createElementBlock("img", {
24719
24731
  key: 0,
24720
24732
  src: image.value
24721
- }, null, 8, _hoisted_2$P)) : vue.createCommentVNode("", true),
24733
+ }, null, 8, _hoisted_2$Q)) : vue.createCommentVNode("", true),
24722
24734
  hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$B, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
24723
24735
  ]),
24724
24736
  hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$q, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
@@ -24726,8 +24738,8 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
24726
24738
  };
24727
24739
  }
24728
24740
  });
24729
- const _hoisted_1$18 = { class: "lupa-generated-badges" };
24730
- const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24741
+ const _hoisted_1$1a = { class: "lupa-generated-badges" };
24742
+ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
24731
24743
  __name: "SearchResultGeneratedBadges",
24732
24744
  props: {
24733
24745
  options: {}
@@ -24753,9 +24765,9 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24753
24765
  })).filter((b) => Boolean(b.id));
24754
24766
  });
24755
24767
  return (_ctx, _cache) => {
24756
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
24768
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1a, [
24757
24769
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
24758
- return vue.openBlock(), vue.createBlock(_sfc_main$1m, {
24770
+ return vue.openBlock(), vue.createBlock(_sfc_main$1q, {
24759
24771
  key: badge.id,
24760
24772
  badge,
24761
24773
  options: _ctx.options
@@ -24765,8 +24777,8 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24765
24777
  };
24766
24778
  }
24767
24779
  });
24768
- const _hoisted_1$17 = ["innerHTML"];
24769
- const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
24780
+ const _hoisted_1$19 = ["innerHTML"];
24781
+ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
24770
24782
  __name: "CustomBadge",
24771
24783
  props: {
24772
24784
  badge: {}
@@ -24787,12 +24799,12 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
24787
24799
  return vue.openBlock(), vue.createElementBlock("div", {
24788
24800
  class: vue.normalizeClass(className.value),
24789
24801
  innerHTML: text.value
24790
- }, null, 10, _hoisted_1$17);
24802
+ }, null, 10, _hoisted_1$19);
24791
24803
  };
24792
24804
  }
24793
24805
  });
24794
- const _hoisted_1$16 = { class: "lupa-text-badges" };
24795
- const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
24806
+ const _hoisted_1$18 = { class: "lupa-text-badges" };
24807
+ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
24796
24808
  __name: "TextBadge",
24797
24809
  props: {
24798
24810
  badge: {}
@@ -24806,7 +24818,7 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
24806
24818
  return badges.value.slice(0, props.badge.maxItems);
24807
24819
  });
24808
24820
  return (_ctx, _cache) => {
24809
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$16, [
24821
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
24810
24822
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
24811
24823
  return vue.openBlock(), vue.createElementBlock("div", {
24812
24824
  class: "lupa-badge lupa-text-badge",
@@ -24817,9 +24829,9 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
24817
24829
  };
24818
24830
  }
24819
24831
  });
24820
- const _hoisted_1$15 = { class: "lupa-image-badges" };
24821
- const _hoisted_2$O = ["src"];
24822
- 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({
24823
24835
  __name: "ImageBadge",
24824
24836
  props: {
24825
24837
  badge: {}
@@ -24839,7 +24851,7 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
24839
24851
  return `${props.badge.rootImageUrl}${src}`;
24840
24852
  };
24841
24853
  return (_ctx, _cache) => {
24842
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, [
24854
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$17, [
24843
24855
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
24844
24856
  return vue.openBlock(), vue.createElementBlock("div", {
24845
24857
  class: "lupa-badge lupa-image-badge",
@@ -24847,14 +24859,14 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
24847
24859
  }, [
24848
24860
  vue.createElementVNode("img", {
24849
24861
  src: getImageUrl(item)
24850
- }, null, 8, _hoisted_2$O)
24862
+ }, null, 8, _hoisted_2$P)
24851
24863
  ]);
24852
24864
  }), 128))
24853
24865
  ]);
24854
24866
  };
24855
24867
  }
24856
24868
  });
24857
- const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
24869
+ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
24858
24870
  __name: "DiscountBadge",
24859
24871
  props: {
24860
24872
  badge: {}
@@ -24916,16 +24928,16 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
24916
24928
  };
24917
24929
  }
24918
24930
  });
24919
- const _hoisted_1$14 = { id: "lupa-search-results-badges" };
24931
+ const _hoisted_1$16 = { id: "lupa-search-results-badges" };
24920
24932
  const __default__$3 = {
24921
24933
  components: {
24922
- CustomBadge: _sfc_main$1k,
24923
- TextBadge: _sfc_main$1j,
24924
- ImageBadge: _sfc_main$1i,
24925
- DiscountBadge: _sfc_main$1h
24934
+ CustomBadge: _sfc_main$1o,
24935
+ TextBadge: _sfc_main$1n,
24936
+ ImageBadge: _sfc_main$1m,
24937
+ DiscountBadge: _sfc_main$1l
24926
24938
  }
24927
24939
  };
24928
- const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
24940
+ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
24929
24941
  __name: "SearchResultsBadgeWrapper",
24930
24942
  props: {
24931
24943
  position: {},
@@ -24988,7 +25000,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
24988
25000
  }
24989
25001
  };
24990
25002
  return (_ctx, _cache) => {
24991
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
25003
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$16, [
24992
25004
  vue.createElementVNode("div", {
24993
25005
  id: "lupa-badges",
24994
25006
  class: vue.normalizeClass(anchorPosition.value)
@@ -24999,7 +25011,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
24999
25011
  badge
25000
25012
  }, null, 8, ["badge"]);
25001
25013
  }), 128)),
25002
- positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$1l, {
25014
+ positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$1p, {
25003
25015
  key: 0,
25004
25016
  options: _ctx.options
25005
25017
  }, null, 8, ["options"])) : vue.createCommentVNode("", true)
@@ -25008,13 +25020,13 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25008
25020
  };
25009
25021
  }
25010
25022
  }));
25011
- const _hoisted_1$13 = ["href"];
25012
- 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" };
25013
25025
  const _hoisted_3$A = {
25014
25026
  key: 0,
25015
25027
  class: "lupa-search-box-product-add-to-cart-section"
25016
25028
  };
25017
- const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25029
+ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
25018
25030
  __name: "SearchBoxProduct",
25019
25031
  props: {
25020
25032
  item: {},
@@ -25120,7 +25132,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25120
25132
  style: vue.normalizeStyle(imageStyleOverride.value)
25121
25133
  }, [
25122
25134
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
25123
- return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
25135
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
25124
25136
  class: "lupa-search-box-product-element",
25125
25137
  key: element.key,
25126
25138
  item: _ctx.item,
@@ -25130,10 +25142,10 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25130
25142
  }, null, 8, ["item", "element", "labels", "link"]);
25131
25143
  }), 128))
25132
25144
  ], 4),
25133
- vue.createElementVNode("div", _hoisted_2$N, [
25145
+ vue.createElementVNode("div", _hoisted_2$O, [
25134
25146
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
25135
25147
  var _a25;
25136
- return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
25148
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
25137
25149
  class: "lupa-search-box-product-element",
25138
25150
  key: element.key,
25139
25151
  item: _ctx.item,
@@ -25144,7 +25156,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25144
25156
  ((_a25 = badgeOptions.value) == null ? void 0 : _a25.anchorElementKey) === element.key ? {
25145
25157
  name: "badges",
25146
25158
  fn: vue.withCtx(() => [
25147
- vue.createVNode(_sfc_main$1g, {
25159
+ vue.createVNode(_sfc_main$1k, {
25148
25160
  options: badgeOptions.value,
25149
25161
  position: "card"
25150
25162
  }, null, 8, ["options"])
@@ -25160,7 +25172,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25160
25172
  class: vue.normalizeClass(`lupa-search-box-group-${group}`)
25161
25173
  }, [
25162
25174
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
25163
- return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
25175
+ return vue.openBlock(), vue.createBlock(_sfc_main$1r, {
25164
25176
  class: "lupa-search-box-product-element",
25165
25177
  key: element.key,
25166
25178
  item: _ctx.item,
@@ -25173,7 +25185,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25173
25185
  ], 2);
25174
25186
  }), 128)),
25175
25187
  addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
25176
- vue.createVNode(_sfc_main$1n, {
25188
+ vue.createVNode(_sfc_main$1r, {
25177
25189
  class: "lupa-search-box-product-element",
25178
25190
  item: _ctx.item,
25179
25191
  element: addToCartElement.value,
@@ -25182,7 +25194,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25182
25194
  isInStock: isInStock.value
25183
25195
  }, null, 8, ["item", "element", "labels", "link", "isInStock"])
25184
25196
  ])) : vue.createCommentVNode("", true)
25185
- ], 16, _hoisted_1$13);
25197
+ ], 16, _hoisted_1$15);
25186
25198
  };
25187
25199
  }
25188
25200
  });
@@ -25254,8 +25266,8 @@ const useTrackingStore = /* @__PURE__ */ defineStore("tracking", () => {
25254
25266
  };
25255
25267
  return { trackSearch, trackResults, trackEvent, trackDelayedEvent };
25256
25268
  });
25257
- const _hoisted_1$12 = ["innerHTML"];
25258
- const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25269
+ const _hoisted_1$14 = ["innerHTML"];
25270
+ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
25259
25271
  __name: "SearchBoxProducts",
25260
25272
  props: {
25261
25273
  items: {},
@@ -25366,7 +25378,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25366
25378
  itemClicked: handleProductClick
25367
25379
  });
25368
25380
  }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(displayItems.value, (item, index) => {
25369
- return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
25381
+ return vue.openBlock(), vue.createBlock(_sfc_main$1j, {
25370
25382
  key: index,
25371
25383
  item,
25372
25384
  panelOptions: _ctx.panelOptions,
@@ -25379,7 +25391,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25379
25391
  hasResults.value && ((_a25 = _ctx.panelOptions) == null ? void 0 : _a25.appendCustomHtml) && (showAll.value || !showAllItemsToggleButton.value) ? (vue.openBlock(), vue.createElementBlock("div", {
25380
25392
  key: 2,
25381
25393
  innerHTML: _ctx.panelOptions.appendCustomHtml
25382
- }, null, 8, _hoisted_1$12)) : vue.createCommentVNode("", true),
25394
+ }, null, 8, _hoisted_1$14)) : vue.createCommentVNode("", true),
25383
25395
  showAllItemsToggleButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
25384
25396
  key: 3,
25385
25397
  class: "lupa-search-box-expand",
@@ -25390,9 +25402,9 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
25390
25402
  };
25391
25403
  }
25392
25404
  });
25393
- const _hoisted_1$11 = { class: "lupa-search-box-documents-go-to-results-wrapper" };
25394
- const _hoisted_2$M = { key: 0 };
25395
- 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({
25396
25408
  __name: "SearchBoxProductsGoToResultsButton",
25397
25409
  props: {
25398
25410
  options: {},
@@ -25423,13 +25435,13 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
25423
25435
  emit("goToResults");
25424
25436
  };
25425
25437
  return (_ctx, _cache) => {
25426
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
25438
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$13, [
25427
25439
  vue.createElementVNode("button", {
25428
25440
  class: "lupa-search-box-documents-go-to-results-button",
25429
25441
  onClick: goToResults
25430
25442
  }, [
25431
25443
  vue.createTextVNode(vue.toDisplayString(goToResultsLabel.value) + " ", 1),
25432
- 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)
25433
25445
  ])
25434
25446
  ]);
25435
25447
  };
@@ -25525,7 +25537,7 @@ const processExtractionObject = (value = {}) => {
25525
25537
  }
25526
25538
  return parsedObject;
25527
25539
  };
25528
- const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25540
+ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
25529
25541
  __name: "SearchBoxProductsWrapper",
25530
25542
  props: {
25531
25543
  panel: {},
@@ -25596,7 +25608,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25596
25608
  vue.watch(() => props.panel.limit, getItemsDebounced);
25597
25609
  return (_ctx, _cache) => {
25598
25610
  var _a25, _b25;
25599
- return vue.openBlock(), vue.createBlock(_sfc_main$1e, {
25611
+ return vue.openBlock(), vue.createBlock(_sfc_main$1i, {
25600
25612
  items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
25601
25613
  panelOptions: _ctx.panel,
25602
25614
  labels: _ctx.labels,
@@ -25606,7 +25618,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25606
25618
  default: vue.withCtx(() => {
25607
25619
  var _a26;
25608
25620
  return [
25609
- 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, {
25610
25622
  key: 0,
25611
25623
  options: _ctx.searchBoxOptions,
25612
25624
  panel: _ctx.panel,
@@ -25627,7 +25639,7 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
25627
25639
  };
25628
25640
  }
25629
25641
  });
25630
- const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
25642
+ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
25631
25643
  __name: "SearchBoxRelatedSourceWrapper",
25632
25644
  props: {
25633
25645
  panel: {},
@@ -25699,7 +25711,7 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
25699
25711
  });
25700
25712
  return (_ctx, _cache) => {
25701
25713
  var _a25, _b25;
25702
- return vue.openBlock(), vue.createBlock(_sfc_main$1e, {
25714
+ return vue.openBlock(), vue.createBlock(_sfc_main$1i, {
25703
25715
  items: (_b25 = (_a25 = searchResult.value) == null ? void 0 : _a25.items) != null ? _b25 : [],
25704
25716
  panelOptions: documentPanelOptions.value,
25705
25717
  labels: _ctx.labels,
@@ -25717,8 +25729,8 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
25717
25729
  };
25718
25730
  }
25719
25731
  });
25720
- const _hoisted_1$10 = ["data-cy"];
25721
- const _hoisted_2$L = {
25732
+ const _hoisted_1$12 = ["data-cy"];
25733
+ const _hoisted_2$M = {
25722
25734
  key: 0,
25723
25735
  class: "lupa-panel-title lupa-panel-title-top-results"
25724
25736
  };
@@ -25728,12 +25740,12 @@ const _hoisted_3$z = {
25728
25740
  };
25729
25741
  const __default__$2 = {
25730
25742
  components: {
25731
- SearchBoxSuggestionsWrapper: _sfc_main$1x,
25732
- SearchBoxProductsWrapper: _sfc_main$1c,
25733
- SearchBoxRelatedSourceWrapper: _sfc_main$1b
25743
+ SearchBoxSuggestionsWrapper: _sfc_main$1B,
25744
+ SearchBoxProductsWrapper: _sfc_main$1g,
25745
+ SearchBoxRelatedSourceWrapper: _sfc_main$1f
25734
25746
  }
25735
25747
  };
25736
- const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
25748
+ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
25737
25749
  __name: "SearchBoxMainPanel",
25738
25750
  props: {
25739
25751
  options: {},
@@ -25924,7 +25936,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25924
25936
  style: vue.normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
25925
25937
  "data-cy": "lupa-panel-" + panel.type + "-index"
25926
25938
  }, [
25927
- ((_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),
25928
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),
25929
25941
  panel.queryKey && canShowPanel(panel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getComponent(panel.type)), {
25930
25942
  key: 2,
@@ -25947,14 +25959,14 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25947
25959
  key: "0"
25948
25960
  } : void 0
25949
25961
  ]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : vue.createCommentVNode("", true)
25950
- ], 14, _hoisted_1$10);
25962
+ ], 14, _hoisted_1$12);
25951
25963
  }), 128))
25952
25964
  ], 4),
25953
- !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, {
25954
25966
  key: 1,
25955
25967
  options: _ctx.options
25956
25968
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
25957
- displayShowMoreResultsButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1D, {
25969
+ displayShowMoreResultsButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1H, {
25958
25970
  key: 2,
25959
25971
  labels: labels.value,
25960
25972
  options: _ctx.options,
@@ -25965,7 +25977,7 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
25965
25977
  id: "lupa-search-box-panel",
25966
25978
  class: vue.normalizeClass({ "lupa-search-text-empty": isSearchEmpty.value })
25967
25979
  }, [
25968
- vue.createVNode(_sfc_main$1B, {
25980
+ vue.createVNode(_sfc_main$1F, {
25969
25981
  options: _ctx.options.history,
25970
25982
  history: history.value,
25971
25983
  onGoToResults: handleGoToResults,
@@ -25990,8 +26002,8 @@ const unbindSearchTriggers = (triggers = [], event) => {
25990
26002
  const elements = getElements(triggers);
25991
26003
  elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
25992
26004
  };
25993
- const _hoisted_1$$ = { class: "lupa-search-box-wrapper" };
25994
- 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({
25995
26007
  __name: "SearchBox",
25996
26008
  props: {
25997
26009
  options: {},
@@ -26330,8 +26342,8 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
26330
26342
  id: "lupa-search-box",
26331
26343
  class: vue.normalizeClass({ "lupa-search-box-opened": opened.value })
26332
26344
  }, [
26333
- vue.createElementVNode("div", _hoisted_1$$, [
26334
- vue.createVNode(_sfc_main$1E, {
26345
+ vue.createElementVNode("div", _hoisted_1$11, [
26346
+ vue.createVNode(_sfc_main$1I, {
26335
26347
  options: inputOptions.value,
26336
26348
  suggestedValue: suggestedValue.value,
26337
26349
  "can-close": (_a26 = _ctx.isSearchContainer) != null ? _a26 : false,
@@ -26344,7 +26356,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
26344
26356
  onSearch: handleSearch,
26345
26357
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
26346
26358
  }, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
26347
- opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$1a, {
26359
+ opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$1e, {
26348
26360
  key: 0,
26349
26361
  options: panelOptions.value,
26350
26362
  inputValue: inputValue.value,
@@ -26452,11 +26464,11 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
26452
26464
  options.options.onError(e2);
26453
26465
  }
26454
26466
  });
26455
- const _hoisted_1$_ = {
26467
+ const _hoisted_1$10 = {
26456
26468
  key: 0,
26457
26469
  id: "lupa-search-results-did-you-mean"
26458
26470
  };
26459
- const _hoisted_2$K = {
26471
+ const _hoisted_2$L = {
26460
26472
  key: 0,
26461
26473
  "data-cy": "suggested-search-text-label"
26462
26474
  };
@@ -26465,7 +26477,7 @@ const _hoisted_3$y = {
26465
26477
  "data-cy": "did-you-mean-label"
26466
26478
  };
26467
26479
  const _hoisted_4$p = { key: 1 };
26468
- const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
26480
+ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
26469
26481
  __name: "SearchResultsDidYouMean",
26470
26482
  props: {
26471
26483
  labels: {}
@@ -26497,8 +26509,8 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
26497
26509
  paramStore.goToResults({ searchText, facet });
26498
26510
  };
26499
26511
  return (_ctx, _cache) => {
26500
- return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
26501
- 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, [
26502
26514
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
26503
26515
  return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
26504
26516
  vue.createElementVNode("span", {
@@ -26523,12 +26535,12 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
26523
26535
  };
26524
26536
  }
26525
26537
  });
26526
- const _hoisted_1$Z = {
26538
+ const _hoisted_1$$ = {
26527
26539
  key: 0,
26528
26540
  class: "lupa-search-results-summary"
26529
26541
  };
26530
- const _hoisted_2$J = ["innerHTML"];
26531
- const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26542
+ const _hoisted_2$K = ["innerHTML"];
26543
+ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
26532
26544
  __name: "SearchResultsSummary",
26533
26545
  props: {
26534
26546
  label: {},
@@ -26543,8 +26555,8 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26543
26555
  return addParamsToLabel(props.label, range2, `<span>${totalItems.value}</span>`);
26544
26556
  });
26545
26557
  return (_ctx, _cache) => {
26546
- return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
26547
- 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),
26548
26560
  _ctx.clearable ? (vue.openBlock(), vue.createElementBlock("span", {
26549
26561
  key: 0,
26550
26562
  class: "lupa-filter-clear",
@@ -26555,7 +26567,130 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26555
26567
  };
26556
26568
  }
26557
26569
  });
26558
- 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 = {
26559
26694
  key: 0,
26560
26695
  class: "lupa-result-page-title",
26561
26696
  "data-cy": "lupa-result-page-title"
@@ -26567,7 +26702,7 @@ const _hoisted_3$x = {
26567
26702
  };
26568
26703
  const _hoisted_4$o = { class: "lupa-results-total-count-number" };
26569
26704
  const _hoisted_5$g = ["innerHTML"];
26570
- const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26705
+ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
26571
26706
  __name: "SearchResultsTitle",
26572
26707
  props: {
26573
26708
  options: {},
@@ -26577,7 +26712,10 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26577
26712
  setup(__props) {
26578
26713
  const props = __props;
26579
26714
  const searchResultStore = useSearchResultStore();
26715
+ const paramsStore = useParamsStore();
26580
26716
  const { currentQueryText, totalItems, searchResult } = storeToRefs(searchResultStore);
26717
+ const { skeletonEnabled, loading } = useLoadingSkeleton();
26718
+ const { query } = storeToRefs(paramsStore);
26581
26719
  const suggestedSearchText = vue.computed(() => searchResult.value.suggestedSearchText);
26582
26720
  const queryText = vue.computed(() => {
26583
26721
  return suggestedSearchText.value || currentQueryText.value;
@@ -26610,29 +26748,39 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26610
26748
  });
26611
26749
  return (_ctx, _cache) => {
26612
26750
  return vue.openBlock(), vue.createElementBlock("div", null, [
26613
- showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$Y, [
26614
- vue.createTextVNode(vue.toDisplayString(searchResultsTitleTemplate.value || _ctx.options.labels.searchResults), 1),
26615
- queryText.value && !searchResultsTitleTemplate.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$I, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
26616
- showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$x, [
26617
- vue.createTextVNode("(" + vue.toDisplayString(searchResultsCountLabel.value), 1),
26618
- vue.createElementVNode("span", _hoisted_4$o, vue.toDisplayString(vue.unref(totalItems)), 1),
26619
- _cache[0] || (_cache[0] = vue.createTextVNode(")"))
26620
- ])) : vue.createCommentVNode("", true)
26621
- ])) : vue.createCommentVNode("", true),
26622
- _ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$17, {
26623
- key: 1,
26624
- label: summaryLabel.value
26625
- }, null, 8, ["label"])) : vue.createCommentVNode("", true),
26626
- descriptionTop.value ? (vue.openBlock(), vue.createElementBlock("div", {
26627
- key: 2,
26628
- class: "lupa-result-page-description-top",
26629
- innerHTML: descriptionTop.value
26630
- }, 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"])
26631
26779
  ]);
26632
26780
  };
26633
26781
  }
26634
26782
  });
26635
- const _hoisted_1$X = {
26783
+ const _hoisted_1$Y = {
26636
26784
  class: "lupa-current-filter-label",
26637
26785
  "data-cy": "lupa-current-filter-label"
26638
26786
  };
@@ -26640,7 +26788,7 @@ const _hoisted_2$H = {
26640
26788
  class: "lupa-current-filter-value",
26641
26789
  "data-cy": "lupa-current-filter-value"
26642
26790
  };
26643
- const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
26791
+ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
26644
26792
  __name: "CurrentFilterDisplay",
26645
26793
  props: {
26646
26794
  filter: {}
@@ -26682,13 +26830,13 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
26682
26830
  onClick: handleClick,
26683
26831
  "aria-label": "Remove filter"
26684
26832
  }, "⨉"),
26685
- 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),
26686
26834
  vue.createElementVNode("div", _hoisted_2$H, vue.toDisplayString(formatFilterValue(props.filter)), 1)
26687
26835
  ], 2);
26688
26836
  };
26689
26837
  }
26690
26838
  });
26691
- const _hoisted_1$W = { class: "lupa-filter-title-text" };
26839
+ const _hoisted_1$X = { class: "lupa-filter-title-text" };
26692
26840
  const _hoisted_2$G = {
26693
26841
  key: 0,
26694
26842
  class: "lupa-filter-count"
@@ -26698,7 +26846,7 @@ const _hoisted_3$w = {
26698
26846
  class: "filter-values"
26699
26847
  };
26700
26848
  const _hoisted_4$n = { class: "lupa-current-filter-list" };
26701
- const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26849
+ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
26702
26850
  __name: "CurrentFilters",
26703
26851
  props: {
26704
26852
  options: {},
@@ -26778,7 +26926,7 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26778
26926
  class: "lupa-current-filter-title",
26779
26927
  onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
26780
26928
  }, [
26781
- vue.createElementVNode("div", _hoisted_1$W, [
26929
+ vue.createElementVNode("div", _hoisted_1$X, [
26782
26930
  vue.createTextVNode(vue.toDisplayString((_c = (_b25 = (_a25 = _ctx.options) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.title) != null ? _c : "") + " ", 1),
26783
26931
  _ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$G, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
26784
26932
  ]),
@@ -26790,7 +26938,7 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26790
26938
  !_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
26791
26939
  vue.createElementVNode("div", _hoisted_4$n, [
26792
26940
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter) => {
26793
- return vue.openBlock(), vue.createBlock(_sfc_main$15, {
26941
+ return vue.openBlock(), vue.createBlock(_sfc_main$16, {
26794
26942
  key: filter.key + "_" + filter.value,
26795
26943
  filter,
26796
26944
  units: units.value,
@@ -26808,8 +26956,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26808
26956
  };
26809
26957
  }
26810
26958
  });
26811
- const _hoisted_1$V = ["href"];
26812
- const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
26959
+ const _hoisted_1$W = ["href"];
26960
+ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
26813
26961
  __name: "CategoryFilterItem",
26814
26962
  props: {
26815
26963
  options: {},
@@ -26846,12 +26994,12 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
26846
26994
  "data-cy": "lupa-child-category-item",
26847
26995
  href: urlLink.value,
26848
26996
  onClick: handleNavigation
26849
- }, vue.toDisplayString(title.value), 9, _hoisted_1$V)
26997
+ }, vue.toDisplayString(title.value), 9, _hoisted_1$W)
26850
26998
  ], 2);
26851
26999
  };
26852
27000
  }
26853
27001
  });
26854
- const _hoisted_1$U = {
27002
+ const _hoisted_1$V = {
26855
27003
  class: "lupa-category-filter",
26856
27004
  "data-cy": "lupa-category-filter"
26857
27005
  };
@@ -26859,7 +27007,7 @@ const _hoisted_2$F = { class: "lupa-category-back" };
26859
27007
  const _hoisted_3$v = ["href"];
26860
27008
  const _hoisted_4$m = ["href"];
26861
27009
  const _hoisted_5$f = { class: "lupa-child-category-list" };
26862
- const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
27010
+ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
26863
27011
  __name: "CategoryFilter",
26864
27012
  props: {
26865
27013
  options: {}
@@ -26947,7 +27095,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
26947
27095
  };
26948
27096
  __expose({ fetch: fetch2 });
26949
27097
  return (_ctx, _cache) => {
26950
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
27098
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
26951
27099
  vue.createElementVNode("div", _hoisted_2$F, [
26952
27100
  hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
26953
27101
  key: 0,
@@ -26968,7 +27116,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
26968
27116
  ], 2),
26969
27117
  vue.createElementVNode("div", _hoisted_5$f, [
26970
27118
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
26971
- return vue.openBlock(), vue.createBlock(_sfc_main$13, {
27119
+ return vue.openBlock(), vue.createBlock(_sfc_main$14, {
26972
27120
  key: getCategoryKey(child),
26973
27121
  item: child,
26974
27122
  options: _ctx.options
@@ -26979,7 +27127,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
26979
27127
  };
26980
27128
  }
26981
27129
  });
26982
- const _hoisted_1$T = {
27130
+ const _hoisted_1$U = {
26983
27131
  class: "lupa-search-result-facet-term-values",
26984
27132
  "data-cy": "lupa-search-result-facet-term-values"
26985
27133
  };
@@ -26994,7 +27142,7 @@ const _hoisted_7$4 = {
26994
27142
  };
26995
27143
  const _hoisted_8$2 = { key: 0 };
26996
27144
  const _hoisted_9$2 = { key: 1 };
26997
- const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
27145
+ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
26998
27146
  __name: "TermFacet",
26999
27147
  props: {
27000
27148
  options: {},
@@ -27088,7 +27236,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
27088
27236
  }
27089
27237
  };
27090
27238
  return (_ctx, _cache) => {
27091
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
27239
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
27092
27240
  isFilterable.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
27093
27241
  key: 0,
27094
27242
  class: "lupa-term-filter",
@@ -28037,7 +28185,7 @@ const roundToMaxDecimals = (value, maxPrecision = 0.1) => {
28037
28185
  }
28038
28186
  return out;
28039
28187
  };
28040
- const _hoisted_1$S = { class: "lupa-search-result-facet-stats-values" };
28188
+ const _hoisted_1$T = { class: "lupa-search-result-facet-stats-values" };
28041
28189
  const _hoisted_2$D = {
28042
28190
  key: 0,
28043
28191
  class: "lupa-stats-facet-summary"
@@ -28066,7 +28214,7 @@ const _hoisted_14 = {
28066
28214
  key: 2,
28067
28215
  class: "lupa-stats-slider-wrapper"
28068
28216
  };
28069
- const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28217
+ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
28070
28218
  __name: "StatsFacet",
28071
28219
  props: {
28072
28220
  options: {},
@@ -28285,7 +28433,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28285
28433
  }
28286
28434
  );
28287
28435
  return (_ctx, _cache) => {
28288
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
28436
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
28289
28437
  !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$D, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$t, [
28290
28438
  vue.createElementVNode("div", _hoisted_4$k, [
28291
28439
  rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
@@ -28350,7 +28498,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28350
28498
  };
28351
28499
  }
28352
28500
  });
28353
- const _hoisted_1$R = { class: "lupa-term-checkbox-wrapper" };
28501
+ const _hoisted_1$S = { class: "lupa-term-checkbox-wrapper" };
28354
28502
  const _hoisted_2$C = { class: "lupa-term-label" };
28355
28503
  const _hoisted_3$s = {
28356
28504
  key: 0,
@@ -28360,7 +28508,7 @@ const _hoisted_4$j = {
28360
28508
  key: 0,
28361
28509
  class: "lupa-facet-level"
28362
28510
  };
28363
- const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28511
+ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
28364
28512
  __name: "HierarchyFacetLevel",
28365
28513
  props: {
28366
28514
  options: {},
@@ -28414,7 +28562,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28414
28562
  "data-cy": "lupa-facet-term",
28415
28563
  onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
28416
28564
  }, [
28417
- vue.createElementVNode("div", _hoisted_1$R, [
28565
+ vue.createElementVNode("div", _hoisted_1$S, [
28418
28566
  vue.createElementVNode("span", {
28419
28567
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
28420
28568
  }, null, 2)
@@ -28442,13 +28590,13 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28442
28590
  };
28443
28591
  }
28444
28592
  });
28445
- const _hoisted_1$Q = {
28593
+ const _hoisted_1$R = {
28446
28594
  class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
28447
28595
  "data-cy": "lupa-search-result-facet-term-values"
28448
28596
  };
28449
28597
  const _hoisted_2$B = { key: 0 };
28450
28598
  const _hoisted_3$r = ["placeholder"];
28451
- const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28599
+ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
28452
28600
  __name: "HierarchyFacet",
28453
28601
  props: {
28454
28602
  options: {},
@@ -28504,7 +28652,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28504
28652
  showAll.value = false;
28505
28653
  };
28506
28654
  return (_ctx, _cache) => {
28507
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
28655
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$R, [
28508
28656
  isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$B, [
28509
28657
  vue.withDirectives(vue.createElementVNode("input", {
28510
28658
  class: "lupa-term-filter",
@@ -28516,7 +28664,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28516
28664
  ])
28517
28665
  ])) : vue.createCommentVNode("", true),
28518
28666
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
28519
- return vue.openBlock(), vue.createBlock(_sfc_main$$, {
28667
+ return vue.openBlock(), vue.createBlock(_sfc_main$10, {
28520
28668
  key: item.title,
28521
28669
  options: _ctx.options,
28522
28670
  item,
@@ -28540,7 +28688,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
28540
28688
  };
28541
28689
  }
28542
28690
  });
28543
- const _hoisted_1$P = { class: "lupa-facet-label-text" };
28691
+ const _hoisted_1$Q = { class: "lupa-facet-label-text" };
28544
28692
  const _hoisted_2$A = {
28545
28693
  key: 0,
28546
28694
  class: "lupa-facet-content",
@@ -28548,12 +28696,12 @@ const _hoisted_2$A = {
28548
28696
  };
28549
28697
  const __default__$1 = {
28550
28698
  components: {
28551
- TermFacet: _sfc_main$11,
28552
- StatsFacet: _sfc_main$10,
28553
- HierarchyFacet: _sfc_main$_
28699
+ TermFacet: _sfc_main$12,
28700
+ StatsFacet: _sfc_main$11,
28701
+ HierarchyFacet: _sfc_main$$
28554
28702
  }
28555
28703
  };
28556
- const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
28704
+ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
28557
28705
  __name: "FacetDisplay",
28558
28706
  props: {
28559
28707
  options: {},
@@ -28700,7 +28848,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
28700
28848
  "data-cy": "lupa-search-result-facet-label",
28701
28849
  onClick: toggleFacet
28702
28850
  }, [
28703
- vue.createElementVNode("div", _hoisted_1$P, vue.toDisplayString(facetLabel.value), 1),
28851
+ vue.createElementVNode("div", _hoisted_1$Q, vue.toDisplayString(facetLabel.value), 1),
28704
28852
  vue.createElementVNode("div", {
28705
28853
  class: vue.normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
28706
28854
  }, null, 2)
@@ -28818,11 +28966,11 @@ const useSidebarToggle = () => {
28818
28966
  handleSortSidebarToggle
28819
28967
  };
28820
28968
  };
28821
- const _hoisted_1$O = {
28969
+ const _hoisted_1$P = {
28822
28970
  key: 0,
28823
28971
  class: "lupa-desktop-toggle-filter-count"
28824
28972
  };
28825
- const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
28973
+ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
28826
28974
  __name: "DesktopFacetToggle",
28827
28975
  setup(__props) {
28828
28976
  const {
@@ -28844,12 +28992,12 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
28844
28992
  (...args) => vue.unref(handleFilterSidebarToggle) && vue.unref(handleFilterSidebarToggle)(...args))
28845
28993
  }, [
28846
28994
  vue.createTextVNode(vue.toDisplayString(vue.unref(label)) + " ", 1),
28847
- 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)
28848
28996
  ], 2);
28849
28997
  };
28850
28998
  }
28851
28999
  });
28852
- const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
29000
+ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
28853
29001
  __name: "DesktopSortToggle",
28854
29002
  setup(__props) {
28855
29003
  const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
@@ -28865,12 +29013,12 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
28865
29013
  };
28866
29014
  }
28867
29015
  });
28868
- const _hoisted_1$N = { class: "lupa-search-result-facet-section" };
29016
+ const _hoisted_1$O = { class: "lupa-search-result-facet-section" };
28869
29017
  const _hoisted_2$z = {
28870
29018
  key: 0,
28871
29019
  class: "lupa-facets-title"
28872
29020
  };
28873
- const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
29021
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
28874
29022
  __name: "FacetList",
28875
29023
  props: {
28876
29024
  options: {},
@@ -28912,14 +29060,14 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
28912
29060
  };
28913
29061
  return (_ctx, _cache) => {
28914
29062
  var _a25;
28915
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
29063
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
28916
29064
  _ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
28917
29065
  vue.createElementVNode("div", {
28918
29066
  class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a25 = displayFacetStyle.value) != null ? _a25 : "")])
28919
29067
  }, [
28920
29068
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFacets.value, (facet) => {
28921
29069
  var _a26;
28922
- return vue.openBlock(), vue.createBlock(_sfc_main$Z, {
29070
+ return vue.openBlock(), vue.createBlock(_sfc_main$_, {
28923
29071
  key: facet.key,
28924
29072
  facet,
28925
29073
  currentFilters: currentFiltersValue.value,
@@ -28931,14 +29079,14 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
28931
29079
  onExpand: vue.unref(handleFilterSidebarToggle)
28932
29080
  }, null, 8, ["facet", "currentFilters", "options", "clearable", "current-facet-style", "onExpand"]);
28933
29081
  }), 128)),
28934
- _ctx.facetStyle === "drawer" ? (vue.openBlock(), vue.createBlock(_sfc_main$Y, { key: 0 })) : vue.createCommentVNode("", true),
28935
- _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)
28936
29084
  ], 2)
28937
29085
  ]);
28938
29086
  };
28939
29087
  }
28940
29088
  });
28941
- const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
29089
+ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
28942
29090
  __name: "FacetsButton",
28943
29091
  props: {
28944
29092
  options: {}
@@ -28963,7 +29111,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
28963
29111
  };
28964
29112
  }
28965
29113
  });
28966
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
29114
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
28967
29115
  __name: "FacetsClearButton",
28968
29116
  props: {
28969
29117
  options: {}
@@ -28988,8 +29136,8 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
28988
29136
  };
28989
29137
  }
28990
29138
  });
28991
- const _hoisted_1$M = { class: "lupa-facets-filter-button-wrapper" };
28992
- 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({
28993
29141
  __name: "Facets",
28994
29142
  props: {
28995
29143
  options: {},
@@ -29097,7 +29245,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29097
29245
  return vue.openBlock(), vue.createElementBlock("div", {
29098
29246
  class: vue.normalizeClass(["lupa-search-result-facets", { "lupa-search-result-facets-loading": vue.unref(loadingFacets) }])
29099
29247
  }, [
29100
- regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$W, {
29248
+ regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$X, {
29101
29249
  key: 0,
29102
29250
  options: _ctx.options,
29103
29251
  facets: regularFacets.value,
@@ -29107,13 +29255,13 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29107
29255
  onSelect: handleFacetSelect,
29108
29256
  onClear: clear
29109
29257
  }, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : vue.createCommentVNode("", true),
29110
- vue.createElementVNode("div", _hoisted_1$M, [
29111
- 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, {
29112
29260
  key: 0,
29113
29261
  options: _ctx.options,
29114
29262
  onClear: clearAll
29115
29263
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
29116
- showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
29264
+ showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$W, {
29117
29265
  key: 1,
29118
29266
  options: _ctx.options,
29119
29267
  onFilter: filter
@@ -29123,12 +29271,12 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29123
29271
  };
29124
29272
  }
29125
29273
  });
29126
- const _hoisted_1$L = {
29274
+ const _hoisted_1$M = {
29127
29275
  key: 0,
29128
29276
  id: "lupa-search-result-filters",
29129
29277
  class: "lupa-search-result-filters"
29130
29278
  };
29131
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29279
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
29132
29280
  __name: "SearchResultsFilters",
29133
29281
  props: {
29134
29282
  options: {},
@@ -29138,6 +29286,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29138
29286
  emits: ["filter"],
29139
29287
  setup(__props, { expose: __expose, emit: __emit }) {
29140
29288
  const categoryFilters = vue.ref(null);
29289
+ const { facetSkeletonEnabled, loadingFacets } = useLoadingSkeleton();
29141
29290
  const props = __props;
29142
29291
  const emit = __emit;
29143
29292
  const desktopFiltersVisible = vue.computed(() => {
@@ -29166,30 +29315,42 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29166
29315
  };
29167
29316
  __expose({ fetch: fetch2 });
29168
29317
  return (_ctx, _cache) => {
29169
- var _a25;
29170
- return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
29171
- showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
29172
- key: 0,
29173
- options: _ctx.options.currentFilters,
29174
- expandable: (_a25 = _ctx.expandable) != null ? _a25 : false
29175
- }, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
29176
- _ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$12, {
29177
- key: 1,
29178
- options: _ctx.options.categories,
29179
- ref_key: "categoryFilters",
29180
- ref: categoryFilters
29181
- }, null, 8, ["options"])) : vue.createCommentVNode("", true),
29182
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
29183
- key: 2,
29184
- options: _ctx.options.facets,
29185
- "facet-style": _ctx.style,
29186
- onFilter: filter
29187
- }, 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"])
29188
29349
  ])) : vue.createCommentVNode("", true);
29189
29350
  };
29190
29351
  }
29191
29352
  });
29192
- const _hoisted_1$K = { class: "lupa-mobile-sidebar-content" };
29353
+ const _hoisted_1$L = { class: "lupa-mobile-sidebar-content" };
29193
29354
  const _hoisted_2$y = { class: "lupa-sidebar-top" };
29194
29355
  const _hoisted_3$q = { class: "lupa-sidebar-title" };
29195
29356
  const _hoisted_4$i = {
@@ -29197,7 +29358,7 @@ const _hoisted_4$i = {
29197
29358
  class: "lupa-sidebar-filter-count"
29198
29359
  };
29199
29360
  const _hoisted_5$c = { class: "lupa-sidebar-filter-options" };
29200
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29361
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
29201
29362
  __name: "MobileFilterSidebar",
29202
29363
  props: {
29203
29364
  options: {}
@@ -29236,7 +29397,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29236
29397
  class: "lupa-sidebar-close",
29237
29398
  onClick: vue.withModifiers(handleMobileToggle, ["stop"])
29238
29399
  }),
29239
- vue.createElementVNode("div", _hoisted_1$K, [
29400
+ vue.createElementVNode("div", _hoisted_1$L, [
29240
29401
  vue.createElementVNode("div", _hoisted_2$y, [
29241
29402
  vue.createElementVNode("div", _hoisted_3$q, [
29242
29403
  vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
@@ -29248,7 +29409,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29248
29409
  })
29249
29410
  ]),
29250
29411
  vue.createElementVNode("div", _hoisted_5$c, [
29251
- vue.createVNode(_sfc_main$S, {
29412
+ vue.createVNode(_sfc_main$T, {
29252
29413
  options: _ctx.options,
29253
29414
  expandable: isActiveFiltersExpanded.value,
29254
29415
  style: "sidebar",
@@ -29260,14 +29421,17 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29260
29421
  };
29261
29422
  }
29262
29423
  });
29263
- const _hoisted_1$J = { id: "lupa-search-results-breadcrumbs" };
29424
+ const _hoisted_1$K = {
29425
+ key: 0,
29426
+ id: "lupa-search-results-breadcrumbs"
29427
+ };
29264
29428
  const _hoisted_2$x = ["href", "onClick"];
29265
29429
  const _hoisted_3$p = {
29266
29430
  key: 1,
29267
29431
  class: "lupa-search-results-breadcrumb-text"
29268
29432
  };
29269
29433
  const _hoisted_4$h = { key: 2 };
29270
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29434
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
29271
29435
  __name: "SearchResultsBreadcrumbs",
29272
29436
  props: {
29273
29437
  breadcrumbs: {}
@@ -29285,6 +29449,10 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29285
29449
  const hasEventRouting = vue.computed(() => {
29286
29450
  return searchResultOptions.value.routingBehavior === "event";
29287
29451
  });
29452
+ const hasBreadcrumbs = vue.computed(() => {
29453
+ var _a25;
29454
+ return ((_a25 = breadcrumbsValue.value) == null ? void 0 : _a25.length) > 0;
29455
+ });
29288
29456
  const getLabel = (label) => {
29289
29457
  return addParamsToLabel(label, `'${currentQueryText.value}'`);
29290
29458
  };
@@ -29292,7 +29460,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29292
29460
  handleRoutingEvent(link, event, hasEventRouting.value);
29293
29461
  };
29294
29462
  return (_ctx, _cache) => {
29295
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
29463
+ return hasBreadcrumbs.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
29296
29464
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(breadcrumbsValue.value, (breadcrumb, index) => {
29297
29465
  var _a25;
29298
29466
  return vue.openBlock(), vue.createElementBlock("span", {
@@ -29311,16 +29479,16 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29311
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)
29312
29480
  ]);
29313
29481
  }), 128))
29314
- ]);
29482
+ ])) : vue.createCommentVNode("", true);
29315
29483
  };
29316
29484
  }
29317
29485
  });
29318
- const _hoisted_1$I = {
29486
+ const _hoisted_1$J = {
29319
29487
  key: 0,
29320
29488
  id: "lupa-search-result-filters",
29321
29489
  class: "lupa-search-result-filters lupa-search-result-top-filters"
29322
29490
  };
29323
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
29491
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
29324
29492
  __name: "FiltersTopDropdown",
29325
29493
  props: {
29326
29494
  options: {}
@@ -29328,6 +29496,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
29328
29496
  emits: ["filter"],
29329
29497
  setup(__props, { emit: __emit }) {
29330
29498
  const props = __props;
29499
+ const { facetSkeletonEnabled, loadingFacets } = useLoadingSkeleton();
29331
29500
  const emit = __emit;
29332
29501
  const filter = () => {
29333
29502
  emit("filter");
@@ -29337,21 +29506,33 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
29337
29506
  return (_a25 = props.options.visible) != null ? _a25 : true;
29338
29507
  });
29339
29508
  return (_ctx, _cache) => {
29340
- var _a25;
29341
- return visible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
29342
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
29343
- key: 0,
29344
- options: _ctx.options.facets,
29345
- "facet-style": (_a25 = _ctx.options.facets.style) == null ? void 0 : _a25.type,
29346
- clearable: true,
29347
- onFilter: filter
29348
- }, 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"])
29349
29530
  ])) : vue.createCommentVNode("", true);
29350
29531
  };
29351
29532
  }
29352
29533
  });
29353
- const _hoisted_1$H = { id: "lupa-search-results-layout-selection" };
29354
- 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({
29355
29536
  __name: "SearchResultsLayoutSelection",
29356
29537
  setup(__props) {
29357
29538
  const searchResultStore = useSearchResultStore();
@@ -29362,7 +29543,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
29362
29543
  searchResultStore.setLayout(layout2);
29363
29544
  };
29364
29545
  return (_ctx, _cache) => {
29365
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
29546
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
29366
29547
  vue.createElementVNode("div", {
29367
29548
  class: vue.normalizeClass([
29368
29549
  "lupa-layout-selection-grid",
@@ -29384,11 +29565,11 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
29384
29565
  };
29385
29566
  }
29386
29567
  });
29387
- const _hoisted_1$G = {
29568
+ const _hoisted_1$H = {
29388
29569
  key: 0,
29389
29570
  class: "lupa-mobile-toggle-filter-count"
29390
29571
  };
29391
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
29572
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
29392
29573
  __name: "SearchResultsMobileToggle",
29393
29574
  setup(__props) {
29394
29575
  const {
@@ -29410,12 +29591,12 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
29410
29591
  (...args) => vue.unref(handleFilterSidebarToggle) && vue.unref(handleFilterSidebarToggle)(...args))
29411
29592
  }, [
29412
29593
  vue.createTextVNode(vue.toDisplayString(vue.unref(label)) + " ", 1),
29413
- 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)
29414
29595
  ], 2);
29415
29596
  };
29416
29597
  }
29417
29598
  });
29418
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
29599
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
29419
29600
  __name: "SearchResultsMobileFilterClose",
29420
29601
  props: {
29421
29602
  label: {}
@@ -29435,7 +29616,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
29435
29616
  };
29436
29617
  }
29437
29618
  });
29438
- const _hoisted_1$F = {
29619
+ const _hoisted_1$G = {
29439
29620
  key: 0,
29440
29621
  id: "lupa-search-results-page-select",
29441
29622
  "data-cy": "lupa-search-results-page-select"
@@ -29448,7 +29629,7 @@ const _hoisted_3$o = {
29448
29629
  key: 0,
29449
29630
  class: "lupa-page-number-separator"
29450
29631
  };
29451
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29632
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
29452
29633
  __name: "SearchResultsPageSelect",
29453
29634
  props: {
29454
29635
  lastPageLabel: {},
@@ -29543,7 +29724,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29543
29724
  };
29544
29725
  return (_ctx, _cache) => {
29545
29726
  var _a25;
29546
- return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
29727
+ return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
29547
29728
  showBack.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tagName.value), {
29548
29729
  key: 0,
29549
29730
  class: vue.normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
@@ -29618,7 +29799,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29618
29799
  };
29619
29800
  }
29620
29801
  });
29621
- const _hoisted_1$E = {
29802
+ const _hoisted_1$F = {
29622
29803
  id: "lupa-search-results-page-size",
29623
29804
  "data-cy": "lupa-search-results-page-size"
29624
29805
  };
@@ -29629,7 +29810,7 @@ const _hoisted_3$n = {
29629
29810
  };
29630
29811
  const _hoisted_4$g = ["value", "aria-label"];
29631
29812
  const _hoisted_5$b = ["value"];
29632
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
29813
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
29633
29814
  __name: "SearchResultsPageSize",
29634
29815
  props: {
29635
29816
  labels: {},
@@ -29660,7 +29841,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
29660
29841
  };
29661
29842
  return (_ctx, _cache) => {
29662
29843
  var _a25, _b25, _c;
29663
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
29844
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
29664
29845
  vue.createElementVNode("div", _hoisted_2$v, [
29665
29846
  vue.createElementVNode("label", _hoisted_3$n, vue.toDisplayString(label.value), 1),
29666
29847
  vue.createElementVNode("select", {
@@ -29752,7 +29933,7 @@ const useSorting = () => {
29752
29933
  setSortValue
29753
29934
  };
29754
29935
  };
29755
- const _hoisted_1$D = {
29936
+ const _hoisted_1$E = {
29756
29937
  key: 0,
29757
29938
  id: "lupa-search-results-sort",
29758
29939
  class: "lupa-search-results-sort"
@@ -29764,7 +29945,7 @@ const _hoisted_3$m = {
29764
29945
  };
29765
29946
  const _hoisted_4$f = ["aria-label"];
29766
29947
  const _hoisted_5$a = ["value"];
29767
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29948
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
29768
29949
  __name: "SearchResultsSort",
29769
29950
  setup(__props) {
29770
29951
  const {
@@ -29785,7 +29966,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29785
29966
  });
29786
29967
  return (_ctx, _cache) => {
29787
29968
  var _a25, _b25;
29788
- return showDefaultSort.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
29969
+ return showDefaultSort.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
29789
29970
  vue.createElementVNode("div", _hoisted_2$u, [
29790
29971
  vue.createElementVNode("label", _hoisted_3$m, vue.toDisplayString(vue.unref(sotyByTitleLabel)), 1),
29791
29972
  vue.withDirectives(vue.createElementVNode("select", {
@@ -29812,7 +29993,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29812
29993
  };
29813
29994
  }
29814
29995
  });
29815
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
29996
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
29816
29997
  __name: "SearchResultsSortDrawerToggle",
29817
29998
  setup(__props) {
29818
29999
  const { isSidebarVisible, sortLabel, sortToggleVisible, handleSortSidebarToggle } = useSidebarToggle();
@@ -29828,7 +30009,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
29828
30009
  };
29829
30010
  }
29830
30011
  });
29831
- const _hoisted_1$C = { class: "lupa-toolbar-left" };
30012
+ const _hoisted_1$D = { class: "lupa-toolbar-left" };
29832
30013
  const _hoisted_2$t = {
29833
30014
  key: 0,
29834
30015
  class: "lupa-toolbar-right-title"
@@ -29843,7 +30024,7 @@ const _hoisted_7$2 = {
29843
30024
  };
29844
30025
  const _hoisted_8 = { key: 2 };
29845
30026
  const _hoisted_9 = { key: 4 };
29846
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
30027
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
29847
30028
  __name: "SearchResultsToolbar",
29848
30029
  props: {
29849
30030
  options: {},
@@ -29956,16 +30137,16 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
29956
30137
  id: "lupa-search-results-toolbar",
29957
30138
  class: vue.normalizeClass({ "lupa-filter-no-results": !hasResults.value })
29958
30139
  }, [
29959
- vue.createElementVNode("div", _hoisted_1$C, [
30140
+ vue.createElementVNode("div", _hoisted_1$D, [
29960
30141
  toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
29961
- showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$O, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$l)),
29962
- 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, {
29963
30144
  key: 3,
29964
30145
  label: searchSummaryLabel.value,
29965
30146
  clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
29966
30147
  onClear: handleClearAll
29967
30148
  }, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e)),
29968
- displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, {
30149
+ displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
29969
30150
  key: 5,
29970
30151
  options: paginationOptions.value.pageSelect,
29971
30152
  "last-page-label": paginationOptions.value.labels.showMore,
@@ -29974,19 +30155,19 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
29974
30155
  ]),
29975
30156
  vue.createElementVNode("div", _hoisted_6$4, [
29976
30157
  toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
29977
- vue.createVNode(_sfc_main$N),
29978
- vue.createVNode(_sfc_main$I),
29979
- 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, {
29980
30161
  key: 1,
29981
30162
  options: paginationOptions.value.pageSize,
29982
30163
  labels: paginationOptions.value.labels
29983
30164
  }, null, 8, ["options", "labels"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8)),
29984
- sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
30165
+ sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
29985
30166
  key: 3,
29986
30167
  options: sortOptions.value,
29987
30168
  callbacks: callbacks.value
29988
30169
  }, null, 8, ["options", "callbacks"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9)),
29989
- 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, {
29990
30171
  key: 5,
29991
30172
  label: optionsValue.value.labels.mobileFilterCloseButton
29992
30173
  }, null, 8, ["label"])) : vue.createCommentVNode("", true)
@@ -29995,7 +30176,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
29995
30176
  };
29996
30177
  }
29997
30178
  });
29998
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30179
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
29999
30180
  __name: "SearchResultsProductImage",
30000
30181
  props: {
30001
30182
  item: {},
@@ -30003,7 +30184,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30003
30184
  },
30004
30185
  setup(__props) {
30005
30186
  return (_ctx, _cache) => {
30006
- return vue.openBlock(), vue.createBlock(_sfc_main$1w, {
30187
+ return vue.openBlock(), vue.createBlock(_sfc_main$1A, {
30007
30188
  item: _ctx.item,
30008
30189
  options: _ctx.options,
30009
30190
  "wrapper-class": "lupa-search-results-image-wrapper",
@@ -30012,7 +30193,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30012
30193
  };
30013
30194
  }
30014
30195
  });
30015
- const _hoisted_1$B = ["title", "innerHTML"];
30196
+ const _hoisted_1$C = ["title", "innerHTML"];
30016
30197
  const _hoisted_2$s = ["title"];
30017
30198
  const _hoisted_3$k = ["href", "innerHTML"];
30018
30199
  const _hoisted_4$d = ["title"];
@@ -30021,7 +30202,7 @@ const _hoisted_5$8 = {
30021
30202
  class: "lupa-search-results-product-title-text"
30022
30203
  };
30023
30204
  const _hoisted_6$3 = ["href"];
30024
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30205
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
30025
30206
  __name: "SearchResultsProductTitle",
30026
30207
  props: {
30027
30208
  item: {},
@@ -30058,7 +30239,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30058
30239
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
30059
30240
  title: sanitizedTitle.value,
30060
30241
  innerHTML: sanitizedTitle.value
30061
- }, 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", {
30062
30243
  key: 1,
30063
30244
  class: "lupa-search-results-product-title",
30064
30245
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
@@ -30087,8 +30268,8 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30087
30268
  };
30088
30269
  }
30089
30270
  });
30090
- const _hoisted_1$A = ["innerHTML"];
30091
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30271
+ const _hoisted_1$B = ["innerHTML"];
30272
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
30092
30273
  __name: "SearchResultsProductDescription",
30093
30274
  props: {
30094
30275
  item: {},
@@ -30115,7 +30296,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30115
30296
  class: "lupa-search-results-product-description",
30116
30297
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
30117
30298
  innerHTML: sanitizedDescription.value
30118
- }, null, 12, _hoisted_1$A)) : (vue.openBlock(), vue.createElementBlock("div", {
30299
+ }, null, 12, _hoisted_1$B)) : (vue.openBlock(), vue.createElementBlock("div", {
30119
30300
  key: 1,
30120
30301
  class: "lupa-search-results-product-description",
30121
30302
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
@@ -30123,7 +30304,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30123
30304
  };
30124
30305
  }
30125
30306
  });
30126
- const _hoisted_1$z = { id: "lupa-search-results-rating" };
30307
+ const _hoisted_1$A = { id: "lupa-search-results-rating" };
30127
30308
  const _hoisted_2$r = { class: "lupa-ratings" };
30128
30309
  const _hoisted_3$j = { class: "lupa-ratings-base" };
30129
30310
  const _hoisted_4$c = ["innerHTML"];
@@ -30131,7 +30312,7 @@ const _hoisted_5$7 = { class: "lupa-rating-wrapper" };
30131
30312
  const _hoisted_6$2 = ["innerHTML"];
30132
30313
  const _hoisted_7$1 = ["href"];
30133
30314
  const STAR_COUNT = 5;
30134
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30315
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
30135
30316
  __name: "SearchResultsProductRating",
30136
30317
  props: {
30137
30318
  item: {},
@@ -30168,7 +30349,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30168
30349
  return generateLink(props.options.links.ratingDetails, props.item);
30169
30350
  });
30170
30351
  return (_ctx, _cache) => {
30171
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
30352
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
30172
30353
  vue.createElementVNode("div", _hoisted_2$r, [
30173
30354
  vue.createElementVNode("div", _hoisted_3$j, [
30174
30355
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(baseStars.value, (star, index) => {
@@ -30202,11 +30383,11 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30202
30383
  };
30203
30384
  }
30204
30385
  });
30205
- const _hoisted_1$y = {
30386
+ const _hoisted_1$z = {
30206
30387
  class: "lupa-search-results-product-regular-price",
30207
30388
  "data-cy": "lupa-search-results-product-regular-price"
30208
30389
  };
30209
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
30390
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
30210
30391
  __name: "SearchResultsProductRegularPrice",
30211
30392
  props: {
30212
30393
  item: {},
@@ -30228,11 +30409,11 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
30228
30409
  );
30229
30410
  });
30230
30411
  return (_ctx, _cache) => {
30231
- 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);
30232
30413
  };
30233
30414
  }
30234
30415
  });
30235
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
30416
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
30236
30417
  __name: "SearchResultsProductPrice",
30237
30418
  props: {
30238
30419
  item: {},
@@ -30266,12 +30447,12 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
30266
30447
  };
30267
30448
  }
30268
30449
  });
30269
- 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" };
30270
30451
  const _hoisted_2$q = { class: "lupa-search-results-product-addtocart" };
30271
30452
  const _hoisted_3$i = ["disabled"];
30272
30453
  const _hoisted_4$b = ["href"];
30273
30454
  const _hoisted_5$6 = ["id", "disabled"];
30274
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30455
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
30275
30456
  __name: "SearchResultsProductAddToCart",
30276
30457
  props: {
30277
30458
  item: {},
@@ -30330,7 +30511,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30330
30511
  loading.value = false;
30331
30512
  });
30332
30513
  return (_ctx, _cache) => {
30333
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
30514
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
30334
30515
  vue.createElementVNode("div", _hoisted_2$q, [
30335
30516
  hasLink.value ? (vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
30336
30517
  key: 0,
@@ -30353,12 +30534,12 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30353
30534
  };
30354
30535
  }
30355
30536
  });
30356
- const _hoisted_1$w = ["innerHTML"];
30537
+ const _hoisted_1$x = ["innerHTML"];
30357
30538
  const _hoisted_2$p = { key: 0 };
30358
30539
  const _hoisted_3$h = { key: 1 };
30359
30540
  const _hoisted_4$a = { class: "lupa-search-box-custom-label" };
30360
30541
  const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
30361
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30542
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
30362
30543
  __name: "SearchResultsProductCustom",
30363
30544
  props: {
30364
30545
  item: {},
@@ -30400,7 +30581,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30400
30581
  key: 0,
30401
30582
  class: className.value,
30402
30583
  innerHTML: text.value
30403
- }, 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({
30404
30585
  key: 1,
30405
30586
  class: className.value
30406
30587
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
@@ -30412,8 +30593,8 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30412
30593
  };
30413
30594
  }
30414
30595
  });
30415
- const _hoisted_1$v = ["innerHTML"];
30416
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
30596
+ const _hoisted_1$w = ["innerHTML"];
30597
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
30417
30598
  __name: "SearchResultsProductCustomHtmlElement",
30418
30599
  props: {
30419
30600
  item: {},
@@ -30449,15 +30630,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
30449
30630
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
30450
30631
  class: className.value,
30451
30632
  innerHTML: text.value
30452
- }, 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);
30453
30634
  };
30454
30635
  }
30455
30636
  });
30456
- const _hoisted_1$u = { id: "lupa-search-results-rating" };
30637
+ const _hoisted_1$v = { id: "lupa-search-results-rating" };
30457
30638
  const _hoisted_2$o = ["innerHTML"];
30458
30639
  const _hoisted_3$g = { class: "lupa-ratings" };
30459
30640
  const _hoisted_4$9 = ["href"];
30460
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
30641
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
30461
30642
  __name: "SearchResultsProductSingleStarRating",
30462
30643
  props: {
30463
30644
  item: {},
@@ -30485,7 +30666,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
30485
30666
  return RATING_STAR_HTML;
30486
30667
  });
30487
30668
  return (_ctx, _cache) => {
30488
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
30669
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
30489
30670
  vue.createElementVNode("div", {
30490
30671
  innerHTML: star.value,
30491
30672
  class: "lupa-rating lupa-rating-highlighted"
@@ -30501,19 +30682,19 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
30501
30682
  });
30502
30683
  const __default__ = {
30503
30684
  components: {
30504
- SearchResultsProductImage: _sfc_main$G,
30505
- SearchResultsProductTitle: _sfc_main$F,
30506
- SearchResultsProductDescription: _sfc_main$E,
30507
- SearchResultsProductRating: _sfc_main$D,
30508
- SearchResultsProductRegularPrice: _sfc_main$C,
30509
- SearchResultsProductPrice: _sfc_main$B,
30510
- SearchResultsProductAddToCart: _sfc_main$A,
30511
- SearchResultsProductCustom: _sfc_main$z,
30512
- SearchResultsProductCustomHtmlElement: _sfc_main$y,
30513
- SearchResultsProductSingleStarRating: _sfc_main$x
30514
- }
30515
- };
30516
- 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__), {
30517
30698
  __name: "SearchResultsProductCardElement",
30518
30699
  props: {
30519
30700
  item: {},
@@ -30591,13 +30772,13 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
30591
30772
  };
30592
30773
  }
30593
30774
  }));
30594
- const _hoisted_1$t = ["href"];
30775
+ const _hoisted_1$u = ["href"];
30595
30776
  const _hoisted_2$n = {
30596
30777
  key: 0,
30597
30778
  class: "lupa-out-of-stock"
30598
30779
  };
30599
30780
  const _hoisted_3$f = { class: "lupa-search-result-product-details-section" };
30600
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30781
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
30601
30782
  __name: "SearchResultsProductCard",
30602
30783
  props: {
30603
30784
  product: {},
@@ -30774,7 +30955,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30774
30955
  default: vue.withCtx(() => {
30775
30956
  var _a25;
30776
30957
  return [
30777
- vue.createVNode(_sfc_main$1g, { options: badgesOptions.value }, null, 8, ["options"]),
30958
+ vue.createVNode(_sfc_main$1k, { options: badgesOptions.value }, null, 8, ["options"]),
30778
30959
  vue.createElementVNode("div", {
30779
30960
  class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
30780
30961
  }, [
@@ -30784,7 +30965,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30784
30965
  onClick: handleNavigation
30785
30966
  }, [
30786
30967
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
30787
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
30968
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
30788
30969
  class: "lupa-search-results-product-element",
30789
30970
  item: _ctx.product,
30790
30971
  element,
@@ -30795,16 +30976,16 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30795
30976
  onProductEvent: handleProductEvent
30796
30977
  }, null, 8, ["item", "element", "labels", "inStock", "link"]);
30797
30978
  }), 128)),
30798
- vue.createVNode(_sfc_main$1g, {
30979
+ vue.createVNode(_sfc_main$1k, {
30799
30980
  options: badgesOptions.value,
30800
30981
  position: "image",
30801
30982
  class: "lupa-image-badges"
30802
30983
  }, null, 8, ["options"]),
30803
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)
30804
- ], 8, _hoisted_1$t),
30985
+ ], 8, _hoisted_1$u),
30805
30986
  vue.createElementVNode("div", _hoisted_3$f, [
30806
30987
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
30807
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
30988
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
30808
30989
  class: "lupa-search-results-product-element",
30809
30990
  item: _ctx.product,
30810
30991
  element,
@@ -30822,7 +31003,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30822
31003
  class: vue.normalizeClass("lupa-element-group-" + group)
30823
31004
  }, [
30824
31005
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
30825
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
31006
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
30826
31007
  class: "lupa-search-results-product-element",
30827
31008
  item: _ctx.product,
30828
31009
  element,
@@ -30843,7 +31024,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30843
31024
  };
30844
31025
  }
30845
31026
  });
30846
- const _hoisted_1$s = {
31027
+ const _hoisted_1$t = {
30847
31028
  id: "lupa-search-results-similar-queries",
30848
31029
  "data-cy": "lupa-search-results-similar-queries"
30849
31030
  };
@@ -30859,7 +31040,7 @@ const _hoisted_7 = {
30859
31040
  class: "lupa-products",
30860
31041
  "data-cy": "lupa-products"
30861
31042
  };
30862
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
31043
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
30863
31044
  __name: "SearchResultsSimilarQueries",
30864
31045
  props: {
30865
31046
  labels: {},
@@ -30897,7 +31078,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30897
31078
  };
30898
31079
  };
30899
31080
  return (_ctx, _cache) => {
30900
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
31081
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
30901
31082
  vue.createElementVNode("div", _hoisted_2$m, vue.toDisplayString(_ctx.labels.similarQueries), 1),
30902
31083
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQueries.value, (similarQuery, index) => {
30903
31084
  return vue.openBlock(), vue.createElementBlock("div", { key: index }, [
@@ -30917,7 +31098,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30917
31098
  ]),
30918
31099
  vue.createElementVNode("div", _hoisted_7, [
30919
31100
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQuery.items, (product, index2) => {
30920
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31101
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
30921
31102
  style: vue.normalizeStyle(_ctx.columnSize),
30922
31103
  key: getDocumentKey(index2, product),
30923
31104
  product,
@@ -30932,7 +31113,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30932
31113
  };
30933
31114
  }
30934
31115
  });
30935
- const _hoisted_1$r = {
31116
+ const _hoisted_1$s = {
30936
31117
  key: 0,
30937
31118
  class: "lupa-results-additional-panel"
30938
31119
  };
@@ -30940,7 +31121,7 @@ const _hoisted_2$l = {
30940
31121
  class: "lupa-results-additional-panel-items",
30941
31122
  "data-cy": "lupa-results-additional-panel-items"
30942
31123
  };
30943
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31124
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
30944
31125
  __name: "AdditionalPanel",
30945
31126
  props: {
30946
31127
  panel: {},
@@ -31013,10 +31194,10 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31013
31194
  handleQueryChange();
31014
31195
  });
31015
31196
  return (_ctx, _cache) => {
31016
- return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
31197
+ return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
31017
31198
  vue.createElementVNode("div", _hoisted_2$l, [
31018
31199
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index) => {
31019
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31200
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
31020
31201
  key: index,
31021
31202
  product: item,
31022
31203
  options: _ctx.panel,
@@ -31034,11 +31215,11 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31034
31215
  };
31035
31216
  }
31036
31217
  });
31037
- const _hoisted_1$q = {
31218
+ const _hoisted_1$r = {
31038
31219
  key: 0,
31039
31220
  class: "lupa-results-additional-panels"
31040
31221
  };
31041
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31222
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
31042
31223
  __name: "AdditionalPanels",
31043
31224
  props: {
31044
31225
  options: {},
@@ -31055,9 +31236,9 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
31055
31236
  return locationPanels.value.length > 0;
31056
31237
  });
31057
31238
  return (_ctx, _cache) => {
31058
- return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
31239
+ return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
31059
31240
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(locationPanels.value, (panel) => {
31060
- return vue.openBlock(), vue.createBlock(_sfc_main$t, {
31241
+ return vue.openBlock(), vue.createBlock(_sfc_main$u, {
31061
31242
  key: panel.queryKey,
31062
31243
  panel,
31063
31244
  options: _ctx.sdkOptions
@@ -31074,11 +31255,11 @@ const _export_sfc = (sfc, props) => {
31074
31255
  }
31075
31256
  return target2;
31076
31257
  };
31077
- const _sfc_main$r = {};
31078
- const _hoisted_1$p = { class: "lupa-spinner-wrapper" };
31258
+ const _sfc_main$s = {};
31259
+ const _hoisted_1$q = { class: "lupa-spinner-wrapper" };
31079
31260
  const _hoisted_2$k = { class: "lupa-spinner" };
31080
31261
  function _sfc_render(_ctx, _cache) {
31081
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
31262
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
31082
31263
  vue.createElementVNode("div", _hoisted_2$k, [
31083
31264
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(12, (x) => {
31084
31265
  return vue.createElementVNode("div", { key: x });
@@ -31086,8 +31267,8 @@ function _sfc_render(_ctx, _cache) {
31086
31267
  ])
31087
31268
  ]);
31088
31269
  }
31089
- const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render]]);
31090
- const _hoisted_1$o = {
31270
+ const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render]]);
31271
+ const _hoisted_1$p = {
31091
31272
  id: "lupa-search-results-similar-results",
31092
31273
  "data-cy": "lupa-search-results-similar-results"
31093
31274
  };
@@ -31096,7 +31277,7 @@ const _hoisted_3$d = {
31096
31277
  class: "lupa-products",
31097
31278
  "data-cy": "lupa-products"
31098
31279
  };
31099
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31280
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
31100
31281
  __name: "SearchResultsSimilarResults",
31101
31282
  props: {
31102
31283
  columnSize: {},
@@ -31117,11 +31298,11 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31117
31298
  };
31118
31299
  });
31119
31300
  return (_ctx, _cache) => {
31120
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
31301
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
31121
31302
  vue.createElementVNode("div", _hoisted_2$j, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
31122
31303
  vue.createElementVNode("div", _hoisted_3$d, [
31123
31304
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarResults.value.items, (product, index) => {
31124
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31305
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
31125
31306
  style: vue.normalizeStyle(_ctx.columnSize),
31126
31307
  key: getDocumentKey(index, product),
31127
31308
  product,
@@ -31242,7 +31423,7 @@ const extractRelatedSource = (source, searchResults, options, activeFilters) =>
31242
31423
  return extractFacetsRelatedSource(source, searchResults, options, activeFilters);
31243
31424
  }
31244
31425
  });
31245
- const _hoisted_1$n = { class: "lupa-related-query-item" };
31426
+ const _hoisted_1$o = { class: "lupa-related-query-item" };
31246
31427
  const _hoisted_2$i = { class: "lupa-related-query-image" };
31247
31428
  const _hoisted_3$c = { class: "lupa-related-query-label" };
31248
31429
  const _hoisted_4$7 = { class: "lupa-related-query-title" };
@@ -31250,7 +31431,7 @@ const _hoisted_5$3 = {
31250
31431
  key: 0,
31251
31432
  class: "lupa-related-query-count"
31252
31433
  };
31253
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31434
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
31254
31435
  __name: "RelatedQueryPanel",
31255
31436
  props: {
31256
31437
  query: {},
@@ -31347,9 +31528,9 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31347
31528
  });
31348
31529
  return (_ctx, _cache) => {
31349
31530
  var _a25;
31350
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
31531
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
31351
31532
  vue.createElementVNode("div", _hoisted_2$i, [
31352
- itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1w, {
31533
+ itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1A, {
31353
31534
  key: 0,
31354
31535
  "wrapper-class": "lupa-related-query-image-wrapper",
31355
31536
  "image-class": "lupa-related-query-image",
@@ -31365,7 +31546,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31365
31546
  };
31366
31547
  }
31367
31548
  });
31368
- const _hoisted_1$m = {
31549
+ const _hoisted_1$n = {
31369
31550
  key: 0,
31370
31551
  class: "lupa-related-queries"
31371
31552
  };
@@ -31374,7 +31555,7 @@ const _hoisted_2$h = {
31374
31555
  class: "lupa-related-queries-title"
31375
31556
  };
31376
31557
  const _hoisted_3$b = ["onClick"];
31377
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31558
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
31378
31559
  __name: "RelatedQueries",
31379
31560
  props: {
31380
31561
  options: {}
@@ -31468,7 +31649,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31468
31649
  };
31469
31650
  return (_ctx, _cache) => {
31470
31651
  var _a25, _b25, _c, _d;
31471
- 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, [
31472
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),
31473
31654
  vue.createElementVNode("ul", null, [
31474
31655
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries2.value, (query) => {
@@ -31479,7 +31660,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31479
31660
  vue.createElementVNode("a", {
31480
31661
  onClick: ($event) => handleRelatedQueryClick(query)
31481
31662
  }, [
31482
- vue.createVNode(_sfc_main$p, {
31663
+ vue.createVNode(_sfc_main$q, {
31483
31664
  "source-key": query.key,
31484
31665
  options: _ctx.options,
31485
31666
  query: query.value,
@@ -31523,13 +31704,13 @@ const extractRedirectionSuggestion = (searchText = "", options) => {
31523
31704
  }
31524
31705
  return null;
31525
31706
  };
31526
- const _hoisted_1$l = {
31707
+ const _hoisted_1$m = {
31527
31708
  key: 0,
31528
31709
  class: "lupa-redirection-suggestion"
31529
31710
  };
31530
31711
  const _hoisted_2$g = { class: "lupa-redirections-suggestion-label" };
31531
31712
  const _hoisted_3$a = ["href"];
31532
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31713
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
31533
31714
  __name: "RedirectionSuggestions",
31534
31715
  props: {
31535
31716
  options: {}
@@ -31552,7 +31733,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31552
31733
  )
31553
31734
  );
31554
31735
  return (_ctx, _cache) => {
31555
- 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, [
31556
31737
  vue.createElementVNode("h4", _hoisted_2$g, [
31557
31738
  vue.createElementVNode("a", { href: link.value }, vue.toDisplayString(label.value), 9, _hoisted_3$a)
31558
31739
  ])
@@ -31560,11 +31741,11 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31560
31741
  };
31561
31742
  }
31562
31743
  });
31563
- const _hoisted_1$k = {
31744
+ const _hoisted_1$l = {
31564
31745
  key: 0,
31565
31746
  class: "lupa-refiners-loading-notice"
31566
31747
  };
31567
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31748
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
31568
31749
  __name: "RefinersLoadingNotice",
31569
31750
  props: {
31570
31751
  labels: {}
@@ -31575,14 +31756,14 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31575
31756
  const props = __props;
31576
31757
  const label = vue.computed(() => props.labels.refinersLoadingNotice);
31577
31758
  return (_ctx, _cache) => {
31578
- 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, [
31579
31760
  vue.createElementVNode("p", null, vue.toDisplayString(label.value), 1),
31580
31761
  vue.createVNode(Spinner)
31581
31762
  ])) : vue.createCommentVNode("", true);
31582
31763
  };
31583
31764
  }
31584
31765
  });
31585
- const _hoisted_1$j = { class: "lupa-related-query-item" };
31766
+ const _hoisted_1$k = { class: "lupa-related-query-item" };
31586
31767
  const _hoisted_2$f = { class: "lupa-related-query-image" };
31587
31768
  const _hoisted_3$9 = { class: "lupa-related-query-label" };
31588
31769
  const _hoisted_4$6 = { class: "lupa-related-query-title" };
@@ -31590,7 +31771,7 @@ const _hoisted_5$2 = {
31590
31771
  key: 0,
31591
31772
  class: "lupa-related-query-count"
31592
31773
  };
31593
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31774
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31594
31775
  __name: "RelatedQueryPanelApi",
31595
31776
  props: {
31596
31777
  relatedQuery: {},
@@ -31622,9 +31803,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31622
31803
  });
31623
31804
  return (_ctx, _cache) => {
31624
31805
  var _a25;
31625
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
31806
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
31626
31807
  vue.createElementVNode("div", _hoisted_2$f, [
31627
- itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1w, {
31808
+ itemToDisplay.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1A, {
31628
31809
  key: 0,
31629
31810
  "wrapper-class": "lupa-related-query-image-wrapper",
31630
31811
  "image-class": "lupa-related-query-image",
@@ -31640,7 +31821,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31640
31821
  };
31641
31822
  }
31642
31823
  });
31643
- const _hoisted_1$i = {
31824
+ const _hoisted_1$j = {
31644
31825
  key: 0,
31645
31826
  class: "lupa-related-queries"
31646
31827
  };
@@ -31649,7 +31830,7 @@ const _hoisted_2$e = {
31649
31830
  class: "lupa-related-queries-title"
31650
31831
  };
31651
31832
  const _hoisted_3$8 = ["onClick"];
31652
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31833
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
31653
31834
  __name: "RelatedQueriesApi",
31654
31835
  props: {
31655
31836
  options: {}
@@ -31701,7 +31882,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31701
31882
  };
31702
31883
  return (_ctx, _cache) => {
31703
31884
  var _a25, _b25, _c, _d;
31704
- return hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
31885
+ return hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
31705
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),
31706
31887
  vue.createElementVNode("ul", null, [
31707
31888
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries2.value, (query) => {
@@ -31712,7 +31893,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31712
31893
  vue.createElementVNode("a", {
31713
31894
  onClick: ($event) => handleRelatedQueryClick(query)
31714
31895
  }, [
31715
- vue.createVNode(_sfc_main$l, {
31896
+ vue.createVNode(_sfc_main$m, {
31716
31897
  relatedQuery: query,
31717
31898
  options: _ctx.options
31718
31899
  }, null, 8, ["relatedQuery", "options"])
@@ -31724,9 +31905,9 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31724
31905
  };
31725
31906
  }
31726
31907
  });
31727
- const _hoisted_1$h = { key: 0 };
31908
+ const _hoisted_1$i = { key: 0 };
31728
31909
  const _hoisted_2$d = ["innerHTML"];
31729
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
31910
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
31730
31911
  __name: "ZeroResults",
31731
31912
  props: {
31732
31913
  emptyResultsLabel: {},
@@ -31755,7 +31936,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
31755
31936
  });
31756
31937
  return (_ctx, _cache) => {
31757
31938
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
31758
- showDefaultZeroResultsTemplate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
31939
+ showDefaultZeroResultsTemplate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
31759
31940
  vue.createTextVNode(vue.toDisplayString(_ctx.emptyResultsLabel) + " ", 1),
31760
31941
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.currentQueryText), 1)
31761
31942
  ])) : vue.createCommentVNode("", true),
@@ -31767,6 +31948,31 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
31767
31948
  };
31768
31949
  }
31769
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
+ });
31770
31976
  const _hoisted_1$g = { id: "lupa-search-results-products" };
31771
31977
  const _hoisted_2$c = {
31772
31978
  class: "lupa-products",
@@ -31778,12 +31984,12 @@ const _hoisted_3$7 = {
31778
31984
  "data-cy": "lupa-no-results-in-page"
31779
31985
  };
31780
31986
  const _hoisted_4$5 = {
31781
- key: 5,
31987
+ key: 3,
31782
31988
  class: "lupa-empty-results",
31783
31989
  "data-cy": "lupa-no-results"
31784
31990
  };
31785
- const _hoisted_5$1 = { key: 6 };
31786
- const _hoisted_6 = { key: 7 };
31991
+ const _hoisted_5$1 = { key: 4 };
31992
+ const _hoisted_6 = { key: 5 };
31787
31993
  const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31788
31994
  __name: "SearchResultsProducts",
31789
31995
  props: {
@@ -31807,6 +32013,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31807
32013
  loading,
31808
32014
  relatedQueriesApiEnabled
31809
32015
  } = storeToRefs(searchResultStore);
32016
+ const { limit, skeletonEnabled, relatedQueriesSkeletonEnabled, loadingRelatedQueries } = useLoadingSkeleton();
31810
32017
  const emit = __emit;
31811
32018
  const productCardOptions = vue.computed(() => {
31812
32019
  return pick(props.options, [
@@ -31833,9 +32040,6 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31833
32040
  var _a25, _b25, _c;
31834
32041
  return ((_c = (_b25 = (_a25 = props.options.filters) == null ? void 0 : _a25.facets) == null ? void 0 : _b25.style) == null ? void 0 : _c.type) !== "sidebar";
31835
32042
  });
31836
- const showMobileFilters = vue.computed(() => {
31837
- return props.options.searchTitlePosition !== "search-results-top";
31838
- });
31839
32043
  const currentFilterToolbarVisible = vue.computed(() => {
31840
32044
  var _a25, _b25, _c, _d, _e, _f;
31841
32045
  return Boolean(
@@ -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,55 +32111,64 @@ 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
- showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
31938
- key: 1,
32151
+ vue.createVNode(_sfc_main$I, {
31939
32152
  class: "lupa-toolbar-mobile",
31940
32153
  options: _ctx.options,
31941
32154
  "pagination-location": "top",
31942
32155
  onFilter: filter
31943
- }, null, 8, ["options"])) : vue.createCommentVNode("", true),
31944
- currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
31945
- key: 2,
32156
+ }, null, 8, ["options"]),
32157
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$15, {
32158
+ key: 1,
31946
32159
  class: vue.normalizeClass(currentFiltersClass.value),
31947
32160
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
31948
32161
  options: currentFilterOptions.value,
31949
32162
  expandable: !desktopFiltersExpanded.value
31950
32163
  }, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true)
31951
32164
  ], 64)) : vue.createCommentVNode("", true),
31952
- vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 4 }, [
31953
- vue.createVNode(_sfc_main$H, {
32165
+ vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
32166
+ vue.createVNode(_sfc_main$I, {
31954
32167
  class: "lupa-toolbar-top",
31955
32168
  options: _ctx.options,
31956
32169
  "pagination-location": "top"
31957
32170
  }, null, 8, ["options"]),
31958
- 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, {
31959
32172
  key: 0,
31960
32173
  class: vue.normalizeClass(currentFiltersClass.value),
31961
32174
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -31963,22 +32176,32 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31963
32176
  expandable: !desktopFiltersExpanded.value
31964
32177
  }, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true),
31965
32178
  vue.createElementVNode("div", _hoisted_2$c, [
31966
- _ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
31967
- return vue.renderSlot(_ctx.$slots, "productCard", {
31968
- style: vue.normalizeStyle(columnSize.value),
31969
- key: getProductKeyAction(index, product),
31970
- product,
31971
- options: productCardOptions.value
31972
- });
31973
- }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
31974
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
31975
- style: vue.normalizeStyle(columnSize.value),
31976
- key: getProductKeyAction(index, product),
31977
- product,
31978
- options: productCardOptions.value,
31979
- "analytics-metadata": clickMetadata.value
31980
- }, null, 8, ["style", "product", "options", "analytics-metadata"]);
31981
- }), 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"])
31982
32205
  ]),
31983
32206
  vue.unref(isPageEmpty) && _ctx.options.labels.noItemsInPage ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, [
31984
32207
  vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.noItemsInPage) + " ", 1),
@@ -31988,40 +32211,40 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
31988
32211
  onClick: goToFirstPage
31989
32212
  }, vue.toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : vue.createCommentVNode("", true)
31990
32213
  ])) : vue.createCommentVNode("", true),
31991
- vue.createVNode(_sfc_main$H, {
32214
+ vue.createVNode(_sfc_main$I, {
31992
32215
  class: "lupa-toolbar-bottom",
31993
32216
  options: _ctx.options,
31994
32217
  "pagination-location": "bottom"
31995
32218
  }, null, 8, ["options"]),
31996
- vue.createVNode(_sfc_main$s, {
32219
+ vue.createVNode(_sfc_main$t, {
31997
32220
  options: _ctx.options,
31998
32221
  location: "bottom",
31999
- sdkOptions: _ctx.options.options
32000
- }, null, 8, ["options", "sdkOptions"])
32222
+ "sdk-options": _ctx.options.options
32223
+ }, null, 8, ["options", "sdk-options"])
32001
32224
  ], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
32002
- vue.createVNode(_sfc_main$j, {
32003
- emptyResultsLabel: (_b25 = _ctx.options.labels) == null ? void 0 : _b25.emptyResults,
32004
- currentQueryText: vue.unref(currentQueryText),
32005
- hasSimilarQueries: hasSimilarQueries.value || hasSimilarResults.value,
32006
- zeroResults: (_c = _ctx.options) == null ? void 0 : _c.zeroResults
32007
- }, 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"])
32008
32231
  ])) : vue.createCommentVNode("", true),
32009
- vue.createVNode(_sfc_main$m, {
32232
+ vue.createVNode(_sfc_main$n, {
32010
32233
  labels: _ctx.options.labels
32011
32234
  }, null, 8, ["labels"]),
32012
32235
  hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
32013
- vue.createVNode(_sfc_main$u, {
32236
+ vue.createVNode(_sfc_main$v, {
32014
32237
  labels: similarQueriesLabels.value,
32015
- columnSize: columnSize.value,
32016
- productCardOptions: productCardOptions.value
32017
- }, 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"])
32018
32241
  ])) : vue.createCommentVNode("", true),
32019
32242
  hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
32020
- vue.createVNode(_sfc_main$q, {
32243
+ vue.createVNode(_sfc_main$r, {
32021
32244
  labels: similarResultsLabels.value,
32022
- columnSize: columnSize.value,
32023
- productCardOptions: productCardOptions.value
32024
- }, 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"])
32025
32248
  ])) : vue.createCommentVNode("", true),
32026
32249
  vue.renderSlot(_ctx.$slots, "append")
32027
32250
  ]);
@@ -32096,18 +32319,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
32096
32319
  ])) : vue.createCommentVNode("", true),
32097
32320
  hasRelatedCategoryChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
32098
32321
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relatedCategoryChildren), (child) => {
32099
- return vue.openBlock(), vue.createBlock(_sfc_main$13, {
32322
+ return vue.openBlock(), vue.createBlock(_sfc_main$14, {
32100
32323
  key: getCategoryKey(child),
32101
32324
  item: child,
32102
32325
  options: categoryOptions.value
32103
32326
  }, null, 8, ["item", "options"]);
32104
32327
  }), 128))
32105
- ])) : vue.createCommentVNode("", true),
32106
- vue.createVNode(_sfc_main$H, {
32107
- class: "lupa-toolbar-mobile",
32108
- "pagination-location": "top",
32109
- options: _ctx.options
32110
- }, null, 8, ["options"])
32328
+ ])) : vue.createCommentVNode("", true)
32111
32329
  ])
32112
32330
  ], 2);
32113
32331
  };
@@ -32535,8 +32753,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32535
32753
  class: vue.normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !vue.unref(hasResults) }])
32536
32754
  }, [
32537
32755
  _ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
32538
- vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32539
- vue.createVNode(_sfc_main$16, {
32756
+ vue.createVNode(_sfc_main$1c, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32757
+ vue.createVNode(_sfc_main$17, {
32540
32758
  "show-summary": true,
32541
32759
  options: _ctx.options,
32542
32760
  "is-product-list": (_a25 = _ctx.isProductList) != null ? _a25 : false
@@ -32546,13 +32764,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32546
32764
  key: 1,
32547
32765
  options: _ctx.options
32548
32766
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
32549
- _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$R, {
32767
+ _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
32550
32768
  key: 2,
32551
32769
  options: _ctx.options.filters,
32552
32770
  onFilter: handleParamsChange
32553
32771
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
32554
32772
  _ctx.options.sort ? (vue.openBlock(), vue.createBlock(_sfc_main$f, { key: 3 })) : vue.createCommentVNode("", true),
32555
- 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, {
32556
32774
  key: 4,
32557
32775
  breadcrumbs: _ctx.options.breadcrumbs
32558
32776
  }, null, 8, ["breadcrumbs"])) : vue.createCommentVNode("", true),
@@ -32561,7 +32779,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32561
32779
  id: "lupa-search-results",
32562
32780
  class: vue.normalizeClass(["top-layout-wrapper", indicatorClasses.value])
32563
32781
  }, [
32564
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
32782
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
32565
32783
  key: 0,
32566
32784
  options: (_b25 = _ctx.options.filters) != null ? _b25 : {},
32567
32785
  ref_key: "searchResultsFilters",
@@ -32569,8 +32787,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32569
32787
  onFilter: handleParamsChange
32570
32788
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
32571
32789
  vue.createElementVNode("div", _hoisted_2$8, [
32572
- vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32573
- vue.createVNode(_sfc_main$16, {
32790
+ vue.createVNode(_sfc_main$1c, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32791
+ vue.createVNode(_sfc_main$17, {
32574
32792
  options: _ctx.options,
32575
32793
  "is-product-list": (_c = _ctx.isProductList) != null ? _c : false
32576
32794
  }, null, 8, ["options", "is-product-list"]),
@@ -32586,8 +32804,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32586
32804
  }, 8, ["options", "ssr"])
32587
32805
  ])
32588
32806
  ], 2)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 6 }, [
32589
- vue.createVNode(_sfc_main$18, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32590
- vue.createVNode(_sfc_main$16, {
32807
+ vue.createVNode(_sfc_main$1c, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
32808
+ vue.createVNode(_sfc_main$17, {
32591
32809
  options: _ctx.options,
32592
32810
  "is-product-list": (_d = _ctx.isProductList) != null ? _d : false
32593
32811
  }, null, 8, ["options", "is-product-list"]),
@@ -32595,7 +32813,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
32595
32813
  id: "lupa-search-results",
32596
32814
  class: vue.normalizeClass(indicatorClasses.value)
32597
32815
  }, [
32598
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
32816
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
32599
32817
  key: 0,
32600
32818
  options: (_e = _ctx.options.filters) != null ? _e : {},
32601
32819
  ref_key: "searchResultsFilters",
@@ -32746,7 +32964,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
32746
32964
  onClick: vue.withModifiers(innerClick, ["stop"])
32747
32965
  }, [
32748
32966
  vue.createElementVNode("div", _hoisted_1$a, [
32749
- vue.createVNode(_sfc_main$19, {
32967
+ vue.createVNode(_sfc_main$1d, {
32750
32968
  options: fullSearchBoxOptions.value,
32751
32969
  "is-search-container": true,
32752
32970
  ref_key: "searchBox",
@@ -34401,7 +34619,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
34401
34619
  key: getProductKeyAction(index, product)
34402
34620
  }, {
34403
34621
  default: vue.withCtx(() => [
34404
- vue.createVNode(_sfc_main$v, {
34622
+ vue.createVNode(_sfc_main$w, {
34405
34623
  product,
34406
34624
  options: _ctx.options,
34407
34625
  "click-tracking-settings": clickTrackingSettings.value,
@@ -34416,7 +34634,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
34416
34634
  _: 1
34417
34635
  }, 16, ["wrap-around"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
34418
34636
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(recommendations.value, (product, index) => {
34419
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
34637
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
34420
34638
  style: vue.normalizeStyle(columnSize.value),
34421
34639
  key: getProductKeyAction(index, product),
34422
34640
  product,
@@ -34662,7 +34880,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
34662
34880
  vue.createElementVNode("a", {
34663
34881
  href: getLink(product)
34664
34882
  }, [
34665
- vue.createVNode(_sfc_main$G, {
34883
+ vue.createVNode(_sfc_main$H, {
34666
34884
  item: product,
34667
34885
  options: image.value
34668
34886
  }, null, 8, ["item", "options"])
@@ -34827,7 +35045,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
34827
35045
  return (_ctx, _cache) => {
34828
35046
  return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$3, [
34829
35047
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
34830
- return vue.openBlock(), vue.createBlock(_sfc_main$v, {
35048
+ return vue.openBlock(), vue.createBlock(_sfc_main$w, {
34831
35049
  class: "lupa-chat-product-card",
34832
35050
  key: getProductKeyAction(index, product),
34833
35051
  product,
@@ -35161,7 +35379,7 @@ exports.DocumentElementType = DocumentElementType;
35161
35379
  exports.LupaSearch = LupaSearch;
35162
35380
  exports.ProductList = _sfc_main$c;
35163
35381
  exports.Recommendations = _sfc_main$a;
35164
- exports.SearchBox = _sfc_main$19;
35382
+ exports.SearchBox = _sfc_main$1d;
35165
35383
  exports.SearchBoxPanelType = SearchBoxPanelType;
35166
35384
  exports.SearchContainer = _sfc_main$b;
35167
35385
  exports.SearchResults = _sfc_main$e;