@getlupa/vue 0.14.4 → 0.14.6

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.
@@ -3314,20 +3314,20 @@ const useSearchBoxStore = defineStore("searchBox", () => {
3314
3314
  resetHighlightIndex
3315
3315
  };
3316
3316
  });
3317
- const _hoisted_1$1d = { id: "lupa-search-box-input-container" };
3317
+ const _hoisted_1$1e = { id: "lupa-search-box-input-container" };
3318
3318
  const _hoisted_2$S = { class: "lupa-input-clear" };
3319
3319
  const _hoisted_3$B = { id: "lupa-search-box-input" };
3320
3320
  const _hoisted_4$s = ["value"];
3321
- const _hoisted_5$k = ["aria-label", "placeholder"];
3322
- const _hoisted_6$a = /* @__PURE__ */ vue.createElementVNode("span", { class: "lupa-search-submit-icon" }, null, -1);
3321
+ const _hoisted_5$i = ["aria-label", "placeholder"];
3322
+ const _hoisted_6$9 = /* @__PURE__ */ vue.createElementVNode("span", { class: "lupa-search-submit-icon" }, null, -1);
3323
3323
  const _hoisted_7$7 = [
3324
- _hoisted_6$a
3324
+ _hoisted_6$9
3325
3325
  ];
3326
3326
  const _hoisted_8$3 = {
3327
3327
  key: 0,
3328
3328
  class: "lupa-close-label"
3329
3329
  };
3330
- const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
3330
+ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
3331
3331
  __name: "SearchBoxInput",
3332
3332
  props: {
3333
3333
  options: {},
@@ -3411,7 +3411,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
3411
3411
  };
3412
3412
  __expose({ focus });
3413
3413
  return (_ctx, _cache) => {
3414
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1d, [
3414
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1e, [
3415
3415
  vue.createElementVNode("div", _hoisted_2$S, [
3416
3416
  vue.createElementVNode("div", {
3417
3417
  class: vue.normalizeClass(["lupa-input-clear-content", { "lupa-input-clear-filled": inputValue.value }]),
@@ -3438,7 +3438,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
3438
3438
  placeholder: labels.value.placeholder,
3439
3439
  onInput: handleInput,
3440
3440
  onFocus: handleFocus
3441
- }), null, 16, _hoisted_5$k), [
3441
+ }), null, 16, _hoisted_5$i), [
3442
3442
  [vue.vModelText, inputValue.value]
3443
3443
  ]),
3444
3444
  _ctx.options.showSubmitButton ? (vue.openBlock(), vue.createElementBlock("button", {
@@ -3457,7 +3457,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
3457
3457
  };
3458
3458
  }
3459
3459
  });
3460
- const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
3460
+ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
3461
3461
  __name: "SearchBoxMoreResults",
3462
3462
  props: {
3463
3463
  labels: {},
@@ -3489,9 +3489,9 @@ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
3489
3489
  };
3490
3490
  }
3491
3491
  });
3492
- const _hoisted_1$1c = { class: "lupa-search-box-history-item" };
3492
+ const _hoisted_1$1d = { class: "lupa-search-box-history-item" };
3493
3493
  const _hoisted_2$R = { class: "lupa-search-box-history-item-content" };
3494
- const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
3494
+ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
3495
3495
  __name: "SearchBoxHistoryItem",
3496
3496
  props: {
3497
3497
  item: {},
@@ -3507,7 +3507,7 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
3507
3507
  emit("click", { query: props.item });
3508
3508
  };
3509
3509
  return (_ctx, _cache) => {
3510
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1c, [
3510
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1d, [
3511
3511
  vue.createElementVNode("div", _hoisted_2$R, [
3512
3512
  vue.createElementVNode("div", {
3513
3513
  class: vue.normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
@@ -3522,11 +3522,11 @@ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
3522
3522
  };
3523
3523
  }
3524
3524
  });
3525
- const _hoisted_1$1b = {
3525
+ const _hoisted_1$1c = {
3526
3526
  key: 0,
3527
3527
  class: "lupa-search-box-history-panel"
3528
3528
  };
3529
- const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
3529
+ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
3530
3530
  __name: "SearchBoxHistoryPanel",
3531
3531
  props: {
3532
3532
  options: {}
@@ -3567,9 +3567,9 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
3567
3567
  }
3568
3568
  };
3569
3569
  return (_ctx, _cache) => {
3570
- return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1b, [
3570
+ return hasHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1c, [
3571
3571
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(history), (item, index) => {
3572
- return vue.openBlock(), vue.createBlock(_sfc_main$1l, {
3572
+ return vue.openBlock(), vue.createBlock(_sfc_main$1n, {
3573
3573
  key: item,
3574
3574
  item,
3575
3575
  highlighted: index === highlightIndex.value,
@@ -3585,15 +3585,15 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
3585
3585
  };
3586
3586
  }
3587
3587
  });
3588
- const _hoisted_1$1a = { class: "lupa-search-box-no-results" };
3589
- const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
3588
+ const _hoisted_1$1b = { class: "lupa-search-box-no-results" };
3589
+ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
3590
3590
  __name: "SearchBoxNoResults",
3591
3591
  props: {
3592
3592
  labels: {}
3593
3593
  },
3594
3594
  setup(__props) {
3595
3595
  return (_ctx, _cache) => {
3596
- return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$1a, vue.toDisplayString(_ctx.labels.noResults), 1);
3596
+ return vue.openBlock(), vue.createElementBlock("p", _hoisted_1$1b, vue.toDisplayString(_ctx.labels.noResults), 1);
3597
3597
  };
3598
3598
  }
3599
3599
  });
@@ -3625,7 +3625,7 @@ const generateGridTemplate = (elements) => {
3625
3625
  }
3626
3626
  return gridTemplate.join(" ");
3627
3627
  };
3628
- const _hoisted_1$19 = ["innerHTML"];
3628
+ const _hoisted_1$1a = ["innerHTML"];
3629
3629
  const _hoisted_2$Q = {
3630
3630
  key: 1,
3631
3631
  "data-cy": "lupa-suggestion-value",
@@ -3640,11 +3640,11 @@ const _hoisted_4$r = {
3640
3640
  class: "lupa-suggestion-facet-label",
3641
3641
  "data-cy": "lupa-suggestion-facet-label"
3642
3642
  };
3643
- const _hoisted_5$j = {
3643
+ const _hoisted_5$h = {
3644
3644
  class: "lupa-suggestion-facet-value",
3645
3645
  "data-cy": "lupa-suggestion-facet-value"
3646
3646
  };
3647
- const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
3647
+ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
3648
3648
  __name: "SearchBoxSuggestion",
3649
3649
  props: {
3650
3650
  suggestion: {},
@@ -3680,20 +3680,20 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
3680
3680
  class: "lupa-suggestion-value",
3681
3681
  "data-cy": "lupa-suggestion-value",
3682
3682
  innerHTML: _ctx.suggestion.displayHighlight
3683
- }, null, 8, _hoisted_1$19)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$Q, vue.toDisplayString(_ctx.suggestion.display), 1)),
3683
+ }, null, 8, _hoisted_1$1a)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$Q, vue.toDisplayString(_ctx.suggestion.display), 1)),
3684
3684
  _ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
3685
3685
  vue.createElementVNode("span", _hoisted_4$r, vue.toDisplayString(facetLabel.value), 1),
3686
- vue.createElementVNode("span", _hoisted_5$j, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
3686
+ vue.createElementVNode("span", _hoisted_5$h, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
3687
3687
  ])) : vue.createCommentVNode("", true)
3688
3688
  ]);
3689
3689
  };
3690
3690
  }
3691
3691
  });
3692
- const _hoisted_1$18 = {
3692
+ const _hoisted_1$19 = {
3693
3693
  id: "lupa-search-box-suggestions",
3694
3694
  "data-cy": "lupa-search-box-suggestions"
3695
3695
  };
3696
- const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
3696
+ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
3697
3697
  __name: "SearchBoxSuggestions",
3698
3698
  props: {
3699
3699
  items: {},
@@ -3753,9 +3753,9 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
3753
3753
  });
3754
3754
  });
3755
3755
  return (_ctx, _cache) => {
3756
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
3756
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$19, [
3757
3757
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items.value, (item, index) => {
3758
- return vue.openBlock(), vue.createBlock(_sfc_main$1i, {
3758
+ return vue.openBlock(), vue.createBlock(_sfc_main$1k, {
3759
3759
  key: getSuggestionKey(item),
3760
3760
  class: vue.normalizeClass(["lupa-suggestion", index === highlightedIndex.value ? "lupa-suggestion-highlighted" : ""]),
3761
3761
  suggestion: item,
@@ -3783,7 +3783,7 @@ const debounce$1 = (func, timeout) => {
3783
3783
  }, timeout);
3784
3784
  };
3785
3785
  };
3786
- const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
3786
+ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
3787
3787
  __name: "SearchBoxSuggestionsWrapper",
3788
3788
  props: {
3789
3789
  panel: {},
@@ -3825,7 +3825,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
3825
3825
  const getSuggestionsDebounced = debounce$1(getSuggestions, props.debounce);
3826
3826
  vue.watch(() => props.panel.limit, getSuggestionsDebounced);
3827
3827
  return (_ctx, _cache) => {
3828
- return vue.openBlock(), vue.createBlock(_sfc_main$1h, {
3828
+ return vue.openBlock(), vue.createBlock(_sfc_main$1j, {
3829
3829
  items: searchResult.value,
3830
3830
  highlight: _ctx.panel.highlight,
3831
3831
  queryKey: _ctx.panel.queryKey,
@@ -12949,9 +12949,9 @@ const replaceImageWithPlaceholder = (e2, placeholder) => {
12949
12949
  targetImage.src = placeholder;
12950
12950
  }
12951
12951
  };
12952
- const _hoisted_1$17 = ["src"];
12952
+ const _hoisted_1$18 = ["src"];
12953
12953
  const _hoisted_2$P = ["src"];
12954
- const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
12954
+ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
12955
12955
  __name: "ProductImage",
12956
12956
  props: {
12957
12957
  item: {},
@@ -13093,7 +13093,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
13093
13093
  }, { alt: imageAlt.value ? imageAlt.value : void 0 }, {
13094
13094
  onError: replaceWithPlaceholder,
13095
13095
  key: finalUrl.value
13096
- }), null, 16, _hoisted_1$17))
13096
+ }), null, 16, _hoisted_1$18))
13097
13097
  ]),
13098
13098
  _: 1
13099
13099
  })) : (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
@@ -13106,7 +13106,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
13106
13106
  };
13107
13107
  }
13108
13108
  });
13109
- const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
13109
+ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
13110
13110
  __name: "SearchBoxProductImage",
13111
13111
  props: {
13112
13112
  item: {},
@@ -13114,7 +13114,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
13114
13114
  },
13115
13115
  setup(__props) {
13116
13116
  return (_ctx, _cache) => {
13117
- return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
13117
+ return vue.openBlock(), vue.createBlock(_sfc_main$1h, {
13118
13118
  item: _ctx.item,
13119
13119
  options: _ctx.options,
13120
13120
  "wrapper-class": "lupa-search-box-image-wrapper",
@@ -13123,12 +13123,12 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
13123
13123
  };
13124
13124
  }
13125
13125
  });
13126
- const _hoisted_1$16 = ["innerHTML"];
13126
+ const _hoisted_1$17 = ["innerHTML"];
13127
13127
  const _hoisted_2$O = {
13128
13128
  key: 1,
13129
13129
  class: "lupa-search-box-product-title"
13130
13130
  };
13131
- const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
13131
+ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
13132
13132
  __name: "SearchBoxProductTitle",
13133
13133
  props: {
13134
13134
  item: {},
@@ -13151,18 +13151,18 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
13151
13151
  key: 0,
13152
13152
  class: "lupa-search-box-product-title",
13153
13153
  innerHTML: sanitizedTitle.value
13154
- }, null, 8, _hoisted_1$16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, [
13154
+ }, null, 8, _hoisted_1$17)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, [
13155
13155
  vue.createElementVNode("strong", null, vue.toDisplayString(title.value), 1)
13156
13156
  ]));
13157
13157
  };
13158
13158
  }
13159
13159
  });
13160
- const _hoisted_1$15 = ["innerHTML"];
13160
+ const _hoisted_1$16 = ["innerHTML"];
13161
13161
  const _hoisted_2$N = {
13162
13162
  key: 1,
13163
13163
  class: "lupa-search-box-product-description"
13164
13164
  };
13165
- const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
13165
+ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
13166
13166
  __name: "SearchBoxProductDescription",
13167
13167
  props: {
13168
13168
  item: {},
@@ -13185,12 +13185,12 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
13185
13185
  key: 0,
13186
13186
  class: "lupa-search-box-product-description",
13187
13187
  innerHTML: sanitizedDescription.value
13188
- }, null, 8, _hoisted_1$15)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, vue.toDisplayString(description.value), 1));
13188
+ }, null, 8, _hoisted_1$16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, vue.toDisplayString(description.value), 1));
13189
13189
  };
13190
13190
  }
13191
13191
  });
13192
- const _hoisted_1$14 = { class: "lupa-search-box-product-price" };
13193
- const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
13192
+ const _hoisted_1$15 = { class: "lupa-search-box-product-price" };
13193
+ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
13194
13194
  __name: "SearchBoxProductPrice",
13195
13195
  props: {
13196
13196
  item: {},
@@ -13208,13 +13208,13 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
13208
13208
  );
13209
13209
  });
13210
13210
  return (_ctx, _cache) => {
13211
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
13211
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$15, [
13212
13212
  vue.createElementVNode("strong", null, vue.toDisplayString(price.value), 1)
13213
13213
  ]);
13214
13214
  };
13215
13215
  }
13216
13216
  });
13217
- const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
13217
+ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
13218
13218
  __name: "SearchBoxProductRegularPrice",
13219
13219
  props: {
13220
13220
  item: {},
@@ -13241,12 +13241,12 @@ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
13241
13241
  };
13242
13242
  }
13243
13243
  });
13244
- const _hoisted_1$13 = ["innerHTML"];
13244
+ const _hoisted_1$14 = ["innerHTML"];
13245
13245
  const _hoisted_2$M = { key: 0 };
13246
13246
  const _hoisted_3$z = { key: 1 };
13247
13247
  const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
13248
- const _hoisted_5$i = { class: "lupa-search-box-custom-text" };
13249
- const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
13248
+ const _hoisted_5$g = { class: "lupa-search-box-custom-text" };
13249
+ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
13250
13250
  __name: "SearchBoxProductCustom",
13251
13251
  props: {
13252
13252
  item: {},
@@ -13272,20 +13272,20 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
13272
13272
  key: 0,
13273
13273
  class: [className.value, "lupa-search-box-product-custom"],
13274
13274
  innerHTML: text.value
13275
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$13)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
13275
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$14)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
13276
13276
  key: 1,
13277
13277
  class: [className.value, "lupa-search-box-product-custom"]
13278
13278
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
13279
13279
  !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$M, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, [
13280
13280
  vue.createElementVNode("div", _hoisted_4$q, vue.toDisplayString(label.value), 1),
13281
- vue.createElementVNode("div", _hoisted_5$i, vue.toDisplayString(text.value), 1)
13281
+ vue.createElementVNode("div", _hoisted_5$g, vue.toDisplayString(text.value), 1)
13282
13282
  ]))
13283
13283
  ], 16));
13284
13284
  };
13285
13285
  }
13286
13286
  });
13287
- const _hoisted_1$12 = ["innerHTML"];
13288
- const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
13287
+ const _hoisted_1$13 = ["innerHTML"];
13288
+ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent({
13289
13289
  __name: "SearchBoxProductCustomHtml",
13290
13290
  props: {
13291
13291
  item: {},
@@ -13310,7 +13310,7 @@ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
13310
13310
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
13311
13311
  class: className.value,
13312
13312
  innerHTML: text.value
13313
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$12);
13313
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$13);
13314
13314
  };
13315
13315
  }
13316
13316
  });
@@ -13366,6 +13366,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
13366
13366
  const layout = vue.ref(ResultsLayoutEnum.GRID);
13367
13367
  const loading = vue.ref(false);
13368
13368
  const isMobileSidebarVisible = vue.ref(false);
13369
+ const relatedCategoryChildren = vue.ref([]);
13369
13370
  const optionsStore = useOptionsStore();
13370
13371
  const paramsStore = useParamsStore();
13371
13372
  const screenStore = useScreenStore();
