@getlupa/vue 0.7.7 → 0.7.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.
@@ -1629,11 +1629,15 @@ const suggest = (queryKey, query, environment, customBaseUrl) => __awaiter(void
1629
1629
  return { success: false, errors };
1630
1630
  });
1631
1631
  const track$1 = (queryKey, event, environment, customBaseUrl) => __awaiter(void 0, void 0, void 0, function* () {
1632
- const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}events`, Object.assign(Object.assign({}, defaultConfig$1), { body: JSON.stringify(Object.assign({ queryKey }, event)) }));
1633
- if (res.status < 400) {
1632
+ try {
1633
+ const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}events`, Object.assign(Object.assign({}, defaultConfig$1), { body: JSON.stringify(Object.assign({ queryKey }, event)) }));
1634
+ if (res.status < 400) {
1635
+ return { success: false };
1636
+ }
1637
+ return res.json();
1638
+ } catch (e) {
1634
1639
  return { success: false };
1635
1640
  }
1636
- return res.json();
1637
1641
  });
1638
1642
  const loadRedirectionRules = (queryKey, environment, customBaseUrl) => __awaiter(void 0, void 0, void 0, function* () {
1639
1643
  const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}redirections/${queryKey}`, Object.assign(Object.assign({}, defaultConfig$1), { method: "GET" }));
@@ -3162,8 +3166,8 @@ const useSearchBoxStore = defineStore("searchBox", () => {
3162
3166
  const _hoisted_1$1c = { id: "lupa-search-box-input-container" };
3163
3167
  const _hoisted_2$P = { class: "lupa-input-clear" };
3164
3168
  const _hoisted_3$B = { id: "lupa-search-box-input" };
3165
- const _hoisted_4$r = ["value"];
3166
- const _hoisted_5$f = ["placeholder"];
3169
+ const _hoisted_4$s = ["value"];
3170
+ const _hoisted_5$g = ["aria-label", "placeholder"];
3167
3171
  const _hoisted_6$9 = {
3168
3172
  key: 0,
3169
3173
  class: "lupa-close-label"
@@ -3212,6 +3216,10 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
3212
3216
  var _a;
3213
3217
  return __spreadValues({}, (_a = props.options.inputAttributes) != null ? _a : {});
3214
3218
  });
3219
+ const ariaLabel = vue.computed(() => {
3220
+ var _a;
3221
+ return (_a = labels.value.searchInputAriaLabel) != null ? _a : "Search input";
3222
+ });
3215
3223
  vue.watch(suggestedValue, () => {
3216
3224
  if (suggestedValue.value.override) {
3217
3225
  input.value = suggestedValue.value.item.suggestion;
@@ -3255,22 +3263,24 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
3255
3263
  vue.createElementVNode("div", _hoisted_3$B, [
3256
3264
  vue.createElementVNode("input", {
3257
3265
  class: "lupa-hint",
3266
+ "aria-hidden": "true",
3258
3267
  value: showHint.value ? suggestedValue.value.item.suggestion : "",
3259
3268
  disabled: ""
3260
- }, null, 8, _hoisted_4$r),
3269
+ }, null, 8, _hoisted_4$s),
3261
3270
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
3262
3271
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
3263
3272
  }, inputAttributes.value, {
3264
3273
  ref_key: "mainInput",
3265
3274
  ref: mainInput,
3266
3275
  autocomplete: "off",
3276
+ "aria-label": ariaLabel.value,
3267
3277
  class: "lupa-search-box-input-field",
3268
3278
  "data-cy": "lupa-search-box-input-field",
3269
3279
  type: "text",
3270
3280
  placeholder: labels.value.placeholder,
3271
3281
  onInput: handleInput,
3272
3282
  onFocus: handleFocus
3273
- }), null, 16, _hoisted_5$f), [
3283
+ }), null, 16, _hoisted_5$g), [
3274
3284
  [vue.vModelText, inputValue.value]
3275
3285
  ])
3276
3286
  ]),
@@ -3436,11 +3446,11 @@ const _hoisted_3$A = {
3436
3446
  class: "lupa-suggestion-facet",
3437
3447
  "data-cy": "lupa-suggestion-facet"
3438
3448
  };
3439
- const _hoisted_4$q = {
3449
+ const _hoisted_4$r = {
3440
3450
  class: "lupa-suggestion-facet-label",
3441
3451
  "data-cy": "lupa-suggestion-facet-label"
3442
3452
  };
3443
- const _hoisted_5$e = {
3453
+ const _hoisted_5$f = {
3444
3454
  class: "lupa-suggestion-facet-value",
3445
3455
  "data-cy": "lupa-suggestion-facet-value"
3446
3456
  };
@@ -3482,8 +3492,8 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
3482
3492
  innerHTML: _ctx.suggestion.displayHighlight
3483
3493
  }, null, 8, _hoisted_1$18)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, vue.toDisplayString(_ctx.suggestion.display), 1)),
3484
3494
  _ctx.suggestion.facet ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
3485
- vue.createElementVNode("span", _hoisted_4$q, vue.toDisplayString(facetLabel.value), 1),
3486
- vue.createElementVNode("span", _hoisted_5$e, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
3495
+ vue.createElementVNode("span", _hoisted_4$r, vue.toDisplayString(facetLabel.value), 1),
3496
+ vue.createElementVNode("span", _hoisted_5$f, vue.toDisplayString(_ctx.suggestion.facet.title), 1)
3487
3497
  ])) : vue.createCommentVNode("", true)
3488
3498
  ]);
3489
3499
  };
@@ -3890,8 +3900,8 @@ const _sfc_main$17 = /* @__PURE__ */ vue.defineComponent({
3890
3900
  const _hoisted_1$11 = ["innerHTML"];
3891
3901
  const _hoisted_2$K = { key: 0 };
3892
3902
  const _hoisted_3$z = { key: 1 };
3893
- const _hoisted_4$p = { class: "lupa-search-box-custom-label" };
3894
- const _hoisted_5$d = { class: "lupa-search-box-custom-text" };
3903
+ const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
3904
+ const _hoisted_5$e = { class: "lupa-search-box-custom-text" };
3895
3905
  const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
3896
3906
  __name: "SearchBoxProductCustom",
3897
3907
  props: {
@@ -3923,8 +3933,8 @@ const _sfc_main$16 = /* @__PURE__ */ vue.defineComponent({
3923
3933
  class: [className.value, "lupa-search-box-product-custom"]
3924
3934
  }, vue.toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
3925
3935
  !label.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$K, vue.toDisplayString(text.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$z, [
3926
- vue.createElementVNode("div", _hoisted_4$p, vue.toDisplayString(label.value), 1),
3927
- vue.createElementVNode("div", _hoisted_5$d, vue.toDisplayString(text.value), 1)
3936
+ vue.createElementVNode("div", _hoisted_4$q, vue.toDisplayString(label.value), 1),
3937
+ vue.createElementVNode("div", _hoisted_5$e, vue.toDisplayString(text.value), 1)
3928
3938
  ]))
3929
3939
  ], 16));
3930
3940
  };
@@ -4264,7 +4274,7 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadV
4264
4274
  const _hoisted_1$_ = ["href"];
4265
4275
  const _hoisted_2$I = { class: "lupa-search-box-product-image-section" };
4266
4276
  const _hoisted_3$x = { class: "lupa-search-box-product-details-section" };
4267
- const _hoisted_4$o = {
4277
+ const _hoisted_4$p = {
4268
4278
  key: 0,
4269
4279
  class: "lupa-search-box-product-add-to-cart-section"
4270
4280
  };
@@ -4343,7 +4353,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
4343
4353
  }, null, 8, ["item", "element", "labels", "link"]);
4344
4354
  }), 128))
4345
4355
  ]),
4346
- addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$o, [
4356
+ addToCartElement.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$p, [
4347
4357
  vue.createVNode(_sfc_main$13, {
4348
4358
  class: "lupa-search-box-product-element",
4349
4359
  item: _ctx.item,
@@ -4467,7 +4477,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
4467
4477
  }
4468
4478
  }
4469
4479
  });
4470
- if (!link) {
4480
+ if (!link || eventType === "addToCart") {
4471
4481
  return;
4472
4482
  }
4473
4483
  emit("product-click");
@@ -4579,7 +4589,7 @@ const _hoisted_3$w = {
4579
4589
  key: 0,
4580
4590
  class: "lupa-panel-title"
4581
4591
  };
4582
- const _hoisted_4$n = {
4592
+ const _hoisted_4$o = {
4583
4593
  key: 1,
4584
4594
  id: "lupa-search-box-panel"
4585
4595
  };
@@ -4760,7 +4770,7 @@ const _sfc_main$$ = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
4760
4770
  showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
4761
4771
  onGoToResults: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("go-to-results"))
4762
4772
  }, null, 8, ["labels", "showTotalCount"])) : vue.createCommentVNode("", true)
4763
- ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$n, [
4773
+ ])) : displayHistory.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$o, [
4764
4774
  vue.createVNode(_sfc_main$1h, {
4765
4775
  options: _ctx.options.history,
4766
4776
  history: history.value,
@@ -5154,7 +5164,7 @@ const _hoisted_3$v = {
5154
5164
  key: 1,
5155
5165
  "data-cy": "did-you-mean-label"
5156
5166
  };
5157
- const _hoisted_4$m = { key: 1 };
5167
+ const _hoisted_4$n = { key: 1 };
5158
5168
  const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
5159
5169
  __name: "SearchResultsDidYouMean",
5160
5170
  props: {
@@ -5205,7 +5215,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
5205
5215
  class: "lupa-did-you-mean lupa-highlighted-search-text",
5206
5216
  "data-cy": "did-you-mean-value",
5207
5217
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
5208
- }, vue.toDisplayString(didYouMeanValue.value) + " ", 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$m, vue.toDisplayString(label) + " ", 1))
5218
+ }, vue.toDisplayString(didYouMeanValue.value) + " ", 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$n, vue.toDisplayString(label) + " ", 1))
5209
5219
  ]);
5210
5220
  }), 128))
5211
5221
  ])) : vue.createCommentVNode("", true)
@@ -5255,7 +5265,7 @@ const _hoisted_3$u = {
5255
5265
  key: 1,
5256
5266
  class: "lupa-results-total-count"
5257
5267
  };
5258
- const _hoisted_4$l = ["innerHTML"];
5268
+ const _hoisted_4$m = ["innerHTML"];
5259
5269
  const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
5260
5270
  __name: "SearchResultsTitle",
5261
5271
  props: {
@@ -5304,7 +5314,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
5304
5314
  key: 2,
5305
5315
  class: "lupa-result-page-description-top",
5306
5316
  innerHTML: descriptionTop.value
5307
- }, null, 8, _hoisted_4$l)) : vue.createCommentVNode("", true)
5317
+ }, null, 8, _hoisted_4$m)) : vue.createCommentVNode("", true)
5308
5318
  ]);
5309
5319
  };
5310
5320
  }
@@ -5350,7 +5360,7 @@ const _hoisted_3$s = {
5350
5360
  key: 0,
5351
5361
  class: "filter-values"
5352
5362
  };
5353
- const _hoisted_4$k = { class: "lupa-current-filter-list" };
5363
+ const _hoisted_4$l = { class: "lupa-current-filter-list" };
5354
5364
  const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
5355
5365
  __name: "CurrentFilters",
5356
5366
  props: {
@@ -5416,7 +5426,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
5416
5426
  }, null, 2)) : vue.createCommentVNode("", true)
5417
5427
  ]),
5418
5428
  !_ctx.expandable || isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$s, [
5419
- vue.createElementVNode("div", _hoisted_4$k, [
5429
+ vue.createElementVNode("div", _hoisted_4$l, [
5420
5430
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(displayFilters), (filter) => {
5421
5431
  return vue.openBlock(), vue.createBlock(_sfc_main$W, {
5422
5432
  key: filter.key + "_" + filter.value,
@@ -5484,8 +5494,8 @@ const _hoisted_1$Q = {
5484
5494
  };
5485
5495
  const _hoisted_2$A = { class: "lupa-category-back" };
5486
5496
  const _hoisted_3$r = ["href"];
5487
- const _hoisted_4$j = ["href"];
5488
- const _hoisted_5$c = { class: "lupa-child-category-list" };
5497
+ const _hoisted_4$k = ["href"];
5498
+ const _hoisted_5$d = { class: "lupa-child-category-list" };
5489
5499
  const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
5490
5500
  __name: "CategoryFilter",
5491
5501
  props: {
@@ -5589,9 +5599,9 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
5589
5599
  href: parentUrlLink.value,
5590
5600
  class: vue.normalizeClass({ "lupa-title-category": !hasBackButton.value }),
5591
5601
  onClick: handleNavigationParent
5592
- }, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$j)
5602
+ }, vue.toDisplayString(parentTitle.value), 11, _hoisted_4$k)
5593
5603
  ], 2),
5594
- vue.createElementVNode("div", _hoisted_5$c, [
5604
+ vue.createElementVNode("div", _hoisted_5$d, [
5595
5605
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(categoryChildren.value, (child) => {
5596
5606
  return vue.openBlock(), vue.createBlock(_sfc_main$U, {
5597
5607
  key: getCategoryKey(child),
@@ -5610,8 +5620,8 @@ const _hoisted_1$P = {
5610
5620
  };
5611
5621
  const _hoisted_2$z = ["placeholder"];
5612
5622
  const _hoisted_3$q = { class: "lupa-terms-list" };
5613
- const _hoisted_4$i = ["onClick"];
5614
- const _hoisted_5$b = { class: "lupa-term-checkbox-wrapper" };
5623
+ const _hoisted_4$j = ["onClick"];
5624
+ const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
5615
5625
  const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
5616
5626
  const _hoisted_7$6 = { class: "lupa-term-label" };
5617
5627
  const _hoisted_8$1 = {
@@ -5707,7 +5717,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
5707
5717
  key: item.title,
5708
5718
  onClick: ($event) => handleFacetClick(item)
5709
5719
  }, [
5710
- vue.createElementVNode("div", _hoisted_5$b, [
5720
+ vue.createElementVNode("div", _hoisted_5$c, [
5711
5721
  vue.createElementVNode("span", {
5712
5722
  class: vue.normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
5713
5723
  }, null, 2)
@@ -5716,7 +5726,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
5716
5726
  vue.createElementVNode("span", _hoisted_7$6, vue.toDisplayString(item.title), 1),
5717
5727
  _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$1, "(" + vue.toDisplayString(item.count) + ")", 1)) : vue.createCommentVNode("", true)
5718
5728
  ])
5719
- ], 10, _hoisted_4$i);
5729
+ ], 10, _hoisted_4$j);
5720
5730
  }), 128))
5721
5731
  ]),
5722
5732
  displayShowMore.value ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -6716,12 +6726,12 @@ const _hoisted_3$p = {
6716
6726
  key: 1,
6717
6727
  class: "lupa-stats-facet-summary-input"
6718
6728
  };
6719
- const _hoisted_4$h = {
6729
+ const _hoisted_4$i = {
6720
6730
  key: 0,
6721
6731
  class: "lupa-stats-range-label"
6722
6732
  };
6723
- const _hoisted_5$a = { class: "lupa-stats-from" };
6724
- const _hoisted_6$7 = ["max", "min", "pattern"];
6733
+ const _hoisted_5$b = { class: "lupa-stats-from" };
6734
+ const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
6725
6735
  const _hoisted_7$5 = { key: 0 };
6726
6736
  const _hoisted_8 = /* @__PURE__ */ vue.createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
6727
6737
  const _hoisted_9 = {
@@ -6729,7 +6739,7 @@ const _hoisted_9 = {
6729
6739
  class: "lupa-stats-range-label"
6730
6740
  };
6731
6741
  const _hoisted_10 = { class: "lupa-stats-to" };
6732
- const _hoisted_11 = ["max", "min", "pattern"];
6742
+ const _hoisted_11 = ["max", "min", "pattern", "aria-label"];
6733
6743
  const _hoisted_12 = { key: 0 };
6734
6744
  const _hoisted_13 = {
6735
6745
  key: 2,
@@ -6857,6 +6867,20 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
6857
6867
  const sliderInputFormat = vue.computed(() => {
6858
6868
  return isPrice.value ? `[0-9]+([${separator.value}][0-9]{1,2})?` : void 0;
6859
6869
  });
6870
+ const sliderAria = vue.computed(() => {
6871
+ var _a, _b, _c, _d, _e, _f;
6872
+ return {
6873
+ "aria-label": ((_b = (_a = props.options.stats) == null ? void 0 : _a.labels) == null ? void 0 : _b.sliderDotAriaLabel) ? `${(_d = (_c = props.options.stats) == null ? void 0 : _c.labels) == null ? void 0 : _d.sliderDotAriaLabel} - ${(_e = props.facet) == null ? void 0 : _e.label}` : `Range slider control dot for ${(_f = props.facet) == null ? void 0 : _f.label}`
6874
+ };
6875
+ });
6876
+ const ariaLabelFrom = vue.computed(() => {
6877
+ var _a, _b, _c, _d, _e;
6878
+ return `${(_b = (_a = props.facet) == null ? void 0 : _a.label) != null ? _b : ""} ${(_e = (_d = (_c = props.options.stats) == null ? void 0 : _c.labels) == null ? void 0 : _d.ariaFrom) != null ? _e : rangeLabelFrom.value}`;
6879
+ });
6880
+ const ariaLabelTo = vue.computed(() => {
6881
+ var _a, _b, _c, _d, _e;
6882
+ return `${(_b = (_a = props.facet) == null ? void 0 : _a.label) != null ? _b : ""} ${(_e = (_d = (_c = props.options.stats) == null ? void 0 : _c.labels) == null ? void 0 : _d.ariaTo) != null ? _e : rangeLabelTo.value}`;
6883
+ });
6860
6884
  vue.watch(currentMinValue, () => {
6861
6885
  innerSliderRange.value = [];
6862
6886
  });
@@ -6886,15 +6910,16 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
6886
6910
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
6887
6911
  !isInputVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$y, vue.toDisplayString(statsSummary.value), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$p, [
6888
6912
  vue.createElementVNode("div", null, [
6889
- rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$h, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
6890
- vue.createElementVNode("div", _hoisted_5$a, [
6913
+ rangeLabelFrom.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$i, vue.toDisplayString(rangeLabelFrom.value), 1)) : vue.createCommentVNode("", true),
6914
+ vue.createElementVNode("div", _hoisted_5$b, [
6891
6915
  vue.withDirectives(vue.createElementVNode("input", {
6892
6916
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
6893
6917
  type: "text",
6894
6918
  maxlength: "8",
6895
6919
  max: facetMax.value,
6896
6920
  min: facetMin.value,
6897
- pattern: sliderInputFormat.value
6921
+ pattern: sliderInputFormat.value,
6922
+ "aria-label": ariaLabelFrom.value
6898
6923
  }, null, 8, _hoisted_6$7), [
6899
6924
  [
6900
6925
  vue.vModelText,
@@ -6916,7 +6941,8 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
6916
6941
  maxlength: "8",
6917
6942
  max: facetMax.value,
6918
6943
  min: facetMin.value,
6919
- pattern: sliderInputFormat.value
6944
+ pattern: sliderInputFormat.value,
6945
+ "aria-label": ariaLabelTo.value
6920
6946
  }, null, 8, _hoisted_11), [
6921
6947
  [
6922
6948
  vue.vModelText,
@@ -6937,11 +6963,12 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
6937
6963
  max: facetMax.value,
6938
6964
  lazy: true,
6939
6965
  step: interval.value,
6966
+ aria: sliderAria.value,
6940
6967
  modelValue: sliderRange.value,
6941
6968
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => sliderRange.value = $event),
6942
6969
  onSlide: handleDragging,
6943
6970
  onEnd: handleChange
6944
- }, null, 8, ["min", "max", "step", "modelValue"])
6971
+ }, null, 8, ["min", "max", "step", "aria", "modelValue"])
6945
6972
  ])) : vue.createCommentVNode("", true)
6946
6973
  ]);
6947
6974
  };
@@ -6950,11 +6977,11 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
6950
6977
  const _hoisted_1$N = { class: "lupa-term-checkbox-wrapper" };
6951
6978
  const _hoisted_2$x = { class: "lupa-term-checkbox-label" };
6952
6979
  const _hoisted_3$o = { class: "lupa-term-label" };
6953
- const _hoisted_4$g = {
6980
+ const _hoisted_4$h = {
6954
6981
  key: 0,
6955
6982
  class: "lupa-term-count"
6956
6983
  };
6957
- const _hoisted_5$9 = {
6984
+ const _hoisted_5$a = {
6958
6985
  key: 0,
6959
6986
  class: "lupa-facet-level"
6960
6987
  };
@@ -7011,10 +7038,10 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
7011
7038
  ]),
7012
7039
  vue.createElementVNode("div", _hoisted_2$x, [
7013
7040
  vue.createElementVNode("span", _hoisted_3$o, vue.toDisplayString(_ctx.item.title) + vue.toDisplayString(" "), 1),
7014
- _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$g, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
7041
+ _ctx.options.showDocumentCount ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$h, "(" + vue.toDisplayString(_ctx.item.count) + ")", 1)) : vue.createCommentVNode("", true)
7015
7042
  ])
7016
7043
  ]),
7017
- showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$9, [
7044
+ showChildren.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$a, [
7018
7045
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(treeItem.value.children, (itemChild) => {
7019
7046
  return vue.openBlock(), vue.createBlock(_component_HierarchyFacetLevel, {
7020
7047
  key: itemChild.title,
@@ -7447,8 +7474,8 @@ const _hoisted_1$H = {
7447
7474
  };
7448
7475
  const _hoisted_2$t = ["onClick"];
7449
7476
  const _hoisted_3$m = { class: "lupa-mobile-sidebar-content" };
7450
- const _hoisted_4$f = { class: "lupa-sidebar-top" };
7451
- const _hoisted_5$8 = { class: "lupa-sidebar-title" };
7477
+ const _hoisted_4$g = { class: "lupa-sidebar-top" };
7478
+ const _hoisted_5$9 = { class: "lupa-sidebar-title" };
7452
7479
  const _hoisted_6$6 = {
7453
7480
  key: 0,
7454
7481
  class: "lupa-sidebar-filter-count"
@@ -7486,8 +7513,8 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
7486
7513
  onClick: vue.withModifiers(handleMobileToggle, ["stop"])
7487
7514
  }, null, 8, _hoisted_2$t),
7488
7515
  vue.createElementVNode("div", _hoisted_3$m, [
7489
- vue.createElementVNode("div", _hoisted_4$f, [
7490
- vue.createElementVNode("div", _hoisted_5$8, [
7516
+ vue.createElementVNode("div", _hoisted_4$g, [
7517
+ vue.createElementVNode("div", _hoisted_5$9, [
7491
7518
  vue.createTextVNode(vue.toDisplayString(sidebarTitle.value) + " ", 1),
7492
7519
  isFilterCountVisible.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, vue.toDisplayString(vue.unref(currentFilterCount)), 1)) : vue.createCommentVNode("", true)
7493
7520
  ]),
@@ -7513,7 +7540,7 @@ const _hoisted_3$l = {
7513
7540
  key: 1,
7514
7541
  class: "lupa-search-results-breadcrumb-text"
7515
7542
  };
7516
- const _hoisted_4$e = { key: 2 };
7543
+ const _hoisted_4$f = { key: 2 };
7517
7544
  const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
7518
7545
  __name: "SearchResultsBreadcrumbs",
7519
7546
  props: {
@@ -7554,7 +7581,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
7554
7581
  return handleNavigation(e, (_a = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a : "");
7555
7582
  }
7556
7583
  }, vue.toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$s)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$l, vue.toDisplayString(getLabel(breadcrumb.label)), 1)),
7557
- index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$e, " / ")) : vue.createCommentVNode("", true)
7584
+ index < breadcrumbsValue.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$f, " / ")) : vue.createCommentVNode("", true)
7558
7585
  ]);
7559
7586
  }), 128))
7560
7587
  ]);
@@ -7655,7 +7682,7 @@ const _hoisted_2$r = {
7655
7682
  class: "lupa-page-number-separator"
7656
7683
  };
7657
7684
  const _hoisted_3$k = ["onClick"];
7658
- const _hoisted_4$d = {
7685
+ const _hoisted_4$e = {
7659
7686
  key: 0,
7660
7687
  class: "lupa-page-number-separator"
7661
7688
  };
@@ -7746,7 +7773,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
7746
7773
  }, vue.toDisplayString(page), 11, _hoisted_3$k);
7747
7774
  }), 128)),
7748
7775
  showLastPage.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
7749
- showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$d, "...")) : vue.createCommentVNode("", true),
7776
+ showLastPageSeparator.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e, "...")) : vue.createCommentVNode("", true),
7750
7777
  vue.createElementVNode("div", {
7751
7778
  class: "lupa-page-number lupa-page-number-last",
7752
7779
  onClick: _cache[2] || (_cache[2] = () => {
@@ -7771,6 +7798,7 @@ const _hoisted_1$B = {
7771
7798
  };
7772
7799
  const _hoisted_2$q = { id: "lupa-select" };
7773
7800
  const _hoisted_3$j = { class: "lupa-select-label" };
7801
+ const _hoisted_4$d = ["aria-label"];
7774
7802
  const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
7775
7803
  __name: "SearchResultsPageSize",
7776
7804
  props: {
@@ -7793,6 +7821,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
7793
7821
  vue.createElementVNode("label", _hoisted_3$j, vue.toDisplayString(_ctx.label), 1),
7794
7822
  vue.createElementVNode("select", {
7795
7823
  class: "lupa-select-dropdown",
7824
+ "aria-label": _ctx.label,
7796
7825
  "data-cy": "lupa-page-size-select-dropdown",
7797
7826
  onChange: handleSelect,
7798
7827
  ref_key: "select",
@@ -7801,7 +7830,7 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
7801
7830
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options.sizes, (option) => {
7802
7831
  return vue.openBlock(), vue.createElementBlock("option", { key: option }, vue.toDisplayString(option), 1);
7803
7832
  }), 128))
7804
- ], 544)
7833
+ ], 40, _hoisted_4$d)
7805
7834
  ])
7806
7835
  ]);
7807
7836
  };
@@ -7813,7 +7842,8 @@ const _hoisted_1$A = {
7813
7842
  };
7814
7843
  const _hoisted_2$p = { id: "lupa-select" };
7815
7844
  const _hoisted_3$i = { class: "lupa-select-label" };
7816
- const _hoisted_4$c = ["value"];
7845
+ const _hoisted_4$c = ["aria-label"];
7846
+ const _hoisted_5$8 = ["value"];
7817
7847
  const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
7818
7848
  __name: "SearchResultsSort",
7819
7849
  props: {
@@ -7867,6 +7897,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
7867
7897
  vue.createElementVNode("label", _hoisted_3$i, vue.toDisplayString(_ctx.options.label), 1),
7868
7898
  vue.withDirectives(vue.createElementVNode("select", {
7869
7899
  class: "lupa-select-dropdown",
7900
+ "aria-label": _ctx.options.label,
7870
7901
  "data-cy": "lupa-sort-select-dropdown",
7871
7902
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
7872
7903
  onChange: handleSelect,
@@ -7876,9 +7907,9 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
7876
7907
  return vue.openBlock(), vue.createElementBlock("option", {
7877
7908
  key: option.key,
7878
7909
  value: option.key
7879
- }, vue.toDisplayString(option.label), 9, _hoisted_4$c);
7910
+ }, vue.toDisplayString(option.label), 9, _hoisted_5$8);
7880
7911
  }), 128))
7881
- ], 544), [
7912
+ ], 40, _hoisted_4$c), [
7882
7913
  [vue.vModelSelect, selectedKey.value]
7883
7914
  ])
7884
7915
  ])
@@ -1627,11 +1627,15 @@ const suggest = (queryKey, query, environment, customBaseUrl) => __awaiter(void
1627
1627
  return { success: false, errors };
1628
1628
  });
1629
1629
  const track$1 = (queryKey, event, environment, customBaseUrl) => __awaiter(void 0, void 0, void 0, function* () {
1630
- const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}events`, Object.assign(Object.assign({}, defaultConfig$1), { body: JSON.stringify(Object.assign({ queryKey }, event)) }));
1631
- if (res.status < 400) {
1630
+ try {
1631
+ const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}events`, Object.assign(Object.assign({}, defaultConfig$1), { body: JSON.stringify(Object.assign({ queryKey }, event)) }));
1632
+ if (res.status < 400) {
1633
+ return { success: false };
1634
+ }
1635
+ return res.json();
1636
+ } catch (e) {
1632
1637
  return { success: false };
1633
1638
  }
1634
- return res.json();
1635
1639
  });
1636
1640
  const loadRedirectionRules = (queryKey, environment, customBaseUrl) => __awaiter(void 0, void 0, void 0, function* () {
1637
1641
  const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}redirections/${queryKey}`, Object.assign(Object.assign({}, defaultConfig$1), { method: "GET" }));
