@getlupa/vue 0.14.5 → 0.14.7

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" };
3318
- const _hoisted_2$S = { class: "lupa-input-clear" };
3319
- const _hoisted_3$B = { id: "lupa-search-box-input" };
3317
+ const _hoisted_1$1g = { id: "lupa-search-box-input-container" };
3318
+ const _hoisted_2$U = { class: "lupa-input-clear" };
3319
+ const _hoisted_3$D = { id: "lupa-search-box-input" };
3320
3320
  const _hoisted_4$t = ["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$j = ["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$1r = /* @__PURE__ */ vue.defineComponent({
3331
3331
  __name: "SearchBoxInput",
3332
3332
  props: {
3333
3333
  options: {},
@@ -3411,14 +3411,14 @@ 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, [
3415
- vue.createElementVNode("div", _hoisted_2$S, [
3414
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1g, [
3415
+ vue.createElementVNode("div", _hoisted_2$U, [
3416
3416
  vue.createElementVNode("div", {
3417
3417
  class: vue.normalizeClass(["lupa-input-clear-content", { "lupa-input-clear-filled": inputValue.value }]),
3418
3418
  onClick: clear
3419
3419
  }, null, 2)
3420
3420
  ]),
3421
- vue.createElementVNode("div", _hoisted_3$B, [
3421
+ vue.createElementVNode("div", _hoisted_3$D, [
3422
3422
  vue.createElementVNode("input", {
3423
3423
  class: "lupa-hint",
3424
3424
  "aria-hidden": "true",
@@ -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$j), [
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$1q = /* @__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" };
3493
- const _hoisted_2$R = { class: "lupa-search-box-history-item-content" };
3494
- const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
3492
+ const _hoisted_1$1f = { class: "lupa-search-box-history-item" };
3493
+ const _hoisted_2$T = { class: "lupa-search-box-history-item-content" };
3494
+ const _sfc_main$1p = /* @__PURE__ */ vue.defineComponent({
3495
3495
  __name: "SearchBoxHistoryItem",
3496
3496
  props: {
3497
3497
  item: {},
@@ -3507,8 +3507,8 @@ 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, [
3511
- vue.createElementVNode("div", _hoisted_2$R, [
3510
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1f, [
3511
+ vue.createElementVNode("div", _hoisted_2$T, [
3512
3512
  vue.createElementVNode("div", {
3513
3513
  class: vue.normalizeClass(["lupa-search-box-history-item-text", { "lupa-search-box-history-item-highlighted": _ctx.highlighted }]),
3514
3514
  onClick: click2
@@ -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$1e = {
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$1o = /* @__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$1e, [
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$1p, {
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$1d = { class: "lupa-search-box-no-results" };
3589
+ const _sfc_main$1n = /* @__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$1d, vue.toDisplayString(_ctx.labels.noResults), 1);
3597
3597
  };
3598
3598
  }
3599
3599
  });
@@ -3625,13 +3625,13 @@ const generateGridTemplate = (elements) => {
3625
3625
  }
3626
3626
  return gridTemplate.join(" ");
3627
3627
  };
3628
- const _hoisted_1$19 = ["innerHTML"];
3629
- const _hoisted_2$Q = {
3628
+ const _hoisted_1$1c = ["innerHTML"];
3629
+ const _hoisted_2$S = {
3630
3630
  key: 1,
3631
3631
  "data-cy": "lupa-suggestion-value",
3632
3632
  class: "lupa-suggestion-value"
3633
3633
  };
3634
- const _hoisted_3$A = {
3634
+ const _hoisted_3$C = {
3635
3635
  key: 2,
3636
3636
  class: "lupa-suggestion-facet",
3637
3637
  "data-cy": "lupa-suggestion-facet"
@@ -3640,11 +3640,11 @@ const _hoisted_4$s = {
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$i = {
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$1m = /* @__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)),
3684
- _ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
3683
+ }, null, 8, _hoisted_1$1c)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$S, vue.toDisplayString(_ctx.suggestion.display), 1)),
3684
+ _ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$C, [
3685
3685
  vue.createElementVNode("span", _hoisted_4$s, 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$i, 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$1b = {
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$1l = /* @__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$1b, [
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$1m, {
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$1k = /* @__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$1l, {
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"];
12953
- const _hoisted_2$P = ["src"];
12954
- const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
12952
+ const _hoisted_1$1a = ["src"];
12953
+ const _hoisted_2$R = ["src"];
12954
+ const _sfc_main$1j = /* @__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$1a))
13097
13097
  ]),
13098
13098
  _: 1
13099
13099
  })) : (vue.openBlock(), vue.createElementBlock("img", vue.mergeProps({
@@ -13101,12 +13101,12 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
13101
13101
  class: ["lupa-images-main-image", { [_ctx.imageClass]: true }],
13102
13102
  style: styleOverride.value,
13103
13103
  src: finalMainImageUrl.value
13104
- }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$P))
13104
+ }, { alt: imageAlt.value ? imageAlt.value : void 0 }, { onError: replaceWithPlaceholder }), null, 16, _hoisted_2$R))
13105
13105
  ], 38);
13106
13106
  };
13107
13107
  }
13108
13108
  });
13109
- const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
13109
+ const _sfc_main$1i = /* @__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$1j, {
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"];
13127
- const _hoisted_2$O = {
13126
+ const _hoisted_1$19 = ["innerHTML"];
13127
+ const _hoisted_2$Q = {
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$1h = /* @__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$19)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$Q, [
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"];
13161
- const _hoisted_2$N = {
13160
+ const _hoisted_1$18 = ["innerHTML"];
13161
+ const _hoisted_2$P = {
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$1g = /* @__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$18)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$P, 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$17 = { class: "lupa-search-box-product-price" };
13193
+ const _sfc_main$1f = /* @__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$17, [
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$1e = /* @__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"];
13245
- const _hoisted_2$M = { key: 0 };
13246
- const _hoisted_3$z = { key: 1 };
13244
+ const _hoisted_1$16 = ["innerHTML"];
13245
+ const _hoisted_2$O = { key: 0 };
13246
+ const _hoisted_3$B = { key: 1 };
13247
13247
  const _hoisted_4$r = { 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$h = { class: "lupa-search-box-custom-text" };
13249
+ const _sfc_main$1d = /* @__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$16)) : (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
- !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$M, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, [
13279
+ !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$B, [
13280
13280
  vue.createElementVNode("div", _hoisted_4$r, vue.toDisplayString(label.value), 1),
13281
- vue.createElementVNode("div", _hoisted_5$i, vue.toDisplayString(text.value), 1)
13281
+ vue.createElementVNode("div", _hoisted_5$h, 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$15 = ["innerHTML"];
13288
+ const _sfc_main$1c = /* @__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$15);
13314
13314
  };
13315
13315
  }
13316
13316
  });
@@ -13544,10 +13544,10 @@ const useSearchResultStore = defineStore("searchResult", () => {
13544
13544
  setRelatedCategoryChildren
13545
13545
  };
13546
13546
  });
13547
- const _hoisted_1$11 = { class: "lupa-search-box-add-to-cart-wrapper" };
13548
- const _hoisted_2$L = { class: "lupa-search-box-product-addtocart" };
13549
- const _hoisted_3$y = ["onClick", "disabled"];
13550
- const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
13547
+ const _hoisted_1$14 = { class: "lupa-search-box-add-to-cart-wrapper" };
13548
+ const _hoisted_2$N = { class: "lupa-search-box-product-addtocart" };
13549
+ const _hoisted_3$A = ["onClick", "disabled"];
13550
+ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
13551
13551
  __name: "SearchBoxProductAddToCart",
13552
13552
  props: {
13553
13553
  item: {},
@@ -13580,37 +13580,37 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
13580
13580
  loading.value = false;
13581
13581
  });
13582
13582
  return (_ctx, _cache) => {
13583
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
13584
- vue.createElementVNode("div", _hoisted_2$L, [
13583
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$14, [
13584
+ vue.createElementVNode("div", _hoisted_2$N, [
13585
13585
  vue.createElementVNode("button", {
13586
13586
  onClick: vue.withModifiers(handleClick, ["stop", "prevent"]),
13587
13587
  class: vue.normalizeClass(loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart"),
13588
13588
  "data-cy": "lupa-add-to-cart",
13589
13589
  type: "button",
13590
13590
  disabled: !inStockValue.value || loading.value
13591
- }, vue.toDisplayString(label.value), 11, _hoisted_3$y)
13591
+ }, vue.toDisplayString(label.value), 11, _hoisted_3$A)
13592
13592
  ])
13593
13593
  ]);
13594
13594
  };
13595
13595
  }
13596
13596
  });
13597
- const _hoisted_1$10 = {
13597
+ const _hoisted_1$13 = {
13598
13598
  key: 1,
13599
13599
  class: "lupa-search-box-element-badge-wrapper"
13600
13600
  };
13601
13601
  const __default__$4 = {
13602
13602
  components: {
13603
- SearchBoxProductImage: _sfc_main$1e,
13604
- SearchBoxProductTitle: _sfc_main$1d,
13605
- SearchBoxProductDescription: _sfc_main$1c,
13606
- SearchBoxProductPrice: _sfc_main$1b,
13607
- SearchBoxProductRegularPrice: _sfc_main$1a,
13608
- SearchBoxProductCustom: _sfc_main$19,
13609
- SearchBoxProductCustomHtml: _sfc_main$18,
13610
- SearchBoxProductAddToCart: _sfc_main$17
13603
+ SearchBoxProductImage: _sfc_main$1i,
13604
+ SearchBoxProductTitle: _sfc_main$1h,
13605
+ SearchBoxProductDescription: _sfc_main$1g,
13606
+ SearchBoxProductPrice: _sfc_main$1f,
13607
+ SearchBoxProductRegularPrice: _sfc_main$1e,
13608
+ SearchBoxProductCustom: _sfc_main$1d,
13609
+ SearchBoxProductCustomHtml: _sfc_main$1c,
13610
+ SearchBoxProductAddToCart: _sfc_main$1b
13611
13611
  }
13612
13612
  };
13613
- const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
13613
+ const _sfc_main$1a = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$4), {
13614
13614
  __name: "SearchBoxProductElement",
13615
13615
  props: {
13616
13616
  item: {},
@@ -13673,7 +13673,7 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13673
13673
  class: vue.normalizeClass({ "lupa-loading-dynamic-data": isLoadingDynamicData((_a = _ctx.item) == null ? void 0 : _a.id) }),
13674
13674
  inStock: _ctx.isInStock
13675
13675
  }, null, 8, ["item", "options", "labels", "class", "inStock"])) : vue.createCommentVNode("", true)
13676
- ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$10, [
13676
+ ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$13, [
13677
13677
  displayElement.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(elementComponent.value), {
13678
13678
  key: 0,
13679
13679
  item: enhancedItem.value,
@@ -13687,14 +13687,14 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13687
13687
  };
13688
13688
  }
13689
13689
  }));
13690
- const _hoisted_1$$ = { class: "lupa-badge-title" };
13691
- const _hoisted_2$K = ["src"];
13692
- const _hoisted_3$x = { key: 1 };
13690
+ const _hoisted_1$12 = { class: "lupa-badge-title" };
13691
+ const _hoisted_2$M = ["src"];
13692
+ const _hoisted_3$z = { key: 1 };
13693
13693
  const _hoisted_4$q = {
13694
13694
  key: 0,
13695
13695
  class: "lupa-badge-full-text"
13696
13696
  };
13697
- const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
13697
+ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
13698
13698
  __name: "SearchResultGeneratedBadge",
13699
13699
  props: {
13700
13700
  options: {},
@@ -13727,20 +13727,20 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
13727
13727
  class: vue.normalizeClass(["lupa-dynamic-badge", customClassName.value]),
13728
13728
  style: vue.normalizeStyle({ background: _ctx.badge.backgroundColor, color: _ctx.badge.color })
13729
13729
  }, [
13730
- vue.createElementVNode("span", _hoisted_1$$, [
13730
+ vue.createElementVNode("span", _hoisted_1$12, [
13731
13731
  image.value ? (vue.openBlock(), vue.createElementBlock("img", {
13732
13732
  key: 0,
13733
13733
  src: image.value
13734
- }, null, 8, _hoisted_2$K)) : vue.createCommentVNode("", true),
13735
- hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$x, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
13734
+ }, null, 8, _hoisted_2$M)) : vue.createCommentVNode("", true),
13735
+ hasTitleText.value && showTitle.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$z, vue.toDisplayString(_ctx.badge.titleText), 1)) : vue.createCommentVNode("", true)
13736
13736
  ]),
13737
13737
  hasAdditionalText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$q, vue.toDisplayString(_ctx.badge.additionalText), 1)) : vue.createCommentVNode("", true)
13738
13738
  ], 6);
13739
13739
  };
13740
13740
  }
13741
13741
  });
13742
- const _hoisted_1$_ = { class: "lupa-generated-badges" };
13743
- const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
13742
+ const _hoisted_1$11 = { class: "lupa-generated-badges" };
13743
+ const _sfc_main$18 = /* @__PURE__ */ vue.defineComponent({
13744
13744
  __name: "SearchResultGeneratedBadges",
13745
13745
  props: {
13746
13746
  options: {}
@@ -13766,9 +13766,9 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
13766
13766
  })).filter((b) => Boolean(b.id));
13767
13767
  });
13768
13768
  return (_ctx, _cache) => {
13769
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
13769
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
13770
13770
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(badges.value, (badge) => {
13771
- return vue.openBlock(), vue.createBlock(_sfc_main$15, {
13771
+ return vue.openBlock(), vue.createBlock(_sfc_main$19, {
13772
13772
  key: badge.id,
13773
13773
  badge,
13774
13774
  options: _ctx.options
@@ -13778,8 +13778,8 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
13778
13778
  };
13779
13779
  }
13780
13780
  });
13781
- const _hoisted_1$Z = ["innerHTML"];
13782
- const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
13781
+ const _hoisted_1$10 = ["innerHTML"];
13782
+ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
13783
13783
  __name: "CustomBadge",
13784
13784
  props: {
13785
13785
  badge: {}
@@ -13800,12 +13800,12 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
13800
13800
  return vue.openBlock(), vue.createElementBlock("div", {
13801
13801
  class: vue.normalizeClass(className.value),
13802
13802
  innerHTML: text.value
13803
- }, null, 10, _hoisted_1$Z);
13803
+ }, null, 10, _hoisted_1$10);
13804
13804
  };
13805
13805
  }
13806
13806
  });
13807
- const _hoisted_1$Y = { class: "lupa-text-badges" };
13808
- const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
13807
+ const _hoisted_1$$ = { class: "lupa-text-badges" };
13808
+ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
13809
13809
  __name: "TextBadge",
13810
13810
  props: {
13811
13811
  badge: {}
@@ -13820,7 +13820,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
13820
13820
  return badges.value.slice(0, props.badge.maxItems);
13821
13821
  });
13822
13822
  return (_ctx, _cache) => {
13823
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Y, [
13823
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$$, [
13824
13824
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
13825
13825
  return vue.openBlock(), vue.createElementBlock("div", {
13826
13826
  class: "lupa-badge lupa-text-badge",
@@ -13831,9 +13831,9 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
13831
13831
  };
13832
13832
  }
13833
13833
  });
13834
- const _hoisted_1$X = { class: "lupa-image-badges" };
13835
- const _hoisted_2$J = ["src"];
13836
- const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
13834
+ const _hoisted_1$_ = { class: "lupa-image-badges" };
13835
+ const _hoisted_2$L = ["src"];
13836
+ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
13837
13837
  __name: "ImageBadge",
13838
13838
  props: {
13839
13839
  badge: {}
@@ -13853,7 +13853,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
13853
13853
  return `${props.badge.rootImageUrl}${src}`;
13854
13854
  };
13855
13855
  return (_ctx, _cache) => {
13856
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
13856
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$_, [
13857
13857
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBadges.value, (item) => {
13858
13858
  return vue.openBlock(), vue.createElementBlock("div", {
13859
13859
  class: "lupa-badge lupa-image-badge",
@@ -13861,22 +13861,22 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
13861
13861
  }, [
13862
13862
  vue.createElementVNode("img", {
13863
13863
  src: getImageUrl(item)
13864
- }, null, 8, _hoisted_2$J)
13864
+ }, null, 8, _hoisted_2$L)
13865
13865
  ]);
13866
13866
  }), 128))
13867
13867
  ]);
13868
13868
  };
13869
13869
  }
13870
13870
  });
13871
- const _hoisted_1$W = { id: "lupa-search-results-badges" };
13871
+ const _hoisted_1$Z = { id: "lupa-search-results-badges" };
13872
13872
  const __default__$3 = {
13873
13873
  components: {
13874
- CustomBadge: _sfc_main$13,
13875
- TextBadge: _sfc_main$12,
13876
- ImageBadge: _sfc_main$11
13874
+ CustomBadge: _sfc_main$17,
13875
+ TextBadge: _sfc_main$16,
13876
+ ImageBadge: _sfc_main$15
13877
13877
  }
13878
13878
  };
13879
- const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
13879
+ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$3), {
13880
13880
  __name: "SearchResultsBadgeWrapper",
13881
13881
  props: {
13882
13882
  position: {},
@@ -13937,7 +13937,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13937
13937
  }
13938
13938
  };
13939
13939
  return (_ctx, _cache) => {
13940
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$W, [
13940
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Z, [
13941
13941
  vue.createElementVNode("div", {
13942
13942
  id: "lupa-badges",
13943
13943
  class: vue.normalizeClass(anchorPosition.value)
@@ -13948,7 +13948,7 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13948
13948
  badge
13949
13949
  }, null, 8, ["badge"]);
13950
13950
  }), 128)),
13951
- positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$14, {
13951
+ positionValue.value === "card" ? (vue.openBlock(), vue.createBlock(_sfc_main$18, {
13952
13952
  key: 0,
13953
13953
  options: _ctx.options
13954
13954
  }, null, 8, ["options"])) : vue.createCommentVNode("", true)
@@ -13957,13 +13957,13 @@ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
13957
13957
  };
13958
13958
  }
13959
13959
  }));
13960
- const _hoisted_1$V = ["href"];
13961
- const _hoisted_2$I = { class: "lupa-search-box-product-details-section" };
13962
- const _hoisted_3$w = {
13960
+ const _hoisted_1$Y = ["href"];
13961
+ const _hoisted_2$K = { class: "lupa-search-box-product-details-section" };
13962
+ const _hoisted_3$y = {
13963
13963
  key: 0,
13964
13964
  class: "lupa-search-box-product-add-to-cart-section"
13965
13965
  };
13966
- const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
13966
+ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
13967
13967
  __name: "SearchBoxProduct",
13968
13968
  props: {
13969
13969
  item: {},
@@ -14049,7 +14049,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14049
14049
  style: vue.normalizeStyle(imageStyleOverride.value)
14050
14050
  }, [
14051
14051
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
14052
- return vue.openBlock(), vue.createBlock(_sfc_main$16, {
14052
+ return vue.openBlock(), vue.createBlock(_sfc_main$1a, {
14053
14053
  class: "lupa-search-box-product-element",
14054
14054
  item: _ctx.item,
14055
14055
  element,
@@ -14059,10 +14059,10 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14059
14059
  }, null, 8, ["item", "element", "labels", "link"]);
14060
14060
  }), 128))
14061
14061
  ], 4),
14062
- vue.createElementVNode("div", _hoisted_2$I, [
14062
+ vue.createElementVNode("div", _hoisted_2$K, [
14063
14063
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
14064
14064
  var _a;
14065
- return vue.openBlock(), vue.createBlock(_sfc_main$16, {
14065
+ return vue.openBlock(), vue.createBlock(_sfc_main$1a, {
14066
14066
  key: element.key,
14067
14067
  class: "lupa-search-box-product-element",
14068
14068
  item: _ctx.item,
@@ -14073,7 +14073,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14073
14073
  badgeOptions.value && ((_a = badgeOptions.value) == null ? void 0 : _a.anchorElementKey) === element.key ? {
14074
14074
  name: "badges",
14075
14075
  fn: vue.withCtx(() => [
14076
- vue.createVNode(_sfc_main$10, {
14076
+ vue.createVNode(_sfc_main$14, {
14077
14077
  options: badgeOptions.value,
14078
14078
  position: "card"
14079
14079
  }, null, 8, ["options"])
@@ -14083,8 +14083,8 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14083
14083
  ]), 1032, ["item", "element", "labels", "link"]);
14084
14084
  }), 128))
14085
14085
  ]),
14086
- addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
14087
- vue.createVNode(_sfc_main$16, {
14086
+ addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$y, [
14087
+ vue.createVNode(_sfc_main$1a, {
14088
14088
  class: "lupa-search-box-product-element",
14089
14089
  item: _ctx.item,
14090
14090
  element: addToCartElement.value,
@@ -14093,7 +14093,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14093
14093
  isInStock: isInStock.value
14094
14094
  }, null, 8, ["item", "element", "labels", "link", "isInStock"])
14095
14095
  ])) : vue.createCommentVNode("", true)
14096
- ], 16, _hoisted_1$V);
14096
+ ], 16, _hoisted_1$Y);
14097
14097
  };
14098
14098
  }
14099
14099
  });
@@ -14154,8 +14154,8 @@ const useTrackingStore = defineStore("tracking", () => {
14154
14154
  };
14155
14155
  return { trackSearch, trackResults, trackEvent };
14156
14156
  });