@@ -13507,6 +13508,9 @@ const useSearchResultStore = defineStore("searchResult", () => {
13507
13508
  const hasExactMatch = items.some((item) => getNormalizedString(item.title) === searchInput);
13508
13509
  return hasExactMatch ? items.filter((item) => getNormalizedString(item.title) === searchInput) : items;
13509
13510
  };
13511
+ const setRelatedCategoryChildren = (children) => {
13512
+ relatedCategoryChildren.value = [...children];
13513
+ };
13510
13514
  return {
13511
13515
  isMobileSidebarVisible,
13512
13516
  searchResult,
@@ -13527,6 +13531,7 @@ const useSearchResultStore = defineStore("searchResult", () => {
13527
13531
  itemRange,
13528
13532
  isPageEmpty,
13529
13533
  hideFiltersOnExactMatchForKeys,
13534
+ relatedCategoryChildren,
13530
13535
  setSidebarState,
13531
13536
  queryFacet,
13532
13537
  add,
@@ -13535,13 +13540,14 @@ const useSearchResultStore = defineStore("searchResult", () => {
13535
13540
  setLayout,
13536
13541
  setLoading,
13537
13542
  clearSearchResult,
13538
- filterVisibleFilterValues
13543
+ filterVisibleFilterValues,
13544
+ setRelatedCategoryChildren
13539
13545
  };
13540
13546
  });
13541
- const _hoisted_1$11 = { class: "lupa-search-box-add-to-cart-wrapper" };
13547
+ const _hoisted_1$12 = { class: "lupa-search-box-add-to-cart-wrapper" };
13542
13548
  const _hoisted_2$L = { class: "lupa-search-box-product-addtocart" };
13543
13549
  const _hoisted_3$y = ["onClick", "disabled"];
13544
- const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
13550
+ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
13545
13551
  __name: "SearchBoxProductAddToCart",
13546
13552
  props: {
13547
13553
  item: {},
@@ -13574,7 +13580,7 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
13574
13580
  loading.value = false;
13575
13581
  });
13576
13582
  return (_ctx, _cache) => {
13577
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
13583
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
13578
13584
  vue.createElementVNode("div", _hoisted_2$L, [
13579
13585
  vue.createElementVNode("button", {
13580
13586
  onClick: vue.withModifiers(handleClick, ["stop", "prevent"]),
@@ -13588,23 +13594,23 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
13588
13594
  };
13589
13595
  }
13590
13596
  });
13591
- const _hoisted_1$10 = {
13597
+ const _hoisted_1$11 = {
13592
13598
  key: 1,
13593
13599
  class: "lupa-search-box-element-badge-wrapper"
13594
13600
  };
13595
13601
  const __default__$4 = {
13596
13602
  components: {
13597
- SearchBoxProductImage: _sfc_main$1e,
13598
- SearchBoxProductTitle: _sfc_main$1d,
13599
- SearchBoxProductDescription: _sfc_main$1c,
13600
- SearchBoxProductPrice: _sfc_main$1b,
13601
- SearchBoxProductRegularPrice: _sfc_main$1a,
13602
- SearchBoxProductCustom: _sfc_main$19,
13603
- SearchBoxProductCustomHtml: _sfc_main$18,
13604
- SearchBoxProductAddToCart: _sfc_main$17
13603
+ SearchBoxProductImage: _sfc_main$1g,
13604
+ SearchBoxProductTitle: _sfc_main$1f,
13605
+ SearchBoxProductDescription: _sfc_main$1e,
13606
+ SearchBoxProductPrice: _sfc_main$1d,
13607
+ SearchBoxProductRegularPrice: _sfc_main$1c,
13608
+ SearchBoxProductCustom: _sfc_main$1b,
13609
+ SearchBoxProductCustomHtml: _sfc_main$1a,
13610
+ SearchBoxProductAddToCart: _sfc_main$19
13605
13611
  }
13606
13612
  };
13607
- const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
13613
+ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
13608
13614
  __name: "SearchBoxProductElement",
13609
13615
  props: {
13610
13616
  item: {},
@@ -13667,7 +13673,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13667
13673
  class: vue.normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) }),
13668
13674
  inStock: _ctx.isInStock
13669
13675
  }, null, 8, ["item", "options", "labels", "class", "inStock"])) : vue.createCommentVNode("", true)
13670
- ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$10, [
13676
+ ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
13671
13677
  displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
13672
13678
  key: 0,
13673
13679
  item: enhancedItem.value,
@@ -13681,14 +13687,14 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13681
13687
  };
13682
13688
  }
13683
13689
  }));
13684
- const _hoisted_1$$ = { class: "lupa-badge-title" };
13690
+ const _hoisted_1$10 = { class: "lupa-badge-title" };
13685
13691
  const _hoisted_2$K = ["src"];
13686
13692
  const _hoisted_3$x = { key: 1 };
13687
13693
  const _hoisted_4$p = {
13688
13694
  key: 0,
13689
13695
  class: "lupa-badge-full-text"
13690
13696
  };
13691
- const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
13697
+ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
13692
13698
  __name: "SearchResultGeneratedBadge",
13693
13699
  props: {
13694
13700
  options: {},
@@ -13721,7 +13727,7 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
13721
13727
  class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
13722
13728
  style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
13723
13729
  }, [
13724
- vue.createElementVNode("span", _hoisted_1$$, [
13730
+ vue.createElementVNode("span", _hoisted_1$10, [
13725
13731
  image.value ? (vue.openBlock(), vue.createElementBlock("img", {
13726
13732
  key: 0,
13727
13733
  src: image.value
@@ -13733,8 +13739,8 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
13733
13739
  };
13734
13740
  }
13735
13741
  });
13736
- const _hoisted_1$_ = { class: "lupa-generated-badges" };
13737
- const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
13742
+ const _hoisted_1$$ = { class: "lupa-generated-badges" };
13743
+ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
13738
13744
  __name: "SearchResultGeneratedBadges",
13739
13745
  props: {
13740
13746
  options: {}
@@ -13760,9 +13766,9 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
13760
13766
  })).filter((b) => Boolean(b.id));
13761
13767
  });
13762
13768
  return (_ctx, _cache) => {
13763
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
13769
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$$, [
13764
13770
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
13765
- return vue.openBlock(), vue.createBlock(_sfc_main$15, {
13771
+ return vue.openBlock(), vue.createBlock(_sfc_main$17, {
13766
13772
  key: badge.id,
13767
13773
  badge,
13768
13774
  options: _ctx.options
@@ -13772,8 +13778,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
13772
13778
  };
13773
13779
  }
13774
13780
  });
13775
- const _hoisted_1$Z = ["innerHTML"];
13776
- const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
13781
+ const _hoisted_1$_ = ["innerHTML"];
13782
+ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
13777
13783
  __name: "CustomBadge",
13778
13784
  props: {
13779
13785
  badge: {}
@@ -13794,12 +13800,12 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
13794
13800
  return vue.openBlock(), vue.createElementBlock("div", {
13795
13801
  class: vue.normalizeClass(className.value),
13796
13802
  innerHTML: text.value
13797
- }, null, 10, _hoisted_1$Z);
13803
+ }, null, 10, _hoisted_1$_);
13798
13804
  };
13799
13805
  }
13800
13806
  });
13801
- const _hoisted_1$Y = { class: "lupa-text-badges" };
13802
- const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
13807
+ const _hoisted_1$Z = { class: "lupa-text-badges" };
13808
+ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
13803
13809
  __name: "TextBadge",
13804
13810
  props: {
13805
13811
  badge: {}
@@ -13814,7 +13820,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
13814
13820
  return badges.value.slice(0, props.badge.maxItems);
13815
13821
  });
13816
13822
  return (_ctx, _cache) => {
13817
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Y, [
13823
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
13818
13824
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
13819
13825
  return vue.openBlock(), vue.createElementBlock("div", {
13820
13826
  class: "lupa-badge lupa-text-badge",
@@ -13825,9 +13831,9 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
13825
13831
  };
13826
13832
  }
13827
13833
  });
13828
- const _hoisted_1$X = { class: "lupa-image-badges" };
13834
+ const _hoisted_1$Y = { class: "lupa-image-badges" };
13829
13835
  const _hoisted_2$J = ["src"];
13830
- const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
13836
+ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
13831
13837
  __name: "ImageBadge",
13832
13838
  props: {
13833
13839
  badge: {}
@@ -13847,7 +13853,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
13847
13853
  return `${props.badge.rootImageUrl}${src}`;
13848
13854
  };
13849
13855
  return (_ctx, _cache) => {
13850
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
13856
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Y, [
13851
13857
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
13852
13858
  return vue.openBlock(), vue.createElementBlock("div", {
13853
13859
  class: "lupa-badge lupa-image-badge",
@@ -13862,15 +13868,15 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
13862
13868
  };
13863
13869
  }
13864
13870
  });
13865
- const _hoisted_1$W = { id: "lupa-search-results-badges" };
13871
+ const _hoisted_1$X = { id: "lupa-search-results-badges" };
13866
13872
  const __default__$3 = {
13867
13873
  components: {
13868
- CustomBadge: _sfc_main$13,
13869
- TextBadge: _sfc_main$12,
13870
- ImageBadge: _sfc_main$11
13874
+ CustomBadge: _sfc_main$15,
13875
+ TextBadge: _sfc_main$14,
13876
+ ImageBadge: _sfc_main$13
13871
13877
  }
13872
13878
  };
13873
- const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
13879
+ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
13874
13880
  __name: "SearchResultsBadgeWrapper",
13875
13881
  props: {
13876
13882
  position: {},
@@ -13931,7 +13937,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13931
13937
  }
13932
13938
  };
13933
13939
  return (_ctx, _cache) => {
13934
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$W, [
13940
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
13935
13941
  vue.createElementVNode("div", {
13936
13942
  id: "lupa-badges",
13937
13943
  class: vue.normalizeClass(anchorPosition.value)
@@ -13942,7 +13948,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13942
13948
  badge
13943
13949
  }, null, 8, ["badge"]);
13944
13950
  }), 128)),
13945
- positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
13951
+ positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$16, {
13946
13952
  key: 0,
13947
13953
  options: _ctx.options
13948
13954
  }, null, 8, ["options"])) : vue.createCommentVNode("", true)
@@ -13951,13 +13957,13 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13951
13957
  };
13952
13958
  }
13953
13959
  }));
13954
- const _hoisted_1$V = ["href"];
13960
+ const _hoisted_1$W = ["href"];
13955
13961
  const _hoisted_2$I = { class: "lupa-search-box-product-details-section" };
13956
13962
  const _hoisted_3$w = {
13957
13963
  key: 0,
13958
13964
  class: "lupa-search-box-product-add-to-cart-section"
13959
13965
  };
13960
- const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
13966
+ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
13961
13967
  __name: "SearchBoxProduct",
13962
13968
  props: {
13963
13969
  item: {},
@@ -14043,7 +14049,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14043
14049
  style: vue.normalizeStyle(imageStyleOverride.value)
14044
14050
  }, [
14045
14051
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
14046
- return vue.openBlock(), vue.createBlock(_sfc_main$16, {
14052
+ return vue.openBlock(), vue.createBlock(_sfc_main$18, {
14047
14053
  class: "lupa-search-box-product-element",
14048
14054
  item: _ctx.item,
14049
14055
  element,
@@ -14056,7 +14062,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14056
14062
  vue.createElementVNode("div", _hoisted_2$I, [
14057
14063
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
14058
14064
  var _a;
14059
- return vue.openBlock(), vue.createBlock(_sfc_main$16, {
14065
+ return vue.openBlock(), vue.createBlock(_sfc_main$18, {
14060
14066
  key: element.key,
14061
14067
  class: "lupa-search-box-product-element",
14062
14068
  item: _ctx.item,
@@ -14067,7 +14073,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14067
14073
  badgeOptions.value && ((_a = badgeOptions.value) == null ? void 0 : _a.anchorElementKey) === element.key ? {
14068
14074
  name: "badges",
14069
14075
  fn: vue.withCtx(() => [
14070
- vue.createVNode(_sfc_main$10, {
14076
+ vue.createVNode(_sfc_main$12, {
14071
14077
  options: badgeOptions.value,
14072
14078
  position: "card"
14073
14079
  }, null, 8, ["options"])
@@ -14078,7 +14084,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14078
14084
  }), 128))
14079
14085
  ]),
14080
14086
  addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
14081
- vue.createVNode(_sfc_main$16, {
14087
+ vue.createVNode(_sfc_main$18, {
14082
14088
  class: "lupa-search-box-product-element",
14083
14089
  item: _ctx.item,
14084
14090
  element: addToCartElement.value,
@@ -14087,7 +14093,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14087
14093
  isInStock: isInStock.value
14088
14094
  }, null, 8, ["item", "element", "labels", "link", "isInStock"])
14089
14095
  ])) : vue.createCommentVNode("", true)
14090
- ], 16, _hoisted_1$V);
14096
+ ], 16, _hoisted_1$W);
14091
14097
  };
14092
14098
  }
14093
14099
  });
@@ -14148,8 +14154,8 @@ const useTrackingStore = defineStore("tracking", () => {
14148
14154
  };
14149
14155
  return { trackSearch, trackResults, trackEvent };
14150
14156
  });
14151
- const _hoisted_1$U = { id: "lupa-search-box-products" };
14152
- const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14157
+ const _hoisted_1$V = { id: "lupa-search-box-products" };
14158
+ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
14153
14159
  __name: "SearchBoxProducts",
14154
14160
  props: {
14155
14161
  items: {},
@@ -14210,7 +14216,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14210
14216
  handleRoutingEvent(link, event, boxRoutingBehavior.value === "event");
14211
14217
  };