@@ -3160,8 +3164,8 @@ const useSearchBoxStore = defineStore("searchBox", () => {
3160
3164
  const _hoisted_1$1c = { id: "lupa-search-box-input-container" };
3161
3165
  const _hoisted_2$P = { class: "lupa-input-clear" };
3162
3166
  const _hoisted_3$B = { id: "lupa-search-box-input" };
3163
- const _hoisted_4$r = ["value"];
3164
- const _hoisted_5$f = ["placeholder"];
3167
+ const _hoisted_4$s = ["value"];
3168
+ const _hoisted_5$g = ["aria-label", "placeholder"];
3165
3169
  const _hoisted_6$9 = {
3166
3170
  key: 0,
3167
3171
  class: "lupa-close-label"
@@ -3210,6 +3214,10 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
3210
3214
  var _a;
3211
3215
  return __spreadValues({}, (_a = props.options.inputAttributes) != null ? _a : {});
3212
3216
  });
3217
+ const ariaLabel = computed(() => {
3218
+ var _a;
3219
+ return (_a = labels.value.searchInputAriaLabel) != null ? _a : "Search input";
3220
+ });
3213
3221
  watch(suggestedValue, () => {
3214
3222
  if (suggestedValue.value.override) {
3215
3223
  input.value = suggestedValue.value.item.suggestion;
@@ -3253,22 +3261,24 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
3253
3261
  createElementVNode("div", _hoisted_3$B, [
3254
3262
  createElementVNode("input", {
3255
3263
  class: "lupa-hint",
3264
+ "aria-hidden": "true",
3256
3265
  value: showHint.value ? suggestedValue.value.item.suggestion : "",
3257
3266
  disabled: ""
3258
- }, null, 8, _hoisted_4$r),
3267
+ }, null, 8, _hoisted_4$s),
3259
3268
  withDirectives(createElementVNode("input", mergeProps({
3260
3269
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
3261
3270
  }, inputAttributes.value, {
3262
3271
  ref_key: "mainInput",
3263
3272
  ref: mainInput,
3264
3273
  autocomplete: "off",
3274
+ "aria-label": ariaLabel.value,
3265
3275
  class: "lupa-search-box-input-field",
3266
3276
  "data-cy": "lupa-search-box-input-field",
3267
3277
  type: "text",
3268
3278
  placeholder: labels.value.placeholder,
3269
3279
  onInput: handleInput,
3270
3280
  onFocus: handleFocus
3271
- }), null, 16, _hoisted_5$f), [
3281
+ }), null, 16, _hoisted_5$g), [
3272
3282
  [vModelText, inputValue.value]
3273
3283
  ])
3274
3284
  ]),