14157
- const _hoisted_1$U = { id: "lupa-search-box-products" };
14158
- const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14157
+ const _hoisted_1$X = { id: "lupa-search-box-products" };
14158
+ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
14159
14159
  __name: "SearchBoxProducts",
14160
14160
  props: {
14161
14161
  items: {},
@@ -14216,7 +14216,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14216
14216
  handleRoutingEvent(link, event, boxRoutingBehavior.value === "event");
14217
14217
  };
14218
14218
  return (_ctx, _cache) => {
14219
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
14219
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$X, [
14220
14220
  _ctx.$slots.productCard ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.items, (item, index) => {
14221
14221
  return vue.renderSlot(_ctx.$slots, "productCard", {
14222
14222
  key: index,
@@ -14228,7 +14228,7 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14228
14228
  itemClicked: handleProductClick
14229
14229
  });
14230
14230
  }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.items, (item, index) => {
14231
- return vue.openBlock(), vue.createBlock(_sfc_main$$, {
14231
+ return vue.openBlock(), vue.createBlock(_sfc_main$13, {
14232
14232
  key: index,
14233
14233
  item,
14234
14234
  panelOptions: _ctx.panelOptions,
@@ -14243,9 +14243,9 @@ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent({
14243
14243
  };
14244
14244
  }
14245
14245
  });
14246
- const _hoisted_1$T = { class: "lupa-search-box-documents-go-to-results-wrapper" };
14247
- const _hoisted_2$H = { key: 0 };
14248
- const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
14246
+ const _hoisted_1$W = { class: "lupa-search-box-documents-go-to-results-wrapper" };
14247
+ const _hoisted_2$J = { key: 0 };
14248
+ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
14249
14249
  __name: "SearchBoxProductsGoToResultsButton",
14250
14250
  props: {
14251
14251
  options: {},
@@ -14275,19 +14275,19 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
14275
14275
  emit("goToResults");
14276
14276
  };
14277
14277
  return (_ctx, _cache) => {
14278
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
14278
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$W, [
14279
14279
  vue.createElementVNode("button", {
14280
14280
  class: "lupa-search-box-documents-go-to-results-button",
14281
14281
  onClick: goToResults
14282
14282
  }, [
14283
14283
  vue.createTextVNode(vue.toDisplayString(goToResultsLabel.value) + " ", 1),
14284
- totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$H, " " + vue.toDisplayString(totalCount.value), 1)) : vue.createCommentVNode("", true)
14284
+ totalCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$J, " " + vue.toDisplayString(totalCount.value), 1)) : vue.createCommentVNode("", true)
14285
14285
  ])
14286
14286
  ]);
14287
14287
  };
14288
14288
  }
14289
14289
  });
14290
- const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14290
+ const _sfc_main$10 = /* @__PURE__ */ vue.defineComponent({
14291
14291
  __name: "SearchBoxProductsWrapper",
14292
14292
  props: {
14293
14293
  panel: {},
@@ -14344,7 +14344,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14344
14344
  vue.watch(() => props.panel.limit, getItemsDebounced);
14345
14345
  return (_ctx, _cache) => {
14346
14346
  var _a, _b;
14347
- return vue.openBlock(), vue.createBlock(_sfc_main$_, {
14347
+ return vue.openBlock(), vue.createBlock(_sfc_main$12, {
14348
14348
  items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
14349
14349
  panelOptions: _ctx.panel,
14350
14350
  labels: _ctx.labels,
@@ -14354,7 +14354,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14354
14354
  default: vue.withCtx(() => {
14355
14355
  var _a2;
14356
14356
  return [
14357
- 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$11, {
14358
14358
  key: 0,
14359
14359
  options: _ctx.searchBoxOptions,
14360
14360
  panel: _ctx.panel,
@@ -14375,7 +14375,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
14375
14375
  };
14376
14376
  }
14377
14377
  });
14378
- const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
14378
+ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent({
14379
14379
  __name: "SearchBoxRelatedSourceWrapper",
14380
14380
  props: {
14381
14381
  panel: {},
@@ -14447,7 +14447,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
14447
14447
  });
14448
14448
  return (_ctx, _cache) => {
14449
14449
  var _a, _b;
14450
- return vue.openBlock(), vue.createBlock(_sfc_main$_, {
14450
+ return vue.openBlock(), vue.createBlock(_sfc_main$12, {
14451
14451
  items: (_b = (_a = searchResult.value) == null ? void 0 : _a.items) != null ? _b : [],
14452
14452
  panelOptions: documentPanelOptions.value,
14453
14453
  labels: _ctx.labels,
@@ -14465,12 +14465,12 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
14465
14465
  };
14466
14466
  }
14467
14467
  });
14468
- const _hoisted_1$S = {
14468
+ const _hoisted_1$V = {
14469
14469
  key: 0,
14470
14470
  id: "lupa-search-box-panel"
14471
14471
  };
14472
- const _hoisted_2$G = ["data-cy"];
14473
- const _hoisted_3$v = {
14472
+ const _hoisted_2$I = ["data-cy"];
14473
+ const _hoisted_3$x = {
14474
14474
  key: 0,
14475
14475
  class: "lupa-panel-title lupa-panel-title-top-results"
14476
14476
  };
@@ -14478,18 +14478,18 @@ const _hoisted_4$p = {
14478
14478
  key: 1,
14479
14479
  class: "lupa-panel-title"
14480
14480
  };
14481
- const _hoisted_5$h = {
14481
+ const _hoisted_5$g = {
14482
14482
  key: 1,
14483
14483
  id: "lupa-search-box-panel"
14484
14484
  };
14485
14485
  const __default__$2 = {
14486
14486
  components: {
14487
- SearchBoxSuggestionsWrapper: _sfc_main$1g,
14488
- SearchBoxProductsWrapper: _sfc_main$Y,
14489
- SearchBoxRelatedSourceWrapper: _sfc_main$X
14487
+ SearchBoxSuggestionsWrapper: _sfc_main$1k,
14488
+ SearchBoxProductsWrapper: _sfc_main$10,
14489
+ SearchBoxRelatedSourceWrapper: _sfc_main$$
14490
14490
  }
14491
14491
  };
14492
- const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
14492
+ const _sfc_main$_ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$2), {
14493
14493
  __name: "SearchBoxMainPanel",
14494
14494
  props: {
14495
14495
  options: {},
@@ -14645,7 +14645,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
14645
14645
  ref_key: "panelContainer",
14646
14646
  ref: panelContainer
14647
14647
  }, [
14648
- displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
14648
+ displayResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$V, [
14649
14649
  labels.value.closePanel ? (vue.openBlock(), vue.createElementBlock("a", {
14650
14650
  key: 0,
14651
14651
  class: "lupa-search-box-close-panel",
@@ -14667,7 +14667,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
14667
14667
  style: vue.normalizeStyle(panel.gridArea ? { gridArea: `${panel.gridArea}${index}` } : {}),
14668
14668
  "data-cy": "lupa-panel-" + panel.type + "-index"
14669
14669
  }, [
14670
- ((_a2 = panel.labels) == null ? void 0 : _a2.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$v, vue.toDisplayString((_b = panel.labels) == null ? void 0 : _b.topResultsTitle), 1)) : vue.createCommentVNode("", true),
14670
+ ((_a2 = panel.labels) == null ? void 0 : _a2.topResultsTitle) && showTopResultsPanelTitle(panel.queryKey) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$x, vue.toDisplayString((_b = panel.labels) == null ? void 0 : _b.topResultsTitle), 1)) : vue.createCommentVNode("", true),
14671
14671
  ((_c = panel.labels) == null ? void 0 : _c.title) && showPanelTitle(panel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$p, vue.toDisplayString((_d = panel.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
14672
14672
  panel.queryKey && canShowPanel(panel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getComponent(panel.type)), {
14673
14673
  key: 2,
@@ -14690,21 +14690,21 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
14690
14690
  key: "0"
14691
14691
  } : void 0
14692
14692
  ]), 1064, ["panel", "search-box-options", "options", "debounce", "inputValue", "labels"])) : vue.createCommentVNode("", true)
14693
- ], 14, _hoisted_2$G);
14693
+ ], 14, _hoisted_2$I);
14694
14694
  }), 128))
14695
14695
  ], 4),
14696
- !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$1n, {
14697
14697
  key: 1,
14698
14698
  labels: labels.value
14699
14699
  }, null, 8, ["labels"])) : vue.createCommentVNode("", true),
14700
- 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$1q, {
14701
14701
  key: 2,
14702
14702
  labels: labels.value,
14703
14703
  showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
14704
14704
  onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
14705
14705
  }, null, 8, ["labels", "showTotalCount"])) : vue.createCommentVNode("", true)