14212
14218
  return (_ctx, _cache) => {
14213
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
14219
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
14214
14220
  _ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.items, (item, index) => {
14215
14221
  return vue.renderSlot(_ctx.$slots, "productCard", {
14216
14222
  key: index,
@@ -14222,7 +14228,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14222
14228
  itemClicked: handleProductClick
14223
14229
  });
14224
14230
  }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.items, (item, index) => {
14225
- return vue.openBlock(), vue.createBlock(_sfc_main$$, {
14231
+ return vue.openBlock(), vue.createBlock(_sfc_main$11, {
14226
14232
  key: index,
14227
14233
  item,
14228
14234
  panelOptions: _ctx.panelOptions,
@@ -14237,9 +14243,9 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14237
14243
  };
14238
14244
  }
14239
14245
  });
14240
- const _hoisted_1$T = { class: "lupa-search-box-documents-go-to-results-wrapper" };
14246
+ const _hoisted_1$U = { class: "lupa-search-box-documents-go-to-results-wrapper" };
14241
14247
  const _hoisted_2$H = { key: 0 };
14242
- const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
14248
+ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14243
14249
  __name: "SearchBoxProductsGoToResultsButton",
14244
14250
  props: {
14245
14251
  options: {},
@@ -14269,7 +14275,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
14269
14275
  emit("goToResults");
14270
14276
  };
14271
14277
  return (_ctx, _cache) => {
14272
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
14278
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
14273
14279
  vue.createElementVNode("button", {
14274
14280
  class: "lupa-search-box-documents-go-to-results-button",
14275
14281
  onClick: goToResults
@@ -14281,7 +14287,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
14281
14287
  };
14282
14288
  }
14283
14289
  });
14284
- const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14290
+ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14285
14291
  __name: "SearchBoxProductsWrapper",
14286
14292
  props: {
14287
14293
  panel: {},
@@ -14338,7 +14344,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14338
14344
  vue.watch(() => props.panel.limit, getItemsDebounced);
14339
14345
  return (_ctx, _cache) => {
14340
14346
  var _a, _b;
14341
- return vue.openBlock(), vue.createBlock(_sfc_main$_, {
14347
+ return vue.openBlock(), vue.createBlock(_sfc_main$10, {
14342
14348
  items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
14343
14349
  panelOptions: _ctx.panel,
14344
14350
  labels: _ctx.labels,
@@ -14348,7 +14354,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14348
14354
  default: vue.withCtx(() => {
14349
14355
  var _a2;
14350
14356
  return [
14351
- showGoToResultsButton.value && ((_a2 = searchResult.value) == null ? void 0 : _a2.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$Z, {
14357
+ showGoToResultsButton.value && ((_a2 = searchResult.value) == null ? void 0 : _a2.items.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$$, {
14352
14358
  key: 0,
14353
14359
  options: _ctx.searchBoxOptions,
14354
14360
  panel: _ctx.panel,
@@ -14369,7 +14375,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14369
14375
  };
14370
14376
  }
14371
14377
  });
14372
- const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
14378
+ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
14373
14379
  __name: "SearchBoxRelatedSourceWrapper",
14374
14380
  props: {
14375
14381
  panel: {},
@@ -14441,7 +14447,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
14441
14447
  });
14442
14448
  return (_ctx, _cache) => {
14443
14449
  var _a, _b;
14444
- return vue.openBlock(), vue.createBlock(_sfc_main$_, {
14450
+ return vue.openBlock(), vue.createBlock(_sfc_main$10, {
14445
14451
  items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
14446
14452
  panelOptions: documentPanelOptions.value,
14447
14453
  labels: _ctx.labels,
@@ -14459,7 +14465,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
14459
14465
  };
14460
14466
  }
14461
14467
  });
14462
- const _hoisted_1$S = {
14468
+ const _hoisted_1$T = {
14463
14469
  key: 0,
14464
14470
  id: "lupa-search-box-panel"
14465
14471
  };
@@ -14472,18 +14478,18 @@ const _hoisted_4$o = {
14472
14478
  key: 1,
14473
14479
  class: "lupa-panel-title"
14474
14480
  };
14475
- const _hoisted_5$h = {
14481
+ const _hoisted_5$f = {
14476
14482
  key: 1,
14477
14483
  id: "lupa-search-box-panel"
14478
14484
  };
14479
14485
  const __default__$2 = {
14480
14486
  components: {
14481
- SearchBoxSuggestionsWrapper: _sfc_main$1g,
14482
- SearchBoxProductsWrapper: _sfc_main$Y,
14483
- SearchBoxRelatedSourceWrapper: _sfc_main$X
14487
+ SearchBoxSuggestionsWrapper: _sfc_main$1i,
14488
+ SearchBoxProductsWrapper: _sfc_main$_,
14489
+ SearchBoxRelatedSourceWrapper: _sfc_main$Z
14484
14490
  }
14485
14491
  };
14486
- const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
14492
+ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
14487
14493
  __name: "SearchBoxMainPanel",
14488
14494
  props: {
14489
14495
  options: {},
@@ -14639,7 +14645,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
14639
14645
  ref_key: "panelContainer",
14640
14646
  ref: panelContainer
14641
14647
  }, [
14642
- displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
14648
+ displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
14643
14649
  labels.value.closePanel ? (vue.openBlock(), vue.createElementBlock("a", {
14644
14650
  key: 0,
14645
14651
  class: "lupa-search-box-close-panel",
@@ -14687,18 +14693,18 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
14687
14693
  ], 14, _hoisted_2$G);
14688
14694
  }), 128))
14689
14695
  ], 4),
14690
- !vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$1j, {
14696
+ !vue.unref(hasAnyResults) && _ctx.options.showNoResultsPanel ? (vue.openBlock(), vue.createBlock(_sfc_main$1l, {
14691
14697
  key: 1,
14692
14698
  labels: labels.value
14693
14699
  }, null, 8, ["labels"])) : vue.createCommentVNode("", true),
14694
- vue.unref(hasAnyResults) || !_ctx.options.hideMoreResultsButtonOnNoResults ? (vue.openBlock(), vue.createBlock(_sfc_main$1m, {
14700
+ vue.unref(hasAnyResults) || !_ctx.options.hideMoreResultsButtonOnNoResults ? (vue.openBlock(), vue.createBlock(_sfc_main$1o, {
14695
14701
  key: 2,
14696
14702
  labels: labels.value,
14697
14703
  showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
14698
14704
  onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
14699
14705
  }, null, 8, ["labels", "showTotalCount"])) : vue.createCommentVNode("", true)
14700
- ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$h, [
14701
- vue.createVNode(_sfc_main$1k, {
14706
+ ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$f, [
14707
+ vue.createVNode(_sfc_main$1m, {
14702
14708
  options: _ctx.options.history,
14703
14709
  history: history.value,
14704
14710
  onGoToResults: handleGoToResults,
@@ -14723,9 +14729,9 @@ const unbindSearchTriggers = (triggers = [], event) => {
14723
14729
  const elements = getElements(triggers);
14724
14730
  elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
14725
14731
  };
14726
- const _hoisted_1$R = { id: "lupa-search-box" };
14732
+ const _hoisted_1$S = { id: "lupa-search-box" };
14727
14733
  const _hoisted_2$F = { class: "lupa-search-box-wrapper" };
14728
- const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
14734
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
14729
14735
  __name: "SearchBox",
14730
14736
  props: {
14731
14737
  options: {},
@@ -14985,9 +14991,9 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
14985
14991
  };
14986
14992
  return (_ctx, _cache) => {
14987
14993
  var _a2;
14988
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$R, [
14994
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
14989
14995
  vue.createElementVNode("div", _hoisted_2$F, [
14990
- vue.createVNode(_sfc_main$1n, {
14996
+ vue.createVNode(_sfc_main$1p, {
14991
14997
  options: inputOptions.value,
14992
14998
  suggestedValue: suggestedValue.value,
14993
14999
  "can-close": (_a2 = _ctx.isSearchContainer) != null ? _a2 : false,
@@ -15000,7 +15006,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
15000
15006
  onSearch: handleSearch,
15001
15007
  onClose: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("close"))
15002
15008
  }, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
15003
- opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$W, {
15009
+ opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$Y, {
15004
15010
  key: 0,
15005
15011
  options: panelOptions.value,
15006
15012
  inputValue: inputValue.value,
@@ -15105,7 +15111,7 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
15105
15111
  options.options.onError(e2);
15106
15112
  }
15107
15113
  });
15108
- const _hoisted_1$Q = {
15114
+ const _hoisted_1$R = {
15109
15115
  key: 0,
15110
15116
  id: "lupa-search-results-did-you-mean"
15111
15117
  };
@@ -15118,7 +15124,7 @@ const _hoisted_3$u = {
15118
15124
  "data-cy": "did-you-mean-label"
15119
15125
  };
15120
15126
  const _hoisted_4$n = { key: 1 };
15121
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15127
+ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
15122
15128
  __name: "SearchResultsDidYouMean",
15123
15129
  props: {
15124
15130
  labels: {}
@@ -15150,7 +15156,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15150
15156
  paramStore.goToResults({ searchText, facet });
15151
15157
  };
15152
15158
  return (_ctx, _cache) => {
15153
- return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
15159
+ return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$R, [
15154
15160
  vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$E, [
15155
15161
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
15156
15162
  return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
@@ -15176,12 +15182,12 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15176
15182
  };
15177
15183
  }
15178
15184
  });
15179
- const _hoisted_1$P = {
15185
+ const _hoisted_1$Q = {
15180
15186
  key: 0,
15181
15187
  class: "lupa-search-results-summary"
15182
15188
  };
15183
15189
  const _hoisted_2$D = ["innerHTML"];
15184
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15190
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
15185
15191
  __name: "SearchResultsSummary",
15186
15192
  props: {
15187
15193
  label: {},
@@ -15196,7 +15202,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15196
15202
  return addParamsToLabel(props.label, range, `<span>${totalItems.value}</span>`);
15197
15203
  });
15198
15204
  return (_ctx, _cache) => {
15199
- return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$P, [
15205
+ return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
15200
15206
  vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$D),
15201
15207
  _ctx.clearable ? (vue.openBlock(), vue.createElementBlock("span", {
15202
15208
  key: 0,
@@ -15208,7 +15214,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15208
15214
  };
15209
15215
  }
15210
15216
  });
15211
- const _hoisted_1$O = {
15217
+ const _hoisted_1$P = {
15212
15218
  key: 0,
15213
15219
  class: "lupa-result-page-title",
15214
15220
  "data-cy": "lupa-result-page-title"
@@ -15219,8 +15225,8 @@ const _hoisted_3$t = {
15219
15225
  class: "lupa-results-total-count"
15220
15226
  };
15221
15227
  const _hoisted_4$m = { class: "lupa-results-total-count-number" };
15222
- const _hoisted_5$g = ["innerHTML"];
15223
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15228
+ const _hoisted_5$e = ["innerHTML"];
15229
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15224
15230
  __name: "SearchResultsTitle",
15225
15231
  props: {
15226
15232
  options: {},
@@ -15259,7 +15265,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15259
15265
  });
15260
15266
  return (_ctx, _cache) => {
15261
15267
  return vue.openBlock(), vue.createElementBlock("div", null, [
15262
- showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$O, [
15268
+ showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$P, [
15263
15269
  vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.searchResults), 1),
15264
15270
  queryText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$C, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
15265
15271
  showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$t, [
@@ -15268,7 +15274,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15268
15274
  vue.createTextVNode(")")
15269
15275
  ])) : vue.createCommentVNode("", true)
15270
15276
  ])) : vue.createCommentVNode("", true),
15271
- _ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
15277
+ _ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
15272
15278
  key: 1,
15273
15279
  label: summaryLabel.value
15274
15280
  }, null, 8, ["label"])) : vue.createCommentVNode("", true),
@@ -15276,12 +15282,12 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15276
15282
  key: 2,
15277
15283
  class: "lupa-result-page-description-top",
15278
15284
  innerHTML: descriptionTop.value
15279
- }, null, 8, _hoisted_5$g)) : vue.createCommentVNode("", true)
15285
+ }, null, 8, _hoisted_5$e)) : vue.createCommentVNode("", true)
15280
15286
  ]);
15281
15287
  };
15282
15288
  }
15283
15289
  });
15284
- const _hoisted_1$N = { class: "lupa-search-result-filter-value" };
15290
+ const _hoisted_1$O = { class: "lupa-search-result-filter-value" };
15285
15291
  const _hoisted_2$B = {
15286
15292
  class: "lupa-current-filter-label",
15287
15293
  "data-cy": "lupa-current-filter-label"
@@ -15290,7 +15296,7 @@ const _hoisted_3$s = {
15290
15296
  class: "lupa-current-filter-value",
15291
15297
  "data-cy": "lupa-current-filter-value"
15292
15298
  };
15293
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
15299
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15294
15300
  __name: "CurrentFilterDisplay",
15295
15301
  props: {
15296
15302
  filter: {}
@@ -15302,7 +15308,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
15302
15308
  emit("remove", { filter: props.filter });
15303
15309
  };
15304
15310
  return (_ctx, _cache) => {
15305
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
15311
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
15306
15312
  vue.createElementVNode("div", {
15307
15313
  class: "lupa-current-filter-action",
15308
15314
  onClick: handleClick
@@ -15313,7 +15319,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
15313
15319
  };
15314
15320
  }
15315
15321
  });
15316
- const _hoisted_1$M = { class: "lupa-filter-title-text" };
15322
+ const _hoisted_1$N = { class: "lupa-filter-title-text" };
15317
15323
  const _hoisted_2$A = {
15318
15324
  key: 0,
15319
15325
  class: "lupa-filter-count"
@@ -15323,7 +15329,7 @@ const _hoisted_3$r = {
15323
15329
  class: "filter-values"
15324
15330
  };
15325
15331
  const _hoisted_4$l = { class: "lupa-current-filter-list" };
15326
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15332
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15327
15333
  __name: "CurrentFilters",
15328
15334
  props: {
15329
15335
  options: {},
@@ -15396,7 +15402,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15396
15402
  class: "lupa-current-filter-title",
15397
15403
  onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
15398
15404
  }, [
15399
- vue.createElementVNode("div", _hoisted_1$M, [
15405
+ vue.createElementVNode("div", _hoisted_1$N, [
15400
15406
  vue.createTextVNode(vue.toDisplayString((_c = (_b = (_a = _ctx.options) == null ? void 0 : _a.labels) == null ? void 0 : _b.title) != null ? _c : "") + " ", 1),
15401
15407
  _ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$A, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
15402
15408
  ]),
@@ -15408,7 +15414,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15408
15414
  !_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$r, [
15409
15415
  vue.createElementVNode("div", _hoisted_4$l, [
15410
15416
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter2) => {
15411
- return vue.openBlock(), vue.createBlock(_sfc_main$R, {
15417
+ return vue.openBlock(), vue.createBlock(_sfc_main$T, {
15412
15418
  key: filter2.key + "_" + filter2.value,
15413
15419
  filter: filter2,
15414
15420
  onRemove: handleRemove
@@ -15425,8 +15431,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15425
15431
  };
15426
15432
  }
15427
15433
  });
15428
- const _hoisted_1$L = ["href"];
15429
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
15434
+ const _hoisted_1$M = ["href"];
15435
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
15430
15436
  __name: "CategoryFilterItem",
15431
15437
  props: {
15432
15438
  options: {},
@@ -15463,20 +15469,20 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
15463
15469
  "data-cy": "lupa-child-category-item",
15464
15470
  href: urlLink.value,
15465
15471
  onClick: handleNavigation
15466
- }, vue.toDisplayString(title.value), 9, _hoisted_1$L)
15472
+ }, vue.toDisplayString(title.value), 9, _hoisted_1$M)
15467
15473
  ], 2);
15468
15474
  };
15469
15475
  }
15470
15476
  });
15471
- const _hoisted_1$K = {
15477
+ const _hoisted_1$L = {
15472
15478
  class: "lupa-category-filter",
15473
15479
  "data-cy": "lupa-category-filter"
15474
15480
  };
15475
15481
  const _hoisted_2$z = { class: "lupa-category-back" };
15476
15482
  const _hoisted_3$q = ["href"];
15477
15483
  const _hoisted_4$k = ["href"];
15478
- const _hoisted_5$f = { class: "lupa-child-category-list" };
15479
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15484
+ const _hoisted_5$d = { class: "lupa-child-category-list" };
15485
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15480
15486
  __name: "CategoryFilter",
15481
15487
  props: {
15482
15488
  options: {}
@@ -15485,6 +15491,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15485
15491
  const props = __props;
15486
15492
  const categoryChildren = vue.ref([]);
15487
15493
  const optionStore = useOptionsStore();
15494
+ const searchResultsStore = useSearchResultStore();
15488
15495
  const { envOptions, searchResultOptions } = storeToRefs(optionStore);
15489
15496
  const hasBackButton = vue.computed(() => {
15490
15497
  var _a;
@@ -15521,6 +15528,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15521
15528
  return;
15522
15529
  }
15523
15530
  categoryChildren.value = result2.items;
15531
+ searchResultsStore.setRelatedCategoryChildren(categoryChildren.value);
15524
15532
  (_c = (_b = searchResultOptions.value.callbacks) == null ? void 0 : _b.onCategoryFilterResults) == null ? void 0 : _c.call(_b, {
15525
15533
  queryKey: props.options.queryKey,
15526
15534
  hasResults: result2.total > 0
@@ -15562,7 +15570,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15562
15570
  };
15563
15571
  __expose({ fetch: fetch2 });
15564
15572
  return (_ctx, _cache) => {
15565
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
15573
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
15566
15574
  vue.createElementVNode("div", _hoisted_2$z, [
15567
15575
  hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
15568
15576
  key: 0,
@@ -15581,9 +15589,9 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15581
15589
  onClick: handleNavigationParent
15582
15590
  }, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$k)
15583
15591
  ], 2),
15584
- vue.createElementVNode("div", _hoisted_5$f, [
15592
+ vue.createElementVNode("div", _hoisted_5$d, [
15585
15593
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
15586
- return vue.openBlock(), vue.createBlock(_sfc_main$P, {
15594
+ return vue.openBlock(), vue.createBlock(_sfc_main$R, {
15587
15595
  key: getCategoryKey(child),
15588
15596
  item: child,
15589
15597
  options: _ctx.options
@@ -15594,15 +15602,15 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15594
15602
  };
15595
15603
  }
15596
15604
  });
15597
- const _hoisted_1$J = {
15605
+ const _hoisted_1$K = {
15598
15606
  class: "lupa-search-result-facet-term-values",
15599
15607
  "data-cy": "lupa-search-result-facet-term-values"
15600
15608
  };
15601
15609
  const _hoisted_2$y = ["placeholder"];
15602
15610
  const _hoisted_3$p = { class: "lupa-terms-list" };
15603
15611
  const _hoisted_4$j = ["onClick"];
15604
- const _hoisted_5$e = { class: "lupa-term-checkbox-wrapper" };
15605
- const _hoisted_6$9 = { class: "lupa-term-checkbox-label" };
15612
+ const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
15613
+ const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
15606
15614
  const _hoisted_7$6 = { class: "lupa-term-label" };
15607
15615
  const _hoisted_8$2 = {
15608
15616
  key: 0,
@@ -15610,7 +15618,7 @@ const _hoisted_8$2 = {
15610
15618
  };
15611
15619
  const _hoisted_9$2 = { key: 0 };
15612
15620
  const _hoisted_10$1 = { key: 1 };
15613
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
15621
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
15614
15622
  __name: "TermFacet",
15615
15623
  props: {
15616
15624
  options: {},
@@ -15681,7 +15689,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
15681
15689
  return selectedItems == null ? void 0 : selectedItems.includes((_b = item.title) == null ? void 0 : _b.toString());
15682
15690
  };
15683
15691
  return (_ctx, _cache) => {
15684
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
15692
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
15685
15693
  isFilterable.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
15686
15694
  key: 0,
15687
15695
  class: "lupa-term-filter",
@@ -15699,12 +15707,12 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
15699
15707
  key: item.title,
15700
15708
  onClick: ($event) => handleFacetClick(item)
15701
15709
  }, [
15702
- vue.createElementVNode("div", _hoisted_5$e, [
15710
+ vue.createElementVNode("div", _hoisted_5$c, [
15703
15711
  vue.createElementVNode("span", {
15704
15712
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
15705
15713
  }, null, 2)
15706
15714
  ]),
15707
- vue.createElementVNode("div", _hoisted_6$9, [
15715
+ vue.createElementVNode("div", _hoisted_6$8, [
15708
15716
  vue.createElementVNode("span", _hoisted_7$6, vue.toDisplayString(item.title), 1),
15709
15717
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$2, "(" + vue.toDisplayString(item.count) + ")", 1)) : vue.createCommentVNode("", true)
15710
15718
  ])
@@ -16699,7 +16707,7 @@ var m = { name: "Slider", emits: ["input", "update:modelValue", "start", "slide"
16699
16707
  m.render = function(e2, t, r, i, n, o) {
16700
16708
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps(e2.sliderProps, { ref: "slider" }), null, 16);
16701
16709
  }, m.__file = "src/Slider.vue";
16702
- const _hoisted_1$I = { class: "lupa-search-result-facet-stats-values" };
16710
+ const _hoisted_1$J = { class: "lupa-search-result-facet-stats-values" };
16703
16711
  const _hoisted_2$x = {
16704
16712
  key: 0,
16705
16713
  class: "lupa-stats-facet-summary"
@@ -16712,8 +16720,8 @@ const _hoisted_4$i = {
16712
16720
  key: 0,
16713
16721
  class: "lupa-stats-range-label"
16714
16722
  };
16715
- const _hoisted_5$d = { class: "lupa-stats-from" };
16716
- const _hoisted_6$8 = ["max", "min", "pattern", "aria-label"];
16723
+ const _hoisted_5$b = { class: "lupa-stats-from" };
16724
+ const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
16717
16725
  const _hoisted_7$5 = { key: 0 };
16718
16726
  const _hoisted_8$1 = /* @__PURE__ */ vue.createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
16719
16727
  const _hoisted_9$1 = {
@@ -16727,7 +16735,7 @@ const _hoisted_13 = {
16727
16735
  key: 2,
16728
16736
  class: "lupa-stats-slider-wrapper"
16729
16737
  };
16730
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16738
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
16731
16739
  __name: "StatsFacet",
16732
16740
  props: {
16733
16741
  options: {},
@@ -16900,11 +16908,11 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16900
16908
  innerSliderRange.value = value;
16901
16909
  };
16902
16910
  return (_ctx, _cache) => {
16903
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
16911
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
16904
16912
  !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$o, [
16905
16913
  vue.createElementVNode("div", null, [
16906
16914
  rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$i, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
16907
- vue.createElementVNode("div", _hoisted_5$d, [
16915
+ vue.createElementVNode("div", _hoisted_5$b, [
16908
16916
  vue.withDirectives(vue.createElementVNode("input", {
16909
16917
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
16910
16918
  type: "text",
@@ -16913,7 +16921,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16913
16921
  min: facetMin.value,
16914
16922
  pattern: sliderInputFormat.value,
16915
16923
  "aria-label": ariaLabelFrom.value
16916
- }, null, 8, _hoisted_6$8), [
16924
+ }, null, 8, _hoisted_6$7), [
16917
16925
  [
16918
16926
  vue.vModelText,
16919
16927
  fromValue.value,
@@ -16967,18 +16975,18 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16967
16975
  };
16968
16976
  }
16969
16977
  });
16970
- const _hoisted_1$H = { class: "lupa-term-checkbox-wrapper" };
16978
+ const _hoisted_1$I = { class: "lupa-term-checkbox-wrapper" };
16971
16979
  const _hoisted_2$w = { class: "lupa-term-checkbox-label" };
16972
16980
  const _hoisted_3$n = { class: "lupa-term-label" };
16973
16981
  const _hoisted_4$h = {
16974
16982
  key: 0,
16975
16983
  class: "lupa-term-count"
16976
16984
  };
16977
- const _hoisted_5$c = {
16985
+ const _hoisted_5$a = {
16978
16986
  key: 0,
16979
16987
  class: "lupa-facet-level"
16980
16988
  };
16981
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
16989
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
16982
16990
  __name: "HierarchyFacetLevel",
16983
16991
  props: {
16984
16992
  options: {},
@@ -17024,7 +17032,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
17024
17032
  "data-cy": "lupa-facet-term",
17025
17033
  onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
17026
17034
  }, [
17027
- vue.createElementVNode("div", _hoisted_1$H, [
17035
+ vue.createElementVNode("div", _hoisted_1$I, [
17028
17036
  vue.createElementVNode("span", {
17029
17037
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
17030
17038
  }, null, 2)
@@ -17034,7 +17042,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
17034
17042
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
17035
17043
  ])
17036
17044
  ]),
17037
- showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$c, [
17045
+ showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$a, [
17038
17046
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
17039
17047
  return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
17040
17048
  key: itemChild.title,
@@ -17050,13 +17058,13 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
17050
17058
  };
17051
17059
  }
17052
17060
  });
17053
- const _hoisted_1$G = {
17061
+ const _hoisted_1$H = {
17054
17062
  class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
17055
17063
  "data-cy": "lupa-search-result-facet-term-values"
17056
17064
  };
17057
17065
  const _hoisted_2$v = { key: 0 };
17058
17066
  const _hoisted_3$m = ["placeholder"];
17059
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17067
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
17060
17068
  __name: "HierarchyFacet",
17061
17069
  props: {
17062
17070
  options: {},
@@ -17106,7 +17114,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17106
17114
  showAll.value = true;
17107
17115
  };
17108
17116
  return (_ctx, _cache) => {
17109
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
17117
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
17110
17118
  isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$v, [
17111
17119
  vue.withDirectives(vue.createElementVNode("input", {
17112
17120
  class: "lupa-term-filter",
@@ -17118,7 +17126,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17118
17126
  ])
17119
17127
  ])) : vue.createCommentVNode("", true),
17120
17128
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
17121
- return vue.openBlock(), vue.createBlock(_sfc_main$L, {
17129
+ return vue.openBlock(), vue.createBlock(_sfc_main$N, {
17122
17130
  key: item.title,
17123
17131
  options: _ctx.options,
17124
17132
  item,
@@ -17138,7 +17146,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17138
17146
  };
17139
17147
  }
17140
17148
  });
17141
- const _hoisted_1$F = { class: "lupa-facet-label-text" };
17149
+ const _hoisted_1$G = { class: "lupa-facet-label-text" };
17142
17150
  const _hoisted_2$u = {
17143
17151
  key: 0,
17144
17152
  class: "lupa-facet-content",
@@ -17146,12 +17154,12 @@ const _hoisted_2$u = {
17146
17154
  };
17147
17155
  const __default__$1 = {
17148
17156
  components: {
17149
- TermFacet: _sfc_main$N,
17150
- StatsFacet: _sfc_main$M,
17151
- HierarchyFacet: _sfc_main$K
17157
+ TermFacet: _sfc_main$P,
17158
+ StatsFacet: _sfc_main$O,
17159
+ HierarchyFacet: _sfc_main$M
17152
17160
  }
17153
17161
  };
17154
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
17162
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
17155
17163
  __name: "FacetDisplay",
17156
17164
  props: {
17157
17165
  options: {},
@@ -17263,7 +17271,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
17263
17271
  "data-cy": "lupa-search-result-facet-label",
17264
17272
  onClick: toggleFacet
17265
17273
  }, [
17266
- vue.createElementVNode("div", _hoisted_1$F, vue.toDisplayString(facet.value.label), 1),
17274
+ vue.createElementVNode("div", _hoisted_1$G, vue.toDisplayString(facet.value.label), 1),
17267
17275
  vue.createElementVNode("div", {
17268
17276
  class: vue.normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
17269
17277
  }, null, 2)
@@ -17286,12 +17294,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
17286
17294
  };
17287
17295
  }
17288
17296
  }));
17289
- const _hoisted_1$E = { class: "lupa-search-result-facet-section" };
17297
+ const _hoisted_1$F = { class: "lupa-search-result-facet-section" };
17290
17298
  const _hoisted_2$t = {
17291
17299
  key: 0,
17292
17300
  class: "lupa-facets-title"
17293
17301
  };
17294
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17302
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17295
17303
  __name: "FacetList",
17296
17304
  props: {
17297
17305
  options: {},
@@ -17325,14 +17333,14 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17325
17333
  };
17326
17334
  return (_ctx, _cache) => {
17327
17335
  var _a;
17328
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
17336
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
17329
17337
  _ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
17330
17338
  vue.createElementVNode("div", {
17331
17339
  class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a = _ctx.facetStyle) != null ? _a : "")])
17332
17340
  }, [
17333
17341
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFacets.value, (facet) => {
17334
17342
  var _a2;
17335
- return vue.openBlock(), vue.createBlock(_sfc_main$J, {
17343
+ return vue.openBlock(), vue.createBlock(_sfc_main$L, {
17336
17344
  key: facet.key,
17337
17345
  facet,
17338
17346
  currentFilters: currentFiltersValue.value,
@@ -17347,8 +17355,8 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17347
17355
  };
17348
17356
  }
17349
17357
  });
17350
- const _hoisted_1$D = ["onClick"];
17351
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
17358
+ const _hoisted_1$E = ["onClick"];
17359
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
17352
17360
  __name: "FacetsButton",
17353
17361
  props: {
17354
17362
  options: {}
@@ -17368,13 +17376,13 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
17368
17376
  key: 0,
17369
17377
  class: "lupa-facets-button-filter",
17370
17378
  onClick: vue.withModifiers(handleClick, ["stop"])
17371
- }, vue.toDisplayString(label.value), 9, _hoisted_1$D)) : vue.createCommentVNode("", true);
17379
+ }, vue.toDisplayString(label.value), 9, _hoisted_1$E)) : vue.createCommentVNode("", true);
17372
17380
  };
17373
17381
  }
17374
17382
  });
17375
- const _hoisted_1$C = { class: "lupa-search-result-facets" };
17383
+ const _hoisted_1$D = { class: "lupa-search-result-facets" };
17376
17384
  const _hoisted_2$s = { class: "lupa-facets-filter-button-wrapper" };
17377
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17385
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17378
17386
  __name: "Facets",
17379
17387
  props: {
17380
17388
  options: {},
@@ -17457,8 +17465,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17457
17465
  emit("filter");
17458
17466
  };
17459
17467
  return (_ctx, _cache) => {
17460
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
17461
- regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
17468
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
17469
+ regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
17462
17470
  key: 0,
17463
17471
  options: _ctx.options,
17464
17472
  facets: regularFacets.value,
@@ -17469,7 +17477,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17469
17477
  onClear: clear
17470
17478
  }, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : vue.createCommentVNode("", true),
17471
17479
  vue.createElementVNode("div", _hoisted_2$s, [
17472
- showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
17480
+ showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
17473
17481
  key: 0,
17474
17482
  options: _ctx.options,
17475
17483
  onFilter: filter2
@@ -17479,11 +17487,11 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17479
17487
  };
17480
17488
  }
17481
17489
  });
17482
- const _hoisted_1$B = {
17490
+ const _hoisted_1$C = {
17483
17491
  id: "lupa-search-result-filters",
17484
17492
  class: "lupa-search-result-filters"
17485
17493
  };
17486
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17494
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
17487
17495
  __name: "SearchResultsFilters",
17488
17496
  props: {
17489
17497
  options: {},
@@ -17516,19 +17524,19 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17516
17524
  __expose({ fetch: fetch2 });
17517
17525
  return (_ctx, _cache) => {
17518
17526
  var _a;
17519
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
17520
- showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
17527
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
17528
+ showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
17521
17529
  key: 0,
17522
17530
  options: _ctx.options.currentFilters,
17523
17531
  expandable: (_a = _ctx.expandable) != null ? _a : false
17524
17532
  }, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
17525
- _ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
17533
+ _ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
17526
17534
  key: 1,
17527
17535
  options: _ctx.options.categories,
17528
17536
  ref_key: "categoryFilters",
17529
17537
  ref: categoryFilters
17530
17538
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
17531
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
17539
+ _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
17532
17540
  key: 2,
17533
17541
  options: _ctx.options.facets,
17534
17542
  onFilter: filter2
@@ -17537,20 +17545,20 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17537
17545
  };
17538
17546
  }
17539
17547
  });
17540
- const _hoisted_1$A = {
17548
+ const _hoisted_1$B = {
17541
17549
  key: 0,
17542
17550
  class: "lupa-mobile-filter-sidebar"
17543
17551
  };
17544
17552
  const _hoisted_2$r = ["onClick"];
17545
17553
  const _hoisted_3$l = { class: "lupa-mobile-sidebar-content" };
17546
17554
  const _hoisted_4$g = { class: "lupa-sidebar-top" };
17547
- const _hoisted_5$b = { class: "lupa-sidebar-title" };
17548
- const _hoisted_6$7 = {
17555
+ const _hoisted_5$9 = { class: "lupa-sidebar-title" };
17556
+ const _hoisted_6$6 = {
17549
17557
  key: 0,
17550
17558
  class: "lupa-sidebar-filter-count"
17551
17559
  };
17552
17560
  const _hoisted_7$4 = { class: "lupa-sidebar-filter-options" };
17553
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17561
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17554
17562
  __name: "MobileFilterSidebar",
17555
17563
  props: {
17556
17564
  options: {}
@@ -17581,16 +17589,16 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17581
17589
  handleMobileToggle();
17582
17590
  };
17583
17591
  return (_ctx, _cache) => {
17584
- return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
17592
+ return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
17585
17593
  vue.createElementVNode("div", {
17586
17594
  class: "lupa-sidebar-close",
17587
17595
  onClick: vue.withModifiers(handleMobileToggle, ["stop"])
17588
17596
  }, null, 8, _hoisted_2$r),
17589
17597
  vue.createElementVNode("div", _hoisted_3$l, [
17590
17598
  vue.createElementVNode("div", _hoisted_4$g, [
17591
- vue.createElementVNode("div", _hoisted_5$b, [
17599
+ vue.createElementVNode("div", _hoisted_5$9, [
17592
17600
  vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
17593
- isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$7, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
17601
+ isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
17594
17602
  ]),
17595
17603
  vue.createElementVNode("div", {
17596
17604
  class: "lupa-filter-toggle-mobile",
@@ -17598,7 +17606,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17598
17606
  })
17599
17607
  ]),
17600
17608
  vue.createElementVNode("div", _hoisted_7$4, [
17601
- vue.createVNode(_sfc_main$F, {
17609
+ vue.createVNode(_sfc_main$H, {
17602
17610
  options: _ctx.options,
17603
17611
  expandable: isActiveFiltersExpanded.value,
17604
17612
  onFilter: filter2
@@ -17609,14 +17617,14 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17609
17617
  };
17610
17618
  }
17611
17619
  });
17612
- const _hoisted_1$z = { id: "lupa-search-results-breadcrumbs" };
17620
+ const _hoisted_1$A = { id: "lupa-search-results-breadcrumbs" };
17613
17621
  const _hoisted_2$q = ["href", "onClick"];
17614
17622
  const _hoisted_3$k = {
17615
17623
  key: 1,
17616
17624
  class: "lupa-search-results-breadcrumb-text"
17617
17625
  };
17618
17626
  const _hoisted_4$f = { key: 2 };
17619
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17627
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17620
17628
  __name: "SearchResultsBreadcrumbs",
17621
17629
  props: {
17622
17630
  breadcrumbs: {}
@@ -17641,7 +17649,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17641
17649
  handleRoutingEvent(link, event, hasEventRouting.value);
17642
17650
  };
17643
17651
  return (_ctx, _cache) => {
17644
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
17652
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
17645
17653
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(breadcrumbsValue.value, (breadcrumb, index) => {
17646
17654
  return vue.openBlock(), vue.createElementBlock("span", {
17647
17655
  class: "lupa-search-results-breadcrumb",
@@ -17663,11 +17671,11 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17663
17671
  };
17664
17672
  }
17665
17673
  });
17666
- const _hoisted_1$y = {
17674
+ const _hoisted_1$z = {
17667
17675
  id: "lupa-search-result-filters",
17668
17676
  class: "lupa-search-result-filters lupa-search-result-top-filters"
17669
17677
  };
17670
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17678
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17671
17679
  __name: "FiltersTopDropdown",
17672
17680
  props: {
17673
17681
  options: {}
@@ -17679,8 +17687,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17679
17687
  };
17680
17688
  return (_ctx, _cache) => {
17681
17689
  var _a;
17682
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
17683
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
17690
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
17691
+ _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
17684
17692
  key: 0,
17685
17693
  options: _ctx.options.facets,
17686
17694
  "facet-style": (_a = _ctx.options.facets.style) == null ? void 0 : _a.type,
@@ -17691,8 +17699,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17691
17699
  };
17692
17700
  }
17693
17701
  });
17694
- const _hoisted_1$x = { id: "lupa-search-results-layout-selection" };
17695
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17702
+ const _hoisted_1$y = { id: "lupa-search-results-layout-selection" };
17703
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17696
17704
  __name: "SearchResultsLayoutSelection",
17697
17705
  setup(__props) {
17698
17706
  const searchResultStore = useSearchResultStore();
@@ -17703,7 +17711,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17703
17711
  searchResultStore.setLayout(layout2);
17704
17712
  };
17705
17713
  return (_ctx, _cache) => {
17706
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
17714
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
17707
17715
  vue.createElementVNode("div", {
17708
17716
  class: vue.normalizeClass([
17709
17717
  "lupa-layout-selection-grid",
@@ -17725,11 +17733,11 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17725
17733
  };
17726
17734
  }
17727
17735
  });
17728
- const _hoisted_1$w = {
17736
+ const _hoisted_1$x = {
17729
17737
  key: 0,
17730
17738
  class: "lupa-mobile-toggle-filter-count"
17731
17739
  };
17732
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
17740
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17733
17741
  __name: "SearchResultsMobileToggle",
17734
17742
  props: {
17735
17743
  label: {},
@@ -17747,12 +17755,12 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
17747
17755
  onClick: handleMobileToggle
17748
17756
  }, [
17749
17757
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
17750
- _ctx.showFilterCount && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$w, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
17758
+ _ctx.showFilterCount && vue.unref(currentFilterCount) > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$x, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
17751
17759
  ], 2);
17752
17760
  };
17753
17761
  }
17754
17762
  });
17755
- const _hoisted_1$v = {
17763
+ const _hoisted_1$w = {
17756
17764
  key: 0,
17757
17765
  id: "lupa-search-results-page-select",
17758
17766
  "data-cy": "lupa-search-results-page-select"
@@ -17766,7 +17774,7 @@ const _hoisted_4$e = {
17766
17774
  key: 0,
17767
17775
  class: "lupa-page-number-separator"
17768
17776
  };
17769
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17777
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17770
17778
  __name: "SearchResultsPageSelect",
17771
17779
  props: {
17772
17780
  lastPageLabel: {},
@@ -17843,7 +17851,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17843
17851
  }
17844
17852
  };
17845
17853
  return (_ctx, _cache) => {
17846
- return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
17854
+ return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
17847
17855
  showBack.value ? (vue.openBlock(), vue.createElementBlock("div", {
17848
17856
  key: 0,
17849
17857
  class: vue.normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
@@ -17887,15 +17895,15 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17887
17895
  };
17888
17896
  }
17889
17897
  });
17890
- const _hoisted_1$u = {
17898
+ const _hoisted_1$v = {
17891
17899
  id: "lupa-search-results-page-size",
17892
17900
  "data-cy": "lupa-search-results-page-size"
17893
17901
  };
17894
17902
  const _hoisted_2$o = { id: "lupa-select" };
17895
17903
  const _hoisted_3$i = { class: "lupa-select-label" };
17896
17904
  const _hoisted_4$d = ["aria-label"];
17897
- const _hoisted_5$a = ["value"];
17898
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17905
+ const _hoisted_5$8 = ["value"];
17906
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
17899
17907
  __name: "SearchResultsPageSize",
17900
17908
  props: {
17901
17909
  labels: {},
@@ -17923,7 +17931,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17923
17931
  });
17924
17932
  };
17925
17933
  return (_ctx, _cache) => {
17926
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
17934
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
17927
17935
  vue.createElementVNode("div", _hoisted_2$o, [
17928
17936
  vue.createElementVNode("label", _hoisted_3$i, vue.toDisplayString(label.value), 1),
17929
17937
  vue.createElementVNode("select", {
@@ -17938,7 +17946,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17938
17946
  return vue.openBlock(), vue.createElementBlock("option", {
17939
17947
  key: option,
17940
17948
  value: option
17941
- }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$a);
17949
+ }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$8);
17942
17950
  }), 128))
17943
17951
  ], 40, _hoisted_4$d)
17944
17952
  ])
@@ -17946,15 +17954,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17946
17954
  };
17947
17955
  }
17948
17956
  });
17949
- const _hoisted_1$t = {
17957
+ const _hoisted_1$u = {
17950
17958
  id: "lupa-search-results-sort",
17951
17959
  class: "lupa-search-results-sort"
17952
17960
  };
17953
17961
  const _hoisted_2$n = { id: "lupa-select" };
17954
17962
  const _hoisted_3$h = { class: "lupa-select-label" };
17955
17963
  const _hoisted_4$c = ["aria-label"];
17956
- const _hoisted_5$9 = ["value"];
17957
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
17964
+ const _hoisted_5$7 = ["value"];
17965
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17958
17966
  __name: "SearchResultsSort",
17959
17967
  props: {
17960
17968
  options: {},
@@ -18003,7 +18011,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18003
18011
  previousKey.value = selectedKey.value;
18004
18012
  };
18005
18013
  return (_ctx, _cache) => {
18006
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
18014
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
18007
18015
  vue.createElementVNode("div", _hoisted_2$n, [
18008
18016
  vue.createElementVNode("label", _hoisted_3$h, vue.toDisplayString(_ctx.options.label), 1),
18009
18017
  vue.withDirectives(vue.createElementVNode("select", {
@@ -18018,7 +18026,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18018
18026
  return vue.openBlock(), vue.createElementBlock("option", {
18019
18027
  key: option.key,
18020
18028
  value: option.key
18021
- }, vue.toDisplayString(option.label), 9, _hoisted_5$9);
18029
+ }, vue.toDisplayString(option.label), 9, _hoisted_5$7);
18022
18030
  }), 128))
18023
18031
  ], 40, _hoisted_4$c), [
18024
18032
  [vue.vModelSelect, selectedKey.value]
@@ -18028,22 +18036,22 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18028
18036
  };
18029
18037
  }
18030
18038
  });
18031
- const _hoisted_1$s = { class: "lupa-toolbar-left" };
18039
+ const _hoisted_1$t = { class: "lupa-toolbar-left" };
18032
18040
  const _hoisted_2$m = {
18033
18041
  key: 0,
18034
18042
  class: "lupa-toolbar-right-title"
18035
18043
  };
18036
18044
  const _hoisted_3$g = { key: 2 };
18037
18045
  const _hoisted_4$b = { key: 4 };
18038
- const _hoisted_5$8 = { key: 6 };
18039
- const _hoisted_6$6 = { class: "lupa-toolbar-right" };
18046
+ const _hoisted_5$6 = { key: 6 };
18047
+ const _hoisted_6$5 = { class: "lupa-toolbar-right" };
18040
18048
  const _hoisted_7$3 = {
18041
18049
  key: 0,
18042
18050
  class: "lupa-toolbar-right-title"
18043
18051
  };
18044
18052
  const _hoisted_8 = { key: 2 };
18045
18053
  const _hoisted_9 = { key: 4 };
18046
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18054
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
18047
18055
  __name: "SearchResultsToolbar",
18048
18056
  props: {
18049
18057
  options: {},
@@ -18150,34 +18158,34 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18150
18158
  id: "lupa-search-results-toolbar",
18151
18159
  class: vue.normalizeClass({ "lupa-filter-no-results": !hasResults.value })
18152
18160
  }, [
18153
- vue.createElementVNode("div", _hoisted_1$s, [
18161
+ vue.createElementVNode("div", _hoisted_1$t, [
18154
18162
  toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$m, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
18155
- showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$B, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$g)),
18156
- showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
18163
+ showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$g)),
18164
+ showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$V, {
18157
18165
  key: 3,
18158
18166
  label: searchSummaryLabel.value,
18159
18167
  clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
18160
18168
  onClear: handleClearAll
18161
18169
  }, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b)),
18162
- displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
18170
+ displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
18163
18171
  key: 5,
18164
18172
  options: paginationOptions.value.pageSelect,
18165
18173
  "last-page-label": paginationOptions.value.labels.showMore,
18166
18174
  "first-page-label": paginationOptions.value.labels.showLess
18167
- }, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8))
18175
+ }, null, 8, ["options", "last-page-label", "first-page-label"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6))
18168
18176
  ]),