@@ -3434,11 +3444,11 @@ const _hoisted_3$A = {
3434
3444
  class: "lupa-suggestion-facet",
3435
3445
  "data-cy": "lupa-suggestion-facet"
3436
3446
  };
3437
- const _hoisted_4$q = {
3447
+ const _hoisted_4$r = {
3438
3448
  class: "lupa-suggestion-facet-label",
3439
3449
  "data-cy": "lupa-suggestion-facet-label"
3440
3450
  };
3441
- const _hoisted_5$e = {
3451
+ const _hoisted_5$f = {
3442
3452
  class: "lupa-suggestion-facet-value",
3443
3453
  "data-cy": "lupa-suggestion-facet-value"
3444
3454
  };
@@ -3480,8 +3490,8 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
3480
3490
  innerHTML: _ctx.suggestion.displayHighlight
3481
3491
  }, null, 8, _hoisted_1$18)) : (openBlock(), createElementBlock("div", _hoisted_2$N, toDisplayString(_ctx.suggestion.display), 1)),
3482
3492
  _ctx.suggestion.facet ? (openBlock(), createElementBlock("div", _hoisted_3$A, [
3483
- createElementVNode("span", _hoisted_4$q, toDisplayString(facetLabel.value), 1),
3484
- createElementVNode("span", _hoisted_5$e, toDisplayString(_ctx.suggestion.facet.title), 1)
3493
+ createElementVNode("span", _hoisted_4$r, toDisplayString(facetLabel.value), 1),
3494
+ createElementVNode("span", _hoisted_5$f, toDisplayString(_ctx.suggestion.facet.title), 1)
3485
3495
  ])) : createCommentVNode("", true)
