@getlupa/vue 0.12.7 → 0.12.9

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.
@@ -2688,6 +2688,14 @@ const encodeParam = (param) => {
2688
2688
  const encoded = encodeURIComponent(param);
2689
2689
  return encoded.replace(/%C4%85/g, "ą").replace(/%C4%8D/g, "č").replace(/%C4%99/g, "ę").replace(/%C4%97/g, "ė").replace(/%C4%AF/g, "į").replace(/%C5%A1/g, "š").replace(/%C5%B3/g, "ų").replace(/%C5%AB/g, "ū").replace(/%C5%BE/g, "ž").replace(/%20/g, " ");
2690
2690
  };
2691
+ const getQueryParam = (name) => {
2692
+ try {
2693
+ const urlParams = new URLSearchParams(window.location.search);
2694
+ return urlParams.get(name);
2695
+ } catch (e2) {
2696
+ return null;
2697
+ }
2698
+ };
2691
2699
  const PATH_REPLACE_REGEXP = /{(.*?)}/gm;
2692
2700
  const generateLink = (linkPattern, document2) => {
2693
2701
  const matches = linkPattern.match(PATH_REPLACE_REGEXP);
@@ -2979,7 +2987,7 @@ const useParamsStore = defineStore("params", () => {
2979
2987
  searchText,
2980
2988
  facet
2981
2989
  }) => {
2982
- var _a;
2990
+ var _a, _b;
2983
2991
  const redirectionApplied = redirectionStore.redirectOnKeywordIfConfigured(
2984
2992
  searchText,
2985
2993
  optionsStore.boxRoutingBehavior
@@ -2987,7 +2995,10 @@ const useParamsStore = defineStore("params", () => {
2987
2995
  if (redirectionApplied) {
2988
2996
  return;
2989
2997
  }
2990
- if (!searchResultsLink.value || linksMatch(searchResultsLink.value, window.location.pathname)) {
2998
+ const forceFullReload = (_a = optionsStore.searchBoxOptions.forceFullReloadOnParams) == null ? void 0 : _a.some(
2999
+ (p2) => getQueryParam(p2)
3000
+ );
3001
+ if ((!searchResultsLink.value || linksMatch(searchResultsLink.value, window.location.pathname)) && !forceFullReload) {
2991
3002
  const singleFacetParam = facet ? getFacetParam(facet.key, [facet.title]) : void 0;
2992
3003
  const facetParam = singleFacetParam ? [
2993
3004
  __spreadProps(__spreadValues({}, singleFacetParam), {
@@ -3003,7 +3014,7 @@ const useParamsStore = defineStore("params", () => {
3003
3014
  searchResultsLink: searchResultsLink.value
3004
3015
  });
3005
3016
  } else {
3006
- const routing = (_a = optionsStore.boxRoutingBehavior) != null ? _a : "direct-link";
3017
+ const routing = (_b = optionsStore.boxRoutingBehavior) != null ? _b : "direct-link";
3007
3018
  redirectToResultsPage(
3008
3019
  searchResultsLink.value,
3009
3020
  searchText,
@@ -3286,7 +3297,7 @@ const _hoisted_1$1f = { id: "lupa-search-box-input-container" };
3286
3297
  const _hoisted_2$R = { class: "lupa-input-clear" };
3287
3298
  const _hoisted_3$B = { id: "lupa-search-box-input" };
3288
3299
  const _hoisted_4$t = ["value"];
3289
- const _hoisted_5$i = ["aria-label", "placeholder"];
3300
+ const _hoisted_5$j = ["aria-label", "placeholder"];
3290
3301
  const _hoisted_6$9 = /* @__PURE__ */ vue.createElementVNode("span", { class: "lupa-search-submit-icon" }, null, -1);
3291
3302
  const _hoisted_7$7 = [
3292
3303
  _hoisted_6$9
@@ -3406,7 +3417,7 @@ const _sfc_main$1n = /* @__PURE__ */ vue.defineComponent({
3406
3417
  placeholder: labels.value.placeholder,
3407
3418
  onInput: handleInput,
3408
3419
  onFocus: handleFocus
3409
- }), null, 16, _hoisted_5$i), [
3420
+ }), null, 16, _hoisted_5$j), [
3410
3421
  [vue.vModelText, inputValue.value]
3411
3422
  ]),
3412
3423
  _ctx.options.showSubmitButton ? (vue.openBlock(), vue.createElementBlock("button", {
@@ -3580,7 +3591,7 @@ const _hoisted_4$s = {
3580
3591
  class: "lupa-suggestion-facet-label",
3581
3592
  "data-cy": "lupa-suggestion-facet-label"
3582
3593
  };
3583
- const _hoisted_5$h = {
3594
+ const _hoisted_5$i = {
3584
3595
  class: "lupa-suggestion-facet-value",
3585
3596
  "data-cy": "lupa-suggestion-facet-value"
3586
3597
  };
@@ -3623,7 +3634,7 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
3623
3634
  }, null, 8, _hoisted_1$1b)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$P, vue.toDisplayString(_ctx.suggestion.display), 1)),
3624
3635
  _ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
3625
3636
  vue.createElementVNode("span", _hoisted_4$s, vue.toDisplayString(facetLabel.value), 1),
3626
- vue.createElementVNode("span", _hoisted_5$h, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
3637
+ vue.createElementVNode("span", _hoisted_5$i, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
3627
3638
  ])) : vue.createCommentVNode("", true)
3628
3639
  ]);
3629
3640
  };
@@ -4124,7 +4135,7 @@ const _hoisted_1$14 = ["innerHTML"];
4124
4135
  const _hoisted_2$M = { key: 0 };
4125
4136
  const _hoisted_3$z = { key: 1 };
4126
4137
  const _hoisted_4$r = { class: "lupa-search-box-custom-label" };
4127
- const _hoisted_5$g = { class: "lupa-search-box-custom-text" };
4138
+ const _hoisted_5$h = { class: "lupa-search-box-custom-text" };
4128
4139
  const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
4129
4140
  __name: "SearchBoxProductCustom",
4130
4141
  props: {
@@ -4157,7 +4168,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
4157
4168
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
4158
4169
  !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$M, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, [
4159
4170
  vue.createElementVNode("div", _hoisted_4$r, vue.toDisplayString(label.value), 1),
4160
- vue.createElementVNode("div", _hoisted_5$g, vue.toDisplayString(text.value), 1)
4171
+ vue.createElementVNode("div", _hoisted_5$h, vue.toDisplayString(text.value), 1)
4161
4172
  ]))
4162
4173
  ], 16));