18169
- vue.createElementVNode("div", _hoisted_6$6, [
18177
+ vue.createElementVNode("div", _hoisted_6$5, [
18170
18178
  toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
18171
- vue.createVNode(_sfc_main$A, {
18179
+ vue.createVNode(_sfc_main$C, {
18172
18180
  label: optionsValue.value.labels.mobileFilterButton,
18173
18181
  "show-filter-count": showMobileFilterCount.value
18174
18182
  }, null, 8, ["label", "show-filter-count"]),
18175
- paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
18183
+ paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
18176
18184
  key: 1,
18177
18185
  options: paginationOptions.value.pageSize,
18178
18186
  labels: paginationOptions.value.labels
18179
18187
  }, null, 8, ["options", "labels"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8)),
18180
- sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$x, {
18188
+ sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
18181
18189
  key: 3,
18182
18190
  options: sortOptions.value,
18183
18191
  callbacks: callbacks.value
@@ -18187,7 +18195,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18187
18195
  };
18188
18196
  }
18189
18197
  });
18190
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18198
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18191
18199
  __name: "SearchResultsProductImage",
18192
18200
  props: {
18193
18201
  item: {},
@@ -18195,7 +18203,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18195
18203
  },
18196
18204
  setup(__props) {
18197
18205
  return (_ctx, _cache) => {
18198
- return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
18206
+ return vue.openBlock(), vue.createBlock(_sfc_main$1h, {
18199
18207
  item: _ctx.item,
18200
18208
  options: _ctx.options,
18201
18209
  "wrapper-class": "lupa-search-results-image-wrapper",
@@ -18204,16 +18212,16 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18204
18212
  };
18205
18213
  }
18206
18214
  });
18207
- const _hoisted_1$r = ["title", "innerHTML"];
18215
+ const _hoisted_1$s = ["title", "innerHTML"];
18208
18216
  const _hoisted_2$l = ["title"];
18209
18217
  const _hoisted_3$f = ["href", "innerHTML"];
18210
18218
  const _hoisted_4$a = ["title"];
18211
- const _hoisted_5$7 = {
18219
+ const _hoisted_5$5 = {
18212
18220
  key: 0,
18213
18221
  class: "lupa-search-results-product-title-text"
18214
18222
  };
18215
- const _hoisted_6$5 = ["href"];
18216
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18223
+ const _hoisted_6$4 = ["href"];
18224
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18217
18225
  __name: "SearchResultsProductTitle",
18218
18226
  props: {
18219
18227
  item: {},
@@ -18250,7 +18258,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18250
18258
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
18251
18259
  title: sanitizedTitle.value,
18252
18260
  innerHTML: sanitizedTitle.value
18253
- }, null, 12, _hoisted_1$r)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
18261
+ }, null, 12, _hoisted_1$s)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
18254
18262
  key: 1,