3486
3496
  ]);
3487
3497
  };
@@ -3888,8 +3898,8 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
3888
3898
  const _hoisted_1$11 = ["innerHTML"];
3889
3899
  const _hoisted_2$K = { key: 0 };
3890
3900
  const _hoisted_3$z = { key: 1 };
3891
- const _hoisted_4$p = { class: "lupa-search-box-custom-label" };
3892
- const _hoisted_5$d = { class: "lupa-search-box-custom-text" };
3901
+ const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
3902
+ const _hoisted_5$e = { class: "lupa-search-box-custom-text" };
3893
3903
  const _sfc_main$16 = /* @__PURE__ */ defineComponent({
3894
3904
  __name: "SearchBoxProductCustom",
3895
3905
  props: {
@@ -3921,8 +3931,8 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
3921
3931
  class: [className.value, "lupa-search-box-product-custom"]
3922
3932
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
3923
3933
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$K, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$z, [
3924
- createElementVNode("div", _hoisted_4$p, toDisplayString(label.value), 1),
3925
- createElementVNode("div", _hoisted_5$d, toDisplayString(text.value), 1)
3934
+ createElementVNode("div", _hoisted_4$q, toDisplayString(label.value), 1),
3935
+ createElementVNode("div", _hoisted_5$e, toDisplayString(text.value), 1)
3926
3936
  ]))
3927
3937
  ], 16));