4163
4174
  };
@@ -5303,7 +5314,7 @@ const _hoisted_4$o = {
5303
5314
  key: 1,
5304
5315
  class: "lupa-panel-title"
5305
5316
  };
5306
- const _hoisted_5$f = {
5317
+ const _hoisted_5$g = {
5307
5318
  key: 1,
5308
5319
  id: "lupa-search-box-panel"
5309
5320
  };
@@ -5517,7 +5528,7 @@ const _sfc_main$W = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
5517
5528
  showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
5518
5529
  onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
5519
5530
  }, null, 8, ["labels", "showTotalCount"])) : vue.createCommentVNode("", true)
5520
- ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$f, [
5531
+ ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$g, [
5521
5532
  vue.createVNode(_sfc_main$1k, {
5522
5533
  options: _ctx.options.history,
5523
5534
  history: history.value,
@@ -6028,7 +6039,7 @@ const _hoisted_3$t = {
6028
6039
  class: "lupa-results-total-count"
6029
6040
  };
6030
6041
  const _hoisted_4$m = { class: "lupa-results-total-count-number" };
6031
- const _hoisted_5$e = ["innerHTML"];
6042
+ const _hoisted_5$f = ["innerHTML"];
6032
6043
  const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
6033
6044
  __name: "SearchResultsTitle",
6034
6045
  props: {
@@ -6085,7 +6096,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
6085
6096
  key: 2,
6086
6097
  class: "lupa-result-page-description-top",
6087
6098
  innerHTML: descriptionTop.value
6088
- }, null, 8, _hoisted_5$e)) : vue.createCommentVNode("", true)
6099
+ }, null, 8, _hoisted_5$f)) : vue.createCommentVNode("", true)
6089
6100
  ]);
6090
6101
  };
6091
6102
  }