14706
- ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$h, [
14707
- vue.createVNode(_sfc_main$1k, {
14706
+ ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$g, [
14707
+ vue.createVNode(_sfc_main$1o, {
14708
14708
  options: _ctx.options.history,
14709
14709
  history: history.value,
14710
14710
  onGoToResults: handleGoToResults,
@@ -14729,9 +14729,9 @@ const unbindSearchTriggers = (triggers = [], event) => {
14729
14729
  const elements = getElements(triggers);
14730
14730
  elements.forEach((e2) => e2 == null ? void 0 : e2.removeEventListener(BIND_EVENT, event));
14731
14731
  };
14732
- const _hoisted_1$R = { id: "lupa-search-box" };
14733
- const _hoisted_2$F = { class: "lupa-search-box-wrapper" };
14734
- const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
14732
+ const _hoisted_1$U = { id: "lupa-search-box" };
14733
+ const _hoisted_2$H = { class: "lupa-search-box-wrapper" };
14734
+ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
14735
14735
  __name: "SearchBox",
14736
14736
  props: {
14737
14737
  options: {},
@@ -14991,9 +14991,9 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
14991
14991
  };
14992
14992
  return (_ctx, _cache) => {
14993
14993
  var _a2;
14994
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$R, [
14995
- vue.createElementVNode("div", _hoisted_2$F, [
14996
- vue.createVNode(_sfc_main$1n, {
14994
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$U, [
14995
+ vue.createElementVNode("div", _hoisted_2$H, [
14996
+ vue.createVNode(_sfc_main$1r, {
14997
14997
  options: inputOptions.value,
14998
14998
  suggestedValue: suggestedValue.value,
14999
14999
  "can-close": (_a2 = _ctx.isSearchContainer) != null ? _a2 : false,
@@ -15006,7 +15006,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
15006
15006
  onSearch: handleSearch,
15007
15007
  onClose: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("close"))
15008
15008
  }, null, 8, ["options", "suggestedValue", "can-close", "emit-input-on-focus"]),
15009
- opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$W, {
15009
+ opened.value || _ctx.isSearchContainer ? (vue.openBlock(), vue.createBlock(_sfc_main$_, {
15010
15010
  key: 0,
15011
15011
  options: panelOptions.value,
15012
15012
  inputValue: inputValue.value,
@@ -15111,20 +15111,20 @@ const getInitialSearchResults = (options, getQueryParamName, defaultData) => __a
15111
15111
  options.options.onError(e2);
15112
15112
  }
15113
15113
  });
15114
- const _hoisted_1$Q = {
15114
+ const _hoisted_1$T = {
15115
15115
  key: 0,
15116
15116
  id: "lupa-search-results-did-you-mean"
15117
15117
  };
15118
- const _hoisted_2$E = {
15118
+ const _hoisted_2$G = {
15119
15119
  key: 0,
15120
15120
  "data-cy": "suggested-search-text-label"
15121
15121
  };
15122
- const _hoisted_3$u = {
15122
+ const _hoisted_3$w = {
15123
15123
  key: 1,
15124
15124
  "data-cy": "did-you-mean-label"
15125
15125
  };
15126
15126
  const _hoisted_4$o = { key: 1 };
15127
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15127
+ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
15128
15128
  __name: "SearchResultsDidYouMean",
15129
15129
  props: {
15130
15130
  labels: {}
@@ -15156,8 +15156,8 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15156
15156
  paramStore.goToResults({ searchText, facet });
15157
15157
  };
15158
15158
  return (_ctx, _cache) => {
15159
- return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
15160
- vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$E, [
15159
+ return vue.unref(searchResult).suggestedSearchText || didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$T, [
15160
+ vue.unref(searchResult).suggestedSearchText ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$G, [
15161
15161
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.noResultsSuggestion.split(" "), (label, index) => {
15162
15162
  return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
15163
15163
  vue.createElementVNode("span", {
@@ -15166,7 +15166,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15166
15166
  ]);
15167
15167
  }), 128))
15168
15168
  ])) : vue.createCommentVNode("", true),
15169
- didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$u, [
15169
+ didYouMeanValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, [
15170
15170
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.labels.didYouMean.split(" "), (label, index) => {
15171
15171
  return vue.openBlock(), vue.createElementBlock("span", { key: index }, [
15172
15172
  label.includes("{1}") ? (vue.openBlock(), vue.createElementBlock("span", {
@@ -15182,12 +15182,12 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15182
15182
  };
15183
15183
  }
15184
15184
  });
15185
- const _hoisted_1$P = {
15185
+ const _hoisted_1$S = {
15186
15186
  key: 0,
15187
15187
  class: "lupa-search-results-summary"
15188
15188
  };
15189
- const _hoisted_2$D = ["innerHTML"];
15190
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15189
+ const _hoisted_2$F = ["innerHTML"];
15190
+ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
15191
15191
  __name: "SearchResultsSummary",
15192
15192
  props: {
15193
15193
  label: {},
@@ -15202,8 +15202,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15202
15202
  return addParamsToLabel(props.label, range, `<span>${totalItems.value}</span>`);
15203
15203
  });
15204
15204
  return (_ctx, _cache) => {
15205
- return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$P, [
15206
- vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$D),
15205
+ return vue.unref(totalItems) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$S, [
15206
+ vue.createElementVNode("div", { innerHTML: summaryLabel.value }, null, 8, _hoisted_2$F),
15207
15207
  _ctx.clearable ? (vue.openBlock(), vue.createElementBlock("span", {
15208
15208
  key: 0,
15209
15209
  class: "lupa-filter-clear",
@@ -15214,19 +15214,19 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15214
15214
  };
15215
15215
  }
15216
15216
  });
15217
- const _hoisted_1$O = {
15217
+ const _hoisted_1$R = {
15218
15218
  key: 0,
15219
15219
  class: "lupa-result-page-title",
15220
15220
  "data-cy": "lupa-result-page-title"
15221
15221
  };
15222
- const _hoisted_2$C = { key: 0 };
15223
- const _hoisted_3$t = {
15222
+ const _hoisted_2$E = { key: 0 };
15223
+ const _hoisted_3$v = {
15224
15224
  key: 1,
15225
15225
  class: "lupa-results-total-count"
15226
15226
  };
15227
15227
  const _hoisted_4$n = { class: "lupa-results-total-count-number" };
15228
- const _hoisted_5$g = ["innerHTML"];
15229
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15228
+ const _hoisted_5$f = ["innerHTML"];
15229
+ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent({
15230
15230
  __name: "SearchResultsTitle",
15231
15231
  props: {
15232
15232
  options: {},
@@ -15265,16 +15265,16 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15265
15265
  });
15266
15266
  return (_ctx, _cache) => {
15267
15267
  return vue.openBlock(), vue.createElementBlock("div", null, [
15268
- showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$O, [
15268
+ showSearchTitle.value ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$R, [
15269
15269
  vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.searchResults), 1),
15270
- queryText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$C, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
15271
- showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$t, [
15270
+ queryText.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$E, "'" + vue.toDisplayString(queryText.value) + "'", 1)) : vue.createCommentVNode("", true),
15271
+ showProductCount.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$v, [
15272
15272
  vue.createTextVNode("(" + vue.toDisplayString(searchResultsCountLabel.value), 1),
15273
15273
  vue.createElementVNode("span", _hoisted_4$n, vue.toDisplayString(vue.unref(totalItems)), 1),
15274
15274
  vue.createTextVNode(")")
15275
15275
  ])) : vue.createCommentVNode("", true)
15276
15276
  ])) : vue.createCommentVNode("", true),
15277
- _ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
15277
+ _ctx.showSummary ? (vue.openBlock(), vue.createBlock(_sfc_main$X, {
15278
15278
  key: 1,
15279
15279
  label: summaryLabel.value
15280
15280
  }, null, 8, ["label"])) : vue.createCommentVNode("", true),
@@ -15282,21 +15282,21 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15282
15282
  key: 2,
15283
15283
  class: "lupa-result-page-description-top",
15284
15284
  innerHTML: descriptionTop.value
15285
- }, null, 8, _hoisted_5$g)) : vue.createCommentVNode("", true)
15285
+ }, null, 8, _hoisted_5$f)) : vue.createCommentVNode("", true)
15286
15286
  ]);
15287
15287
  };
15288
15288
  }
15289
15289
  });
15290
- const _hoisted_1$N = { class: "lupa-search-result-filter-value" };
15291
- const _hoisted_2$B = {
15290
+ const _hoisted_1$Q = { class: "lupa-search-result-filter-value" };
15291
+ const _hoisted_2$D = {
15292
15292
  class: "lupa-current-filter-label",
15293
15293
  "data-cy": "lupa-current-filter-label"
15294
15294
  };
15295
- const _hoisted_3$s = {
15295
+ const _hoisted_3$u = {
15296
15296
  class: "lupa-current-filter-value",
15297
15297
  "data-cy": "lupa-current-filter-value"
15298
15298
  };
15299
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
15299
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
15300
15300
  __name: "CurrentFilterDisplay",
15301
15301
  props: {
15302
15302
  filter: {}
@@ -15308,28 +15308,28 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
15308
15308
  emit("remove", { filter: props.filter });
15309
15309
  };
15310
15310
  return (_ctx, _cache) => {
15311
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
15311
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$Q, [
15312
15312
  vue.createElementVNode("div", {
15313
15313
  class: "lupa-current-filter-action",
15314
15314
  onClick: handleClick
15315
15315
  }, "⨉"),
15316
- vue.createElementVNode("div", _hoisted_2$B, vue.toDisplayString(_ctx.filter.label) + ": ", 1),
15317
- vue.createElementVNode("div", _hoisted_3$s, vue.toDisplayString(_ctx.filter.value), 1)
15316
+ vue.createElementVNode("div", _hoisted_2$D, vue.toDisplayString(_ctx.filter.label) + ": ", 1),
15317
+ vue.createElementVNode("div", _hoisted_3$u, vue.toDisplayString(_ctx.filter.value), 1)
15318
15318
  ]);
15319
15319
  };
15320
15320
  }
15321
15321
  });
15322
- const _hoisted_1$M = { class: "lupa-filter-title-text" };
15323
- const _hoisted_2$A = {
15322
+ const _hoisted_1$P = { class: "lupa-filter-title-text" };
15323
+ const _hoisted_2$C = {
15324
15324
  key: 0,
15325
15325
  class: "lupa-filter-count"
15326
15326
  };
15327
- const _hoisted_3$r = {
15327
+ const _hoisted_3$t = {
15328
15328
  key: 0,
15329
15329
  class: "filter-values"
15330
15330
  };
15331
15331
  const _hoisted_4$m = { class: "lupa-current-filter-list" };
15332
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15332
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
15333
15333
  __name: "CurrentFilters",
15334
15334
  props: {
15335
15335
  options: {},
@@ -15402,19 +15402,19 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15402
15402
  class: "lupa-current-filter-title",
15403
15403
  onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
15404
15404
  }, [
15405
- vue.createElementVNode("div", _hoisted_1$M, [
15405
+ vue.createElementVNode("div", _hoisted_1$P, [
15406
15406
  vue.createTextVNode(vue.toDisplayString((_c = (_b = (_a = _ctx.options) == null ? void 0 : _a.labels) == null ? void 0 : _b.title) != null ? _c : "") + " ", 1),
15407
- _ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$A, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
15407
+ _ctx.expandable ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$C, " (" + vue.toDisplayString(vue.unref(currentFilterCount)) + ") ", 1)) : vue.createCommentVNode("", true)
15408
15408
  ]),
15409
15409
  _ctx.expandable ? (vue.openBlock(), vue.createElementBlock("div", {
15410
15410
  key: 0,
15411
15411
  class: vue.normalizeClass(["lupa-filter-title-caret", isOpen.value && "open"])
15412
15412
  }, null, 2)) : vue.createCommentVNode("", true)
15413
15413
  ]),
15414
- !_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$r, [
15414
+ !_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$t, [
15415
15415
  vue.createElementVNode("div", _hoisted_4$m, [
15416
15416
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDisplayFilters.value, (filter2) => {
15417
- return vue.openBlock(), vue.createBlock(_sfc_main$R, {
15417
+ return vue.openBlock(), vue.createBlock(_sfc_main$V, {
15418
15418
  key: filter2.key + "_" + filter2.value,
15419
15419
  filter: filter2,
15420
15420
  onRemove: handleRemove
@@ -15431,8 +15431,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
15431
15431
  };
15432
15432
  }
15433
15433
  });
15434
- const _hoisted_1$L = ["href"];
15435
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
15434
+ const _hoisted_1$O = ["href"];
15435
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
15436
15436
  __name: "CategoryFilterItem",
15437
15437
  props: {
15438
15438
  options: {},
@@ -15469,20 +15469,20 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
15469
15469
  "data-cy": "lupa-child-category-item",
15470
15470
  href: urlLink.value,
15471
15471
  onClick: handleNavigation
15472
- }, vue.toDisplayString(title.value), 9, _hoisted_1$L)
15472
+ }, vue.toDisplayString(title.value), 9, _hoisted_1$O)
15473
15473
  ], 2);
15474
15474
  };
15475
15475
  }
15476
15476
  });
15477
- const _hoisted_1$K = {
15477
+ const _hoisted_1$N = {
15478
15478
  class: "lupa-category-filter",
15479
15479
  "data-cy": "lupa-category-filter"
15480
15480
  };
15481
- const _hoisted_2$z = { class: "lupa-category-back" };
15482
- const _hoisted_3$q = ["href"];
15481
+ const _hoisted_2$B = { class: "lupa-category-back" };
15482
+ const _hoisted_3$s = ["href"];
15483
15483
  const _hoisted_4$l = ["href"];
15484
- const _hoisted_5$f = { class: "lupa-child-category-list" };
15485
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15484
+ const _hoisted_5$e = { class: "lupa-child-category-list" };
15485
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15486
15486
  __name: "CategoryFilter",
15487
15487
  props: {
15488
15488
  options: {}
@@ -15570,14 +15570,14 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15570
15570
  };
15571
15571
  __expose({ fetch: fetch2 });
15572
15572
  return (_ctx, _cache) => {
15573
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
15574
- vue.createElementVNode("div", _hoisted_2$z, [
15573
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
15574
+ vue.createElementVNode("div", _hoisted_2$B, [
15575
15575
  hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("a", {
15576
15576
  key: 0,
15577
15577
  "data-cy": "lupa-category-back",
15578
15578
  href: backUrlLink.value,
15579
15579
  onClick: handleNavigationBack
15580
- }, vue.toDisplayString(backTitle.value), 9, _hoisted_3$q)) : vue.createCommentVNode("", true)
15580
+ }, vue.toDisplayString(backTitle.value), 9, _hoisted_3$s)) : vue.createCommentVNode("", true)
15581
15581
  ]),
15582
15582
  vue.createElementVNode("div", {
15583
15583
  class: vue.normalizeClass(["lupa-current-category", { "lupa-current-category-active": isActive }])
@@ -15589,9 +15589,9 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15589
15589
  onClick: handleNavigationParent
15590
15590
  }, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$l)
15591
15591
  ], 2),
15592
- vue.createElementVNode("div", _hoisted_5$f, [
15592
+ vue.createElementVNode("div", _hoisted_5$e, [
15593
15593
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
15594
- return vue.openBlock(), vue.createBlock(_sfc_main$P, {
15594
+ return vue.openBlock(), vue.createBlock(_sfc_main$T, {
15595
15595
  key: getCategoryKey(child),
15596
15596
  item: child,
15597
15597
  options: _ctx.options
@@ -15602,15 +15602,15 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
15602
15602
  };
15603
15603
  }
15604
15604
  });
15605
- const _hoisted_1$J = {
15605
+ const _hoisted_1$M = {
15606
15606
  class: "lupa-search-result-facet-term-values",
15607
15607
  "data-cy": "lupa-search-result-facet-term-values"
15608
15608
  };
15609
- const _hoisted_2$y = ["placeholder"];
15610
- const _hoisted_3$p = { class: "lupa-terms-list" };
15609
+ const _hoisted_2$A = ["placeholder"];
15610
+ const _hoisted_3$r = { class: "lupa-terms-list" };
15611
15611
  const _hoisted_4$k = ["onClick"];
15612
- const _hoisted_5$e = { class: "lupa-term-checkbox-wrapper" };
15613
- const _hoisted_6$9 = { class: "lupa-term-checkbox-label" };
15612
+ const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
15613
+ const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
15614
15614
  const _hoisted_7$6 = { class: "lupa-term-label" };
15615
15615
  const _hoisted_8$2 = {
15616
15616
  key: 0,
@@ -15618,7 +15618,7 @@ const _hoisted_8$2 = {
15618
15618
  };
15619
15619
  const _hoisted_9$2 = { key: 0 };
15620
15620
  const _hoisted_10$1 = { key: 1 };
15621
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
15621
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
15622
15622
  __name: "TermFacet",
15623
15623
  props: {
15624
15624
  options: {},
@@ -15689,17 +15689,17 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
15689
15689
  return selectedItems == null ? void 0 : selectedItems.includes((_b = item.title) == null ? void 0 : _b.toString());
15690
15690
  };
15691
15691
  return (_ctx, _cache) => {
15692
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
15692
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$M, [
15693
15693
  isFilterable.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
15694
15694
  key: 0,
15695
15695
  class: "lupa-term-filter",
15696
15696
  "data-cy": "lupa-term-filter",
15697
15697
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
15698
15698
  placeholder: _ctx.options.labels.facetFilter
15699
- }, null, 8, _hoisted_2$y)), [
15699
+ }, null, 8, _hoisted_2$A)), [
15700
15700
  [vue.vModelText, termFilter.value]
15701
15701
  ]) : vue.createCommentVNode("", true),
15702
- vue.createElementVNode("div", _hoisted_3$p, [
15702
+ vue.createElementVNode("div", _hoisted_3$r, [
15703
15703
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
15704
15704
  return vue.openBlock(), vue.createElementBlock("div", {
15705
15705
  class: vue.normalizeClass(["lupa-facet-term", { checked: isChecked(item) }]),
@@ -15707,12 +15707,12 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
15707
15707
  key: item.title,
15708
15708
  onClick: ($event) => handleFacetClick(item)
15709
15709
  }, [
15710
- vue.createElementVNode("div", _hoisted_5$e, [
15710
+ vue.createElementVNode("div", _hoisted_5$d, [
15711
15711
  vue.createElementVNode("span", {
15712
15712
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
15713
15713
  }, null, 2)
15714
15714
  ]),
15715
- vue.createElementVNode("div", _hoisted_6$9, [
15715
+ vue.createElementVNode("div", _hoisted_6$8, [
15716
15716
  vue.createElementVNode("span", _hoisted_7$6, vue.toDisplayString(item.title), 1),
15717
15717
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$2, "(" + vue.toDisplayString(item.count) + ")", 1)) : vue.createCommentVNode("", true)
15718
15718
  ])
@@ -16707,12 +16707,12 @@ var m = { name: "Slider", emits: ["input", "update:modelValue", "start", "slide"
16707
16707
  m.render = function(e2, t, r, i, n, o) {
16708
16708
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps(e2.sliderProps, { ref: "slider" }), null, 16);
16709
16709
  }, m.__file = "src/Slider.vue";
16710
- const _hoisted_1$I = { class: "lupa-search-result-facet-stats-values" };
16711
- const _hoisted_2$x = {
16710
+ const _hoisted_1$L = { class: "lupa-search-result-facet-stats-values" };
16711
+ const _hoisted_2$z = {
16712
16712
  key: 0,
16713
16713
  class: "lupa-stats-facet-summary"
16714
16714
  };
16715
- const _hoisted_3$o = {
16715
+ const _hoisted_3$q = {
16716
16716
  key: 1,
16717
16717
  class: "lupa-stats-facet-summary-input"
16718
16718
  };
@@ -16720,8 +16720,8 @@ const _hoisted_4$j = {
16720
16720
  key: 0,
16721
16721
  class: "lupa-stats-range-label"
16722
16722
  };
16723
- const _hoisted_5$d = { class: "lupa-stats-from" };
16724
- const _hoisted_6$8 = ["max", "min", "pattern", "aria-label"];
16723
+ const _hoisted_5$c = { class: "lupa-stats-from" };
16724
+ const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
16725
16725
  const _hoisted_7$5 = { key: 0 };
16726
16726
  const _hoisted_8$1 = /* @__PURE__ */ vue.createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
16727
16727
  const _hoisted_9$1 = {
@@ -16735,7 +16735,7 @@ const _hoisted_13 = {
16735
16735
  key: 2,
16736
16736
  class: "lupa-stats-slider-wrapper"
16737
16737
  };
16738
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16738
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
16739
16739
  __name: "StatsFacet",
16740
16740
  props: {
16741
16741
  options: {},
@@ -16908,11 +16908,11 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16908
16908
  innerSliderRange.value = value;
16909
16909
  };
16910
16910
  return (_ctx, _cache) => {
16911
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
16912
- !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$o, [
16911
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L, [
16912
+ !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$z, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$q, [
16913
16913
  vue.createElementVNode("div", null, [
16914
16914
  rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$j, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
16915
- vue.createElementVNode("div", _hoisted_5$d, [
16915
+ vue.createElementVNode("div", _hoisted_5$c, [
16916
16916
  vue.withDirectives(vue.createElementVNode("input", {
16917
16917
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
16918
16918
  type: "text",
@@ -16921,7 +16921,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16921
16921
  min: facetMin.value,
16922
16922
  pattern: sliderInputFormat.value,
16923
16923
  "aria-label": ariaLabelFrom.value
16924
- }, null, 8, _hoisted_6$8), [
16924
+ }, null, 8, _hoisted_6$7), [
16925
16925
  [
16926
16926
  vue.vModelText,
16927
16927
  fromValue.value,
@@ -16975,18 +16975,18 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
16975
16975
  };
16976
16976
  }
16977
16977
  });
16978
- const _hoisted_1$H = { class: "lupa-term-checkbox-wrapper" };
16979
- const _hoisted_2$w = { class: "lupa-term-checkbox-label" };
16980
- const _hoisted_3$n = { class: "lupa-term-label" };
16978
+ const _hoisted_1$K = { class: "lupa-term-checkbox-wrapper" };
16979
+ const _hoisted_2$y = { class: "lupa-term-checkbox-label" };
16980
+ const _hoisted_3$p = { class: "lupa-term-label" };
16981
16981
  const _hoisted_4$i = {
16982
16982
  key: 0,
16983
16983
  class: "lupa-term-count"
16984
16984
  };
16985
- const _hoisted_5$c = {
16985
+ const _hoisted_5$b = {
16986
16986
  key: 0,
16987
16987
  class: "lupa-facet-level"
16988
16988
  };
16989
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
16989
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
16990
16990
  __name: "HierarchyFacetLevel",
16991
16991
  props: {
16992
16992
  options: {},
@@ -17032,17 +17032,17 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
17032
17032
  "data-cy": "lupa-facet-term",
17033
17033
  onClick: _cache[0] || (_cache[0] = ($event) => handleFacetClick(_ctx.item))
17034
17034
  }, [
17035
- vue.createElementVNode("div", _hoisted_1$H, [
17035
+ vue.createElementVNode("div", _hoisted_1$K, [
17036
17036
  vue.createElementVNode("span", {
17037
17037
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked.value }])
17038
17038
  }, null, 2)
17039
17039
  ]),
17040
- vue.createElementVNode("div", _hoisted_2$w, [
17041
- vue.createElementVNode("span", _hoisted_3$n, vue.toDisplayString(_ctx.item.title) + vue.toDisplayString(" "), 1),
17040
+ vue.createElementVNode("div", _hoisted_2$y, [
17041
+ vue.createElementVNode("span", _hoisted_3$p, vue.toDisplayString(_ctx.item.title) + vue.toDisplayString(" "), 1),
17042
17042
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$i, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
17043
17043
  ])
17044
17044
  ]),
17045
- showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$c, [
17045
+ showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$b, [
17046
17046
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
17047
17047
  return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
17048
17048
  key: itemChild.title,
@@ -17058,13 +17058,13 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
17058
17058
  };
17059
17059
  }
17060
17060
  });
17061
- const _hoisted_1$G = {
17061
+ const _hoisted_1$J = {
17062
17062
  class: "lupa-search-result-facet-term-values lupa-search-result-facet-hierarchy-values",
17063
17063
  "data-cy": "lupa-search-result-facet-term-values"
17064
17064
  };
17065
- const _hoisted_2$v = { key: 0 };
17066
- const _hoisted_3$m = ["placeholder"];
17067
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17065
+ const _hoisted_2$x = { key: 0 };
17066
+ const _hoisted_3$o = ["placeholder"];
17067
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
17068
17068
  __name: "HierarchyFacet",
17069
17069
  props: {
17070
17070
  options: {},
@@ -17114,19 +17114,19 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17114
17114
  showAll.value = true;
17115
17115
  };
17116
17116
  return (_ctx, _cache) => {
17117
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
17118
- isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$v, [
17117
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
17118
+ isFilterable.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, [
17119
17119
  vue.withDirectives(vue.createElementVNode("input", {
17120
17120
  class: "lupa-term-filter",
17121
17121
  "data-cy": "lupa-term-filter",
17122
17122
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => termFilter.value = $event),
17123
17123
  placeholder: _ctx.options.labels.facetFilter
17124
- }, null, 8, _hoisted_3$m), [
17124
+ }, null, 8, _hoisted_3$o), [
17125
17125
  [vue.vModelText, termFilter.value]
17126
17126
  ])
17127
17127
  ])) : vue.createCommentVNode("", true),
17128
17128
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayValues.value, (item) => {
17129
- return vue.openBlock(), vue.createBlock(_sfc_main$L, {
17129
+ return vue.openBlock(), vue.createBlock(_sfc_main$P, {
17130
17130
  key: item.title,
17131
17131
  options: _ctx.options,
17132
17132
  item,
@@ -17146,20 +17146,20 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17146
17146
  };
17147
17147
  }
17148
17148
  });
17149
- const _hoisted_1$F = { class: "lupa-facet-label-text" };
17150
- const _hoisted_2$u = {
17149
+ const _hoisted_1$I = { class: "lupa-facet-label-text" };
17150
+ const _hoisted_2$w = {
17151
17151
  key: 0,
17152
17152
  class: "lupa-facet-content",
17153
17153
  "data-cy": "lupa-facet-content"
17154
17154
  };
17155
17155
  const __default__$1 = {
17156
17156
  components: {
17157
- TermFacet: _sfc_main$N,
17158
- StatsFacet: _sfc_main$M,
17159
- HierarchyFacet: _sfc_main$K
17157
+ TermFacet: _sfc_main$R,
17158
+ StatsFacet: _sfc_main$Q,
17159
+ HierarchyFacet: _sfc_main$O
17160
17160
  }
17161
17161
  };
17162
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
17162
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__$1), {
17163
17163
  __name: "FacetDisplay",
17164
17164
  props: {
17165
17165
  options: {},
@@ -17271,12 +17271,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
17271
17271
  "data-cy": "lupa-search-result-facet-label",
17272
17272
  onClick: toggleFacet
17273
17273
  }, [
17274
- vue.createElementVNode("div", _hoisted_1$F, vue.toDisplayString(facet.value.label), 1),
17274
+ vue.createElementVNode("div", _hoisted_1$I, vue.toDisplayString(facet.value.label), 1),
17275
17275
  vue.createElementVNode("div", {
17276
17276
  class: vue.normalizeClass(["lupa-facet-label-caret", isOpen.value && "open"])
17277
17277
  }, null, 2)
17278
17278
  ], 2),
17279
- isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$u, [
17279
+ isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, [
17280
17280
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(facetType.value), {
17281
17281
  facet: facet.value,
17282
17282
  currentFilters: currentFilters.value[facet.value.key],
@@ -17294,12 +17294,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
17294
17294
  };
17295
17295
  }
17296
17296
  }));
17297
- const _hoisted_1$E = { class: "lupa-search-result-facet-section" };
17298
- const _hoisted_2$t = {
17297
+ const _hoisted_1$H = { class: "lupa-search-result-facet-section" };
17298
+ const _hoisted_2$v = {
17299
17299
  key: 0,
17300
17300
  class: "lupa-facets-title"
17301
17301
  };
17302
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17302
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
17303
17303
  __name: "FacetList",
17304
17304
  props: {
17305
17305
  options: {},
@@ -17333,14 +17333,14 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17333
17333
  };
17334
17334
  return (_ctx, _cache) => {
17335
17335
  var _a;
17336
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
17337
- _ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$t, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
17336
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
17337
+ _ctx.options.labels.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$v, vue.toDisplayString(_ctx.options.labels.title), 1)) : vue.createCommentVNode("", true),
17338
17338
  vue.createElementVNode("div", {
17339
17339
  class: vue.normalizeClass(["lupa-search-result-facet-list", "lupa-" + ((_a = _ctx.facetStyle) != null ? _a : "")])
17340
17340
  }, [
17341
17341
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFacets.value, (facet) => {
17342
17342
  var _a2;
17343
- return vue.openBlock(), vue.createBlock(_sfc_main$J, {
17343
+ return vue.openBlock(), vue.createBlock(_sfc_main$N, {
17344
17344
  key: facet.key,
17345
17345
  facet,
17346
17346
  currentFilters: currentFiltersValue.value,
@@ -17355,8 +17355,8 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17355
17355
  };
17356
17356
  }
17357
17357
  });
17358
- const _hoisted_1$D = ["onClick"];
17359
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
17358
+ const _hoisted_1$G = ["onClick"];
17359
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
17360
17360
  __name: "FacetsButton",
17361
17361
  props: {
17362
17362
  options: {}
@@ -17376,13 +17376,13 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
17376
17376
  key: 0,
17377
17377
  class: "lupa-facets-button-filter",
17378
17378
  onClick: vue.withModifiers(handleClick, ["stop"])
17379
- }, vue.toDisplayString(label.value), 9, _hoisted_1$D)) : vue.createCommentVNode("", true);
17379
+ }, vue.toDisplayString(label.value), 9, _hoisted_1$G)) : vue.createCommentVNode("", true);
17380
17380
  };
17381
17381
  }
17382
17382
  });
17383
- const _hoisted_1$C = { class: "lupa-search-result-facets" };
17384
- const _hoisted_2$s = { class: "lupa-facets-filter-button-wrapper" };
17385
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17383
+ const _hoisted_1$F = { class: "lupa-search-result-facets" };
17384
+ const _hoisted_2$u = { class: "lupa-facets-filter-button-wrapper" };
17385
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
17386
17386
  __name: "Facets",
17387
17387
  props: {
17388
17388
  options: {},
@@ -17465,8 +17465,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17465
17465
  emit("filter");
17466
17466
  };
17467
17467
  return (_ctx, _cache) => {
17468
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
17469
- regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
17468
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$F, [
17469
+ regularFacets.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
17470
17470
  key: 0,
17471
17471
  options: _ctx.options,
17472
17472
  facets: regularFacets.value,
@@ -17476,8 +17476,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17476
17476
  onSelect: handleFacetSelect,
17477
17477
  onClear: clear
17478
17478
  }, null, 8, ["options", "facets", "currentFilters", "facetStyle", "clearable"])) : vue.createCommentVNode("", true),
17479
- vue.createElementVNode("div", _hoisted_2$s, [
17480
- showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
17479
+ vue.createElementVNode("div", _hoisted_2$u, [
17480
+ showFilterButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, {
17481
17481
  key: 0,
17482
17482
  options: _ctx.options,
17483
17483
  onFilter: filter2
@@ -17487,11 +17487,11 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17487
17487
  };
17488
17488
  }
17489
17489
  });
17490
- const _hoisted_1$B = {
17490
+ const _hoisted_1$E = {
17491
17491
  id: "lupa-search-result-filters",
17492
17492
  class: "lupa-search-result-filters"
17493
17493
  };
17494
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17494
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
17495
17495
  __name: "SearchResultsFilters",
17496
17496
  props: {
17497
17497
  options: {},
@@ -17524,19 +17524,19 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17524
17524
  __expose({ fetch: fetch2 });
17525
17525
  return (_ctx, _cache) => {
17526
17526
  var _a;
17527
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
17528
- showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
17527
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$E, [
17528
+ showCurrentFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
17529
17529
  key: 0,
17530
17530
  options: _ctx.options.currentFilters,
17531
17531
  expandable: (_a = _ctx.expandable) != null ? _a : false
17532
17532
  }, null, 8, ["options", "expandable"])) : vue.createCommentVNode("", true),
17533
- _ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$O, {
17533
+ _ctx.options.categories ? (vue.openBlock(), vue.createBlock(_sfc_main$S, {
17534
17534
  key: 1,
17535
17535
  options: _ctx.options.categories,
17536
17536
  ref_key: "categoryFilters",
17537
17537
  ref: categoryFilters
17538
17538
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
17539
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
17539
+ _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
17540
17540
  key: 2,
17541
17541
  options: _ctx.options.facets,
17542
17542
  onFilter: filter2
@@ -17545,20 +17545,20 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17545
17545
  };
17546
17546
  }
17547
17547
  });
17548
- const _hoisted_1$A = {
17548
+ const _hoisted_1$D = {
17549
17549
  key: 0,
17550
17550
  class: "lupa-mobile-filter-sidebar"
17551
17551
  };
17552
- const _hoisted_2$r = ["onClick"];
17553
- const _hoisted_3$l = { class: "lupa-mobile-sidebar-content" };
17552
+ const _hoisted_2$t = ["onClick"];
17553
+ const _hoisted_3$n = { class: "lupa-mobile-sidebar-content" };
17554
17554
  const _hoisted_4$h = { class: "lupa-sidebar-top" };
17555
- const _hoisted_5$b = { class: "lupa-sidebar-title" };
17556
- const _hoisted_6$7 = {
17555
+ const _hoisted_5$a = { class: "lupa-sidebar-title" };
17556
+ const _hoisted_6$6 = {
17557
17557
  key: 0,
17558
17558
  class: "lupa-sidebar-filter-count"
17559
17559
  };
17560
17560
  const _hoisted_7$4 = { class: "lupa-sidebar-filter-options" };
17561
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17561
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
17562
17562
  __name: "MobileFilterSidebar",
17563
17563
  props: {
17564
17564
  options: {}
@@ -17589,16 +17589,16 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17589
17589
  handleMobileToggle();
17590
17590
  };
17591
17591
  return (_ctx, _cache) => {
17592
- return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
17592
+ return isMobileSidebarVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
17593
17593
  vue.createElementVNode("div", {
17594
17594
  class: "lupa-sidebar-close",
17595
17595
  onClick: vue.withModifiers(handleMobileToggle, ["stop"])
17596
- }, null, 8, _hoisted_2$r),
17597
- vue.createElementVNode("div", _hoisted_3$l, [
17596
+ }, null, 8, _hoisted_2$t),
17597
+ vue.createElementVNode("div", _hoisted_3$n, [
17598
17598
  vue.createElementVNode("div", _hoisted_4$h, [
17599
- vue.createElementVNode("div", _hoisted_5$b, [
17599
+ vue.createElementVNode("div", _hoisted_5$a, [
17600
17600
  vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
17601
- 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)
17602
17602
  ]),
17603
17603
  vue.createElementVNode("div", {
17604
17604
  class: "lupa-filter-toggle-mobile",
@@ -17606,7 +17606,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17606
17606
  })
17607
17607
  ]),
17608
17608
  vue.createElementVNode("div", _hoisted_7$4, [
17609
- vue.createVNode(_sfc_main$F, {
17609
+ vue.createVNode(_sfc_main$J, {
17610
17610
  options: _ctx.options,
17611
17611
  expandable: isActiveFiltersExpanded.value,
17612
17612
  onFilter: filter2
@@ -17617,14 +17617,14 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17617
17617
  };
17618
17618
  }
17619
17619
  });
17620
- const _hoisted_1$z = { id: "lupa-search-results-breadcrumbs" };
17621
- const _hoisted_2$q = ["href", "onClick"];
17622
- const _hoisted_3$k = {
17620
+ const _hoisted_1$C = { id: "lupa-search-results-breadcrumbs" };
17621
+ const _hoisted_2$s = ["href", "onClick"];
17622
+ const _hoisted_3$m = {
17623
17623
  key: 1,
17624
17624
  class: "lupa-search-results-breadcrumb-text"
17625
17625
  };
17626
17626
  const _hoisted_4$g = { key: 2 };
17627
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17627
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
17628
17628
  __name: "SearchResultsBreadcrumbs",
17629
17629
  props: {
17630
17630
  breadcrumbs: {}
@@ -17649,7 +17649,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17649
17649
  handleRoutingEvent(link, event, hasEventRouting.value);
17650
17650
  };
17651
17651
  return (_ctx, _cache) => {
17652
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$z, [
17652
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
17653
17653
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(breadcrumbsValue.value, (breadcrumb, index) => {
17654
17654
  return vue.openBlock(), vue.createElementBlock("span", {
17655
17655
  class: "lupa-search-results-breadcrumb",
@@ -17663,7 +17663,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17663
17663
  var _a;
17664
17664
  return handleNavigation(e2, (_a = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a : "");
17665
17665
  }
17666
- }, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$q)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$k, vue.toDisplayString(getLabel(breadcrumb.label)), 1)),
17666
+ }, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$s)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$m, vue.toDisplayString(getLabel(breadcrumb.label)), 1)),
17667
17667
  index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$g, " / ")) : vue.createCommentVNode("", true)
17668
17668
  ]);
17669
17669
  }), 128))
@@ -17671,11 +17671,11 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17671
17671
  };
17672
17672
  }
17673
17673
  });
17674
- const _hoisted_1$y = {
17674
+ const _hoisted_1$B = {
17675
17675
  id: "lupa-search-result-filters",
17676
17676
  class: "lupa-search-result-filters lupa-search-result-top-filters"
17677
17677
  };
17678
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17678
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
17679
17679
  __name: "FiltersTopDropdown",
17680
17680
  props: {
17681
17681
  options: {}
@@ -17687,8 +17687,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17687
17687
  };
17688
17688
  return (_ctx, _cache) => {
17689
17689
  var _a;
17690
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
17691
- _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
17690
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
17691
+ _ctx.options.facets ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
17692
17692
  key: 0,
17693
17693
  options: _ctx.options.facets,
17694
17694
  "facet-style": (_a = _ctx.options.facets.style) == null ? void 0 : _a.type,
@@ -17699,8 +17699,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17699
17699
  };
17700
17700
  }
17701
17701
  });
17702
- const _hoisted_1$x = { id: "lupa-search-results-layout-selection" };
17703
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17702
+ const _hoisted_1$A = { id: "lupa-search-results-layout-selection" };
17703
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
17704
17704
  __name: "SearchResultsLayoutSelection",
17705
17705
  setup(__props) {
17706
17706
  const searchResultStore = useSearchResultStore();
@@ -17711,7 +17711,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17711
17711
  searchResultStore.setLayout(layout2);
17712
17712
  };
17713
17713
  return (_ctx, _cache) => {
17714
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
17714
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
17715
17715
  vue.createElementVNode("div", {
17716
17716
  class: vue.normalizeClass([
17717
17717
  "lupa-layout-selection-grid",
@@ -17733,11 +17733,11 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17733
17733
  };
17734
17734
  }
17735
17735
  });
17736
- const _hoisted_1$w = {
17736
+ const _hoisted_1$z = {
17737
17737
  key: 0,
17738
17738
  class: "lupa-mobile-toggle-filter-count"
17739
17739
  };
17740
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
17740
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
17741
17741
  __name: "SearchResultsMobileToggle",
17742
17742
  props: {
17743
17743
  label: {},
@@ -17755,26 +17755,26 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
17755
17755
  onClick: handleMobileToggle
17756
17756
  }, [
17757
17757
  vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
17758
- _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$z, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
17759
17759
  ], 2);
17760
17760
  };
17761
17761
  }
17762
17762
  });
17763
- const _hoisted_1$v = {
17763
+ const _hoisted_1$y = {
17764
17764
  key: 0,
17765
17765
  id: "lupa-search-results-page-select",
17766
17766
  "data-cy": "lupa-search-results-page-select"
17767
17767
  };
17768
- const _hoisted_2$p = {
17768
+ const _hoisted_2$r = {
17769
17769
  key: 0,
17770
17770
  class: "lupa-page-number-separator"
17771
17771
  };
17772
- const _hoisted_3$j = ["onClick"];
17772
+ const _hoisted_3$l = ["onClick"];
17773
17773
  const _hoisted_4$f = {
17774
17774
  key: 0,
17775
17775
  class: "lupa-page-number-separator"
17776
17776
  };
17777
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17777
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
17778
17778
  __name: "SearchResultsPageSelect",
17779
17779
  props: {
17780
17780
  lastPageLabel: {},
@@ -17851,7 +17851,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17851
17851
  }
17852
17852
  };
17853
17853
  return (_ctx, _cache) => {
17854
- return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
17854
+ return showPagination.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
17855
17855
  showBack.value ? (vue.openBlock(), vue.createElementBlock("div", {
17856
17856
  key: 0,
17857
17857
  class: vue.normalizeClass(firstPageLabel.value === "<" ? "lupa-page-arrow" : "lupa-show-less"),
@@ -17862,7 +17862,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17862
17862
  class: "lupa-page-number lupa-page-number-first",
17863
17863
  onClick: _cache[1] || (_cache[1] = () => handlePageChange(1))
17864
17864
  }, " 1 "),
17865
- showFirstPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, "...")) : vue.createCommentVNode("", true)
17865
+ showFirstPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$r, "...")) : vue.createCommentVNode("", true)
17866
17866
  ], 64)) : vue.createCommentVNode("", true),
17867
17867
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(pages.value, (page) => {
17868
17868
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -17873,7 +17873,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17873
17873
  page === _ctx.options.selectedPage ? "lupa-page-number-selected" : ""
17874
17874
  ]),
17875
17875
  "data-cy": "lupa-page-number"
17876
- }, vue.toDisplayString(page), 11, _hoisted_3$j);
17876
+ }, vue.toDisplayString(page), 11, _hoisted_3$l);
17877
17877
  }), 128)),