3928
3938
  };
@@ -4262,7 +4272,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValue
4262
4272
  const _hoisted_1$_ = ["href"];
4263
4273
  const _hoisted_2$I = { class: "lupa-search-box-product-image-section" };
4264
4274
  const _hoisted_3$x = { class: "lupa-search-box-product-details-section" };
4265
- const _hoisted_4$o = {
4275
+ const _hoisted_4$p = {
4266
4276
  key: 0,
4267
4277
  class: "lupa-search-box-product-add-to-cart-section"
4268
4278
  };
@@ -4341,7 +4351,7 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
4341
4351
  }, null, 8, ["item", "element", "labels", "link"]);
4342
4352
  }), 128))
4343
4353
  ]),
4344
- addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_4$o, [
4354
+ addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_4$p, [
4345
4355
  createVNode(_sfc_main$13, {
4346
4356
  class: "lupa-search-box-product-element",
4347
4357
  item: _ctx.item,
@@ -4465,7 +4475,7 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
4465
4475
  }
4466
4476
  }
4467
4477
  });
4468
- if (!link) {
4478
+ if (!link || eventType === "addToCart") {
4469
4479
  return;
4470
4480
  }
4471
4481
  emit("product-click");
@@ -4577,7 +4587,7 @@ const _hoisted_3$w = {
4577
4587
  key: 0,
4578
4588
  class: "lupa-panel-title"
4579
4589
  };
4580
- const _hoisted_4$n = {
4590
+ const _hoisted_4$o = {
4581
4591
  key: 1,
4582
4592
  id: "lupa-search-box-panel"
4583
4593
  };
@@ -4758,7 +4768,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues
4758
4768
  showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
4759
4769
  onGoToResults: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("go-to-results"))
4760
4770
  }, null, 8, ["labels", "showTotalCount"])) : createCommentVNode("", true)