@@ -6284,7 +6295,7 @@ const _hoisted_1$L = {
6284
6295
  const _hoisted_2$z = { class: "lupa-category-back" };
6285
6296
  const _hoisted_3$q = ["href"];
6286
6297
  const _hoisted_4$k = ["href"];
6287
- const _hoisted_5$d = { class: "lupa-child-category-list" };
6298
+ const _hoisted_5$e = { class: "lupa-child-category-list" };
6288
6299
  const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
6289
6300
  __name: "CategoryFilter",
6290
6301
  props: {
@@ -6390,7 +6401,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
6390
6401
  onClick: handleNavigationParent
6391
6402
  }, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$k)
6392
6403
  ], 2),
6393
- vue.createElementVNode("div", _hoisted_5$d, [
6404
+ vue.createElementVNode("div", _hoisted_5$e, [
6394
6405
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
6395
6406
  return vue.openBlock(), vue.createBlock(_sfc_main$P, {
6396
6407
  key: getCategoryKey(child),
@@ -6410,7 +6421,7 @@ const _hoisted_1$K = {
6410
6421
  const _hoisted_2$y = ["placeholder"];
6411
6422
  const _hoisted_3$p = { class: "lupa-terms-list" };
6412
6423
  const _hoisted_4$j = ["onClick"];
6413
- const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
6424
+ const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
6414
6425
  const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
6415
6426
  const _hoisted_7$6 = { class: "lupa-term-label" };
6416
6427
  const _hoisted_8$2 = {
@@ -6508,7 +6519,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
6508
6519
  key: item.title,
6509
6520
  onClick: ($event) => handleFacetClick(item)
6510
6521
  }, [
6511
- vue.createElementVNode("div", _hoisted_5$c, [
6522
+ vue.createElementVNode("div", _hoisted_5$d, [
6512
6523
  vue.createElementVNode("span", {
6513
6524
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
6514
6525
  }, null, 2)
@@ -7521,7 +7532,7 @@ const _hoisted_4$i = {
7521
7532
  key: 0,
7522
7533
  class: "lupa-stats-range-label"
7523
7534
  };
7524
- const _hoisted_5$b = { class: "lupa-stats-from" };
7535
+ const _hoisted_5$c = { class: "lupa-stats-from" };
7525
7536
  const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
7526
7537
  const _hoisted_7$5 = { key: 0 };
7527
7538
  const _hoisted_8$1 = /* @__PURE__ */ vue.createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
@@ -7713,7 +7724,7 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
7713
7724
  !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$o, [
7714
7725
  vue.createElementVNode("div", null, [
7715
7726
  rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$i, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
7716
- vue.createElementVNode("div", _hoisted_5$b, [
7727
+ vue.createElementVNode("div", _hoisted_5$c, [
7717
7728
  vue.withDirectives(vue.createElementVNode("input", {
7718
7729
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
7719
7730
  type: "text",
@@ -7783,7 +7794,7 @@ const _hoisted_4$h = {
7783
7794
  key: 0,
7784
7795
  class: "lupa-term-count"
7785
7796
  };
7786
- const _hoisted_5$a = {
7797
+ const _hoisted_5$b = {
7787
7798
  key: 0,
7788
7799
  class: "lupa-facet-level"
7789
7800
  };
@@ -7843,7 +7854,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
7843
7854
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
7844
7855
  ])
7845
7856
  ]),
7846
- showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$a, [
7857
+ showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$b, [
7847
7858
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
7848
7859
  return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
7849
7860
  key: itemChild.title,
@@ -8353,7 +8364,7 @@ const _hoisted_1$B = {
8353
8364
  const _hoisted_2$r = ["onClick"];
8354
8365
  const _hoisted_3$l = { class: "lupa-mobile-sidebar-content" };
8355
8366
  const _hoisted_4$g = { class: "lupa-sidebar-top" };
8356
- const _hoisted_5$9 = { class: "lupa-sidebar-title" };
8367
+ const _hoisted_5$a = { class: "lupa-sidebar-title" };
8357
8368
  const _hoisted_6$6 = {
8358
8369
  key: 0,
8359
8370
  class: "lupa-sidebar-filter-count"
@@ -8397,7 +8408,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
8397
8408
  }, null, 8, _hoisted_2$r),
8398
8409
  vue.createElementVNode("div", _hoisted_3$l, [
8399
8410
  vue.createElementVNode("div", _hoisted_4$g, [
8400
- vue.createElementVNode("div", _hoisted_5$9, [
8411
+ vue.createElementVNode("div", _hoisted_5$a, [
8401
8412
  vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
8402
8413
  isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
8403
8414
  ]),
@@ -8703,6 +8714,7 @@ const _hoisted_1$v = {
8703
8714
  const _hoisted_2$o = { id: "lupa-select" };
8704
8715
  const _hoisted_3$i = { class: "lupa-select-label" };
8705
8716
  const _hoisted_4$d = ["aria-label"];
8717
+ const _hoisted_5$9 = ["value"];
8706
8718
  const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
8707
8719
  __name: "SearchResultsPageSize",
8708
8720
  props: {
@@ -8742,7 +8754,10 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
8742
8754
  ref: select
8743
8755
  }, [
8744
8756
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options.sizes, (option) => {
8745
- return vue.openBlock(), vue.createElementBlock("option", { key: option }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 1);
8757
+ return vue.openBlock(), vue.createElementBlock("option", {
8758
+ key: option,
8759
+ value: option
8760
+ }, vue.toDisplayString(prefixLabel.value) + vue.toDisplayString(option), 9, _hoisted_5$9);
8746
8761
  }), 128))
8747
8762
  ], 40, _hoisted_4$d)
8748
8763
  ])
@@ -2686,6 +2686,14 @@ const encodeParam = (param) => {
2686
2686
  const encoded = encodeURIComponent(param);
2687
2687
  return encoded.replace(/%C4%85/g, "ą").replace(/%C4%8D/g, "č").replace(/%C4%99/g, "ę").replace(/%C4%97/g, "ė").replace(/%C4%AF/g, "į").replace(/%C5%A1/g, "š").replace(/%C5%B3/g, "ų").replace(/%C5%AB/g, "ū").replace(/%C5%BE/g, "ž").replace(/%20/g, " ");
2688
2688
  };
2689
+ const getQueryParam = (name) => {
2690
+ try {
2691
+ const urlParams = new URLSearchParams(window.location.search);
2692
+ return urlParams.get(name);
2693
+ } catch (e2) {
2694
+ return null;
2695
+ }
2696
+ };
2689
2697
  const PATH_REPLACE_REGEXP = /{(.*?)}/gm;
2690
2698
  const generateLink = (linkPattern, document2) => {
2691
2699
  const matches = linkPattern.match(PATH_REPLACE_REGEXP);
@@ -2977,7 +2985,7 @@ const useParamsStore = defineStore("params", () => {
2977
2985
  searchText,
2978
2986
  facet
2979
2987
  }) => {
2980
- var _a;
2988
+ var _a, _b;
2981
2989
  const redirectionApplied = redirectionStore.redirectOnKeywordIfConfigured(
2982
2990
  searchText,
2983
2991
  optionsStore.boxRoutingBehavior
@@ -2985,7 +2993,10 @@ const useParamsStore = defineStore("params", () => {
2985
2993
  if (redirectionApplied) {
2986
2994
  return;
2987
2995
  }
2988
- if (!searchResultsLink.value || linksMatch(searchResultsLink.value, window.location.pathname)) {
2996
+ const forceFullReload = (_a = optionsStore.searchBoxOptions.forceFullReloadOnParams) == null ? void 0 : _a.some(
2997
+ (p2) => getQueryParam(p2)
2998
+ );
2999
+ if ((!searchResultsLink.value || linksMatch(searchResultsLink.value, window.location.pathname)) && !forceFullReload) {
2989
3000
  const singleFacetParam = facet ? getFacetParam(facet.key, [facet.title]) : void 0;
2990
3001
  const facetParam = singleFacetParam ? [
2991
3002
  __spreadProps(__spreadValues({}, singleFacetParam), {
@@ -3001,7 +3012,7 @@ const useParamsStore = defineStore("params", () => {
3001
3012
  searchResultsLink: searchResultsLink.value
3002
3013
  });
3003
3014
  } else {
3004
- const routing = (_a = optionsStore.boxRoutingBehavior) != null ? _a : "direct-link";
3015
+ const routing = (_b = optionsStore.boxRoutingBehavior) != null ? _b : "direct-link";
3005
3016
  redirectToResultsPage(
3006
3017
  searchResultsLink.value,
3007
3018
  searchText,
@@ -3284,7 +3295,7 @@ const _hoisted_1$1f = { id: "lupa-search-box-input-container" };
3284
3295
  const _hoisted_2$R = { class: "lupa-input-clear" };
3285
3296
  const _hoisted_3$B = { id: "lupa-search-box-input" };
3286
3297
  const _hoisted_4$t = ["value"];
3287
- const _hoisted_5$i = ["aria-label", "placeholder"];
3298
+ const _hoisted_5$j = ["aria-label", "placeholder"];
3288
3299
  const _hoisted_6$9 = /* @__PURE__ */ createElementVNode("span", { class: "lupa-search-submit-icon" }, null, -1);
3289
3300
  const _hoisted_7$7 = [
3290
3301
  _hoisted_6$9
@@ -3404,7 +3415,7 @@ const _sfc_main$1n = /* @__PURE__ */ defineComponent({
3404
3415
  placeholder: labels.value.placeholder,
3405
3416
  onInput: handleInput,
3406
3417
  onFocus: handleFocus
3407
- }), null, 16, _hoisted_5$i), [
3418
+ }), null, 16, _hoisted_5$j), [
3408
3419
  [vModelText, inputValue.value]
3409
3420
  ]),
3410
3421
  _ctx.options.showSubmitButton ? (openBlock(), createElementBlock("button", {
@@ -3578,7 +3589,7 @@ const _hoisted_4$s = {
3578
3589
  class: "lupa-suggestion-facet-label",
3579
3590
  "data-cy": "lupa-suggestion-facet-label"
3580
3591
  };
3581
- const _hoisted_5$h = {
3592
+ const _hoisted_5$i = {
3582
3593
  class: "lupa-suggestion-facet-value",
3583
3594
  "data-cy": "lupa-suggestion-facet-value"
3584
3595
  };
@@ -3621,7 +3632,7 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
3621
3632
  }, null, 8, _hoisted_1$1b)) : (openBlock(), createElementBlock("div", _hoisted_2$P, toDisplayString(_ctx.suggestion.display), 1)),
3622
3633
  _ctx.suggestion.facet ? (openBlock(), createElementBlock("div", _hoisted_3$A, [
3623
3634
  createElementVNode("span", _hoisted_4$s, toDisplayString(facetLabel.value), 1),
3624
- createElementVNode("span", _hoisted_5$h, toDisplayString(_ctx.suggestion.facet.title), 1)
3635
+ createElementVNode("span", _hoisted_5$i, toDisplayString(_ctx.suggestion.facet.title), 1)
3625
3636
  ])) : createCommentVNode("", true)
3626
3637
  ]);
3627
3638
  };
@@ -4122,7 +4133,7 @@ const _hoisted_1$14 = ["innerHTML"];
4122
4133
  const _hoisted_2$M = { key: 0 };
4123
4134
  const _hoisted_3$z = { key: 1 };
4124
4135
  const _hoisted_4$r = { class: "lupa-search-box-custom-label" };
4125
- const _hoisted_5$g = { class: "lupa-search-box-custom-text" };
4136
+ const _hoisted_5$h = { class: "lupa-search-box-custom-text" };
4126
4137
  const _sfc_main$19 = /* @__PURE__ */ defineComponent({
4127
4138
  __name: "SearchBoxProductCustom",
4128
4139
  props: {
@@ -4155,7 +4166,7 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
4155
4166
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
4156
4167
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$M, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$z, [
4157
4168
  createElementVNode("div", _hoisted_4$r, toDisplayString(label.value), 1),
4158
- createElementVNode("div", _hoisted_5$g, toDisplayString(text.value), 1)
4169
+ createElementVNode("div", _hoisted_5$h, toDisplayString(text.value), 1)
4159
4170
  ]))
4160
4171
  ], 16));
4161
4172
  };
@@ -5301,7 +5312,7 @@ const _hoisted_4$o = {
5301
5312
  key: 1,
5302
5313
  class: "lupa-panel-title"
5303
5314
  };
5304
- const _hoisted_5$f = {
5315
+ const _hoisted_5$g = {
5305
5316
  key: 1,
5306
5317
  id: "lupa-search-box-panel"
5307
5318
  };
@@ -5515,7 +5526,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
5515
5526
  showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
5516
5527
  onGoToResults: _cache[4] || (_cache[4] = ($event) => _ctx.$emit("go-to-results"))
5517
5528
  }, null, 8, ["labels", "showTotalCount"])) : createCommentVNode("", true)
5518
- ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_5$f, [
5529
+ ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_5$g, [
5519
5530
  createVNode(_sfc_main$1k, {
5520
5531
  options: _ctx.options.history,
5521
5532
  history: history.value,
@@ -6026,7 +6037,7 @@ const _hoisted_3$t = {
6026
6037
  class: "lupa-results-total-count"
6027
6038
  };
6028
6039
  const _hoisted_4$m = { class: "lupa-results-total-count-number" };
6029
- const _hoisted_5$e = ["innerHTML"];
6040
+ const _hoisted_5$f = ["innerHTML"];
6030
6041
  const _sfc_main$S = /* @__PURE__ */ defineComponent({
6031
6042
  __name: "SearchResultsTitle",
6032
6043
  props: {
@@ -6083,7 +6094,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
6083
6094
  key: 2,
6084
6095
  class: "lupa-result-page-description-top",
6085
6096
  innerHTML: descriptionTop.value
6086
- }, null, 8, _hoisted_5$e)) : createCommentVNode("", true)
6097
+ }, null, 8, _hoisted_5$f)) : createCommentVNode("", true)
6087
6098
  ]);
6088
6099
  };
6089
6100
  }
@@ -6282,7 +6293,7 @@ const _hoisted_1$L = {
6282
6293
  const _hoisted_2$z = { class: "lupa-category-back" };
6283
6294
  const _hoisted_3$q = ["href"];
6284
6295
  const _hoisted_4$k = ["href"];
6285
- const _hoisted_5$d = { class: "lupa-child-category-list" };
6296
+ const _hoisted_5$e = { class: "lupa-child-category-list" };
6286
6297
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
6287
6298
  __name: "CategoryFilter",
6288
6299
  props: {
@@ -6388,7 +6399,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
6388
6399
  onClick: handleNavigationParent
6389
6400
  }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
6390
6401
  ], 2),
6391
- createElementVNode("div", _hoisted_5$d, [
6402
+ createElementVNode("div", _hoisted_5$e, [
6392
6403
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
6393
6404
  return openBlock(), createBlock(_sfc_main$P, {
6394
6405
  key: getCategoryKey(child),
@@ -6408,7 +6419,7 @@ const _hoisted_1$K = {
6408
6419
  const _hoisted_2$y = ["placeholder"];
6409
6420
  const _hoisted_3$p = { class: "lupa-terms-list" };
6410
6421
  const _hoisted_4$j = ["onClick"];
6411
- const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
6422
+ const _hoisted_5$d = { class: "lupa-term-checkbox-wrapper" };
6412
6423
  const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
6413
6424
  const _hoisted_7$6 = { class: "lupa-term-label" };
6414
6425
  const _hoisted_8$2 = {
@@ -6506,7 +6517,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
6506
6517
  key: item.title,
6507
6518
  onClick: ($event) => handleFacetClick(item)
6508
6519
  }, [
6509
- createElementVNode("div", _hoisted_5$c, [
6520
+ createElementVNode("div", _hoisted_5$d, [
6510
6521
  createElementVNode("span", {
6511
6522
  class: normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
6512
6523
  }, null, 2)
@@ -7519,7 +7530,7 @@ const _hoisted_4$i = {
7519
7530
  key: 0,
7520
7531
  class: "lupa-stats-range-label"
7521
7532
  };
7522
- const _hoisted_5$b = { class: "lupa-stats-from" };
7533
+ const _hoisted_5$c = { class: "lupa-stats-from" };
7523
7534
  const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
7524
7535
  const _hoisted_7$5 = { key: 0 };
7525
7536
  const _hoisted_8$1 = /* @__PURE__ */ createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
@@ -7711,7 +7722,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
7711
7722
  !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$x, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$o, [
7712
7723
  createElementVNode("div", null, [
7713
7724
  rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
7714
- createElementVNode("div", _hoisted_5$b, [
7725
+ createElementVNode("div", _hoisted_5$c, [
7715
7726
  withDirectives(createElementVNode("input", {
7716
7727
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
7717
7728
  type: "text",
@@ -7781,7 +7792,7 @@ const _hoisted_4$h = {
7781
7792
  key: 0,
7782
7793
  class: "lupa-term-count"
7783
7794
  };
7784
- const _hoisted_5$a = {
7795
+ const _hoisted_5$b = {
7785
7796
  key: 0,
7786
7797
  class: "lupa-facet-level"
7787
7798
  };
@@ -7841,7 +7852,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
7841
7852
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$h, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
7842
7853
  ])
7843
7854
  ]),
7844
- showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
7855
+ showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$b, [
7845
7856
  (openBlock(true), createElementBlock(Fragment, null, renderList(treeItem.value.children, (itemChild) => {
7846
7857
  return openBlock(), createBlock(_component_HierarchyFacetLevel, {
7847
7858
  key: itemChild.title,
@@ -8351,7 +8362,7 @@ const _hoisted_1$B = {
8351
8362
  const _hoisted_2$r = ["onClick"];
8352
8363
  const _hoisted_3$l = { class: "lupa-mobile-sidebar-content" };
8353
8364
  const _hoisted_4$g = { class: "lupa-sidebar-top" };
8354
- const _hoisted_5$9 = { class: "lupa-sidebar-title" };
8365
+ const _hoisted_5$a = { class: "lupa-sidebar-title" };
8355
8366
  const _hoisted_6$6 = {
8356
8367
  key: 0,
8357
8368
  class: "lupa-sidebar-filter-count"
@@ -8395,7 +8406,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
8395
8406
  }, null, 8, _hoisted_2$r),
8396
8407
  createElementVNode("div", _hoisted_3$l, [
8397
8408
  createElementVNode("div", _hoisted_4$g, [
8398
- createElementVNode("div", _hoisted_5$9, [
8409
+ createElementVNode("div", _hoisted_5$a, [
8399
8410
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
8400
8411
  isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_6$6, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
8401
8412
  ]),
@@ -8701,6 +8712,7 @@ const _hoisted_1$v = {
8701
8712
  const _hoisted_2$o = { id: "lupa-select" };
8702
8713
  const _hoisted_3$i = { class: "lupa-select-label" };
8703
8714
  const _hoisted_4$d = ["aria-label"];
8715
+ const _hoisted_5$9 = ["value"];
8704
8716
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
8705
8717
  __name: "SearchResultsPageSize",
8706
8718
  props: {
@@ -8740,7 +8752,10 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
8740
8752
  ref: select
8741
8753
  }, [
8742
8754
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options.sizes, (option) => {
8743
- return openBlock(), createElementBlock("option", { key: option }, toDisplayString(prefixLabel.value) + toDisplayString(option), 1);
8755
+ return openBlock(), createElementBlock("option", {
8756
+ key: option,
8757
+ value: option
8758
+ }, toDisplayString(prefixLabel.value) + toDisplayString(option), 9, _hoisted_5$9);
8744
8759
  }), 128))
8745
8760
  ], 40, _hoisted_4$d)
8746
8761
  ])
@@ -15,7 +15,7 @@ export type ProductRecommendationOptions = SearchResultsProductOptions & {
15
15
  itemId: string[] | string;
16
16
  abTesting?: RecommendationABTestingOptions;
17
17
  carousel?: RecommenderCarouselOptions;
18
- filters?: FilterGroup;
18
+ recommendationFilters?: FilterGroup;
19
19
  layoutType?: 'carousel' | 'grid';
20
20
  recommendationLabels?: {
21
21
  title?: string;
@@ -66,4 +66,5 @@ export type SearchBoxPanelOptions = SearchBoxInputOptions & {
66
66
  showNoResultsPanel?: boolean;
67
67
  hideMoreResultsButtonOnNoResults?: boolean;
68
68
  expandOnSinglePanel?: boolean;
69
+ forceFullReloadOnParams?: string[];
69
70
  };
@@ -8,3 +8,4 @@ export declare const appendParam: (url: URL, { name, value }: {
8
8
  export declare const getRemovableParams: (url: URL, getQueryParamName?: (param: LupaQueryParamValue) => string, paramsToRemove?: 'all' | string[]) => string[] | undefined;
9
9
  export declare const removeParams: (url: URL, params?: string[]) => void;
10
10
  export declare const encodeParam: (param: string) => string;
11
+ export declare const getQueryParam: (name: string) => string | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlupa/vue",
3
- "version": "0.12.7",
3
+ "version": "0.12.9",
4
4
  "main": "dist/lupaSearch.mjs",
5
5
  "module": "dist/lupaSearch.mjs",
6
6
  "types": "dist/src/index.d.ts",