18255
18263
  class: "lupa-search-results-product-title",
18256
18264
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
@@ -18268,19 +18276,19 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18268
18276
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
18269
18277
  title: title.value
18270
18278
  }, [
18271
- !_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$7, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
18279
+ !_ctx.options.link ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$5, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
18272
18280
  _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("a", {
18273
18281
  key: 1,
18274
18282
  href: _ctx.link,
18275
18283
  class: "lupa-search-results-product-title-text lupa-title-link",
18276
18284
  onClick: handleNavigation
18277
- }, vue.toDisplayString(title.value), 9, _hoisted_6$5)) : vue.createCommentVNode("", true)
18285
+ }, vue.toDisplayString(title.value), 9, _hoisted_6$4)) : vue.createCommentVNode("", true)
18278
18286
  ], 12, _hoisted_4$a));
18279
18287
  };
18280
18288
  }
18281
18289
  });
18282
- const _hoisted_1$q = ["innerHTML"];
18283
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18290
+ const _hoisted_1$r = ["innerHTML"];
18291
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18284
18292
  __name: "SearchResultsProductDescription",
18285
18293
  props: {
18286
18294
  item: {},
@@ -18307,7 +18315,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18307
18315
  class: "lupa-search-results-product-description",
18308
18316
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
18309
18317
  innerHTML: sanitizedDescription.value
18310
- }, null, 12, _hoisted_1$q)) : (vue.openBlock(), vue.createElementBlock("div", {
18318
+ }, null, 12, _hoisted_1$r)) : (vue.openBlock(), vue.createElementBlock("div", {
18311
18319
  key: 1,
18312
18320
  class: "lupa-search-results-product-description",
18313
18321
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
@@ -18315,15 +18323,15 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18315
18323
  };
18316
18324
  }
18317
18325
  });
18318
- const _hoisted_1$p = { id: "lupa-search-results-rating" };
18326
+ const _hoisted_1$q = { id: "lupa-search-results-rating" };
18319
18327
  const _hoisted_2$k = { class: "lupa-ratings" };
18320
18328
  const _hoisted_3$e = { class: "lupa-ratings-base" };
18321
18329
  const _hoisted_4$9 = ["innerHTML"];
18322
- const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
18323
- const _hoisted_6$4 = ["innerHTML"];
18330
+ const _hoisted_5$4 = { class: "lupa-rating-wrapper" };
18331
+ const _hoisted_6$3 = ["innerHTML"];
18324
18332
  const _hoisted_7$2 = ["href"];
18325
18333
  const STAR_COUNT = 5;
18326
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18334
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18327
18335
  __name: "SearchResultsProductRating",
18328
18336
  props: {
18329
18337
  item: {},
@@ -18354,7 +18362,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18354
18362
  return generateLink(props.options.links.ratingDetails, props.item);
18355
18363
  });
18356
18364
  return (_ctx, _cache) => {
18357
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
18365
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
18358
18366
  vue.createElementVNode("div", _hoisted_2$k, [
18359
18367
  vue.createElementVNode("div", _hoisted_3$e, [
18360
18368
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(baseStars.value, (star, index) => {
@@ -18365,7 +18373,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18365
18373
  }, null, 8, _hoisted_4$9);
18366
18374
  }), 128))
18367
18375
  ]),
18368
- vue.createElementVNode("div", _hoisted_5$6, [
18376
+ vue.createElementVNode("div", _hoisted_5$4, [
18369
18377
  vue.createElementVNode("div", {
18370
18378
  class: "lupa-ratings-highlighted",
18371
18379
  style: vue.normalizeStyle({ width: ratingPercentage.value + "%" })
@@ -18375,7 +18383,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18375
18383
  key: index,
18376
18384
  innerHTML: star,
18377
18385
  class: "lupa-rating lupa-rating-highlighted"
18378
- }, null, 8, _hoisted_6$4);
18386
+ }, null, 8, _hoisted_6$3);
18379
18387
  }), 128))
18380
18388
  ], 4)
18381
18389
  ])
@@ -18388,11 +18396,11 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18388
18396
  };
18389
18397
  }
18390
18398
  });
18391
- const _hoisted_1$o = {
18399
+ const _hoisted_1$p = {
18392
18400
  class: "lupa-search-results-product-regular-price",
18393
18401
  "data-cy": "lupa-search-results-product-regular-price"
18394
18402
  };
18395
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
18403
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18396
18404
  __name: "SearchResultsProductRegularPrice",
18397
18405
  props: {
18398
18406
  item: {},
@@ -18410,11 +18418,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
18410
18418
  );
18411
18419
  });
18412
18420
  return (_ctx, _cache) => {
18413
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, vue.toDisplayString(price.value), 1);
18421
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, vue.toDisplayString(price.value), 1);
18414
18422
  };
18415
18423
  }
18416
18424
  });
18417
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
18425
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18418
18426
  __name: "SearchResultsProductPrice",
18419
18427
  props: {
18420
18428
  item: {},
@@ -18444,10 +18452,10 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
18444
18452
  };
18445
18453
  }
18446
18454
  });
18447
- const _hoisted_1$n = { class: "lupa-search-results-add-to-cart-wrapper" };
18455
+ const _hoisted_1$o = { class: "lupa-search-results-add-to-cart-wrapper" };
18448
18456
  const _hoisted_2$j = { class: "lupa-search-results-product-addtocart" };
18449
18457
  const _hoisted_3$d = ["onClick", "disabled"];
18450
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
18458
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
18451
18459
  __name: "SearchResultsProductAddToCart",
18452
18460
  props: {
18453
18461
  item: {},
@@ -18480,7 +18488,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
18480
18488
  loading.value = false;
18481
18489
  });
18482
18490
  return (_ctx, _cache) => {
18483
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
18491
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
18484
18492
  vue.createElementVNode("div", _hoisted_2$j, [
18485
18493
  vue.createElementVNode("button", {
18486
18494
  onClick: vue.withModifiers(handleClick, ["stop"]),
@@ -18493,12 +18501,12 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
18493
18501
  };
18494
18502
  }
18495
18503
  });
18496
- const _hoisted_1$m = ["innerHTML"];
18504
+ const _hoisted_1$n = ["innerHTML"];
18497
18505
  const _hoisted_2$i = { key: 0 };
18498
18506
  const _hoisted_3$c = { key: 1 };
18499
18507
  const _hoisted_4$8 = { class: "lupa-search-box-custom-label" };
18500
- const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
18501
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
18508
+ const _hoisted_5$3 = { class: "lupa-search-box-custom-text" };
18509
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
18502
18510
  __name: "SearchResultsProductCustom",
18503
18511
  props: {
18504
18512
  item: {},
@@ -18536,20 +18544,20 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
18536
18544
  key: 0,
18537
18545
  class: className.value,
18538
18546
  innerHTML: text.value
18539
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$m)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
18547
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$n)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
18540
18548
  key: 1,
18541
18549
  class: className.value
18542
18550
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
18543
18551
  !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$c, [
18544
18552
  vue.createElementVNode("div", _hoisted_4$8, vue.toDisplayString(label.value), 1),
18545
- vue.createElementVNode("div", _hoisted_5$5, vue.toDisplayString(text.value), 1)
18553
+ vue.createElementVNode("div", _hoisted_5$3, vue.toDisplayString(text.value), 1)
18546
18554
  ]))
18547
18555
  ], 16));
18548
18556
  };
18549
18557
  }
18550
18558
  });
18551
- const _hoisted_1$l = ["innerHTML"];
18552
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
18559
+ const _hoisted_1$m = ["innerHTML"];
18560
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
18553
18561
  __name: "SearchResultsProductCustomHtmlElement",
18554
18562
  props: {
18555
18563
  item: {},
@@ -18580,15 +18588,15 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
18580
18588
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
18581
18589
  class: className.value,
18582
18590
  innerHTML: text.value
18583
- }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$l);
18591
+ }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), null, 16, _hoisted_1$m);
18584
18592
  };
18585
18593
  }
18586
18594
  });
18587
- const _hoisted_1$k = { id: "lupa-search-results-rating" };
18595
+ const _hoisted_1$l = { id: "lupa-search-results-rating" };
18588
18596
  const _hoisted_2$h = ["innerHTML"];
18589
18597
  const _hoisted_3$b = { class: "lupa-ratings" };
18590
18598
  const _hoisted_4$7 = ["href"];
18591
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
18599
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
18592
18600
  __name: "SearchResultsProductSingleStarRating",
18593
18601
  props: {
18594
18602
  item: {},
@@ -18616,7 +18624,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
18616
18624
  return RATING_STAR_HTML;
18617
18625
  });
18618
18626
  return (_ctx, _cache) => {
18619
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
18627
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
18620
18628
  vue.createElementVNode("div", {
18621
18629
  innerHTML: star.value,
18622
18630
  class: "lupa-rating lupa-rating-highlighted"
@@ -18632,19 +18640,19 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
18632
18640
  });
18633
18641
  const __default__ = {
18634
18642
  components: {
18635
- SearchResultsProductImage: _sfc_main$v,
18636
- SearchResultsProductTitle: _sfc_main$u,
18637
- SearchResultsProductDescription: _sfc_main$t,
18638
- SearchResultsProductRating: _sfc_main$s,
18639
- SearchResultsProductRegularPrice: _sfc_main$r,
18640
- SearchResultsProductPrice: _sfc_main$q,
18641
- SearchResultsProductAddToCart: _sfc_main$p,
18642
- SearchResultsProductCustom: _sfc_main$o,
18643
- SearchResultsProductCustomHtmlElement: _sfc_main$n,
18644
- SearchResultsProductSingleStarRating: _sfc_main$m
18645
- }
18646
- };
18647
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
18643
+ SearchResultsProductImage: _sfc_main$x,
18644
+ SearchResultsProductTitle: _sfc_main$w,
18645
+ SearchResultsProductDescription: _sfc_main$v,
18646
+ SearchResultsProductRating: _sfc_main$u,
18647
+ SearchResultsProductRegularPrice: _sfc_main$t,
18648
+ SearchResultsProductPrice: _sfc_main$s,
18649
+ SearchResultsProductAddToCart: _sfc_main$r,
18650
+ SearchResultsProductCustom: _sfc_main$q,
18651
+ SearchResultsProductCustomHtmlElement: _sfc_main$p,
18652
+ SearchResultsProductSingleStarRating: _sfc_main$o
18653
+ }
18654
+ };
18655
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
18648
18656
  __name: "SearchResultsProductCardElement",
18649
18657
  props: {
18650
18658
  item: {},
@@ -18720,13 +18728,13 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
18720
18728
  };
18721
18729
  }
18722
18730
  }));
18723
- const _hoisted_1$j = ["href"];
18731
+ const _hoisted_1$k = ["href"];
18724
18732
  const _hoisted_2$g = {
18725
18733
  key: 0,
18726
18734
  class: "lupa-out-of-stock"
18727
18735
  };
18728
18736
  const _hoisted_3$a = { class: "lupa-search-result-product-details-section" };
18729
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18737
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
18730
18738
  __name: "SearchResultsProductCard",
18731
18739
  props: {
18732
18740
  product: {},
@@ -18878,7 +18886,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18878
18886
  "data-cy": "lupa-search-result-product-card",
18879
18887
  class: ["lupa-search-result-product-card", !isInStock.value ? "lupa-out-of-stock" : ""]
18880
18888
  }, customDocumentHtmlAttributes.value, { onClick: handleClick }), [
18881
- vue.createVNode(_sfc_main$10, { options: badgesOptions.value }, null, 8, ["options"]),
18889
+ vue.createVNode(_sfc_main$12, { options: badgesOptions.value }, null, 8, ["options"]),
18882
18890
  vue.createElementVNode("div", {
18883
18891
  class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
18884
18892
  }, [
@@ -18888,7 +18896,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18888
18896
  onClick: handleNavigation
18889
18897
  }, [
18890
18898
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
18891
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
18899
+ return vue.openBlock(), vue.createBlock(_sfc_main$n, {
18892
18900
  class: "lupa-search-results-product-element",
18893
18901
  item: _ctx.product,
18894
18902
  element,
@@ -18899,16 +18907,16 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18899
18907
  onProductEvent: handleProductEvent
18900
18908
  }, null, 8, ["item", "element", "labels", "inStock", "link"]);
18901
18909
  }), 128)),