4761
- ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_4$n, [
4771
+ ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_4$o, [
4762
4772
  createVNode(_sfc_main$1h, {
4763
4773
  options: _ctx.options.history,
4764
4774
  history: history.value,
@@ -5152,7 +5162,7 @@ const _hoisted_3$v = {
5152
5162
  key: 1,
5153
5163
  "data-cy": "did-you-mean-label"
5154
5164
  };
5155
- const _hoisted_4$m = { key: 1 };
5165
+ const _hoisted_4$n = { key: 1 };
5156
5166
  const _sfc_main$Z = /* @__PURE__ */ defineComponent({
5157
5167
  __name: "SearchResultsDidYouMean",
5158
5168
  props: {
@@ -5203,7 +5213,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
5203
5213
  class: "lupa-did-you-mean lupa-highlighted-search-text",
5204
5214
  "data-cy": "did-you-mean-value",
5205
5215
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
5206
- }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$m, toDisplayString(label) + " ", 1))
5216
+ }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$n, toDisplayString(label) + " ", 1))
5207
5217
  ]);
5208
5218
  }), 128))
5209
5219
  ])) : createCommentVNode("", true)
@@ -5253,7 +5263,7 @@ const _hoisted_3$u = {
5253
5263
  key: 1,
5254
5264
  class: "lupa-results-total-count"
5255
5265
  };
5256
- const _hoisted_4$l = ["innerHTML"];
5266
+ const _hoisted_4$m = ["innerHTML"];
5257
5267
  const _sfc_main$X = /* @__PURE__ */ defineComponent({
5258
5268
  __name: "SearchResultsTitle",
5259
5269
  props: {
@@ -5302,7 +5312,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
5302
5312
  key: 2,
5303
5313
  class: "lupa-result-page-description-top",
5304
5314
  innerHTML: descriptionTop.value
5305
- }, null, 8, _hoisted_4$l)) : createCommentVNode("", true)
5315
+ }, null, 8, _hoisted_4$m)) : createCommentVNode("", true)
5306
5316
  ]);
5307
5317
  };
5308
5318
  }
@@ -5348,7 +5358,7 @@ const _hoisted_3$s = {
5348
5358
  key: 0,
5349
5359
  class: "filter-values"
5350
5360
  };
5351
- const _hoisted_4$k = { class: "lupa-current-filter-list" };
5361
+ const _hoisted_4$l = { class: "lupa-current-filter-list" };
5352
5362
  const _sfc_main$V = /* @__PURE__ */ defineComponent({
5353
5363
  __name: "CurrentFilters",
5354
5364
  props: {
@@ -5414,7 +5424,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
5414
5424
  }, null, 2)) : createCommentVNode("", true)
5415
5425
  ]),