17878
17878
  showLastPage.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
17879
17879
  showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$f, "...")) : vue.createCommentVNode("", true),
@@ -17895,15 +17895,15 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
17895
17895
  };
17896
17896
  }
17897
17897
  });
17898
- const _hoisted_1$u = {
17898
+ const _hoisted_1$x = {
17899
17899
  id: "lupa-search-results-page-size",
17900
17900
  "data-cy": "lupa-search-results-page-size"
17901
17901
  };
17902
- const _hoisted_2$o = { id: "lupa-select" };
17903
- const _hoisted_3$i = { class: "lupa-select-label" };
17902
+ const _hoisted_2$q = { id: "lupa-select" };
17903
+ const _hoisted_3$k = { class: "lupa-select-label" };
17904
17904
  const _hoisted_4$e = ["aria-label"];
17905
- const _hoisted_5$a = ["value"];
17906
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17905
+ const _hoisted_5$9 = ["value"];
17906
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
17907
17907
  __name: "SearchResultsPageSize",
17908
17908
  props: {
17909
17909
  labels: {},
@@ -17931,9 +17931,9 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17931
17931
  });
17932
17932
  };
17933
17933
  return (_ctx, _cache) => {
17934
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
17935
- vue.createElementVNode("div", _hoisted_2$o, [
17936
- vue.createElementVNode("label", _hoisted_3$i, vue.toDisplayString(label.value), 1),
17934
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
17935
+ vue.createElementVNode("div", _hoisted_2$q, [
17936
+ vue.createElementVNode("label", _hoisted_3$k, vue.toDisplayString(label.value), 1),
17937
17937
  vue.createElementVNode("select", {
17938
17938
  class: "lupa-select-dropdown",
17939
17939
  "aria-label": label.value,
@@ -17946,7 +17946,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17946
17946
  return vue.openBlock(), vue.createElementBlock("option", {
17947
17947
  key: option,
17948
17948
  value: option
17949
- }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$a);
17949
+ }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$9);
17950
17950
  }), 128))
17951
17951
  ], 40, _hoisted_4$e)
17952
17952
  ])
@@ -17954,15 +17954,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
17954
17954
  };
17955
17955
  }
17956
17956
  });
17957
- const _hoisted_1$t = {
17957
+ const _hoisted_1$w = {
17958
17958
  id: "lupa-search-results-sort",
17959
17959
  class: "lupa-search-results-sort"
17960
17960
  };
17961
- const _hoisted_2$n = { id: "lupa-select" };
17962
- const _hoisted_3$h = { class: "lupa-select-label" };
17961
+ const _hoisted_2$p = { id: "lupa-select" };
17962
+ const _hoisted_3$j = { class: "lupa-select-label" };
17963
17963
  const _hoisted_4$d = ["aria-label"];
17964
- const _hoisted_5$9 = ["value"];
17965
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
17964
+ const _hoisted_5$8 = ["value"];
17965
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
17966
17966
  __name: "SearchResultsSort",
17967
17967
  props: {
17968
17968
  options: {},
@@ -18011,9 +18011,9 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18011
18011
  previousKey.value = selectedKey.value;
18012
18012
  };
18013
18013
  return (_ctx, _cache) => {
18014
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
18015
- vue.createElementVNode("div", _hoisted_2$n, [
18016
- vue.createElementVNode("label", _hoisted_3$h, vue.toDisplayString(_ctx.options.label), 1),
18014
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
18015
+ vue.createElementVNode("div", _hoisted_2$p, [
18016
+ vue.createElementVNode("label", _hoisted_3$j, vue.toDisplayString(_ctx.options.label), 1),
18017
18017
  vue.withDirectives(vue.createElementVNode("select", {
18018
18018
  class: "lupa-select-dropdown",
18019
18019
  "aria-label": _ctx.options.label,
@@ -18026,7 +18026,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18026
18026
  return vue.openBlock(), vue.createElementBlock("option", {
18027
18027
  key: option.key,
18028
18028
  value: option.key
18029
- }, vue.toDisplayString(option.label), 9, _hoisted_5$9);
18029
+ }, vue.toDisplayString(option.label), 9, _hoisted_5$8);
18030
18030
  }), 128))
18031
18031
  ], 40, _hoisted_4$d), [
18032
18032
  [vue.vModelSelect, selectedKey.value]
@@ -18036,22 +18036,22 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18036
18036
  };
18037
18037
  }
18038
18038
  });
18039
- const _hoisted_1$s = { class: "lupa-toolbar-left" };
18040
- const _hoisted_2$m = {
18039
+ const _hoisted_1$v = { class: "lupa-toolbar-left" };
18040
+ const _hoisted_2$o = {
18041
18041
  key: 0,
18042
18042
  class: "lupa-toolbar-right-title"
18043
18043
  };
18044
- const _hoisted_3$g = { key: 2 };
18044
+ const _hoisted_3$i = { key: 2 };
18045
18045
  const _hoisted_4$c = { key: 4 };
18046
- const _hoisted_5$8 = { key: 6 };
18047
- const _hoisted_6$6 = { class: "lupa-toolbar-right" };
18046
+ const _hoisted_5$7 = { key: 6 };
18047
+ const _hoisted_6$5 = { class: "lupa-toolbar-right" };
18048
18048
  const _hoisted_7$3 = {
18049
18049
  key: 0,
18050
18050
  class: "lupa-toolbar-right-title"
18051
18051
  };
18052
18052
  const _hoisted_8 = { key: 2 };
18053
18053
  const _hoisted_9 = { key: 4 };
18054
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18054
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
18055
18055
  __name: "SearchResultsToolbar",
18056
18056
  props: {
18057
18057
  options: {},
@@ -18158,34 +18158,34 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18158
18158
  id: "lupa-search-results-toolbar",
18159
18159
  class: vue.normalizeClass({ "lupa-filter-no-results": !hasResults.value })
18160
18160
  }, [
18161
- vue.createElementVNode("div", _hoisted_1$s, [
18162
- toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$m, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
18163
- showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$B, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$g)),
18164
- showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$T, {
18161
+ vue.createElementVNode("div", _hoisted_1$v, [
18162
+ toolbarLeftLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$o, vue.toDisplayString(toolbarLeftLabel.value), 1)) : vue.createCommentVNode("", true),
18163
+ showLayoutSelection.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, { key: 1 })) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$i)),
18164
+ showItemSummary.value ? (vue.openBlock(), vue.createBlock(_sfc_main$X, {
18165
18165
  key: 3,
18166
18166
  label: searchSummaryLabel.value,
18167
18167
  clearable: vue.unref(hasAnyFilter) && showFilterClear.value,
18168
18168
  onClear: handleClearAll
18169
18169
  }, null, 8, ["label", "clearable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$c)),
18170
- displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
18170
+ displayPageSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
18171
18171
  key: 5,
18172
18172
  options: paginationOptions.value.pageSelect,
18173
18173
  "last-page-label": paginationOptions.value.labels.showMore,
18174
18174
  "first-page-label": paginationOptions.value.labels.showLess
18175
- }, 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$7))
18176
18176
  ]),
18177
- vue.createElementVNode("div", _hoisted_6$6, [
18177
+ vue.createElementVNode("div", _hoisted_6$5, [
18178
18178
  toolbarRightLabel.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, vue.toDisplayString(toolbarRightLabel.value), 1)) : vue.createCommentVNode("", true),
18179
- vue.createVNode(_sfc_main$A, {
18179
+ vue.createVNode(_sfc_main$E, {
18180
18180
  label: optionsValue.value.labels.mobileFilterButton,
18181
18181
  "show-filter-count": showMobileFilterCount.value
18182
18182
  }, null, 8, ["label", "show-filter-count"]),
18183
- paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
18183
+ paginationDisplay.value.pageSize ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
18184
18184
  key: 1,
18185
18185
  options: paginationOptions.value.pageSize,
18186
18186
  labels: paginationOptions.value.labels
18187
18187
  }, null, 8, ["options", "labels"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_8)),
18188
- sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$x, {
18188
+ sortOptions.value ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
18189
18189
  key: 3,
18190
18190
  options: sortOptions.value,
18191
18191
  callbacks: callbacks.value
@@ -18195,7 +18195,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18195
18195
  };
18196
18196
  }
18197
18197
  });