18902
- vue.createVNode(_sfc_main$10, {
18910
+ vue.createVNode(_sfc_main$12, {
18903
18911
  options: badgesOptions.value,
18904
18912
  position: "image",
18905
18913
  class: "lupa-image-badges"
18906
18914
  }, null, 8, ["options"]),
18907
18915
  ((_a = labels.value) == null ? void 0 : _a.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, vue.toDisplayString(labels.value.outOfStock), 1)) : vue.createCommentVNode("", true)
18908
- ], 8, _hoisted_1$j),
18916
+ ], 8, _hoisted_1$k),
18909
18917
  vue.createElementVNode("div", _hoisted_3$a, [
18910
18918
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
18911
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
18919
+ return vue.openBlock(), vue.createBlock(_sfc_main$n, {
18912
18920
  class: "lupa-search-results-product-element",
18913
18921
  item: _ctx.product,
18914
18922
  element,
@@ -18926,7 +18934,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18926
18934
  class: vue.normalizeClass("lupa-element-group-" + group)
18927
18935
  }, [
18928
18936
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
18929
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
18937
+ return vue.openBlock(), vue.createBlock(_sfc_main$n, {
18930
18938
  class: "lupa-search-results-product-element",
18931
18939
  item: _ctx.product,
18932
18940
  element,
@@ -18944,7 +18952,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18944
18952
  };
18945
18953
  }
18946
18954
  });
18947
- const _hoisted_1$i = {
18955
+ const _hoisted_1$j = {
18948
18956
  id: "lupa-search-results-similar-queries",
18949
18957
  "data-cy": "lupa-search-results-similar-queries"
18950
18958
  };
@@ -18954,13 +18962,13 @@ const _hoisted_3$9 = {
18954
18962
  "data-cy": "lupa-similar-query-label"
18955
18963
  };
18956
18964
  const _hoisted_4$6 = ["onClick"];
18957
- const _hoisted_5$4 = ["innerHTML"];
18958
- const _hoisted_6$3 = { key: 0 };
18965
+ const _hoisted_5$2 = ["innerHTML"];
18966
+ const _hoisted_6$2 = { key: 0 };
18959
18967
  const _hoisted_7$1 = {
18960
18968
  class: "lupa-products",
18961
18969
  "data-cy": "lupa-products"
18962
18970
  };
18963
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
18971
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
18964
18972
  __name: "SearchResultsSimilarQueries",
18965
18973
  props: {
18966
18974
  labels: {},
@@ -18990,7 +18998,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
18990
18998
  paramsStore.goToResults({ searchText, facet });
18991
18999
  };
18992
19000
  return (_ctx, _cache) => {
18993
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
19001
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
18994
19002
  vue.createElementVNode("div", _hoisted_2$f, vue.toDisplayString(_ctx.labels.similarQueries), 1),
18995
19003
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQueries.value, (similarQuery, index) => {
18996
19004
  return vue.openBlock(), vue.createElementBlock("div", { key: index }, [
@@ -19004,13 +19012,13 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
19004
19012
  }, [
19005
19013
  vue.createElementVNode("span", {
19006
19014
  innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
19007
- }, null, 8, _hoisted_5$4),
19008
- similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$3, " (" + vue.toDisplayString(similarQuery.count) + ")", 1)) : vue.createCommentVNode("", true)
19015
+ }, null, 8, _hoisted_5$2),
19016
+ similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$2, " (" + vue.toDisplayString(similarQuery.count) + ")", 1)) : vue.createCommentVNode("", true)
19009
19017
  ], 8, _hoisted_4$6)
19010
19018
  ]),
19011
19019
  vue.createElementVNode("div", _hoisted_7$1, [
19012
19020
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQuery.items, (product, index2) => {
19013
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19021
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
19014
19022
  style: vue.normalizeStyle(_ctx.columnSize),
19015
19023
  key: getDocumentKey(index2, product),
19016
19024
  product,
@@ -19024,7 +19032,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
19024
19032
  };
19025
19033
  }
19026
19034
  });
19027
- const _hoisted_1$h = {
19035
+ const _hoisted_1$i = {
19028
19036
  key: 0,
19029
19037
  class: "lupa-results-additional-panel"
19030
19038
  };
@@ -19032,7 +19040,7 @@ const _hoisted_2$e = {
19032
19040
  class: "lupa-results-additional-panel-items",
19033
19041
  "data-cy": "lupa-results-additional-panel-items"
19034
19042
  };
19035
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
19043
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
19036
19044
  __name: "AdditionalPanel",
19037
19045
  props: {
19038
19046
  panel: {},
@@ -19104,10 +19112,10 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
19104
19112
  handleQueryChange();
19105
19113
  });
19106
19114
  return (_ctx, _cache) => {
19107
- return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
19115
+ return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
19108
19116
  vue.createElementVNode("div", _hoisted_2$e, [
19109
19117
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index) => {
19110
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19118
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
19111
19119
  key: index,
19112
19120
  product: item,
19113
19121
  options: _ctx.panel,
@@ -19125,11 +19133,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
19125
19133
  };
19126
19134
  }
19127
19135
  });
19128
- const _hoisted_1$g = {
19136
+ const _hoisted_1$h = {
19129
19137
  key: 0,
19130
19138
  class: "lupa-results-additional-panels"
19131
19139
  };
19132
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
19140
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
19133
19141
  __name: "AdditionalPanels",
19134
19142
  props: {
19135
19143
  options: {},
@@ -19146,9 +19154,9 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
19146
19154
  return locationPanels.value.length > 0;
19147
19155
  });
19148
19156
  return (_ctx, _cache) => {
19149
- return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
19157
+ return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
19150
19158
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(locationPanels.value, (panel) => {
19151
- return vue.openBlock(), vue.createBlock(_sfc_main$i, {
19159
+ return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19152
19160
  key: panel.queryKey,
19153
19161
  panel,
19154
19162
  options: _ctx.sdkOptions
@@ -19165,11 +19173,11 @@ const _export_sfc = (sfc, props) => {
19165
19173
  }
19166
19174
  return target;
19167
19175
  };
19168
- const _sfc_main$g = {};
19169
- const _hoisted_1$f = { class: "lupa-spinner-wrapper" };
19176
+ const _sfc_main$i = {};
19177
+ const _hoisted_1$g = { class: "lupa-spinner-wrapper" };
19170
19178
  const _hoisted_2$d = { class: "lupa-spinner" };
19171
19179
  function _sfc_render(_ctx, _cache) {
19172
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
19180
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
19173
19181
  vue.createElementVNode("div", _hoisted_2$d, [
19174
19182
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(12, (x2) => {
19175
19183
  return vue.createElementVNode("div", { key: x2 });
@@ -19177,8 +19185,8 @@ function _sfc_render(_ctx, _cache) {
19177
19185
  ])
19178
19186
  ]);
19179
19187
  }
19180
- const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render]]);
19181
- const _hoisted_1$e = {
19188
+ const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render]]);
19189
+ const _hoisted_1$f = {
19182
19190
  id: "lupa-search-results-similar-results",
19183
19191
  "data-cy": "lupa-search-results-similar-results"
19184
19192
  };
@@ -19187,7 +19195,7 @@ const _hoisted_3$8 = {
19187
19195
  class: "lupa-products",
19188
19196
  "data-cy": "lupa-products"
19189
19197
  };
19190
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19198
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
19191
19199
  __name: "SearchResultsSimilarResults",
19192
19200
  props: {
19193
19201
  columnSize: {},
@@ -19203,11 +19211,11 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19203
19211
  return getProductKey(`${index}`, product, props.productCardOptions.idKey);
19204
19212
  };
19205
19213
  return (_ctx, _cache) => {
19206
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
19214
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
19207
19215
  vue.createElementVNode("div", _hoisted_2$c, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
19208
19216
  vue.createElementVNode("div", _hoisted_3$8, [
19209
19217
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarResults.value.items, (product, index) => {
19210
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19218
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
19211
19219
  style: vue.normalizeStyle(_ctx.columnSize),
19212
19220
  key: getDocumentKey(index, product),
19213
19221
  product,
@@ -19219,7 +19227,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19219
19227
  };
19220
19228
  }
19221
19229
  });
19222
- const _hoisted_1$d = { id: "lupa-search-results-products" };
19230
+ const _hoisted_1$e = { id: "lupa-search-results-products" };
19223
19231
  const _hoisted_2$b = {
19224
19232
  class: "lupa-products",
19225
19233
  "data-cy": "lupa-products"
@@ -19234,9 +19242,9 @@ const _hoisted_4$5 = {
19234
19242
  class: "lupa-empty-results",
19235
19243
  "data-cy": "lupa-no-results"
19236
19244
  };
19237
- const _hoisted_5$3 = { key: 4 };
19238
- const _hoisted_6$2 = { key: 5 };
19239
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19245
+ const _hoisted_5$1 = { key: 4 };
19246
+ const _hoisted_6$1 = { key: 5 };
19247
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
19240
19248
  __name: "SearchResultsProducts",
19241
19249
  props: {
19242
19250
  options: {},
@@ -19343,24 +19351,24 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19343
19351
  };
19344
19352
  return (_ctx, _cache) => {
19345
19353
  var _a;
19346
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
19354
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
19347
19355
  vue.unref(loading) && !vue.unref(isMobileSidebarVisible) ? (vue.openBlock(), vue.createBlock(Spinner, {
19348
19356
  key: 0,
19349
19357
  class: "lupa-loader"
19350
19358
  })) : vue.createCommentVNode("", true),
19351
19359
  vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
19352
- showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
19360
+ showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
19353
19361
  key: 0,
19354
19362
  options: (_a = _ctx.options.filters) != null ? _a : {}
19355
19363
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19356
- showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
19364
+ showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
19357
19365
  key: 1,
19358
19366
  class: "lupa-toolbar-mobile",
19359
19367
  options: _ctx.options,
19360
19368
  "pagination-location": "top",
19361
19369
  onFilter: filter2
19362
19370
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19363
- currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
19371
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
19364
19372
  key: 2,
19365
19373
  class: vue.normalizeClass(currentFiltersClass.value),
19366
19374
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -19368,18 +19376,18 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19368
19376
  expandable: !desktopFiltersExpanded.value
19369
19377
  }, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true)
19370
19378
  ], 64)) : vue.createCommentVNode("", true),
19371
- vue.createVNode(_sfc_main$h, {
19379
+ vue.createVNode(_sfc_main$j, {
19372
19380
  options: _ctx.options,
19373
19381
  location: "top",
19374
19382
  sdkOptions: _ctx.options.options
19375
19383
  }, null, 8, ["options", "sdkOptions"]),
19376
19384
  vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
19377
- vue.createVNode(_sfc_main$w, {
19385
+ vue.createVNode(_sfc_main$y, {
19378
19386
  class: "lupa-toolbar-top",
19379
19387
  options: _ctx.options,
19380
19388
  "pagination-location": "top"
19381
19389
  }, null, 8, ["options"]),
19382
- currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
19390
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
19383
19391
  key: 0,
19384
19392
  class: vue.normalizeClass(currentFiltersClass.value),
19385
19393
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -19395,7 +19403,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19395
19403
  options: productCardOptions.value
19396
19404
  });
19397
19405
  }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
19398
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19406
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
19399
19407
  style: vue.normalizeStyle(columnSize.value),
19400
19408
  key: getProductKeyAction(index, product),
19401
19409
  product,
@@ -19411,12 +19419,12 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19411
19419
  onClick: goToFirstPage
19412
19420
  }, vue.toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : vue.createCommentVNode("", true)
19413
19421
  ])) : vue.createCommentVNode("", true),
19414
- vue.createVNode(_sfc_main$w, {
19422
+ vue.createVNode(_sfc_main$y, {
19415
19423
  class: "lupa-toolbar-bottom",
19416
19424
  options: _ctx.options,
19417
19425
  "pagination-location": "bottom"
19418
19426
  }, null, 8, ["options"]),
19419
- vue.createVNode(_sfc_main$h, {
19427
+ vue.createVNode(_sfc_main$j, {
19420
19428
  options: _ctx.options,
19421
19429
  location: "bottom",
19422
19430
  sdkOptions: _ctx.options.options
@@ -19425,15 +19433,15 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19425
19433
  vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.emptyResults) + " ", 1),
19426
19434
  vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(currentQueryText)), 1)
19427
19435
  ])) : vue.createCommentVNode("", true),
19428
- hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$3, [
19429
- vue.createVNode(_sfc_main$j, {
19436
+ hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
19437
+ vue.createVNode(_sfc_main$l, {
19430
19438
  labels: similarQueriesLabels.value,
19431
19439
  columnSize: columnSize.value,
19432
19440
  productCardOptions: productCardOptions.value
19433
19441
  }, null, 8, ["labels", "columnSize", "productCardOptions"])
19434
19442
  ])) : vue.createCommentVNode("", true),