5416
5426
  !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$s, [
5417
- createElementVNode("div", _hoisted_4$k, [
5427
+ createElementVNode("div", _hoisted_4$l, [
5418
5428
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(displayFilters), (filter) => {
5419
5429
  return openBlock(), createBlock(_sfc_main$W, {
5420
5430
  key: filter.key + "_" + filter.value,
@@ -5482,8 +5492,8 @@ const _hoisted_1$Q = {
5482
5492
  };
5483
5493
  const _hoisted_2$A = { class: "lupa-category-back" };
5484
5494
  const _hoisted_3$r = ["href"];
5485
- const _hoisted_4$j = ["href"];
5486
- const _hoisted_5$c = { class: "lupa-child-category-list" };
5495
+ const _hoisted_4$k = ["href"];
5496
+ const _hoisted_5$d = { class: "lupa-child-category-list" };
5487
5497
  const _sfc_main$T = /* @__PURE__ */ defineComponent({
5488
5498
  __name: "CategoryFilter",
5489
5499
  props: {
@@ -5587,9 +5597,9 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
5587
5597
  href: parentUrlLink.value,
5588
5598
  class: normalizeClass({ "lupa-title-category": !hasBackButton.value }),
5589
5599
  onClick: handleNavigationParent
5590
- }, toDisplayString(parentTitle.value), 11, _hoisted_4$j)
5600
+ }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
5591
5601
  ], 2),
5592
- createElementVNode("div", _hoisted_5$c, [
5602
+ createElementVNode("div", _hoisted_5$d, [
5593
5603
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
5594
5604
  return openBlock(), createBlock(_sfc_main$U, {
5595
5605
  key: getCategoryKey(child),
@@ -5608,8 +5618,8 @@ const _hoisted_1$P = {
5608
5618
  };
5609
5619
  const _hoisted_2$z = ["placeholder"];
5610
5620
  const _hoisted_3$q = { class: "lupa-terms-list" };
5611
- const _hoisted_4$i = ["onClick"];
5612
- const _hoisted_5$b = { class: "lupa-term-checkbox-wrapper" };
5621
+ const _hoisted_4$j = ["onClick"];
5622
+ const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
5613
5623
  const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
5614
5624
  const _hoisted_7$6 = { class: "lupa-term-label" };
5615
5625
  const _hoisted_8$1 = {
@@ -5705,7 +5715,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
5705
5715
  key: item.title,
5706
5716
  onClick: ($event) => handleFacetClick(item)
5707
5717
  }, [
5708
- createElementVNode("div", _hoisted_5$b, [
5718
+ createElementVNode("div", _hoisted_5$c, [
5709
5719
  createElementVNode("span", {
5710
5720
  class: normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
5711
5721
  }, null, 2)
@@ -5714,7 +5724,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
5714
5724
  createElementVNode("span", _hoisted_7$6, toDisplayString(item.title), 1),
5715
5725
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_8$1, "(" + toDisplayString(item.count) + ")", 1)) : createCommentVNode("", true)
5716
5726
  ])
5717
- ], 10, _hoisted_4$i);
5727
+ ], 10, _hoisted_4$j);
5718
5728
  }), 128))
5719
5729
  ]),
5720
5730
  displayShowMore.value ? (openBlock(), createElementBlock("div", {
@@ -6714,12 +6724,12 @@ const _hoisted_3$p = {
6714
6724
  key: 1,
6715
6725
  class: "lupa-stats-facet-summary-input"
6716
6726
  };
6717
- const _hoisted_4$h = {
6727
+ const _hoisted_4$i = {
6718
6728
  key: 0,
6719
6729
  class: "lupa-stats-range-label"
6720
6730
  };
6721
- const _hoisted_5$a = { class: "lupa-stats-from" };
6722
- const _hoisted_6$7 = ["max", "min", "pattern"];
6731
+ const _hoisted_5$b = { class: "lupa-stats-from" };
6732
+ const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
6723
6733
  const _hoisted_7$5 = { key: 0 };
6724
6734
  const _hoisted_8 = /* @__PURE__ */ createElementVNode("div", { class: "lupa-stats-separator" }, null, -1);
6725
6735
  const _hoisted_9 = {
@@ -6727,7 +6737,7 @@ const _hoisted_9 = {
6727
6737
  class: "lupa-stats-range-label"
6728
6738
  };
6729
6739
  const _hoisted_10 = { class: "lupa-stats-to" };
6730
- const _hoisted_11 = ["max", "min", "pattern"];
6740
+ const _hoisted_11 = ["max", "min", "pattern", "aria-label"];
6731
6741
  const _hoisted_12 = { key: 0 };
6732
6742
  const _hoisted_13 = {
6733
6743
  key: 2,
@@ -6855,6 +6865,20 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
6855
6865
  const sliderInputFormat = computed(() => {
6856
6866
  return isPrice.value ? `[0-9]+([${separator.value}][0-9]{1,2})?` : void 0;
6857
6867
  });
6868
+ const sliderAria = computed(() => {
6869
+ var _a, _b, _c, _d, _e, _f;
6870
+ return {
6871
+ "aria-label": ((_b = (_a = props.options.stats) == null ? void 0 : _a.labels) == null ? void 0 : _b.sliderDotAriaLabel) ? `${(_d = (_c = props.options.stats) == null ? void 0 : _c.labels) == null ? void 0 : _d.sliderDotAriaLabel} - ${(_e = props.facet) == null ? void 0 : _e.label}` : `Range slider control dot for ${(_f = props.facet) == null ? void 0 : _f.label}`
6872
+ };
6873
+ });
6874
+ const ariaLabelFrom = computed(() => {
6875
+ var _a, _b, _c, _d, _e;
6876
+ return `${(_b = (_a = props.facet) == null ? void 0 : _a.label) != null ? _b : ""} ${(_e = (_d = (_c = props.options.stats) == null ? void 0 : _c.labels) == null ? void 0 : _d.ariaFrom) != null ? _e : rangeLabelFrom.value}`;
6877
+ });
6878
+ const ariaLabelTo = computed(() => {
6879
+ var _a, _b, _c, _d, _e;
6880
+ return `${(_b = (_a = props.facet) == null ? void 0 : _a.label) != null ? _b : ""} ${(_e = (_d = (_c = props.options.stats) == null ? void 0 : _c.labels) == null ? void 0 : _d.ariaTo) != null ? _e : rangeLabelTo.value}`;
6881
+ });
6858
6882
  watch(currentMinValue, () => {
6859
6883
  innerSliderRange.value = [];
6860
6884
  });
@@ -6884,15 +6908,16 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
6884
6908
  return openBlock(), createElementBlock("div", _hoisted_1$O, [
6885
6909
  !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$y, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$p, [
6886
6910
  createElementVNode("div", null, [
6887
- rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$h, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
6888
- createElementVNode("div", _hoisted_5$a, [
6911
+ rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
6912
+ createElementVNode("div", _hoisted_5$b, [
6889
6913
  withDirectives(createElementVNode("input", {
6890
6914
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
6891
6915
  type: "text",
6892
6916
  maxlength: "8",
6893
6917
  max: facetMax.value,
6894
6918
  min: facetMin.value,
6895
- pattern: sliderInputFormat.value
6919
+ pattern: sliderInputFormat.value,
6920
+ "aria-label": ariaLabelFrom.value
6896
6921
  }, null, 8, _hoisted_6$7), [
6897
6922
  [
6898
6923
  vModelText,
@@ -6914,7 +6939,8 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
6914
6939
  maxlength: "8",
6915
6940
  max: facetMax.value,
6916
6941
  min: facetMin.value,
6917
- pattern: sliderInputFormat.value
6942
+ pattern: sliderInputFormat.value,
6943
+ "aria-label": ariaLabelTo.value
6918
6944
  }, null, 8, _hoisted_11), [
6919
6945
  [
6920
6946
  vModelText,
@@ -6935,11 +6961,12 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
6935
6961
  max: facetMax.value,
6936
6962
  lazy: true,
6937
6963
  step: interval.value,
6964
+ aria: sliderAria.value,
6938
6965
  modelValue: sliderRange.value,
6939
6966
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => sliderRange.value = $event),
6940
6967
  onSlide: handleDragging,
6941
6968
  onEnd: handleChange
6942
- }, null, 8, ["min", "max", "step", "modelValue"])
6969
+ }, null, 8, ["min", "max", "step", "aria", "modelValue"])
6943
6970
  ])) : createCommentVNode("", true)
6944
6971
  ]);
6945
6972
  };
@@ -6948,11 +6975,11 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
6948
6975
  const _hoisted_1$N = { class: "lupa-term-checkbox-wrapper" };
6949
6976
  const _hoisted_2$x = { class: "lupa-term-checkbox-label" };
6950
6977
  const _hoisted_3$o = { class: "lupa-term-label" };
6951
- const _hoisted_4$g = {
6978
+ const _hoisted_4$h = {
6952
6979
  key: 0,
6953
6980
  class: "lupa-term-count"
6954
6981
  };
6955
- const _hoisted_5$9 = {
6982
+ const _hoisted_5$a = {
6956
6983
  key: 0,
6957
6984
  class: "lupa-facet-level"
6958
6985
  };
@@ -7009,10 +7036,10 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
7009
7036
  ]),
7010
7037
  createElementVNode("div", _hoisted_2$x, [
7011
7038
  createElementVNode("span", _hoisted_3$o, toDisplayString(_ctx.item.title) + toDisplayString(" "), 1),
7012
- _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$g, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
7039
+ _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$h, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
7013
7040
  ])
7014
7041
  ]),
7015
- showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$9, [
7042
+ showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
7016
7043
  (openBlock(true), createElementBlock(Fragment, null, renderList(treeItem.value.children, (itemChild) => {
7017
7044
  return openBlock(), createBlock(_component_HierarchyFacetLevel, {
7018
7045
  key: itemChild.title,
@@ -7445,8 +7472,8 @@ const _hoisted_1$H = {
7445
7472
  };
7446
7473
  const _hoisted_2$t = ["onClick"];
7447
7474
  const _hoisted_3$m = { class: "lupa-mobile-sidebar-content" };
7448
- const _hoisted_4$f = { class: "lupa-sidebar-top" };
7449
- const _hoisted_5$8 = { class: "lupa-sidebar-title" };
7475
+ const _hoisted_4$g = { class: "lupa-sidebar-top" };
7476
+ const _hoisted_5$9 = { class: "lupa-sidebar-title" };
7450
7477
  const _hoisted_6$6 = {
7451
7478
  key: 0,
7452
7479
  class: "lupa-sidebar-filter-count"
@@ -7484,8 +7511,8 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
7484
7511
  onClick: withModifiers(handleMobileToggle, ["stop"])
7485
7512
  }, null, 8, _hoisted_2$t),
7486
7513
  createElementVNode("div", _hoisted_3$m, [
7487
- createElementVNode("div", _hoisted_4$f, [
7488
- createElementVNode("div", _hoisted_5$8, [
7514
+ createElementVNode("div", _hoisted_4$g, [
7515
+ createElementVNode("div", _hoisted_5$9, [
7489
7516
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
7490
7517
  isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_6$6, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
7491
7518
  ]),
@@ -7511,7 +7538,7 @@ const _hoisted_3$l = {
7511
7538
  key: 1,
7512
7539
  class: "lupa-search-results-breadcrumb-text"
7513
7540
  };
7514
- const _hoisted_4$e = { key: 2 };
7541
+ const _hoisted_4$f = { key: 2 };
7515
7542
  const _sfc_main$J = /* @__PURE__ */ defineComponent({
7516
7543
  __name: "SearchResultsBreadcrumbs",
7517
7544
  props: {
@@ -7552,7 +7579,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
7552
7579
  return handleNavigation(e, (_a = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a : "");
7553
7580
  }
7554
7581
  }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$s)) : (openBlock(), createElementBlock("span", _hoisted_3$l, toDisplayString(getLabel(breadcrumb.label)), 1)),
7555
- index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$e, " / ")) : createCommentVNode("", true)
7582
+ index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$f, " / ")) : createCommentVNode("", true)
7556
7583
  ]);
7557
7584
  }), 128))
7558
7585
  ]);
@@ -7653,7 +7680,7 @@ const _hoisted_2$r = {
7653
7680
  class: "lupa-page-number-separator"
7654
7681
  };
7655
7682
  const _hoisted_3$k = ["onClick"];
7656
- const _hoisted_4$d = {
7683
+ const _hoisted_4$e = {
7657
7684
  key: 0,
7658
7685
  class: "lupa-page-number-separator"
7659
7686
  };
@@ -7744,7 +7771,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
7744
7771
  }, toDisplayString(page), 11, _hoisted_3$k);
7745
7772
  }), 128)),
7746
7773
  showLastPage.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
7747
- showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$d, "...")) : createCommentVNode("", true),
7774
+ showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$e, "...")) : createCommentVNode("", true),
7748
7775
  createElementVNode("div", {
7749
7776
  class: "lupa-page-number lupa-page-number-last",
7750
7777
  onClick: _cache[2] || (_cache[2] = () => {
@@ -7769,6 +7796,7 @@ const _hoisted_1$B = {
7769
7796
  };
7770
7797
  const _hoisted_2$q = { id: "lupa-select" };
7771
7798
  const _hoisted_3$j = { class: "lupa-select-label" };
7799
+ const _hoisted_4$d = ["aria-label"];
7772
7800
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
7773
7801
  __name: "SearchResultsPageSize",
7774
7802
  props: {
@@ -7791,6 +7819,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
7791
7819
  createElementVNode("label", _hoisted_3$j, toDisplayString(_ctx.label), 1),
7792
7820
  createElementVNode("select", {
7793
7821
  class: "lupa-select-dropdown",
7822
+ "aria-label": _ctx.label,
7794
7823
  "data-cy": "lupa-page-size-select-dropdown",
7795
7824
  onChange: handleSelect,
7796
7825
  ref_key: "select",
@@ -7799,7 +7828,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
7799
7828
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options.sizes, (option) => {
7800
7829
  return openBlock(), createElementBlock("option", { key: option }, toDisplayString(option), 1);
7801
7830
  }), 128))
7802
- ], 544)
7831
+ ], 40, _hoisted_4$d)
7803
7832
  ])