18198
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18198
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
18199
18199
  __name: "SearchResultsProductImage",
18200
18200
  props: {
18201
18201
  item: {},
@@ -18203,7 +18203,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18203
18203
  },
18204
18204
  setup(__props) {
18205
18205
  return (_ctx, _cache) => {
18206
- return vue.openBlock(), vue.createBlock(_sfc_main$1f, {
18206
+ return vue.openBlock(), vue.createBlock(_sfc_main$1j, {
18207
18207
  item: _ctx.item,
18208
18208
  options: _ctx.options,
18209
18209
  "wrapper-class": "lupa-search-results-image-wrapper",
@@ -18212,16 +18212,16 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18212
18212
  };
18213
18213
  }
18214
18214
  });
18215
- const _hoisted_1$r = ["title", "innerHTML"];
18216
- const _hoisted_2$l = ["title"];
18217
- const _hoisted_3$f = ["href", "innerHTML"];
18215
+ const _hoisted_1$u = ["title", "innerHTML"];
18216
+ const _hoisted_2$n = ["title"];
18217
+ const _hoisted_3$h = ["href", "innerHTML"];
18218
18218
  const _hoisted_4$b = ["title"];
18219
- const _hoisted_5$7 = {
18219
+ const _hoisted_5$6 = {
18220
18220
  key: 0,
18221
18221
  class: "lupa-search-results-product-title-text"
18222
18222
  };
18223
- const _hoisted_6$5 = ["href"];
18224
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18223
+ const _hoisted_6$4 = ["href"];
18224
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
18225
18225
  __name: "SearchResultsProductTitle",
18226
18226
  props: {
18227
18227
  item: {},
@@ -18258,7 +18258,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18258
18258
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
18259
18259
  title: sanitizedTitle.value,
18260
18260
  innerHTML: sanitizedTitle.value
18261
- }, null, 12, _hoisted_1$r)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
18261
+ }, null, 12, _hoisted_1$u)) : isHtml.value && _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("div", {
18262
18262
  key: 1,
18263
18263
  class: "lupa-search-results-product-title",
18264
18264
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
@@ -18269,26 +18269,26 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18269
18269
  class: "lupa-search-results-product-title-text lupa-title-link",
18270
18270
  innerHTML: sanitizedTitle.value,
18271
18271
  onClick: handleNavigation
18272
- }, null, 8, _hoisted_3$f)
18273
- ], 12, _hoisted_2$l)) : (vue.openBlock(), vue.createElementBlock("div", {
18272
+ }, null, 8, _hoisted_3$h)
18273
+ ], 12, _hoisted_2$n)) : (vue.openBlock(), vue.createElementBlock("div", {
18274
18274
  key: 2,
18275
18275
  class: "lupa-search-results-product-title",
18276
18276
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
18277
18277
  title: title.value
18278
18278
  }, [
18279
- !_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$6, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
18280
18280
  _ctx.options.link ? (vue.openBlock(), vue.createElementBlock("a", {
18281
18281
  key: 1,
18282
18282
  href: _ctx.link,
18283
18283
  class: "lupa-search-results-product-title-text lupa-title-link",
18284
18284
  onClick: handleNavigation
18285
- }, vue.toDisplayString(title.value), 9, _hoisted_6$5)) : vue.createCommentVNode("", true)
18285
+ }, vue.toDisplayString(title.value), 9, _hoisted_6$4)) : vue.createCommentVNode("", true)
18286
18286
  ], 12, _hoisted_4$b));
18287
18287
  };
18288
18288
  }
18289
18289
  });
18290
- const _hoisted_1$q = ["innerHTML"];
18291
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18290
+ const _hoisted_1$t = ["innerHTML"];
18291
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
18292
18292
  __name: "SearchResultsProductDescription",