19435
- hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [
19436
- vue.createVNode(_sfc_main$f, {
19443
+ hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
19444
+ vue.createVNode(_sfc_main$h, {
19437
19445
  labels: similarResultsLabels.value,
19438
19446
  columnSize: columnSize.value,
19439
19447
  productCardOptions: productCardOptions.value
@@ -19444,19 +19452,22 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19444
19452
  };
19445
19453
  }
19446
19454
  });
19447
- const _hoisted_1$c = { class: "lupa-top-mobile-filter-wrapper" };
19455
+ const _hoisted_1$d = { class: "lupa-top-mobile-filter-wrapper" };
19448
19456
  const _hoisted_2$a = {
19449
19457
  key: 0,
19450
19458
  class: "lupa-category-back"
19451
19459
  };
19452
19460
  const _hoisted_3$6 = ["href"];
19453
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19461
+ const _hoisted_4$4 = { class: "lupa-child-category-list" };
19462
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19454
19463
  __name: "CategoryTopFilters",
19455
19464
  props: {
19456
19465
  options: {}
19457
19466
  },
19458
19467
  setup(__props) {
19459
19468
  const props = __props;
19469
+ const searchResultsStore = useSearchResultStore();
19470
+ const { relatedCategoryChildren } = storeToRefs(searchResultsStore);
19460
19471
  const hasBackButton = vue.computed(() => {
19461
19472
  var _a, _b;
19462
19473
  return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.back) == null ? void 0 : _b.title);
@@ -19472,17 +19483,24 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19472
19483
  const hasEventRouting = vue.computed(() => {
19473
19484
  return props.options.routingBehavior === "event";
19474
19485
  });
19486
+ const categoryOptions = vue.computed(() => {
19487
+ return props.options.categories;
19488
+ });
19475
19489
  const handleNavigationBack = (event) => {
19476
19490
  if (!backUrlLink.value) {
19477
19491
  return;
19478
19492
  }
19479
19493
  handleRoutingEvent(backUrlLink.value, event, hasEventRouting.value);
19480
19494
  };
19495
+ const getCategoryKey = (item) => {
19496
+ var _a, _b, _c, _d, _e, _f;
19497
+ return (item == null ? void 0 : item[(_c = (_b = (_a = categoryOptions.value) == null ? void 0 : _a.keys) == null ? void 0 : _b.titleKey) != null ? _c : ""]) + (item == null ? void 0 : item[(_f = (_e = (_d = categoryOptions.value) == null ? void 0 : _d.keys) == null ? void 0 : _e.urlKey) != null ? _f : ""]);
19498
+ };
19481
19499
  return (_ctx, _cache) => {
19482
19500
  return vue.openBlock(), vue.createElementBlock("div", {
19483
19501
  class: vue.normalizeClass(["lupa-category-top-mobile-filters", { "lupa-has-back-button": hasBackButton.value }])
19484
19502
  }, [
19485
- vue.createElementVNode("div", _hoisted_1$c, [
19503
+ vue.createElementVNode("div", _hoisted_1$d, [
19486
19504
  hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
19487
19505
  vue.createElementVNode("a", {
19488
19506
  "data-cy": "lupa-category-back",
@@ -19490,7 +19508,16 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19490
19508
  onClick: handleNavigationBack
19491
19509
  }, vue.toDisplayString(backTitle.value), 9, _hoisted_3$6)
19492
19510
  ])) : vue.createCommentVNode("", true),
19493
- vue.createVNode(_sfc_main$w, {
19511
+ vue.createElementVNode("div", _hoisted_4$4, [
19512
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relatedCategoryChildren), (child) => {
19513
+ return vue.openBlock(), vue.createBlock(_sfc_main$R, {
19514
+ key: getCategoryKey(child),
19515
+ item: child,
19516
+ options: categoryOptions.value
19517
+ }, null, 8, ["item", "options"]);
19518
+ }), 128))
19519
+ ]),
19520
+ vue.createVNode(_sfc_main$y, {
19494
19521
  class: "lupa-toolbar-mobile",
19495
19522
  "pagination-location": "top",
19496
19523
  options: _ctx.options
@@ -19500,7 +19527,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19500
19527
  };
19501
19528
  }
19502
19529
  });
19503
- const _hoisted_1$b = {
19530
+ const _hoisted_1$c = {
19504
19531
  key: 0,
19505
19532
  class: "lupa-container-title-summary-mobile"
19506
19533
  };
@@ -19510,8 +19537,8 @@ const _hoisted_2$9 = {
19510
19537
  class: "top-layout-wrapper"
19511
19538
  };
19512
19539
  const _hoisted_3$5 = { class: "search-content" };
19513
- const _hoisted_4$4 = { id: "lupa-search-results" };
19514
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19540
+ const _hoisted_4$3 = { id: "lupa-search-results" };
19541
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19515
19542
  __name: "SearchResults",
19516
19543
  props: {
19517
19544
  options: {},
@@ -19721,29 +19748,29 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19721
19748
  return vue.openBlock(), vue.createElementBlock("div", {
19722
19749
  class: vue.normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !vue.unref(hasResults) }])
19723
19750
  }, [
19724
- _ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
19725
- vue.createVNode(_sfc_main$U, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19726
- vue.createVNode(_sfc_main$S, {
19751
+ _ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
19752
+ vue.createVNode(_sfc_main$W, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19753
+ vue.createVNode(_sfc_main$U, {
19727
19754
  "show-summary": true,
19728
19755
  options: _ctx.options,
19729
19756
  "is-product-list": (_a = _ctx.isProductList) != null ? _a : false
19730
19757
  }, null, 8, ["options", "is-product-list"])
19731
19758
  ])) : vue.createCommentVNode("", true),
19732
- isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$d, {
19759
+ isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$f, {
19733
19760
  key: 1,
19734
19761
  options: _ctx.options
19735
19762
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19736
- _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
19763
+ _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
19737
19764
  key: 2,
19738
19765
  options: _ctx.options.filters,
19739
19766
  onFilter: handleParamsChange
19740
19767
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19741
- vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
19768
+ vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
19742
19769
  key: 3,
19743
19770
  breadcrumbs: _ctx.options.breadcrumbs
19744
19771
  }, null, 8, ["breadcrumbs"])) : vue.createCommentVNode("", true),
19745
19772
  isTitleResultTopPosition.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
19746
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
19773
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
19747
19774
  key: 0,
19748
19775
  options: (_b = _ctx.options.filters) != null ? _b : {},
19749
19776
  ref_key: "searchResultsFilters",
@@ -19751,12 +19778,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19751
19778
  onFilter: handleParamsChange
19752
19779
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19753
19780
  vue.createElementVNode("div", _hoisted_3$5, [
19754
- vue.createVNode(_sfc_main$U, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19755
- vue.createVNode(_sfc_main$S, {
19781
+ vue.createVNode(_sfc_main$W, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19782
+ vue.createVNode(_sfc_main$U, {
19756
19783
  options: _ctx.options,
19757
19784
  "is-product-list": (_c = _ctx.isProductList) != null ? _c : false
19758
19785
  }, null, 8, ["options", "is-product-list"]),
19759
- vue.createVNode(_sfc_main$e, {
19786
+ vue.createVNode(_sfc_main$g, {
19760
19787
  options: _ctx.options,
19761
19788
  ssr: ssrEnabled.value,
19762
19789
  onFilter: handleParamsChange
@@ -19768,20 +19795,20 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19768
19795
  }, 8, ["options", "ssr"])
19769
19796
  ])
19770
19797
  ])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 5 }, [
19771
- vue.createVNode(_sfc_main$U, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19772
- vue.createVNode(_sfc_main$S, {
19798
+ vue.createVNode(_sfc_main$W, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19799
+ vue.createVNode(_sfc_main$U, {
19773
19800
  options: _ctx.options,
19774
19801
  "is-product-list": (_d = _ctx.isProductList) != null ? _d : false
19775
19802
  }, null, 8, ["options", "is-product-list"]),
19776
- vue.createElementVNode("div", _hoisted_4$4, [
19777
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
19803
+ vue.createElementVNode("div", _hoisted_4$3, [
19804
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
19778
19805
  key: 0,
19779
19806
  options: (_e = _ctx.options.filters) != null ? _e : {},
19780
19807
  ref_key: "searchResultsFilters",
19781
19808
  ref: searchResultsFilters,
19782
19809
  onFilter: handleParamsChange
19783
19810
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19784
- vue.createVNode(_sfc_main$e, {
19811
+ vue.createVNode(_sfc_main$g, {
19785
19812
  options: _ctx.options,
19786
19813
  ssr: ssrEnabled.value,
19787
19814
  onFilter: handleParamsChange
@@ -19805,12 +19832,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19805
19832
  };
19806
19833
  }
19807
19834
  });
19808
- const _hoisted_1$a = {
19835
+ const _hoisted_1$b = {
19809
19836
  key: 0,
19810
19837
  class: "lupa-category-overview"
19811
19838
  };
19812
19839
  const _hoisted_2$8 = ["innerHTML"];
19813
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19840
+ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19814
19841
  __name: "CategoryDescription",
19815
19842
  props: {
19816
19843
  options: {}
@@ -19828,7 +19855,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19828
19855
  return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.current) == null ? void 0 : _b.description);
19829
19856
  });
19830
19857
  return (_ctx, _cache) => {
19831
- return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
19858
+ return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
19832
19859
  vue.createElementVNode("div", {
19833
19860
  class: "lupa-category-description",
19834
19861
  innerHTML: description.value
@@ -19893,7 +19920,7 @@ const processExtractionObject = (value = {}) => {
19893
19920
  }
19894
19921
  return parsedObject;
19895
19922
  };
19896
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19923
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19897
19924
  __name: "ProductList",
19898
19925
  props: {
19899
19926
  options: {}
@@ -19918,7 +19945,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19918
19945
  __expose({ fetch: fetch2 });
19919
19946
  return (_ctx, _cache) => {
19920
19947
  return vue.openBlock(), vue.createElementBlock("div", null, [
19921
- vue.createVNode(_sfc_main$c, {
19948
+ vue.createVNode(_sfc_main$e, {
19922
19949
  options: componentOptions.value,
19923
19950
  "initial-filters": _ctx.options.initialFilters,
19924
19951
  "is-product-list": true,
@@ -19926,7 +19953,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19926
19953
  ref: searchResults
19927
19954
  }, {
19928
19955
  default: vue.withCtx(() => [
19929
- vue.createVNode(_sfc_main$b, { options: _ctx.options }, null, 8, ["options"])
19956
+ vue.createVNode(_sfc_main$d, { options: _ctx.options }, null, 8, ["options"])
19930
19957
  ]),
19931
19958
  _: 1
19932
19959
  }, 8, ["options", "initial-filters"])
@@ -25416,9 +25443,9 @@ lodash.exports;
25416
25443
  }).call(commonjsGlobal);
25417
25444
  })(lodash, lodash.exports);
25418
25445
  var lodashExports = lodash.exports;
25419
- const _hoisted_1$9 = ["onClick"];
25446
+ const _hoisted_1$a = ["onClick"];
25420
25447
  const _hoisted_2$7 = { class: "lupa-search-box-container" };
25421
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
25448
+ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
25422
25449
  __name: "SearchContainer",
25423
25450
  props: {
25424
25451
  options: {}
@@ -25464,7 +25491,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
25464
25491
  onClick: vue.withModifiers(innerClick, ["stop"])
25465
25492
  }, [
25466
25493
  vue.createElementVNode("div", _hoisted_2$7, [
25467
- vue.createVNode(_sfc_main$V, {
25494
+ vue.createVNode(_sfc_main$X, {
25468
25495
  options: fullSearchBoxOptions.value,
25469
25496
  "is-search-container": true,
25470
25497
  ref_key: "searchBox",
@@ -25472,13 +25499,13 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
25472
25499
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
25473
25500
  }, null, 8, ["options"])
25474
25501
  ]),
25475
- vue.createVNode(_sfc_main$c, {
25502
+ vue.createVNode(_sfc_main$e, {
25476
25503
  options: fullSearchResultsOptions.value,
25477
25504
  "is-container": true,
25478
25505
  ref_key: "searchResults",
25479
25506
  ref: searchResults
25480
25507
  }, null, 8, ["options"])
25481
- ], 8, _hoisted_1$9)
25508
+ ], 8, _hoisted_1$a)
25482
25509
  ]);
25483
25510
  };
25484
25511
  }
@@ -26181,7 +26208,7 @@ var Slide = vue.defineComponent({
26181
26208
  };
26182
26209
  }
26183
26210
  });
26184
- const _hoisted_1$8 = {
26211
+ const _hoisted_1$9 = {
26185
26212
  key: 0,
26186
26213
  class: "lupa-search-product-recommendations-wrapper"
26187
26214
  };
@@ -26194,12 +26221,12 @@ const _hoisted_3$4 = {
26194
26221
  class: "lupa-recommended-products",
26195
26222
  "data-cy": "lupa-recommended-products"
26196
26223
  };
26197
- const _hoisted_4$3 = {
26224
+ const _hoisted_4$2 = {
26198
26225
  key: 1,
26199
26226
  class: "lupa-products",
26200
26227
  "data-cy": "lupa-products"
26201
26228
  };
26202
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26229
+ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
26203
26230
  __name: "Recommendations",
26204
26231
  props: {
26205
26232
  options: {}
@@ -26315,7 +26342,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26315
26342
  });
26316
26343
  __expose({ fetch: fetch2 });
26317
26344
  return (_ctx, _cache) => {
26318
- return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
26345
+ return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
26319
26346
  title.value ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$6, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
26320
26347
  !loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [
26321
26348
  layoutType.value === "carousel" ? (vue.openBlock(), vue.createBlock(vue.unref(Carousel), vue.mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
@@ -26328,7 +26355,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26328
26355
  key: getProductKeyAction(index, product)
26329
26356
  }, {
26330
26357
  default: vue.withCtx(() => [
26331
- vue.createVNode(_sfc_main$k, {
26358
+ vue.createVNode(_sfc_main$m, {
26332
26359
  product,
26333
26360
  options: _ctx.options,
26334
26361
  "click-tracking-settings": clickTrackingSettings.value
@@ -26339,9 +26366,9 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26339
26366
  }), 128))
26340
26367
  ]),
26341
26368
  _: 1
26342
- }, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [
26369
+ }, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
26343
26370
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(recommendations.value, (product, index) => {
26344
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
26371
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
26345
26372
  style: vue.normalizeStyle(columnSize.value),
26346
26373
  key: getProductKeyAction(index, product),
26347
26374
  product,
@@ -26355,19 +26382,19 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26355
26382
  };
26356
26383
  }
26357
26384
  });
26358
- const _hoisted_1$7 = { class: "lupa-chat-spinner" };
26385
+ const _hoisted_1$8 = { class: "lupa-chat-spinner" };
26359
26386
  const _hoisted_2$5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26360
26387
  const _hoisted_3$3 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26361
- const _hoisted_4$2 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26362
- const _hoisted_5$2 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26363
- const _hoisted_6$1 = [
26388
+ const _hoisted_4$1 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26389
+ const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26390
+ const _hoisted_6 = [
26364
26391
  _hoisted_2$5,
26365
26392
  _hoisted_3$3,
26366
- _hoisted_4$2,
26367
- _hoisted_5$2
26393
+ _hoisted_4$1,
26394
+ _hoisted_5
26368
26395
  ];
26369
26396
  const _hoisted_7 = { class: "lupa-chat-spinner-message" };
26370
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
26397
+ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
26371
26398
  __name: "ChatSpinner",
26372
26399
  props: {
26373
26400
  small: { type: Boolean },
@@ -26375,27 +26402,25 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
26375
26402
  },
26376
26403
  setup(__props) {
26377
26404
  return (_ctx, _cache) => {
26378
- return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$7, [
26405
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$8, [
26379
26406
  vue.createElementVNode("div", {
26380
26407
  class: vue.normalizeClass([{ small: _ctx.small }, "lds-ring"])
26381
- }, _hoisted_6$1, 2),
26408
+ }, _hoisted_6, 2),
26382
26409
  vue.createElementVNode("div", _hoisted_7, vue.toDisplayString(_ctx.message), 1)
26383
26410
  ]);
26384
26411
  };
26385
26412
  }
26386
26413
  });
26387
- const _hoisted_1$6 = { class: "lupa-chat-input-container" };
26414
+ const _hoisted_1$7 = { class: "lupa-chat-input-container" };
26388
26415
  const _hoisted_2$4 = { id: "lupa-search-box-input" };
26389
- const _hoisted_3$2 = {
26390
- key: 0,
26391
- class: "lupa-chat-form-submit"
26392
- };
26393
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26416
+ const _hoisted_3$2 = { class: "lupa-chat-form-submit" };
26417
+ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26394
26418
  __name: "ChatInput",
26395
26419
  props: {
26396
- disabled: { type: Boolean }
26420
+ disabled: { type: Boolean },
26421
+ options: {}
26397
26422
  },
26398
- emits: ["submit"],
26423
+ emits: ["submit", "focus", "blur", "clear"],
26399
26424
  setup(__props, { emit }) {
26400
26425
  const inputValue = vue.ref("");
26401
26426
  const submit = () => {
@@ -26403,7 +26428,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26403
26428
  inputValue.value = "";
26404
26429
  };
26405
26430
  return (_ctx, _cache) => {
26406
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
26431
+ var _a, _b, _c, _d, _e, _f;
26432
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
26407
26433
  vue.createElementVNode("form", {
26408
26434
  action: "javascript:void(0);",
26409
26435
  class: "chat-input-form",
@@ -26417,12 +26443,22 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26417
26443
  class: "lupa-search-box-input-field",
26418
26444
  "data-cy": "lupa-search-box-input-field",
26419
26445
  type: "text",
26420
- placeholder: "Type your request here..."
26421
- }, null, 512), [
26446
+ placeholder: "Type your request here...",
26447
+ onFocus: _cache[1] || (_cache[1] = ($event) => emit("focus")),
26448
+ onBlur: _cache[2] || (_cache[2] = ($event) => emit("blur"))
26449
+ }, null, 544), [
26422
26450
  [vue.vModelText, inputValue.value]
26423
26451
  ])
26424
26452
  ]),
26425
- !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("button", _hoisted_3$2, "Ask LupaChat")) : (vue.openBlock(), vue.createBlock(_sfc_main$7, {
26453
+ !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
26454
+ vue.createElementVNode("button", _hoisted_3$2, vue.toDisplayString(((_c = (_b = (_a = _ctx.options) == null ? void 0 : _a.chatSettings) == null ? void 0 : _b.labels) == null ? void 0 : _c.ask) || "Ask LupaChat"), 1),
26455
+ !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("button", {
26456
+ key: 0,
26457
+ type: "button",
26458
+ class: "lupa-chat-form-clear",
26459
+ onClick: _cache[3] || (_cache[3] = ($event) => emit("clear"))
26460
+ }, vue.toDisplayString(((_f = (_e = (_d = _ctx.options) == null ? void 0 : _d.chatSettings) == null ? void 0 : _e.labels) == null ? void 0 : _f.clear) || "Clear Chat"), 1)) : vue.createCommentVNode("", true)
26461
+ ], 64)) : (vue.openBlock(), vue.createBlock(_sfc_main$9, {
26426
26462
  key: 1,
26427
26463
  small: true
26428
26464
  }))
@@ -26561,8 +26597,9 @@ const ChatService = {
26561
26597
  prepareChatHistory,
26562
26598
  getTextResponseChunkStream
26563
26599
  };
26564
- const _hoisted_1$5 = { class: "lupa-chat-results" };
26565
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
26600
+ const _hoisted_1$6 = { class: "lupa-chat-results" };
26601
+ const _hoisted_2$3 = ["href"];
26602
+ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
26566
26603
  __name: "ChatPhraseProductsList",
26567
26604
  props: {
26568
26605
  options: {},
@@ -26573,35 +26610,40 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
26573
26610
  const getProductKeyAction = (index, product) => {
26574
26611
  return getProductKey(`${index}`, product, props.options.idKey);
26575
26612
  };
26613
+ const image = vue.computed(() => {
26614
+ var _a;
26615
+ return (_a = props.options.elements) == null ? void 0 : _a.find((e2) => e2.type === "image");
26616
+ });
26617
+ const getLink = (item) => {
26618
+ var _a, _b, _c;
26619
+ if (!((_a = props.options.links) == null ? void 0 : _a.details)) {
26620
+ return "";
26621
+ }
26622
+ return generateLink((_c = (_b = props.options.links) == null ? void 0 : _b.details) != null ? _c : "", item);
26623
+ };
26576
26624
  return (_ctx, _cache) => {
26577
- return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$5, [
26625
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$6, [
26578
26626
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
26579
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
26580
- class: "lupa-chat-product-card",
26581
- key: getProductKeyAction(index, product),
26582
- product,
26583
- options: _ctx.options
26584
- }, null, 8, ["product", "options"]);
26627
+ return vue.openBlock(), vue.createElementBlock("div", {
26628
+ class: "lupa-chat-item lupa-chat-product-card-image",
26629
+ key: getProductKeyAction(index, product)
26630
+ }, [
26631
+ vue.createElementVNode("a", {
26632
+ href: getLink(product)
26633
+ }, [
26634
+ vue.createVNode(_sfc_main$x, {
26635
+ item: product,
26636
+ options: image.value
26637
+ }, null, 8, ["item", "options"])
26638
+ ], 8, _hoisted_2$3)
26639
+ ]);
26585
26640
  }), 128))
26586
26641
  ]);
26587
26642
  };
26588
26643
  }
26589
26644
  });
26590
- const _hoisted_1$4 = { class: "lupa-chat-content-entry-phrase" };
26591
- const _hoisted_2$3 = { class: "lupa-chat-phrase-title" };
26592
- const _hoisted_3$1 = {
26593
- key: 0,
26594
- class: "alert"
26595
- };
26596
- const _hoisted_4$1 = {
26597
- key: 0,
26598
- class: "lupa-chat-no-results"
26599
- };
26600
- const _hoisted_5$1 = /* @__PURE__ */ vue.createElementVNode("p", null, "We found no matches for this search term", -1);
26601
- const _hoisted_6 = [
26602
- _hoisted_5$1
26603
- ];
26604
- const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
26645
+ const _hoisted_1$5 = { class: "lupa-chat-phrase-title" };
26646
+ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26605
26647
  __name: "ChatContentEntryPhrase",