7804
7833
  ]);
7805
7834
  };
@@ -7811,7 +7840,8 @@ const _hoisted_1$A = {
7811
7840
  };
7812
7841
  const _hoisted_2$p = { id: "lupa-select" };
7813
7842
  const _hoisted_3$i = { class: "lupa-select-label" };
7814
- const _hoisted_4$c = ["value"];
7843
+ const _hoisted_4$c = ["aria-label"];
7844
+ const _hoisted_5$8 = ["value"];
7815
7845
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
7816
7846
  __name: "SearchResultsSort",
7817
7847
  props: {
@@ -7865,6 +7895,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
7865
7895
  createElementVNode("label", _hoisted_3$i, toDisplayString(_ctx.options.label), 1),
7866
7896
  withDirectives(createElementVNode("select", {
7867
7897
  class: "lupa-select-dropdown",
7898
+ "aria-label": _ctx.options.label,
7868
7899
  "data-cy": "lupa-sort-select-dropdown",
7869
7900
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
7870
7901
  onChange: handleSelect,
@@ -7874,9 +7905,9 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
7874
7905
  return openBlock(), createElementBlock("option", {
7875
7906
  key: option.key,
7876
7907
  value: option.key
7877
- }, toDisplayString(option.label), 9, _hoisted_4$c);
7908
+ }, toDisplayString(option.label), 9, _hoisted_5$8);
7878
7909
  }), 128))
7879
- ], 544), [
7910
+ ], 40, _hoisted_4$c), [
7880
7911
  [vModelSelect, selectedKey.value]
7881
7912
  ])
7882
7913
  ])
@@ -23,6 +23,7 @@ export type SearchBoxOptionLabels = {
23
23
  priceSeparator?: string;
24
24
  defaultFacetLabel?: string;
25
25
  close?: string;
26
+ searchInputAriaLabel?: string;
26
27
  };
27
28
  export type SearchBoxOptionLinks = {
28
29
  searchResults: string;
@@ -168,6 +168,9 @@ export type ResultFacetOptions = {
168
168
  labels?: {
169
169
  from?: string;
170
170
  to?: string;
171
+ ariaFrom?: string;
172
+ ariaTo?: string;
173
+ sliderDotAriaLabel?: string;
171
174
  };
172
175
  };
173
176
  facetValueCountLimit?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlupa/vue",
3
- "version": "0.7.7",
3
+ "version": "0.7.9",
4
4
  "main": "dist/lupaSearch.mjs",
5
5
  "module": "dist/lupaSearch.mjs",
6
6
  "types": "dist/src/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "vue": "^3.0.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@getlupa/client-sdk": "^1.4.0",
26
+ "@getlupa/client-sdk": "^1.4.1",
27
27
  "@pinia/testing": "^0.1.2",
28
28
  "@rollup/plugin-babel": "5.3.0",
29
29
  "@rollup/plugin-commonjs": "^21.0.1",