18293
18293
  props: {
18294
18294
  item: {},
@@ -18315,7 +18315,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18315
18315
  class: "lupa-search-results-product-description",
18316
18316
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`),
18317
18317
  innerHTML: sanitizedDescription.value
18318
- }, null, 12, _hoisted_1$q)) : (vue.openBlock(), vue.createElementBlock("div", {
18318
+ }, null, 12, _hoisted_1$t)) : (vue.openBlock(), vue.createElementBlock("div", {
18319
18319
  key: 1,
18320
18320
  class: "lupa-search-results-product-description",
18321
18321
  style: vue.normalizeStyle(`-webkit-line-clamp: ${maxLines.value}`)
@@ -18323,15 +18323,15 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18323
18323
  };
18324
18324
  }
18325
18325
  });
18326
- const _hoisted_1$p = { id: "lupa-search-results-rating" };
18327
- const _hoisted_2$k = { class: "lupa-ratings" };
18328
- const _hoisted_3$e = { class: "lupa-ratings-base" };
18326
+ const _hoisted_1$s = { id: "lupa-search-results-rating" };
18327
+ const _hoisted_2$m = { class: "lupa-ratings" };
18328
+ const _hoisted_3$g = { class: "lupa-ratings-base" };
18329
18329
  const _hoisted_4$a = ["innerHTML"];
18330
- const _hoisted_5$6 = { class: "lupa-rating-wrapper" };
18331
- const _hoisted_6$4 = ["innerHTML"];
18330
+ const _hoisted_5$5 = { class: "lupa-rating-wrapper" };
18331
+ const _hoisted_6$3 = ["innerHTML"];
18332
18332
  const _hoisted_7$2 = ["href"];
18333
18333
  const STAR_COUNT = 5;
18334
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18334
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
18335
18335
  __name: "SearchResultsProductRating",
18336
18336
  props: {
18337
18337
  item: {},
@@ -18362,9 +18362,9 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18362
18362
  return generateLink(props.options.links.ratingDetails, props.item);
18363
18363
  });
18364
18364
  return (_ctx, _cache) => {
18365
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
18366
- vue.createElementVNode("div", _hoisted_2$k, [
18367
- vue.createElementVNode("div", _hoisted_3$e, [
18365
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
18366
+ vue.createElementVNode("div", _hoisted_2$m, [
18367
+ vue.createElementVNode("div", _hoisted_3$g, [
18368
18368
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(baseStars.value, (star, index) => {
18369
18369
  return vue.openBlock(), vue.createElementBlock("div", {
18370
18370
  key: index,
@@ -18373,7 +18373,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18373
18373
  }, null, 8, _hoisted_4$a);
18374
18374
  }), 128))
18375
18375
  ]),
18376
- vue.createElementVNode("div", _hoisted_5$6, [
18376
+ vue.createElementVNode("div", _hoisted_5$5, [
18377
18377
  vue.createElementVNode("div", {
18378
18378
  class: "lupa-ratings-highlighted",
18379
18379
  style: vue.normalizeStyle({ width: ratingPercentage.value + "%" })
@@ -18383,7 +18383,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18383
18383
  key: index,
18384
18384
  innerHTML: star,
18385
18385
  class: "lupa-rating lupa-rating-highlighted"
18386
- }, null, 8, _hoisted_6$4);
18386
+ }, null, 8, _hoisted_6$3);
18387
18387
  }), 128))
18388
18388
  ], 4)
18389
18389
  ])
@@ -18396,11 +18396,11 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18396
18396
  };
18397
18397
  }
18398
18398
  });
18399
- const _hoisted_1$o = {
18399
+ const _hoisted_1$r = {
18400
18400
  class: "lupa-search-results-product-regular-price",
18401
18401
  "data-cy": "lupa-search-results-product-regular-price"
18402
18402
  };
18403
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
18403
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
18404
18404
  __name: "SearchResultsProductRegularPrice",
18405
18405
  props: {
18406
18406
  item: {},
@@ -18418,11 +18418,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
18418
18418
  );
18419
18419
  });
18420
18420
  return (_ctx, _cache) => {
18421
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, vue.toDisplayString(price.value), 1);
18421
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, vue.toDisplayString(price.value), 1);
18422
18422
  };
18423
18423
  }
18424
18424
  });
18425
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
18425
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
18426
18426
  __name: "SearchResultsProductPrice",
18427
18427
  props: {
18428
18428
  item: {},
@@ -18452,10 +18452,10 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
18452
18452
  };
18453
18453
  }
18454
18454
  });
18455
- const _hoisted_1$n = { class: "lupa-search-results-add-to-cart-wrapper" };
18456
- const _hoisted_2$j = { class: "lupa-search-results-product-addtocart" };
18457
- const _hoisted_3$d = ["onClick", "disabled"];
18458
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
18455
+ const _hoisted_1$q = { class: "lupa-search-results-add-to-cart-wrapper" };
18456
+ const _hoisted_2$l = { class: "lupa-search-results-product-addtocart" };
18457
+ const _hoisted_3$f = ["onClick", "disabled"];
18458
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
18459
18459
  __name: "SearchResultsProductAddToCart",
18460
18460
  props: {
18461
18461
  item: {},
@@ -18488,25 +18488,25 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
18488
18488
  loading.value = false;
18489
18489
  });
18490
18490
  return (_ctx, _cache) => {
18491
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
18492
- vue.createElementVNode("div", _hoisted_2$j, [
18491
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
18492
+ vue.createElementVNode("div", _hoisted_2$l, [
18493
18493
  vue.createElementVNode("button", {
18494
18494
  onClick: vue.withModifiers(handleClick, ["stop"]),
18495
18495
  class: vue.normalizeClass(loading.value ? "lupa-add-to-cart-loading" : "lupa-add-to-cart"),
18496
18496
  "data-cy": "lupa-add-to-cart",
18497
18497
  disabled: !inStockValue.value || loading.value
18498
- }, vue.toDisplayString(label.value), 11, _hoisted_3$d)
18498
+ }, vue.toDisplayString(label.value), 11, _hoisted_3$f)
18499
18499
  ])
18500
18500
  ]);
18501
18501
  };
18502
18502
  }
18503
18503
  });
18504
- const _hoisted_1$m = ["innerHTML"];
18505
- const _hoisted_2$i = { key: 0 };
18506
- const _hoisted_3$c = { key: 1 };
18504
+ const _hoisted_1$p = ["innerHTML"];
18505
+ const _hoisted_2$k = { key: 0 };
18506
+ const _hoisted_3$e = { key: 1 };
18507
18507
  const _hoisted_4$9 = { class: "lupa-search-box-custom-label" };
18508
- const _hoisted_5$5 = { class: "lupa-search-box-custom-text" };
18509
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
18508
+ const _hoisted_5$4 = { class: "lupa-search-box-custom-text" };
18509
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
18510
18510
  __name: "SearchResultsProductCustom",
18511
18511
  props: {
18512
18512
  item: {},
@@ -18544,20 +18544,20 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
18544
18544
  key: 0,
18545
18545
  class: className.value,
18546
18546
  innerHTML: text.value
18547
- }, 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$p)) : (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
18548
18548
  key: 1,
18549
18549
  class: className.value
18550
18550
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
18551
- !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$c, [
18551
+ !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$k, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$e, [
18552
18552
  vue.createElementVNode("div", _hoisted_4$9, vue.toDisplayString(label.value), 1),
18553
- vue.createElementVNode("div", _hoisted_5$5, vue.toDisplayString(text.value), 1)
18553
+ vue.createElementVNode("div", _hoisted_5$4, vue.toDisplayString(text.value), 1)
18554
18554
  ]))
18555
18555
  ], 16));
18556
18556
  };
18557
18557
  }
18558
18558
  });
18559
- const _hoisted_1$l = ["innerHTML"];
18560
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
18559
+ const _hoisted_1$o = ["innerHTML"];
18560
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
18561
18561
  __name: "SearchResultsProductCustomHtmlElement",
18562
18562
  props: {
18563
18563
  item: {},
@@ -18588,15 +18588,15 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
18588
18588
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
18589
18589
  class: className.value,
18590
18590
  innerHTML: text.value
18591
- }, 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$o);
18592
18592
  };
18593
18593
  }
18594
18594
  });
18595
- const _hoisted_1$k = { id: "lupa-search-results-rating" };
18596
- const _hoisted_2$h = ["innerHTML"];
18597
- const _hoisted_3$b = { class: "lupa-ratings" };
18595
+ const _hoisted_1$n = { id: "lupa-search-results-rating" };
18596
+ const _hoisted_2$j = ["innerHTML"];
18597
+ const _hoisted_3$d = { class: "lupa-ratings" };
18598
18598
  const _hoisted_4$8 = ["href"];
18599
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
18599
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
18600
18600
  __name: "SearchResultsProductSingleStarRating",
18601
18601
  props: {
18602
18602
  item: {},
@@ -18624,12 +18624,12 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
18624
18624
  return RATING_STAR_HTML;
18625
18625
  });
18626
18626
  return (_ctx, _cache) => {
18627
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
18627
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
18628
18628
  vue.createElementVNode("div", {
18629
18629
  innerHTML: star.value,
18630
18630
  class: "lupa-rating lupa-rating-highlighted"
18631
- }, null, 8, _hoisted_2$h),
18632
- vue.createElementVNode("div", _hoisted_3$b, vue.toDisplayString(rating.value), 1),
18631
+ }, null, 8, _hoisted_2$j),
18632
+ vue.createElementVNode("div", _hoisted_3$d, vue.toDisplayString(rating.value), 1),
18633
18633
  vue.createElementVNode("a", {
18634
18634
  href: ratingLink.value,
18635
18635
  class: "lupa-total-ratings"
@@ -18640,19 +18640,19 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
18640
18640
  });
18641
18641
  const __default__ = {
18642
18642
  components: {
18643
- SearchResultsProductImage: _sfc_main$v,
18644
- SearchResultsProductTitle: _sfc_main$u,
18645
- SearchResultsProductDescription: _sfc_main$t,
18646
- SearchResultsProductRating: _sfc_main$s,
18647
- SearchResultsProductRegularPrice: _sfc_main$r,
18648
- SearchResultsProductPrice: _sfc_main$q,
18649
- SearchResultsProductAddToCart: _sfc_main$p,
18650
- SearchResultsProductCustom: _sfc_main$o,
18651
- SearchResultsProductCustomHtmlElement: _sfc_main$n,
18652
- SearchResultsProductSingleStarRating: _sfc_main$m
18653
- }
18654
- };
18655
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
18643
+ SearchResultsProductImage: _sfc_main$z,
18644
+ SearchResultsProductTitle: _sfc_main$y,
18645
+ SearchResultsProductDescription: _sfc_main$x,
18646
+ SearchResultsProductRating: _sfc_main$w,
18647
+ SearchResultsProductRegularPrice: _sfc_main$v,
18648
+ SearchResultsProductPrice: _sfc_main$u,
18649
+ SearchResultsProductAddToCart: _sfc_main$t,
18650
+ SearchResultsProductCustom: _sfc_main$s,
18651
+ SearchResultsProductCustomHtmlElement: _sfc_main$r,
18652
+ SearchResultsProductSingleStarRating: _sfc_main$q
18653
+ }
18654
+ };
18655
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, __default__), {
18656
18656
  __name: "SearchResultsProductCardElement",
18657
18657
  props: {
18658
18658
  item: {},
@@ -18728,13 +18728,13 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
18728
18728
  };
18729
18729
  }
18730
18730
  }));
18731
- const _hoisted_1$j = ["href"];
18732
- const _hoisted_2$g = {
18731
+ const _hoisted_1$m = ["href"];
18732
+ const _hoisted_2$i = {
18733
18733
  key: 0,
18734
18734
  class: "lupa-out-of-stock"
18735
18735
  };
18736
- const _hoisted_3$a = { class: "lupa-search-result-product-details-section" };
18737
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18736
+ const _hoisted_3$c = { class: "lupa-search-result-product-details-section" };
18737
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
18738
18738
  __name: "SearchResultsProductCard",
18739
18739
  props: {
18740
18740
  product: {},
@@ -18886,7 +18886,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18886
18886
  "data-cy": "lupa-search-result-product-card",
18887
18887
  class: ["lupa-search-result-product-card", !isInStock.value ? "lupa-out-of-stock" : ""]
18888
18888
  }, customDocumentHtmlAttributes.value, { onClick: handleClick }), [
18889
- vue.createVNode(_sfc_main$10, { options: badgesOptions.value }, null, 8, ["options"]),
18889
+ vue.createVNode(_sfc_main$14, { options: badgesOptions.value }, null, 8, ["options"]),
18890
18890
  vue.createElementVNode("div", {
18891
18891
  class: vue.normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
18892
18892
  }, [
@@ -18896,7 +18896,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18896
18896
  onClick: handleNavigation
18897
18897
  }, [
18898
18898
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageElements.value, (element) => {
18899
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
18899
+ return vue.openBlock(), vue.createBlock(_sfc_main$p, {
18900
18900
  class: "lupa-search-results-product-element",
18901
18901
  item: _ctx.product,
18902
18902
  element,
@@ -18907,16 +18907,16 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18907
18907
  onProductEvent: handleProductEvent
18908
18908
  }, null, 8, ["item", "element", "labels", "inStock", "link"]);
18909
18909
  }), 128)),
18910
- vue.createVNode(_sfc_main$10, {
18910
+ vue.createVNode(_sfc_main$14, {
18911
18911
  options: badgesOptions.value,
18912
18912
  position: "image",
18913
18913
  class: "lupa-image-badges"
18914
18914
  }, null, 8, ["options"]),
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)
18916
- ], 8, _hoisted_1$j),
18917
- vue.createElementVNode("div", _hoisted_3$a, [
18915
+ ((_a = labels.value) == null ? void 0 : _a.outOfStock) && !isInStock.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, vue.toDisplayString(labels.value.outOfStock), 1)) : vue.createCommentVNode("", true)
18916
+ ], 8, _hoisted_1$m),
18917
+ vue.createElementVNode("div", _hoisted_3$c, [
18918
18918
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(detailElements.value, (element) => {
18919
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
18919
+ return vue.openBlock(), vue.createBlock(_sfc_main$p, {
18920
18920
  class: "lupa-search-results-product-element",
18921
18921
  item: _ctx.product,
18922
18922
  element,
@@ -18934,7 +18934,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18934
18934
  class: vue.normalizeClass("lupa-element-group-" + group)
18935
18935
  }, [
18936
18936
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroupElements(group), (element) => {
18937
- return vue.openBlock(), vue.createBlock(_sfc_main$l, {
18937
+ return vue.openBlock(), vue.createBlock(_sfc_main$p, {
18938
18938
  class: "lupa-search-results-product-element",
18939
18939
  item: _ctx.product,
18940
18940
  element,
@@ -18952,23 +18952,23 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
18952
18952
  };
18953
18953
  }
18954
18954
  });
18955
- const _hoisted_1$i = {
18955
+ const _hoisted_1$l = {
18956
18956
  id: "lupa-search-results-similar-queries",
18957
18957
  "data-cy": "lupa-search-results-similar-queries"
18958
18958
  };
18959
- const _hoisted_2$f = { class: "lupa-similar-queries-label" };
18960
- const _hoisted_3$9 = {
18959
+ const _hoisted_2$h = { class: "lupa-similar-queries-label" };
18960
+ const _hoisted_3$b = {
18961
18961
  class: "lupa-similar-query-label",
18962
18962
  "data-cy": "lupa-similar-query-label"
18963
18963
  };
18964
18964
  const _hoisted_4$7 = ["onClick"];
18965
- const _hoisted_5$4 = ["innerHTML"];
18966
- const _hoisted_6$3 = { key: 0 };
18965
+ const _hoisted_5$3 = ["innerHTML"];
18966
+ const _hoisted_6$2 = { key: 0 };
18967
18967
  const _hoisted_7$1 = {
18968
18968
  class: "lupa-products",
18969
18969
  "data-cy": "lupa-products"
18970
18970
  };
18971
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
18971
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
18972
18972
  __name: "SearchResultsSimilarQueries",
18973
18973
  props: {
18974
18974
  labels: {},
@@ -18998,11 +18998,11 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
18998
18998
  paramsStore.goToResults({ searchText, facet });
18999
18999
  };
19000
19000
  return (_ctx, _cache) => {
19001
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
19002
- vue.createElementVNode("div", _hoisted_2$f, vue.toDisplayString(_ctx.labels.similarQueries), 1),
19001
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
19002
+ vue.createElementVNode("div", _hoisted_2$h, vue.toDisplayString(_ctx.labels.similarQueries), 1),
19003
19003
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQueries.value, (similarQuery, index) => {
19004
19004
  return vue.openBlock(), vue.createElementBlock("div", { key: index }, [
19005
- vue.createElementVNode("div", _hoisted_3$9, [
19005
+ vue.createElementVNode("div", _hoisted_3$b, [
19006
19006
  vue.createElementVNode("span", null, vue.toDisplayString(similarQueryLabel.value), 1),
19007
19007
  vue.createElementVNode("span", {
19008
19008
  id: "lupa-similar-query-text-component",
@@ -19012,13 +19012,13 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
19012
19012
  }, [
19013
19013
  vue.createElementVNode("span", {
19014
19014
  innerHTML: getSimilarQueryContent(similarQuery.displayQuery)
19015
- }, null, 8, _hoisted_5$4),
19016
- similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$3, " (" + vue.toDisplayString(similarQuery.count) + ")", 1)) : vue.createCommentVNode("", true)
19015
+ }, null, 8, _hoisted_5$3),
19016
+ similarQuery.count ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$2, " (" + vue.toDisplayString(similarQuery.count) + ")", 1)) : vue.createCommentVNode("", true)
19017
19017
  ], 8, _hoisted_4$7)
19018
19018
  ]),
19019
19019
  vue.createElementVNode("div", _hoisted_7$1, [
19020
19020
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarQuery.items, (product, index2) => {
19021
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19021
+ return vue.openBlock(), vue.createBlock(_sfc_main$o, {
19022
19022
  style: vue.normalizeStyle(_ctx.columnSize),
19023
19023
  key: getDocumentKey(index2, product),
19024
19024
  product,
@@ -19032,15 +19032,15 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
19032
19032
  };
19033
19033
  }
19034
19034
  });
19035
- const _hoisted_1$h = {
19035
+ const _hoisted_1$k = {
19036
19036
  key: 0,
19037
19037
  class: "lupa-results-additional-panel"
19038
19038
  };
19039
- const _hoisted_2$e = {
19039
+ const _hoisted_2$g = {
19040
19040
  class: "lupa-results-additional-panel-items",
19041
19041
  "data-cy": "lupa-results-additional-panel-items"
19042
19042
  };
19043
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
19043
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
19044
19044
  __name: "AdditionalPanel",
19045
19045
  props: {
19046
19046
  panel: {},
@@ -19112,10 +19112,10 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
19112
19112
  handleQueryChange();
19113
19113
  });
19114
19114
  return (_ctx, _cache) => {
19115
- return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
19116
- vue.createElementVNode("div", _hoisted_2$e, [
19115
+ return hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
19116
+ vue.createElementVNode("div", _hoisted_2$g, [
19117
19117
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index) => {
19118
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19118
+ return vue.openBlock(), vue.createBlock(_sfc_main$o, {
19119
19119
  key: index,
19120
19120
  product: item,
19121
19121
  options: _ctx.panel,
@@ -19133,11 +19133,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
19133
19133
  };
19134
19134
  }
19135
19135
  });
19136
- const _hoisted_1$g = {
19136
+ const _hoisted_1$j = {
19137
19137
  key: 0,
19138
19138
  class: "lupa-results-additional-panels"
19139
19139
  };
19140
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
19140
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
19141
19141
  __name: "AdditionalPanels",
19142
19142
  props: {
19143
19143
  options: {},
@@ -19154,9 +19154,9 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
19154
19154
  return locationPanels.value.length > 0;
19155
19155
  });
19156
19156
  return (_ctx, _cache) => {
19157
- return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
19157
+ return isVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
19158
19158
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(locationPanels.value, (panel) => {
19159
- return vue.openBlock(), vue.createBlock(_sfc_main$i, {
19159
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
19160
19160
  key: panel.queryKey,
19161
19161
  panel,
19162
19162
  options: _ctx.sdkOptions
@@ -19173,29 +19173,29 @@ const _export_sfc = (sfc, props) => {
19173
19173
  }
19174
19174
  return target;
19175
19175
  };
19176
- const _sfc_main$g = {};
19177
- const _hoisted_1$f = { class: "lupa-spinner-wrapper" };
19178
- const _hoisted_2$d = { class: "lupa-spinner" };
19176
+ const _sfc_main$k = {};
19177
+ const _hoisted_1$i = { class: "lupa-spinner-wrapper" };
19178
+ const _hoisted_2$f = { class: "lupa-spinner" };
19179
19179
  function _sfc_render(_ctx, _cache) {
19180
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
19181
- vue.createElementVNode("div", _hoisted_2$d, [
19180
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
19181
+ vue.createElementVNode("div", _hoisted_2$f, [
19182
19182
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(12, (x2) => {
19183
19183
  return vue.createElementVNode("div", { key: x2 });
19184
19184
  }), 64))
19185
19185
  ])
19186
19186
  ]);
19187
19187
  }
19188
- const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render]]);
19189
- const _hoisted_1$e = {
19188
+ const Spinner = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render]]);
19189
+ const _hoisted_1$h = {
19190
19190
  id: "lupa-search-results-similar-results",
19191
19191
  "data-cy": "lupa-search-results-similar-results"
19192
19192
  };
19193
- const _hoisted_2$c = { class: "lupa-similar-results-label" };
19194
- const _hoisted_3$8 = {
19193
+ const _hoisted_2$e = { class: "lupa-similar-results-label" };
19194
+ const _hoisted_3$a = {
19195
19195
  class: "lupa-products",
19196
19196
  "data-cy": "lupa-products"
19197
19197
  };
19198
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19198
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
19199
19199
  __name: "SearchResultsSimilarResults",
19200
19200
  props: {
19201
19201
  columnSize: {},
@@ -19211,11 +19211,11 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19211
19211
  return getProductKey(`${index}`, product, props.productCardOptions.idKey);
19212
19212
  };
19213
19213
  return (_ctx, _cache) => {
19214
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
19215
- vue.createElementVNode("div", _hoisted_2$c, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
19216
- vue.createElementVNode("div", _hoisted_3$8, [
19214
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
19215
+ vue.createElementVNode("div", _hoisted_2$e, vue.toDisplayString(_ctx.labels.similarResultsLabel), 1),
19216
+ vue.createElementVNode("div", _hoisted_3$a, [
19217
19217
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(similarResults.value.items, (product, index) => {
19218
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19218
+ return vue.openBlock(), vue.createBlock(_sfc_main$o, {
19219
19219
  style: vue.normalizeStyle(_ctx.columnSize),
19220
19220
  key: getDocumentKey(index, product),
19221
19221
  product,
@@ -19227,7 +19227,180 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19227
19227
  };
19228
19228
  }
19229
19229
  });
19230
- const _hoisted_1$d = { id: "lupa-search-results-products" };
19230
+ var RelatedQuerySourceType = /* @__PURE__ */ ((RelatedQuerySourceType2) => {
19231
+ RelatedQuerySourceType2["FACETS"] = "facets";
19232
+ return RelatedQuerySourceType2;
19233
+ })(RelatedQuerySourceType || {});
19234
+ const extractFacetsRelatedSource = (source, searchResults) => {
19235
+ var _a, _b, _c, _d, _e;
19236
+ const facet = (_a = searchResults.facets) == null ? void 0 : _a.find((facet2) => facet2.key === source.key);
19237
+ if (!facet) {
19238
+ return [];
19239
+ }
19240
+ if (facet.type === "terms") {
19241
+ return (_c = (_b = facet.items) == null ? void 0 : _b.slice(0, source.count)) == null ? void 0 : _c.map((item) => item.title);
19242
+ }
19243
+ if (facet.type === "hierarchy") {
19244
+ return (_e = (_d = facet.items) == null ? void 0 : _d.slice(0, source.count)) == null ? void 0 : _e.map((item) => item.title);
19245
+ }
19246
+ return [];
19247
+ };
19248
+ const extractRelatedSource = (source, searchResults) => {
19249
+ switch (source.type) {
19250
+ case RelatedQuerySourceType.FACETS:
19251
+ return extractFacetsRelatedSource(source, searchResults);
19252
+ }
19253
+ };
19254
+ const _hoisted_1$g = { class: "lupa-related-query-item" };
19255
+ const _hoisted_2$d = { class: "lupa-related-query-image" };
19256
+ const _hoisted_3$9 = { class: "lupa-related-query-label" };
19257
+ const _hoisted_4$6 = { class: "lupa-related-query-title" };
19258
+ const _hoisted_5$2 = {
19259
+ key: 0,
19260
+ class: "lupa-related-query-count"
19261
+ };
19262
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
19263
+ __name: "RelatedQueryPanel",
19264
+ props: {
19265
+ query: {},
19266
+ options: {}
19267
+ },
19268
+ setup(__props) {
19269
+ const props = __props;
19270
+ const loading = vue.ref(false);
19271
+ const relatedQueryResult = vue.ref(null);
19272
+ const optionsStore = useOptionsStore();
19273
+ const { searchResultOptions } = storeToRefs(optionsStore);
19274
+ const mainImage = vue.computed(() => {
19275
+ var _a, _b, _c;
19276
+ return (_c = (_b = (_a = searchResultOptions.value) == null ? void 0 : _a.elements) == null ? void 0 : _b.find((e2) => e2.type === DocumentElementType.IMAGE)) != null ? _c : "";
19277
+ });
19278
+ const image = vue.computed(() => {
19279
+ var _a, _b, _c;
19280
+ return (_c = (_b = (_a = props.options) == null ? void 0 : _a.image) != null ? _b : mainImage == null ? void 0 : mainImage.value) != null ? _c : "";
19281
+ });
19282
+ const queryKey = vue.computed(() => {
19283
+ var _a, _b;
19284
+ return (_b = (_a = props.options) == null ? void 0 : _a.queryKey) != null ? _b : searchResultOptions.value.queryKey;
19285
+ });
19286
+ vue.computed(() => {
19287
+ var _a, _b;
19288
+ return ((_b = (_a = relatedQueryResult.value) == null ? void 0 : _a.items) == null ? void 0 : _b.length) > 0;
19289
+ });
19290
+ const firstResultItem = vue.computed(() => {
19291
+ var _a, _b;
19292
+ return (_b = (_a = relatedQueryResult.value) == null ? void 0 : _a.items) == null ? void 0 : _b[0];
19293
+ });
19294
+ const totalItemCount = vue.computed(() => {
19295
+ var _a, _b;
19296
+ return (_b = (_a = relatedQueryResult.value) == null ? void 0 : _a.total) != null ? _b : 0;
19297
+ });
19298
+ const searchForRelatedQuery = () => __async(this, null, function* () {
19299
+ var _a, _b, _c, _d;
19300
+ if (!props.query) {
19301
+ return;
19302
+ }
19303
+ const lupaQuery = { searchText: (_a = props.query) == null ? void 0 : _a.toLowerCase(), limit: 1 };
19304
+ try {
19305
+ loading.value = true;
19306
+ const result2 = yield LupaSearchSdk.query(
19307
+ queryKey.value,
19308
+ lupaQuery,
19309
+ (_b = searchResultOptions.value) == null ? void 0 : _b.options
19310
+ );
19311
+ if (result2.success) {
19312
+ relatedQueryResult.value = result2;
19313
+ }
19314
+ } catch (error) {
19315
+ (_d = (_c = searchResultOptions.value) == null ? void 0 : _c.options) == null ? void 0 : _d.onError(error);
19316
+ } finally {
19317
+ loading.value = false;
19318
+ }
19319
+ });
19320
+ vue.watch(
19321
+ () => props.query,
19322
+ () => {
19323
+ console.log("query changed", props.query);
19324
+ searchForRelatedQuery();
19325
+ }
19326
+ );
19327
+ vue.onMounted(() => {
19328
+ searchForRelatedQuery();
19329
+ });
19330
+ return (_ctx, _cache) => {
19331
+ var _a;
19332
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
19333
+ vue.createElementVNode("div", _hoisted_2$d, [
19334
+ firstResultItem.value && image.value ? (vue.openBlock(), vue.createBlock(_sfc_main$1j, {
19335
+ key: 0,
19336
+ "wrapper-class": "lupa-related-query-image-wrapper",
19337
+ "image-class": "lupa-related-query-image",
19338
+ item: firstResultItem.value,
19339
+ options: image.value
19340
+ }, null, 8, ["item", "options"])) : vue.createCommentVNode("", true)
19341
+ ]),
19342
+ vue.createElementVNode("div", _hoisted_3$9, [
19343
+ vue.createElementVNode("span", _hoisted_4$6, vue.toDisplayString(_ctx.query), 1),
19344
+ ((_a = _ctx.options) == null ? void 0 : _a.showCount) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$2, "(" + vue.toDisplayString(totalItemCount.value) + ")", 1)) : vue.createCommentVNode("", true)
19345
+ ])
19346
+ ]);
19347
+ };
19348
+ }
19349
+ });
19350
+ const _hoisted_1$f = {
19351
+ key: 0,
19352
+ class: "lupa-related-queries"
19353
+ };
19354
+ const _hoisted_2$c = {
19355
+ key: 0,
19356
+ class: "lupa-related-queries-title"
19357
+ };
19358
+ const _hoisted_3$8 = ["onClick"];
19359
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
19360
+ __name: "RelatedQueries",
19361
+ props: {
19362
+ options: {}
19363
+ },
19364
+ setup(__props) {
19365
+ const props = __props;
19366
+ const searchResultStore = useSearchResultStore();
19367
+ const paramsStore = useParamsStore();
19368
+ const { searchResult } = storeToRefs(searchResultStore);
19369
+ const relatedQueries = vue.computed(() => {
19370
+ if (!props.options || !searchResult.value) {
19371
+ return [];
19372
+ }
19373
+ return extractRelatedSource(props.options.source, searchResult.value);
19374
+ });
19375
+ const hasEnoughRelatedQueries = vue.computed(() => {
19376
+ return relatedQueries.value.length > 1;
19377
+ });
19378
+ const goToResults = ({ searchText }) => {
19379
+ paramsStore.goToResults({ searchText });
19380
+ };
19381
+ return (_ctx, _cache) => {
19382
+ var _a, _b, _c, _d;
19383
+ return _ctx.options && hasEnoughRelatedQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
19384
+ ((_b = (_a = _ctx.options) == null ? void 0 : _a.labels) == null ? void 0 : _b.title) ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$c, vue.toDisplayString((_d = (_c = _ctx.options) == null ? void 0 : _c.labels) == null ? void 0 : _d.title), 1)) : vue.createCommentVNode("", true),
19385
+ vue.createElementVNode("ul", null, [
19386
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(relatedQueries.value, (query) => {
19387
+ return vue.openBlock(), vue.createElementBlock("li", { key: query }, [
19388
+ vue.createElementVNode("a", {
19389
+ onClick: ($event) => goToResults({ searchText: query })
19390
+ }, [
19391
+ vue.createVNode(_sfc_main$i, {
19392
+ options: _ctx.options,
19393
+ query
19394
+ }, null, 8, ["options", "query"])
19395
+ ], 8, _hoisted_3$8)
19396
+ ]);
19397
+ }), 128))
19398
+ ])
19399
+ ])) : vue.createCommentVNode("", true);
19400
+ };
19401
+ }
19402
+ });
19403
+ const _hoisted_1$e = { id: "lupa-search-results-products" };
19231
19404
  const _hoisted_2$b = {
19232
19405
  class: "lupa-products",
19233
19406
  "data-cy": "lupa-products"
@@ -19237,14 +19410,14 @@ const _hoisted_3$7 = {
19237
19410
  class: "lupa-empty-results",
19238
19411
  "data-cy": "lupa-no-results-in-page"
19239
19412
  };
19240
- const _hoisted_4$6 = {
19413
+ const _hoisted_4$5 = {
19241
19414
  key: 3,
19242
19415
  class: "lupa-empty-results",
19243
19416
  "data-cy": "lupa-no-results"
19244
19417
  };
19245
- const _hoisted_5$3 = { key: 4 };
19246
- const _hoisted_6$2 = { key: 5 };
19247
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19418
+ const _hoisted_5$1 = { key: 4 };
19419
+ const _hoisted_6$1 = { key: 5 };
19420
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
19248
19421
  __name: "SearchResultsProducts",
19249
19422
  props: {
19250
19423
  options: {},
@@ -19351,24 +19524,32 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19351
19524
  };
19352
19525
  return (_ctx, _cache) => {
19353
19526
  var _a;
19354
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
19527
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
19355
19528
  vue.unref(loading) && !vue.unref(isMobileSidebarVisible) ? (vue.openBlock(), vue.createBlock(Spinner, {
19356
19529
  key: 0,
19357
19530
  class: "lupa-loader"
19358
19531
  })) : vue.createCommentVNode("", true),
19532
+ vue.createVNode(_sfc_main$l, {
19533
+ options: _ctx.options,
19534
+ location: "top",
19535
+ sdkOptions: _ctx.options.options
19536
+ }, null, 8, ["options", "sdkOptions"]),
19537
+ vue.createVNode(_sfc_main$h, {
19538
+ options: _ctx.options.relatedQueries
19539
+ }, null, 8, ["options"]),
19359
19540
  vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
19360
- showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
19541
+ showTopFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
19361
19542
  key: 0,
19362
19543
  options: (_a = _ctx.options.filters) != null ? _a : {}
19363
19544
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19364
- showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
19545
+ showMobileFilters.value ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
19365
19546
  key: 1,
19366
19547
  class: "lupa-toolbar-mobile",
19367
19548
  options: _ctx.options,
19368
19549
  "pagination-location": "top",
19369
19550
  onFilter: filter2
19370
19551
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19371
- currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
19552
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "pageTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
19372
19553
  key: 2,
19373
19554
  class: vue.normalizeClass(currentFiltersClass.value),
19374
19555
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -19376,18 +19557,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19376
19557
  expandable: !desktopFiltersExpanded.value
19377
19558
  }, null, 8, ["class", "options", "expandable"])) : vue.createCommentVNode("", true)
19378
19559
  ], 64)) : vue.createCommentVNode("", true),
19379
- vue.createVNode(_sfc_main$h, {
19380
- options: _ctx.options,
19381
- location: "top",
19382
- sdkOptions: _ctx.options.options
19383
- }, null, 8, ["options", "sdkOptions"]),
19384
19560
  vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
19385
- vue.createVNode(_sfc_main$w, {
19561
+ vue.createVNode(_sfc_main$A, {
19386
19562
  class: "lupa-toolbar-top",
19387
19563
  options: _ctx.options,
19388
19564
  "pagination-location": "top"
19389
19565
  }, null, 8, ["options"]),
19390
- currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
19566
+ currentFilterOptions.value && currentFilterPositionDesktop.value === "resultsTop" ? (vue.openBlock(), vue.createBlock(_sfc_main$U, {
19391
19567
  key: 0,
19392
19568
  class: vue.normalizeClass(currentFiltersClass.value),
19393
19569
  "data-cy": "lupa-search-result-filters-mobile-toolbar",
@@ -19403,7 +19579,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19403
19579
  options: productCardOptions.value
19404
19580
  });
19405
19581
  }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(vue.unref(searchResult).items, (product, index) => {
19406
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
19582
+ return vue.openBlock(), vue.createBlock(_sfc_main$o, {
19407
19583
  style: vue.normalizeStyle(columnSize.value),
19408
19584
  key: getProductKeyAction(index, product),
19409
19585
  product,
@@ -19419,29 +19595,29 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19419
19595
  onClick: goToFirstPage
19420
19596
  }, vue.toDisplayString(_ctx.options.labels.backToFirstPage), 1)) : vue.createCommentVNode("", true)
19421
19597
  ])) : vue.createCommentVNode("", true),
19422
- vue.createVNode(_sfc_main$w, {
19598
+ vue.createVNode(_sfc_main$A, {
19423
19599
  class: "lupa-toolbar-bottom",
19424
19600
  options: _ctx.options,
19425
19601
  "pagination-location": "bottom"
19426
19602
  }, null, 8, ["options"]),
19427
- vue.createVNode(_sfc_main$h, {
19603
+ vue.createVNode(_sfc_main$l, {
19428
19604
  options: _ctx.options,
19429
19605
  location: "bottom",
19430
19606
  sdkOptions: _ctx.options.options
19431
19607
  }, null, 8, ["options", "sdkOptions"])
19432
- ], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$6, [
19608
+ ], 64)) : !vue.unref(loading) && vue.unref(currentQueryText) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
19433
19609
  vue.createTextVNode(vue.toDisplayString(_ctx.options.labels.emptyResults) + " ", 1),
19434
19610
  vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(currentQueryText)), 1)
19435
19611
  ])) : vue.createCommentVNode("", true),
19436
- hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$3, [
19437
- vue.createVNode(_sfc_main$j, {
19612
+ hasSimilarQueries.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [
19613
+ vue.createVNode(_sfc_main$n, {
19438
19614
  labels: similarQueriesLabels.value,
19439
19615
  columnSize: columnSize.value,
19440
19616
  productCardOptions: productCardOptions.value
19441
19617
  }, null, 8, ["labels", "columnSize", "productCardOptions"])
19442
19618
  ])) : vue.createCommentVNode("", true),
19443
- hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [
19444
- vue.createVNode(_sfc_main$f, {
19619
+ hasSimilarResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
19620
+ vue.createVNode(_sfc_main$j, {
19445
19621
  labels: similarResultsLabels.value,
19446
19622
  columnSize: columnSize.value,
19447
19623
  productCardOptions: productCardOptions.value
@@ -19452,14 +19628,14 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19452
19628
  };
19453
19629
  }
19454
19630
  });
19455
- const _hoisted_1$c = { class: "lupa-top-mobile-filter-wrapper" };
19631
+ const _hoisted_1$d = { class: "lupa-top-mobile-filter-wrapper" };
19456
19632
  const _hoisted_2$a = {
19457
19633
  key: 0,
19458
19634
  class: "lupa-category-back"
19459
19635
  };
19460
19636
  const _hoisted_3$6 = ["href"];
19461
- const _hoisted_4$5 = { class: "lupa-child-category-list" };
19462
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19637
+ const _hoisted_4$4 = { class: "lupa-child-category-list" };
19638
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
19463
19639
  __name: "CategoryTopFilters",
19464
19640
  props: {
19465
19641
  options: {}
@@ -19500,7 +19676,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19500
19676
  return vue.openBlock(), vue.createElementBlock("div", {
19501
19677
  class: vue.normalizeClass(["lupa-category-top-mobile-filters", { "lupa-has-back-button": hasBackButton.value }])
19502
19678
  }, [
19503
- vue.createElementVNode("div", _hoisted_1$c, [
19679
+ vue.createElementVNode("div", _hoisted_1$d, [
19504
19680
  hasBackButton.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
19505
19681
  vue.createElementVNode("a", {
19506
19682
  "data-cy": "lupa-category-back",
@@ -19508,16 +19684,16 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19508
19684
  onClick: handleNavigationBack
19509
19685
  }, vue.toDisplayString(backTitle.value), 9, _hoisted_3$6)
19510
19686
  ])) : vue.createCommentVNode("", true),
19511
- vue.createElementVNode("div", _hoisted_4$5, [
19687
+ vue.createElementVNode("div", _hoisted_4$4, [
19512
19688
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relatedCategoryChildren), (child) => {
19513
- return vue.openBlock(), vue.createBlock(_sfc_main$P, {
19689
+ return vue.openBlock(), vue.createBlock(_sfc_main$T, {
19514
19690
  key: getCategoryKey(child),
19515
19691
  item: child,
19516
19692
  options: categoryOptions.value
19517
19693
  }, null, 8, ["item", "options"]);
19518
19694
  }), 128))
19519
19695
  ]),
19520
- vue.createVNode(_sfc_main$w, {
19696
+ vue.createVNode(_sfc_main$A, {
19521
19697
  class: "lupa-toolbar-mobile",
19522
19698
  "pagination-location": "top",
19523
19699
  options: _ctx.options
@@ -19527,7 +19703,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19527
19703
  };
19528
19704
  }
19529
19705
  });
19530
- const _hoisted_1$b = {
19706
+ const _hoisted_1$c = {
19531
19707
  key: 0,
19532
19708
  class: "lupa-container-title-summary-mobile"
19533
19709
  };
@@ -19537,8 +19713,8 @@ const _hoisted_2$9 = {
19537
19713
  class: "top-layout-wrapper"
19538
19714
  };
19539
19715
  const _hoisted_3$5 = { class: "search-content" };
19540
- const _hoisted_4$4 = { id: "lupa-search-results" };
19541
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19716
+ const _hoisted_4$3 = { id: "lupa-search-results" };
19717
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
19542
19718
  __name: "SearchResults",
19543
19719
  props: {
19544
19720
  options: {},
@@ -19748,29 +19924,29 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19748
19924
  return vue.openBlock(), vue.createElementBlock("div", {
19749
19925
  class: vue.normalizeClass(["lupa-search-result-wrapper", { "lupa-search-wrapper-no-results": !vue.unref(hasResults) }])
19750
19926
  }, [
19751
- _ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
19752
- vue.createVNode(_sfc_main$U, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19753
- vue.createVNode(_sfc_main$S, {
19927
+ _ctx.isContainer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
19928
+ vue.createVNode(_sfc_main$Y, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19929
+ vue.createVNode(_sfc_main$W, {
19754
19930
  "show-summary": true,
19755
19931
  options: _ctx.options,
19756
19932
  "is-product-list": (_a = _ctx.isProductList) != null ? _a : false
19757
19933
  }, null, 8, ["options", "is-product-list"])
19758
19934
  ])) : vue.createCommentVNode("", true),
19759
- isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$d, {
19935
+ isTitleResultTopPosition.value ? (vue.openBlock(), vue.createBlock(_sfc_main$f, {
19760
19936
  key: 1,
19761
19937
  options: _ctx.options
19762
19938
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19763
- _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
19939
+ _ctx.options.filters ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
19764
19940
  key: 2,
19765
19941
  options: _ctx.options.filters,
19766
19942
  onFilter: handleParamsChange
19767
19943
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19768
- vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
19944
+ vue.unref(currentQueryText) || _ctx.isProductList ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
19769
19945
  key: 3,
19770
19946
  breadcrumbs: _ctx.options.breadcrumbs
19771
19947
  }, null, 8, ["breadcrumbs"])) : vue.createCommentVNode("", true),
19772
19948
  isTitleResultTopPosition.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
19773
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
19949
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
19774
19950
  key: 0,
19775
19951
  options: (_b = _ctx.options.filters) != null ? _b : {},
19776
19952
  ref_key: "searchResultsFilters",
@@ -19778,12 +19954,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19778
19954
  onFilter: handleParamsChange
19779
19955
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19780
19956
  vue.createElementVNode("div", _hoisted_3$5, [
19781
- vue.createVNode(_sfc_main$U, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19782
- vue.createVNode(_sfc_main$S, {
19957
+ vue.createVNode(_sfc_main$Y, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19958
+ vue.createVNode(_sfc_main$W, {
19783
19959
  options: _ctx.options,
19784
19960
  "is-product-list": (_c = _ctx.isProductList) != null ? _c : false
19785
19961
  }, null, 8, ["options", "is-product-list"]),
19786
- vue.createVNode(_sfc_main$e, {
19962
+ vue.createVNode(_sfc_main$g, {
19787
19963
  options: _ctx.options,
19788
19964
  ssr: ssrEnabled.value,
19789
19965
  onFilter: handleParamsChange
@@ -19795,20 +19971,20 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19795
19971
  }, 8, ["options", "ssr"])
19796
19972
  ])
19797
19973
  ])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 5 }, [
19798
- vue.createVNode(_sfc_main$U, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19799
- vue.createVNode(_sfc_main$S, {
19974
+ vue.createVNode(_sfc_main$Y, { labels: didYouMeanLabels.value }, null, 8, ["labels"]),
19975
+ vue.createVNode(_sfc_main$W, {
19800
19976
  options: _ctx.options,
19801
19977
  "is-product-list": (_d = _ctx.isProductList) != null ? _d : false
19802
19978
  }, null, 8, ["options", "is-product-list"]),
19803
- vue.createElementVNode("div", _hoisted_4$4, [
19804
- showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
19979
+ vue.createElementVNode("div", _hoisted_4$3, [
19980
+ showFilterSidebar.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
19805
19981
  key: 0,
19806
19982
  options: (_e = _ctx.options.filters) != null ? _e : {},
19807
19983
  ref_key: "searchResultsFilters",
19808
19984
  ref: searchResultsFilters,
19809
19985
  onFilter: handleParamsChange
19810
19986
  }, null, 8, ["options"])) : vue.createCommentVNode("", true),
19811
- vue.createVNode(_sfc_main$e, {
19987
+ vue.createVNode(_sfc_main$g, {
19812
19988
  options: _ctx.options,
19813
19989
  ssr: ssrEnabled.value,
19814
19990
  onFilter: handleParamsChange
@@ -19832,12 +20008,12 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19832
20008
  };
19833
20009
  }
19834
20010
  });
19835
- const _hoisted_1$a = {
20011
+ const _hoisted_1$b = {
19836
20012
  key: 0,
19837
20013
  class: "lupa-category-overview"
19838
20014
  };
19839
20015
  const _hoisted_2$8 = ["innerHTML"];
19840
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
20016
+ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
19841
20017
  __name: "CategoryDescription",
19842
20018
  props: {
19843
20019
  options: {}
@@ -19855,7 +20031,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19855
20031
  return Boolean((_b = (_a = props.options.categories) == null ? void 0 : _a.current) == null ? void 0 : _b.description);
19856
20032
  });
19857
20033
  return (_ctx, _cache) => {
19858
- return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
20034
+ return overviewVisible.value && vue.unref(hasResults) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
19859
20035
  vue.createElementVNode("div", {
19860
20036
  class: "lupa-category-description",
19861
20037
  innerHTML: description.value
@@ -19920,7 +20096,7 @@ const processExtractionObject = (value = {}) => {
19920
20096
  }
19921
20097
  return parsedObject;
19922
20098
  };
19923
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
20099
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19924
20100
  __name: "ProductList",
19925
20101
  props: {
19926
20102
  options: {}
@@ -19945,7 +20121,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19945
20121
  __expose({ fetch: fetch2 });
19946
20122
  return (_ctx, _cache) => {
19947
20123
  return vue.openBlock(), vue.createElementBlock("div", null, [
19948
- vue.createVNode(_sfc_main$c, {
20124
+ vue.createVNode(_sfc_main$e, {
19949
20125
  options: componentOptions.value,
19950
20126
  "initial-filters": _ctx.options.initialFilters,
19951
20127
  "is-product-list": true,
@@ -19953,7 +20129,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19953
20129
  ref: searchResults
19954
20130
  }, {
19955
20131
  default: vue.withCtx(() => [
19956
- vue.createVNode(_sfc_main$b, { options: _ctx.options }, null, 8, ["options"])
20132
+ vue.createVNode(_sfc_main$d, { options: _ctx.options }, null, 8, ["options"])
19957
20133
  ]),
19958
20134
  _: 1
19959
20135
  }, 8, ["options", "initial-filters"])
@@ -25443,9 +25619,9 @@ lodash.exports;
25443
25619
  }).call(commonjsGlobal);
25444
25620
  })(lodash, lodash.exports);
25445
25621
  var lodashExports = lodash.exports;
25446
- const _hoisted_1$9 = ["onClick"];
25622
+ const _hoisted_1$a = ["onClick"];
25447
25623
  const _hoisted_2$7 = { class: "lupa-search-box-container" };
25448
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
25624
+ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
25449
25625
  __name: "SearchContainer",
25450
25626
  props: {
25451
25627
  options: {}
@@ -25491,7 +25667,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
25491
25667
  onClick: vue.withModifiers(innerClick, ["stop"])
25492
25668
  }, [
25493
25669
  vue.createElementVNode("div", _hoisted_2$7, [
25494
- vue.createVNode(_sfc_main$V, {
25670
+ vue.createVNode(_sfc_main$Z, {
25495
25671
  options: fullSearchBoxOptions.value,
25496
25672
  "is-search-container": true,
25497
25673
  ref_key: "searchBox",
@@ -25499,13 +25675,13 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
25499
25675
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
25500
25676
  }, null, 8, ["options"])
25501
25677
  ]),
25502
- vue.createVNode(_sfc_main$c, {
25678
+ vue.createVNode(_sfc_main$e, {
25503
25679
  options: fullSearchResultsOptions.value,
25504
25680
  "is-container": true,
25505
25681
  ref_key: "searchResults",
25506
25682
  ref: searchResults
25507
25683
  }, null, 8, ["options"])
25508
- ], 8, _hoisted_1$9)
25684
+ ], 8, _hoisted_1$a)
25509
25685
  ]);
25510
25686
  };
25511
25687
  }
@@ -26208,7 +26384,7 @@ var Slide = vue.defineComponent({
26208
26384
  };
26209
26385
  }
26210
26386
  });
26211
- const _hoisted_1$8 = {
26387
+ const _hoisted_1$9 = {
26212
26388
  key: 0,
26213
26389
  class: "lupa-search-product-recommendations-wrapper"
26214
26390
  };
@@ -26221,12 +26397,12 @@ const _hoisted_3$4 = {
26221
26397
  class: "lupa-recommended-products",
26222
26398
  "data-cy": "lupa-recommended-products"
26223
26399
  };
26224
- const _hoisted_4$3 = {
26400
+ const _hoisted_4$2 = {
26225
26401
  key: 1,
26226
26402
  class: "lupa-products",
26227
26403
  "data-cy": "lupa-products"
26228
26404
  };
26229
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26405
+ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
26230
26406
  __name: "Recommendations",
26231
26407
  props: {
26232
26408
  options: {}
@@ -26342,7 +26518,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26342
26518
  });
26343
26519
  __expose({ fetch: fetch2 });
26344
26520
  return (_ctx, _cache) => {
26345
- return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
26521
+ return hasRecommendations.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
26346
26522
  title.value ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$6, vue.toDisplayString(title.value), 1)) : vue.createCommentVNode("", true),
26347
26523
  !loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [
26348
26524
  layoutType.value === "carousel" ? (vue.openBlock(), vue.createBlock(vue.unref(Carousel), vue.mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
@@ -26355,7 +26531,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26355
26531
  key: getProductKeyAction(index, product)
26356
26532
  }, {
26357
26533
  default: vue.withCtx(() => [
26358
- vue.createVNode(_sfc_main$k, {
26534
+ vue.createVNode(_sfc_main$o, {
26359
26535
  product,
26360
26536
  options: _ctx.options,
26361
26537
  "click-tracking-settings": clickTrackingSettings.value
@@ -26366,9 +26542,9 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26366
26542
  }), 128))
26367
26543
  ]),
26368
26544
  _: 1
26369
- }, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [
26545
+ }, 16)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
26370
26546
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(recommendations.value, (product, index) => {
26371
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
26547
+ return vue.openBlock(), vue.createBlock(_sfc_main$o, {
26372
26548
  style: vue.normalizeStyle(columnSize.value),
26373
26549
  key: getProductKeyAction(index, product),
26374
26550
  product,
@@ -26382,19 +26558,19 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26382
26558
  };
26383
26559
  }
26384
26560
  });
26385
- const _hoisted_1$7 = { class: "lupa-chat-spinner" };
26561
+ const _hoisted_1$8 = { class: "lupa-chat-spinner" };
26386
26562
  const _hoisted_2$5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26387
26563
  const _hoisted_3$3 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26388
- const _hoisted_4$2 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26389
- const _hoisted_5$2 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26390
- const _hoisted_6$1 = [
26564
+ const _hoisted_4$1 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26565
+ const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
26566
+ const _hoisted_6 = [
26391
26567
  _hoisted_2$5,
26392
26568
  _hoisted_3$3,
26393
- _hoisted_4$2,
26394
- _hoisted_5$2
26569
+ _hoisted_4$1,
26570
+ _hoisted_5
26395
26571
  ];
26396
26572
  const _hoisted_7 = { class: "lupa-chat-spinner-message" };
26397
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
26573
+ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
26398
26574
  __name: "ChatSpinner",
26399
26575
  props: {
26400
26576
  small: { type: Boolean },
@@ -26402,27 +26578,25 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
26402
26578
  },
26403
26579
  setup(__props) {
26404
26580
  return (_ctx, _cache) => {
26405
- return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$7, [
26581
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$8, [
26406
26582
  vue.createElementVNode("div", {
26407
26583
  class: vue.normalizeClass([{ small: _ctx.small }, "lds-ring"])
26408
- }, _hoisted_6$1, 2),
26584
+ }, _hoisted_6, 2),
26409
26585
  vue.createElementVNode("div", _hoisted_7, vue.toDisplayString(_ctx.message), 1)
26410
26586
  ]);
26411
26587
  };
26412
26588
  }
26413
26589
  });
26414
- const _hoisted_1$6 = { class: "lupa-chat-input-container" };
26590
+ const _hoisted_1$7 = { class: "lupa-chat-input-container" };
26415
26591
  const _hoisted_2$4 = { id: "lupa-search-box-input" };
26416
- const _hoisted_3$2 = {
26417
- key: 0,
26418
- class: "lupa-chat-form-submit"
26419
- };
26420
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26592
+ const _hoisted_3$2 = { class: "lupa-chat-form-submit" };
26593
+ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
26421
26594
  __name: "ChatInput",
26422
26595
  props: {
26423
- disabled: { type: Boolean }
26596
+ disabled: { type: Boolean },
26597
+ options: {}
26424
26598
  },
26425
- emits: ["submit"],
26599
+ emits: ["submit", "focus", "blur", "clear"],
26426
26600
  setup(__props, { emit }) {
26427
26601
  const inputValue = vue.ref("");
26428
26602
  const submit = () => {
@@ -26430,7 +26604,8 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26430
26604
  inputValue.value = "";
26431
26605
  };
26432
26606
  return (_ctx, _cache) => {
26433
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
26607
+ var _a, _b, _c, _d, _e, _f;
26608
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
26434
26609
  vue.createElementVNode("form", {
26435
26610
  action: "javascript:void(0);",
26436
26611
  class: "chat-input-form",
@@ -26444,12 +26619,22 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26444
26619
  class: "lupa-search-box-input-field",
26445
26620
  "data-cy": "lupa-search-box-input-field",
26446
26621
  type: "text",
26447
- placeholder: "Type your request here..."
26448
- }, null, 512), [
26622
+ placeholder: "Type your request here...",
26623
+ onFocus: _cache[1] || (_cache[1] = ($event) => emit("focus")),
26624
+ onBlur: _cache[2] || (_cache[2] = ($event) => emit("blur"))
26625
+ }, null, 544), [
26449
26626
  [vue.vModelText, inputValue.value]
26450
26627
  ])
26451
26628
  ]),
26452
- !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("button", _hoisted_3$2, "Ask LupaChat")) : (vue.openBlock(), vue.createBlock(_sfc_main$7, {
26629
+ !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
26630
+ 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),
26631
+ !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("button", {
26632
+ key: 0,
26633
+ type: "button",
26634
+ class: "lupa-chat-form-clear",
26635
+ onClick: _cache[3] || (_cache[3] = ($event) => emit("clear"))
26636
+ }, 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)
26637
+ ], 64)) : (vue.openBlock(), vue.createBlock(_sfc_main$9, {
26453
26638
  key: 1,
26454
26639
  small: true
26455
26640
  }))
@@ -26588,8 +26773,9 @@ const ChatService = {
26588
26773
  prepareChatHistory,
26589
26774
  getTextResponseChunkStream
26590
26775
  };
26591
- const _hoisted_1$5 = { class: "lupa-chat-results" };
26592
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
26776
+ const _hoisted_1$6 = { class: "lupa-chat-results" };
26777
+ const _hoisted_2$3 = ["href"];
26778
+ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
26593
26779
  __name: "ChatPhraseProductsList",
26594
26780
  props: {
26595
26781
  options: {},
@@ -26600,35 +26786,40 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
26600
26786
  const getProductKeyAction = (index, product) => {
26601
26787
  return getProductKey(`${index}`, product, props.options.idKey);
26602
26788
  };
26789
+ const image = vue.computed(() => {
26790
+ var _a;
26791
+ return (_a = props.options.elements) == null ? void 0 : _a.find((e2) => e2.type === "image");
26792
+ });
26793
+ const getLink = (item) => {
26794
+ var _a, _b, _c;
26795
+ if (!((_a = props.options.links) == null ? void 0 : _a.details)) {
26796
+ return "";
26797
+ }
26798
+ return generateLink((_c = (_b = props.options.links) == null ? void 0 : _b.details) != null ? _c : "", item);
26799
+ };
26603
26800
  return (_ctx, _cache) => {
26604
- return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$5, [
26801
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$6, [
26605
26802
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
26606
- return vue.openBlock(), vue.createBlock(_sfc_main$k, {
26607
- class: "lupa-chat-product-card",
26608
- key: getProductKeyAction(index, product),
26609
- product,
26610
- options: _ctx.options
26611
- }, null, 8, ["product", "options"]);
26803
+ return vue.openBlock(), vue.createElementBlock("div", {
26804
+ class: "lupa-chat-item lupa-chat-product-card-image",
26805
+ key: getProductKeyAction(index, product)
26806
+ }, [
26807
+ vue.createElementVNode("a", {
26808
+ href: getLink(product)
26809
+ }, [
26810
+ vue.createVNode(_sfc_main$z, {
26811
+ item: product,
26812
+ options: image.value
26813
+ }, null, 8, ["item", "options"])
26814
+ ], 8, _hoisted_2$3)
26815
+ ]);
26612
26816
  }), 128))
26613
26817
  ]);
26614
26818
  };
26615
26819
  }
26616
26820
  });
26617
- const _hoisted_1$4 = { class: "lupa-chat-content-entry-phrase" };
26618
- const _hoisted_2$3 = { class: "lupa-chat-phrase-title" };
26619
- const _hoisted_3$1 = {
26620
- key: 0,
26621
- class: "alert"
26622
- };
26623
- const _hoisted_4$1 = {
26624
- key: 0,
26625
- class: "lupa-chat-no-results"
26626
- };
26627
- const _hoisted_5$1 = /* @__PURE__ */ vue.createElementVNode("p", null, "We found no matches for this search term", -1);
26628
- const _hoisted_6 = [
26629
- _hoisted_5$1
26630
- ];
26631
- const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
26821
+ const _hoisted_1$5 = { class: "lupa-chat-phrase-title" };
26822
+ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
26632
26823
  __name: "ChatContentEntryPhrase",
26633
26824
  props: {
26634
26825
  options: {},
@@ -26713,29 +26904,87 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
26713
26904
  return phrases != null ? phrases : [];
26714
26905
  });
26715
26906
  return (_ctx, _cache) => {
26716
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
26717
- vue.createElementVNode("div", _hoisted_2$3, [
26718
- vue.createElementVNode("h3", null, vue.toDisplayString(displayPhrase.value), 1),
26719
- vue.createElementVNode("sub", null, vue.toDisplayString(usedAlternativePhrases.value.join(", ")), 1),
26720
- 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)
26907
+ return !loading.value && searchResults.value.length ? (vue.openBlock(), vue.createElementBlock("div", {
26908
+ key: 0,
26909
+ class: vue.normalizeClass(["lupa-chat-content-entry-phrase", { "lupa-chat-incomplete-results": usedPartialResults.value }])
26910
+ }, [
26911
+ vue.createElementVNode("div", _hoisted_1$5, [
26912
+ vue.createElementVNode("h3", null, vue.toDisplayString(displayPhrase.value), 1)
26721
26913
  ]),
26722
26914
  vue.createElementVNode("div", null, [
26723
- vue.createVNode(_sfc_main$5, {
26915
+ vue.createVNode(_sfc_main$7, {
26724
26916
  "search-results": searchResults.value,
26725
26917
  options: _ctx.options.displayOptions
26726
26918
  }, null, 8, ["search-results", "options"])
26727
- ]),
26728
- !loading.value && !searchResults.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, _hoisted_6)) : vue.createCommentVNode("", true),
26729
- loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$7, {
26730
- key: 1,
26731
- message: currentAction.value
26732
- }, null, 8, ["message"])) : vue.createCommentVNode("", true)
26919
+ ])
26920
+ ], 2)) : vue.createCommentVNode("", true);
26921
+ };
26922
+ }
26923
+ });
26924
+ const _hoisted_1$4 = { class: "lupa-chat-text-response" };
26925
+ const _hoisted_2$2 = ["innerHTML"];
26926
+ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
26927
+ __name: "ChatTextEntry",
26928
+ props: {
26929
+ content: {},
26930
+ options: {},
26931
+ history: {}
26932
+ },
26933
+ setup(__props) {
26934
+ const props = __props;
26935
+ const content = vue.ref("");
26936
+ const processChunk = (chunk) => {
26937
+ content.value += chunk;
26938
+ };
26939
+ vue.onMounted(() => {
26940
+ var _a;
26941
+ ChatService.getTextResponseChunkStream(
26942
+ props.options.sdkOptions,
26943
+ {
26944
+ initialQuery: props.content,
26945
+ messageHistory: (_a = props.history) != null ? _a : [],
26946
+ queryKey: props.options.displayOptions.queryKey
26947
+ },
26948
+ processChunk,
26949
+ props.options.chatSettings
26950
+ );
26951
+ });
26952
+ return (_ctx, _cache) => {
26953
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
26954
+ vue.createElementVNode("p", { innerHTML: content.value }, null, 8, _hoisted_2$2)
26733
26955
  ]);
26734
26956
  };
26735
26957
  }
26736
26958
  });
26737
- const _hoisted_1$3 = { class: "lupa-chat-best-matches lupa-chat-content-entry" };
26738
- const _hoisted_2$2 = /* @__PURE__ */ vue.createElementVNode("h3", null, "Best matches", -1);
26959
+ const _hoisted_1$3 = { class: "lupa-chat-results" };
26960
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
26961
+ __name: "ChatPhraseProductsCardList",
26962
+ props: {
26963
+ options: {},
26964
+ searchResults: {}
26965
+ },
26966
+ setup(__props) {
26967
+ const props = __props;
26968
+ const getProductKeyAction = (index, product) => {
26969
+ return getProductKey(`${index}`, product, props.options.idKey);
26970
+ };
26971
+ return (_ctx, _cache) => {
26972
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$3, [
26973
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.searchResults, (product, index) => {
26974
+ return vue.openBlock(), vue.createBlock(_sfc_main$o, {
26975
+ class: "lupa-chat-product-card",
26976
+ key: getProductKeyAction(index, product),
26977
+ product,
26978
+ options: _ctx.options
26979
+ }, null, 8, ["product", "options"]);
26980
+ }), 128))
26981
+ ]);
26982
+ };
26983
+ }
26984
+ });
26985
+ const _hoisted_1$2 = { class: "lupa-chat-section-content" };
26986
+ const _hoisted_2$1 = { class: "lupa-chat-content-entry-wrapper" };
26987
+ const _hoisted_3$1 = { class: "lupa-chat-best-matches lupa-chat-content-entry" };
26739
26988
  const MAX_SOURCES_FOR_BEST_ITEM_MATCHING = 250;
26740
26989
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
26741
26990
  __name: "ChatContentEntry",
@@ -26794,74 +27043,87 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
26794
27043
  }).filter(Boolean);
26795
27044
  });
26796
27045
  return (_ctx, _cache) => {
26797
- return vue.openBlock(), vue.createElementBlock("div", null, [
26798
- vue.createElementVNode("ul", null, [
26799
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.entry.allPhrases, (phrase) => {
26800
- return vue.openBlock(), vue.createElementBlock("li", {
26801
- key: phrase,
26802
- class: "lupa-chat-content-entry"
26803
- }, [
26804
- phrase ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
26805
- key: 0,
26806
- phrase,
26807
- options: _ctx.options,
26808
- onLoaded: loaded
26809
- }, null, 8, ["phrase", "options"])) : vue.createCommentVNode("", true)
26810
- ]);
26811
- }), 128))
27046
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
27047
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
27048
+ vue.createElementVNode("section", _hoisted_1$2, [
27049
+ vue.createVNode(_sfc_main$5, {
27050
+ content: _ctx.entry.userInput,
27051
+ history: _ctx.history,
27052
+ options: _ctx.options
27053
+ }, null, 8, ["content", "history", "options"]),
27054
+ vue.createElementVNode("div", _hoisted_2$1, [
27055
+ vue.createElementVNode("ul", null, [
27056
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.entry.allPhrases, (phrase) => {
27057
+ return vue.openBlock(), vue.createElementBlock("li", {
27058
+ key: phrase,
27059
+ class: "lupa-chat-content-entry"
27060
+ }, [
27061
+ phrase ? (vue.openBlock(), vue.createBlock(_sfc_main$6, {
27062
+ key: 0,
27063
+ phrase,
27064
+ options: _ctx.options,
27065
+ onLoaded: loaded
27066
+ }, null, 8, ["phrase", "options"])) : vue.createCommentVNode("", true)
27067
+ ]);
27068
+ }), 128))
27069
+ ]),
27070
+ loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
27071
+ key: 0,
27072
+ message: (_c = (_b = (_a = _ctx.options.chatSettings) == null ? void 0 : _a.labels) == null ? void 0 : _b.bestMatches) != null ? _c : "Checking for more matches..."
27073
+ }, null, 8, ["message"])) : vue.createCommentVNode("", true)
27074
+ ])
26812
27075
  ]),
26813
- vue.createElementVNode("section", _hoisted_1$3, [
26814
- _hoisted_2$2,
26815
- loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$7, {
27076
+ vue.createElementVNode("section", _hoisted_3$1, [
27077
+ 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),
27078
+ loading.value ? (vue.openBlock(), vue.createBlock(_sfc_main$9, {
26816
27079
  key: 0,
26817
- message: "Selecting the best matches for you. This might take a few seconds."
26818
- })) : vue.createCommentVNode("", true),
26819
- bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$5, {
27080
+ 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."
27081
+ }, null, 8, ["message"])) : vue.createCommentVNode("", true),
27082
+ bestMatches.value.length ? (vue.openBlock(), vue.createBlock(_sfc_main$4, {
26820
27083
  key: 1,
26821
27084
  "search-results": bestMatchProducts.value,
26822
- options: _ctx.options.displayOptions
27085
+ options: _ctx.options.displayOptions,
27086
+ full: true
26823
27087
  }, null, 8, ["search-results", "options"])) : vue.createCommentVNode("", true)
26824
27088
  ])
26825
- ]);
27089
+ ], 64);
26826
27090
  };
26827
27091
  }
26828
27092
  });
26829
- const _hoisted_1$2 = { class: "lupa-chat-text-response" };
26830
- const _hoisted_2$1 = ["innerHTML"];
27093
+ const _hoisted_1$1 = { key: 0 };
26831
27094
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
26832
- __name: "ChatTextEntry",
27095
+ __name: "ChatContentListEntry",
26833
27096
  props: {
26834
- content: {},
27097
+ entry: {},
26835
27098
  options: {},
26836
27099
  history: {}
26837
27100
  },
26838
- setup(__props) {
26839
- const props = __props;
26840
- const content = vue.ref("");
26841
- const processChunk = (chunk) => {
26842
- content.value += chunk;
27101
+ emits: ["loaded"],
27102
+ setup(__props, { emit }) {
27103
+ const bestItemsLoaded = (items, key) => {
27104
+ emit("loaded", { items, key });
26843
27105
  };
26844
- vue.onMounted(() => {
26845
- var _a;
26846
- ChatService.getTextResponseChunkStream(
26847
- props.options.sdkOptions,
26848
- {
26849
- initialQuery: props.content,
26850
- messageHistory: (_a = props.history) != null ? _a : [],
26851
- queryKey: props.options.displayOptions.queryKey
26852
- },
26853
- processChunk,
26854
- props.options.chatSettings
26855
- );
26856
- });
26857
27106
  return (_ctx, _cache) => {
26858
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
26859
- vue.createElementVNode("p", { innerHTML: content.value }, null, 8, _hoisted_2$1)
27107
+ var _a;
27108
+ return vue.openBlock(), vue.createElementBlock("div", null, [
27109
+ vue.createElementVNode("h4", {
27110
+ class: "lupa-chat-section-title",
27111
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.entry.expanded = !_ctx.entry.expanded)
27112
+ }, vue.toDisplayString(_ctx.entry.userInput), 1),
27113
+ ((_a = _ctx.entry.suggestedPhrases) == null ? void 0 : _a.length) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
27114
+ vue.createVNode(_sfc_main$3, {
27115
+ entry: _ctx.entry,
27116
+ options: _ctx.options,
27117
+ history: _ctx.history,
27118
+ onLoaded: _cache[1] || (_cache[1] = (items) => bestItemsLoaded(items, _ctx.entry.key))
27119
+ }, null, 8, ["entry", "options", "history"])
27120
+ ], 512)), [
27121
+ [vue.vShow, _ctx.entry.expanded]
27122
+ ]) : vue.createCommentVNode("", true)
26860
27123
  ]);
26861
27124
  };
26862
27125
  }
26863
27126
  });
26864
- const _hoisted_1$1 = { class: "lupa-chat-section-title" };
26865
27127
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
26866
27128
  __name: "ChatContentList",
26867
27129
  props: {
@@ -26878,23 +27140,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
26878
27140
  return vue.openBlock(), vue.createElementBlock("div", null, [
26879
27141
  vue.createElementVNode("ul", null, [
26880
27142
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.content, (entry) => {
26881
- var _a;
26882
27143
  return vue.openBlock(), vue.createElementBlock("li", {
26883
- key: entry.key
27144
+ key: entry.key,
27145
+ class: "chat-content-list-entry"
26884
27146
  }, [
26885
- vue.createElementVNode("h4", _hoisted_1$1, vue.toDisplayString(entry.userInput), 1),
26886
27147
  vue.createVNode(_sfc_main$2, {
26887
- content: entry.userInput,
26888
- history: _ctx.history,
26889
- options: _ctx.options
26890
- }, null, 8, ["content", "history", "options"]),
26891
- ((_a = entry.suggestedPhrases) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
26892
- key: 0,
26893
27148
  entry,
26894
27149
  options: _ctx.options,
26895
27150
  history: _ctx.history,
26896
27151
  onLoaded: (items) => bestItemsLoaded(items, entry.key)
26897
- }, null, 8, ["entry", "options", "history", "onLoaded"])) : vue.createCommentVNode("", true)
27152
+ }, null, 8, ["entry", "options", "history", "onLoaded"])
26898
27153
  ]);
26899
27154
  }), 128))
26900
27155
  ])
@@ -26903,18 +27158,12 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
26903
27158
  }
26904
27159
  });
26905
27160
  const _hoisted_1 = { class: "lupasearch-chat" };
26906
- const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("section", { class: "lupa-chat-logo" }, [
26907
- /* @__PURE__ */ vue.createElementVNode("img", { src: "https://www.lupasearch.com/images/partials/header/lupasearch-logo.svg" })
26908
- ], -1);
26909
- const _hoisted_3 = {
27161
+ const _hoisted_2 = { class: "lupasearch-chat-input" };
27162
+ const _hoisted_3 = { class: "lupasearch-chat-content-wrapper" };
27163
+ const _hoisted_4 = {
26910
27164
  key: 0,
26911
27165
  class: "lupasearch-chat-content"
26912
27166
  };
26913
- const _hoisted_4 = {
26914
- key: 1,
26915
- class: "lupa-chat-spinner-main"
26916
- };
26917
- const _hoisted_5 = { class: "lupasearch-chat-input" };
26918
27167
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26919
27168
  __name: "ChatContainer",
26920
27169
  props: {
@@ -26924,6 +27173,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26924
27173
  const props = __props;
26925
27174
  const loading = vue.ref(false);
26926
27175
  const error = vue.ref("");
27176
+ const focused = vue.ref(false);
26927
27177
  const chatContent = vue.ref([]);
26928
27178
  const history = vue.computed(() => ChatService.prepareChatHistory(chatContent.value));
26929
27179
  const submitChatInput = (input2) => __async(this, null, function* () {
@@ -26938,8 +27188,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26938
27188
  key,
26939
27189
  userInput: input2,
26940
27190
  allPhrases: [],
26941
- suggestedPhrases: []
27191
+ suggestedPhrases: [],
27192
+ expanded: true
26942
27193
  };
27194
+ chatContent.value = chatContent.value.map((c2) => __spreadProps(__spreadValues({}, c2), { expanded: false }));
26943
27195
  chatContent.value.push(chatLog);
26944
27196
  const request = {
26945
27197
  userPrompt: input2,
@@ -26970,25 +27222,31 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26970
27222
  const entry = chatContent.value.find((c2) => c2.key === key);
26971
27223
  entry.bestItems = items;
26972
27224
  };
27225
+ const clearChatContent = () => {
27226
+ chatContent.value = [];
27227
+ };
26973
27228
  return (_ctx, _cache) => {
26974
27229
  return vue.openBlock(), vue.createElementBlock("section", _hoisted_1, [
26975
- _hoisted_2,
26976
- chatContent.value.length ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_3, [
26977
- vue.createVNode(_sfc_main$1, {
26978
- content: chatContent.value,
26979
- options: _ctx.options,
26980
- onLoaded: bestItemsLoaded,
26981
- history: history.value
26982
- }, null, 8, ["content", "options", "history"])
26983
- ])) : vue.createCommentVNode("", true),
26984
- loading.value ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
26985
- vue.createVNode(_sfc_main$7, { message: "Loading initial recommendations... This might take up to 20s" })
26986
- ])) : vue.createCommentVNode("", true),
26987
- vue.createElementVNode("section", _hoisted_5, [
26988
- vue.createVNode(_sfc_main$6, {
27230
+ vue.createElementVNode("section", _hoisted_2, [
27231
+ vue.createVNode(_sfc_main$8, {
26989
27232
  onSubmit: submitChatInput,
26990
- disabled: loading.value
26991
- }, null, 8, ["disabled"])
27233
+ disabled: loading.value,
27234
+ options: _ctx.options,
27235
+ onFocus: _cache[0] || (_cache[0] = ($event) => focused.value = true),
27236
+ onClear: clearChatContent
27237
+ }, null, 8, ["disabled", "options"]),
27238
+ vue.createElementVNode("div", _hoisted_3, [
27239
+ chatContent.value.length ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("section", _hoisted_4, [
27240
+ vue.createVNode(_sfc_main$1, {
27241
+ content: chatContent.value,
27242
+ options: _ctx.options,
27243
+ history: history.value,
27244
+ onLoaded: bestItemsLoaded
27245
+ }, null, 8, ["content", "options", "history"])
27246
+ ], 512)), [
27247
+ [vue.vShow, focused.value]
27248
+ ]) : vue.createCommentVNode("", true)
27249
+ ])
26992
27250
  ])
26993
27251
  ]);
26994
27252
  };
@@ -27042,12 +27300,12 @@ exports.BadgeType = BadgeType;
27042
27300
  exports.ChatContainer = _sfc_main;
27043
27301
  exports.DocumentElementType = DocumentElementType;
27044
27302
  exports.LupaSearch = LupaSearch;
27045
- exports.ProductList = _sfc_main$a;
27046
- exports.Recommendations = _sfc_main$8;
27047
- exports.SearchBox = _sfc_main$V;
27303
+ exports.ProductList = _sfc_main$c;
27304
+ exports.Recommendations = _sfc_main$a;
27305
+ exports.SearchBox = _sfc_main$Z;
27048
27306
  exports.SearchBoxPanelType = SearchBoxPanelType;
27049
- exports.SearchContainer = _sfc_main$9;
27050
- exports.SearchResults = _sfc_main$c;
27307
+ exports.SearchContainer = _sfc_main$b;
27308
+ exports.SearchResults = _sfc_main$e;
27051
27309
  exports.fetchPluginConfiguration = fetchPluginConfiguration;
27052
27310
  exports.getInitialSearchResults = getInitialSearchResults;
27053
27311
  exports.initPinia = initPinia;