26606
26648
  props: {
26607
26649
  options: {},
@@ -26686,29 +26728,87 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
26686
26728
  return phrases != null ? phrases : [];
26687
26729
  });
26688
26730
  return (_ctx, _cache) => {
26689
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
26690
- vue.createElementVNode("div", _hoisted_2$3, [
26691
- vue.createElementVNode("h3", null, vue.toDisplayString(displayPhrase.value), 1),
26692
- vue.createElementVNode("sub", null, vue.toDisplayString(usedAlternativePhrases.value.join(", ")), 1),
26693
- usedPartialResults.value ? (vue.openBlock(), vue.createElementBlock("sub", _hoisted_3$1, "Including partial matches - which might not be what you are looking for")) : vue.createCommentVNode("", true)
26731
+ return !loading.value && searchResults.value.length ? (vue.openBlock(), vue.createElementBlock("div", {
26732
+ key: 0,
26733
+ class: vue.normalizeClass(["lupa-chat-content-entry-phrase", { "lupa-chat-incomplete-results": usedPartialResults.value }])
26734
+ }, [
26735
+ vue.createElementVNode("div", _hoisted_1$5, [
26736
+ vue.createElementVNode("h3", null, vue.toDisplayString(displayPhrase.value), 1)
26694
26737
  ]),
26695
26738
  vue.createElementVNode("div", null, [
26696
- vue.createVNode(_sfc_main$5, {
26739
+ vue.createVNode(_sfc_main$7, {
26697
26740
  "search-results": searchResults.value,
26698
26741
  options: _ctx.options.displayOptions
26699
26742
  }, null, 8, ["search-results", "options"])
26700
- ]),
26701
- !loading.value && !searchResults.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, _hoisted_6)) : vue.createCommentVNode("", true),
26702
- loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$7, {
26703
- key: 1,
26704
- message: currentAction.value
26705
- }, null, 8, ["message"])) : vue.createCommentVNode("", true)
26743
+ ])
26744
+ ], 2)) : vue.createCommentVNode("", true);
26745
+ };
26746
+ }
26747
+ });
26748
+ const _hoisted_1$4 = { class: "lupa-chat-text-response" };
26749
+ const _hoisted_2$2 = ["innerHTML"];
26750
+ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
26751
+ __name: "ChatTextEntry",
26752
+ props: {
26753
+ content: {},
26754
+ options: {},
26755
+ history: {}
26756
+ },
26757
+ setup(__props) {
26758
+ const props = __props;
26759
+ const content = vue.ref("");
26760
+ const processChunk = (chunk) => {
26761
+ content.value += chunk;
26762
+ };
26763
+ vue.onMounted(() => {
26764
+ var _a;
26765
+ ChatService.getTextResponseChunkStream(
26766
+ props.options.sdkOptions,
26767
+ {
26768
+ initialQuery: props.content,
26769
+ messageHistory: (_a = props.history) != null ? _a : [],
26770
+ queryKey: props.options.displayOptions.queryKey
26771
+ },
26772
+ processChunk,
26773
+ props.options.chatSettings
26774
+ );
26775
+ });
26776
+ return (_ctx, _cache) => {
26777
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
26778
+ vue.createElementVNode("p", { innerHTML: content.value }, null, 8, _hoisted_2$2)
26779
+ ]);
26780
+ };
26781
+ }
26782
+ });
26783
+ const _hoisted_1$3 = { class: "lupa-chat-results" };
26784
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
26785
+ __name: "ChatPhraseProductsCardList",
26786
+ props: {
26787
+ options: {},
26788
+ searchResults: {}
26789
+ },
26790
+ setup(__props) {
26791
+ const props = __props;
26792
+ const getProductKeyAction = (index, product) => {
26793
+ return getProductKey(`${index}`, product, props.options.idKey);
26794
+ };
26795
+ return (_ctx, _cache) => {
26796
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$3, [
26797
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
26798
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
26799
+ class: "lupa-chat-product-card",
26800
+ key: getProductKeyAction(index, product),
26801
+ product,
26802
+ options: _ctx.options
26803
+ }, null, 8, ["product", "options"]);
26804
+ }), 128))
26706
26805
  ]);
26707
26806
  };
26708
26807
  }
26709
26808
  });
26710
- const _hoisted_1$3 = { class: "lupa-chat-best-matches lupa-chat-content-entry" };
26711
- const _hoisted_2$2 = /* @__PURE__ */ vue.createElementVNode("h3", null, "Best matches", -1);
26809
+ const _hoisted_1$2 = { class: "lupa-chat-section-content" };
26810
+ const _hoisted_2$1 = { class: "lupa-chat-content-entry-wrapper" };
26811
+ const _hoisted_3$1 = { class: "lupa-chat-best-matches lupa-chat-content-entry" };
26712
26812
  const MAX_SOURCES_FOR_BEST_ITEM_MATCHING = 250;
26713
26813
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
26714
26814
  __name: "ChatContentEntry",
@@ -26767,74 +26867,87 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
26767
26867
  }).filter(Boolean);
26768
26868
  });
26769
26869
  return (_ctx, _cache) => {
26770
- return vue.openBlock(), vue.createElementBlock("div", null, [
26771
- vue.createElementVNode("ul", null, [
26772
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.entry.allPhrases, (phrase) => {
26773
- return vue.openBlock(), vue.createElementBlock("li", {
26774
- key: phrase,
26775
- class: "lupa-chat-content-entry"
26776
- }, [
26777
- phrase ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
26778
- key: 0,
26779
- phrase,
26780
- options: _ctx.options,
26781
- onLoaded: loaded
26782
- }, null, 8, ["phrase", "options"])) : vue.createCommentVNode("", true)
26783
- ]);
26784
- }), 128))
26870
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
26871
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
26872
+ vue.createElementVNode("section", _hoisted_1$2, [
26873
+ vue.createVNode(_sfc_main$5, {
26874
+ content: _ctx.entry.userInput,
26875
+ history: _ctx.history,
26876
+ options: _ctx.options
26877
+ }, null, 8, ["content", "history", "options"]),
26878
+ vue.createElementVNode("div", _hoisted_2$1, [
26879
+ vue.createElementVNode("ul", null, [
26880
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.entry.allPhrases, (phrase) => {
26881
+ return vue.openBlock(), vue.createElementBlock("li", {
26882
+ key: phrase,
26883
+ class: "lupa-chat-content-entry"
26884
+ }, [
26885
+ phrase ? (vue.openBlock(), vue.createBlock(_sfc_main$6, {
26886
+ key: 0,
26887
+ phrase,
26888
+ options: _ctx.options,
26889
+ onLoaded: loaded
26890
+ }, null, 8, ["phrase", "options"])) : vue.createCommentVNode("", true)
26891
+ ]);
26892
+ }), 128))
26893
+ ]),
26894
+ loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
26895
+ key: 0,
26896
+ message: (_c = (_b = (_a = _ctx.options.chatSettings) == null ? void 0 : _a.labels) == null ? void 0 : _b.bestMatches) != null ? _c : "Checking for more matches..."
26897
+ }, null, 8, ["message"])) : vue.createCommentVNode("", true)
26898
+ ])
26785
26899
  ]),
26786
- vue.createElementVNode("section", _hoisted_1$3, [
26787
- _hoisted_2$2,
26788
- loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$7, {
26900
+ vue.createElementVNode("section", _hoisted_3$1, [
26901
+ vue.createElementVNode("h3", null, vue.toDisplayString((_f = (_e = (_d = _ctx.options.chatSettings) == null ? void 0 : _d.labels) == null ? void 0 : _e.checkingForMorePhraseMatches) != null ? _f : "Best matches"), 1),
26902
+ loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
26789
26903
  key: 0,
26790
- message: "Selecting the best matches for you. This might take a few seconds."
26791
- })) : vue.createCommentVNode("", true),
26792
- bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$5, {
26904
+ message: (_i = (_h = (_g = _ctx.options.chatSettings) == null ? void 0 : _g.labels) == null ? void 0 : _h.selectingBestPhrases) != null ? _i : "Selecting the best matches for you. This might take a few seconds."
26905
+ }, null, 8, ["message"])) : vue.createCommentVNode("", true),
26906
+ bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
26793
26907
  key: 1,
26794
26908
  "search-results": bestMatchProducts.value,
26795
- options: _ctx.options.displayOptions
26909
+ options: _ctx.options.displayOptions,
26910
+ full: true
26796
26911
  }, null, 8, ["search-results", "options"])) : vue.createCommentVNode("", true)
26797
26912
  ])
26798
- ]);
26913
+ ], 64);
26799
26914
  };
26800
26915
  }
26801
26916
  });
26802
- const _hoisted_1$2 = { class: "lupa-chat-text-response" };
26803
- const _hoisted_2$1 = ["innerHTML"];
26917
+ const _hoisted_1$1 = { key: 0 };
26804
26918
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
26805
- __name: "ChatTextEntry",
26919
+ __name: "ChatContentListEntry",
26806
26920
  props: {
26807
- content: {},
26921
+ entry: {},
26808
26922
  options: {},
26809
26923
  history: {}
26810
26924
  },
26811
- setup(__props) {
26812
- const props = __props;
26813
- const content = vue.ref("");
26814
- const processChunk = (chunk) => {
26815
- content.value += chunk;
26925
+ emits: ["loaded"],
26926
+ setup(__props, { emit }) {
26927
+ const bestItemsLoaded = (items, key) => {
26928
+ emit("loaded", { items, key });
26816
26929
  };
26817
- vue.onMounted(() => {
26818
- var _a;
26819
- ChatService.getTextResponseChunkStream(
26820
- props.options.sdkOptions,
26821
- {
26822
- initialQuery: props.content,
26823
- messageHistory: (_a = props.history) != null ? _a : [],
26824
- queryKey: props.options.displayOptions.queryKey
26825
- },
26826
- processChunk,
26827
- props.options.chatSettings
26828
- );
26829
- });
26830
26930
  return (_ctx, _cache) => {
26831
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
26832
- vue.createElementVNode("p", { innerHTML: content.value }, null, 8, _hoisted_2$1)
26931
+ var _a;
26932
+ return vue.openBlock(), vue.createElementBlock("div", null, [
26933
+ vue.createElementVNode("h4", {
26934
+ class: "lupa-chat-section-title",
26935
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.entry.expanded = !_ctx.entry.expanded)
26936
+ }, vue.toDisplayString(_ctx.entry.userInput), 1),
26937
+ ((_a = _ctx.entry.suggestedPhrases) == null ? void 0 : _a.length) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
26938
+ vue.createVNode(_sfc_main$3, {
26939
+ entry: _ctx.entry,
26940
+ options: _ctx.options,
26941
+ history: _ctx.history,
26942
+ onLoaded: _cache[1] || (_cache[1] = (items) => bestItemsLoaded(items, _ctx.entry.key))
26943
+ }, null, 8, ["entry", "options", "history"])
26944
+ ], 512)), [
26945
+ [vue.vShow, _ctx.entry.expanded]
26946
+ ]) : vue.createCommentVNode("", true)
26833
26947
  ]);
26834
26948
  };
26835
26949
  }
26836
26950
  });
26837
- const _hoisted_1$1 = { class: "lupa-chat-section-title" };
26838
26951
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
26839
26952
  __name: "ChatContentList",
26840
26953
  props: {
@@ -26851,23 +26964,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
26851
26964
  return vue.openBlock(), vue.createElementBlock("div", null, [
26852
26965
  vue.createElementVNode("ul", null, [
26853
26966
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.content, (entry) => {
26854
- var _a;
26855
26967
  return vue.openBlock(), vue.createElementBlock("li", {
26856
- key: entry.key
26968
+ key: entry.key,
26969
+ class: "chat-content-list-entry"
26857
26970
  }, [
26858
- vue.createElementVNode("h4", _hoisted_1$1, vue.toDisplayString(entry.userInput), 1),
26859
26971
  vue.createVNode(_sfc_main$2, {
26860
- content: entry.userInput,
26861
- history: _ctx.history,
26862
- options: _ctx.options
26863
- }, null, 8, ["content", "history", "options"]),
26864
- ((_a = entry.suggestedPhrases) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
26865
- key: 0,
26866
26972
  entry,
26867
26973
  options: _ctx.options,
26868
26974
  history: _ctx.history,
26869
26975
  onLoaded: (items) => bestItemsLoaded(items, entry.key)
26870
- }, null, 8, ["entry", "options", "history", "onLoaded"])) : vue.createCommentVNode("", true)
26976
+ }, null, 8, ["entry", "options", "history", "onLoaded"])
26871
26977
  ]);
26872
26978
  }), 128))
26873
26979
  ])
@@ -26876,18 +26982,12 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
26876
26982
  }
26877
26983
  });
26878
26984
  const _hoisted_1 = { class: "lupasearch-chat" };
26879
- const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("section", { class: "lupa-chat-logo" }, [
26880
- /* @__PURE__ */ vue.createElementVNode("img", { src: "https://www.lupasearch.com/images/partials/header/lupasearch-logo.svg" })
26881
- ], -1);
26882
- const _hoisted_3 = {
26985
+ const _hoisted_2 = { class: "lupasearch-chat-input" };
26986
+ const _hoisted_3 = { class: "lupasearch-chat-content-wrapper" };
26987
+ const _hoisted_4 = {
26883
26988
  key: 0,
26884
26989
  class: "lupasearch-chat-content"
26885
26990
  };
26886
- const _hoisted_4 = {
26887
- key: 1,
26888
- class: "lupa-chat-spinner-main"
26889
- };
26890
- const _hoisted_5 = { class: "lupasearch-chat-input" };
26891
26991
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26892
26992
  __name: "ChatContainer",
26893
26993
  props: {
@@ -26897,6 +26997,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26897
26997
  const props = __props;
26898
26998
  const loading = vue.ref(false);
26899
26999
  const error = vue.ref("");
27000
+ const focused = vue.ref(false);
26900
27001
  const chatContent = vue.ref([]);
26901
27002
  const history = vue.computed(() => ChatService.prepareChatHistory(chatContent.value));
26902
27003
  const submitChatInput = (input2) => __async(this, null, function* () {
@@ -26911,8 +27012,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26911
27012
  key,
26912
27013
  userInput: input2,
26913
27014
  allPhrases: [],
26914
- suggestedPhrases: []
27015
+ suggestedPhrases: [],
27016
+ expanded: true
26915
27017
  };
27018
+ chatContent.value = chatContent.value.map((c2) => __spreadProps(__spreadValues({}, c2), { expanded: false }));
26916
27019
  chatContent.value.push(chatLog);
26917
27020
  const request = {
26918
27021
  userPrompt: input2,
@@ -26943,25 +27046,31 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26943
27046
  const entry = chatContent.value.find((c2) => c2.key === key);
26944
27047
  entry.bestItems = items;
26945
27048
  };
27049
+ const clearChatContent = () => {
27050
+ chatContent.value = [];
27051
+ };
26946
27052
  return (_ctx, _cache) => {
26947
27053
  return vue.openBlock(), vue.createElementBlock("section", _hoisted_1, [
26948
- _hoisted_2,
26949
- chatContent.value.length ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_3, [
26950
- vue.createVNode(_sfc_main$1, {
26951
- content: chatContent.value,
26952
- options: _ctx.options,
26953
- onLoaded: bestItemsLoaded,
26954
- history: history.value
26955
- }, null, 8, ["content", "options", "history"])
26956
- ])) : vue.createCommentVNode("", true),
26957
- loading.value ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
26958
- vue.createVNode(_sfc_main$7, { message: "Loading initial recommendations... This might take up to 20s" })
26959
- ])) : vue.createCommentVNode("", true),
26960
- vue.createElementVNode("section", _hoisted_5, [
26961
- vue.createVNode(_sfc_main$6, {
27054
+ vue.createElementVNode("section", _hoisted_2, [
27055
+ vue.createVNode(_sfc_main$8, {
26962
27056
  onSubmit: submitChatInput,
26963
- disabled: loading.value
26964
- }, null, 8, ["disabled"])
27057
+ disabled: loading.value,
27058
+ options: _ctx.options,
27059
+ onFocus: _cache[0] || (_cache[0] = ($event) => focused.value = true),
27060
+ onClear: clearChatContent
27061
+ }, null, 8, ["disabled", "options"]),
27062
+ vue.createElementVNode("div", _hoisted_3, [
27063
+ chatContent.value.length ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
27064
+ vue.createVNode(_sfc_main$1, {
27065
+ content: chatContent.value,
27066
+ options: _ctx.options,
27067
+ history: history.value,
27068
+ onLoaded: bestItemsLoaded
27069
+ }, null, 8, ["content", "options", "history"])
27070
+ ], 512)), [
27071
+ [vue.vShow, focused.value]
27072
+ ]) : vue.createCommentVNode("", true)
27073
+ ])
26965
27074
  ])
26966
27075
  ]);
26967
27076
  };
@@ -27015,12 +27124,12 @@ exports.BadgeType = BadgeType;
27015
27124
  exports.ChatContainer = _sfc_main;
27016
27125
  exports.DocumentElementType = DocumentElementType;
27017
27126
  exports.LupaSearch = LupaSearch;
27018
- exports.ProductList = _sfc_main$a;
27019
- exports.Recommendations = _sfc_main$8;
27020
- exports.SearchBox = _sfc_main$V;
27127
+ exports.ProductList = _sfc_main$c;
27128
+ exports.Recommendations = _sfc_main$a;
27129
+ exports.SearchBox = _sfc_main$X;
27021
27130
  exports.SearchBoxPanelType = SearchBoxPanelType;
27022
- exports.SearchContainer = _sfc_main$9;
27023
- exports.SearchResults = _sfc_main$c;
27131
+ exports.SearchContainer = _sfc_main$b;
27132
+ exports.SearchResults = _sfc_main$e;
27024
27133
  exports.fetchPluginConfiguration = fetchPluginConfiguration;
27025
27134
  exports.getInitialSearchResults = getInitialSearchResults;
27026
27135
  exports.initPinia = initPinia;