@getlupa/client 1.6.5 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6273,11 +6273,15 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6273
6273
  return { success: false, errors };
6274
6274
  });
6275
6275
  const track$1 = (queryKey, event, environment, customBaseUrl) => __awaiter(void 0, void 0, void 0, function* () {
6276
- const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}events`, Object.assign(Object.assign({}, defaultConfig$1), { body: JSON.stringify(Object.assign({ queryKey }, event)) }));
6277
- if (res.status < 400) {
6276
+ try {
6277
+ const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}events`, Object.assign(Object.assign({}, defaultConfig$1), { body: JSON.stringify(Object.assign({ queryKey }, event)) }));
6278
+ if (res.status < 400) {
6279
+ return { success: false };
6280
+ }
6281
+ return res.json();
6282
+ } catch (e) {
6278
6283
  return { success: false };
6279
6284
  }
6280
- return res.json();
6281
6285
  });
6282
6286
  const loadRedirectionRules = (queryKey, environment, customBaseUrl) => __awaiter(void 0, void 0, void 0, function* () {
6283
6287
  const res = yield fetch(`${getApiUrl$1(environment, customBaseUrl)}redirections/${queryKey}`, Object.assign(Object.assign({}, defaultConfig$1), { method: "GET" }));
@@ -7806,8 +7810,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7806
7810
  const _hoisted_1$1c = { id: "lupa-search-box-input-container" };
7807
7811
  const _hoisted_2$P = { class: "lupa-input-clear" };
7808
7812
  const _hoisted_3$B = { id: "lupa-search-box-input" };
7809
- const _hoisted_4$r = ["value"];
7810
- const _hoisted_5$f = ["placeholder"];
7813
+ const _hoisted_4$s = ["value"];
7814
+ const _hoisted_5$g = ["aria-label", "placeholder"];
7811
7815
  const _hoisted_6$9 = {
7812
7816
  key: 0,
7813
7817
  class: "lupa-close-label"
@@ -7856,6 +7860,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7856
7860
  var _a;
7857
7861
  return __spreadValues2({}, (_a = props.options.inputAttributes) != null ? _a : {});
7858
7862
  });
7863
+ const ariaLabel = computed(() => {
7864
+ var _a;
7865
+ return (_a = labels.value.searchInputAriaLabel) != null ? _a : "Search input";
7866
+ });
7859
7867
  watch(suggestedValue, () => {
7860
7868
  if (suggestedValue.value.override) {
7861
7869
  input.value = suggestedValue.value.item.suggestion;
@@ -7899,22 +7907,24 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7899
7907
  createBaseVNode("div", _hoisted_3$B, [
7900
7908
  createBaseVNode("input", {
7901
7909
  class: "lupa-hint",
7910
+ "aria-hidden": "true",
7902
7911
  value: showHint.value ? suggestedValue.value.item.suggestion : "",
7903
7912
  disabled: ""
7904
- }, null, 8, _hoisted_4$r),
7913
+ }, null, 8, _hoisted_4$s),
7905
7914
  withDirectives(createBaseVNode("input", mergeProps({
7906
7915
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
7907
7916
  }, inputAttributes.value, {
7908
7917
  ref_key: "mainInput",
7909
7918
  ref: mainInput,
7910
7919
  autocomplete: "off",
7920
+ "aria-label": ariaLabel.value,
7911
7921
  class: "lupa-search-box-input-field",
7912
7922
  "data-cy": "lupa-search-box-input-field",
7913
7923
  type: "text",
7914
7924
  placeholder: labels.value.placeholder,
7915
7925
  onInput: handleInput,
7916
7926
  onFocus: handleFocus
7917
- }), null, 16, _hoisted_5$f), [
7927
+ }), null, 16, _hoisted_5$g), [
7918
7928
  [vModelText, inputValue.value]
7919
7929
  ])
7920
7930
  ]),
@@ -8080,11 +8090,11 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8080
8090
  class: "lupa-suggestion-facet",
8081
8091
  "data-cy": "lupa-suggestion-facet"
8082
8092
  };
8083
- const _hoisted_4$q = {
8093
+ const _hoisted_4$r = {
8084
8094
  class: "lupa-suggestion-facet-label",
8085
8095
  "data-cy": "lupa-suggestion-facet-label"
8086
8096
  };
8087
- const _hoisted_5$e = {
8097
+ const _hoisted_5$f = {
8088
8098
  class: "lupa-suggestion-facet-value",
8089
8099
  "data-cy": "lupa-suggestion-facet-value"
8090
8100
  };
@@ -8126,8 +8136,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8126
8136
  innerHTML: _ctx.suggestion.displayHighlight
8127
8137
  }, null, 8, _hoisted_1$18)) : (openBlock(), createElementBlock("div", _hoisted_2$N, toDisplayString(_ctx.suggestion.display), 1)),
8128
8138
  _ctx.suggestion.facet ? (openBlock(), createElementBlock("div", _hoisted_3$A, [
8129
- createBaseVNode("span", _hoisted_4$q, toDisplayString(facetLabel.value), 1),
8130
- createBaseVNode("span", _hoisted_5$e, toDisplayString(_ctx.suggestion.facet.title), 1)
8139
+ createBaseVNode("span", _hoisted_4$r, toDisplayString(facetLabel.value), 1),
8140
+ createBaseVNode("span", _hoisted_5$f, toDisplayString(_ctx.suggestion.facet.title), 1)
8131
8141
  ])) : createCommentVNode("", true)
8132
8142
  ]);
8133
8143
  };
@@ -8534,8 +8544,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8534
8544
  const _hoisted_1$11 = ["innerHTML"];
8535
8545
  const _hoisted_2$K = { key: 0 };
8536
8546
  const _hoisted_3$z = { key: 1 };
8537
- const _hoisted_4$p = { class: "lupa-search-box-custom-label" };
8538
- const _hoisted_5$d = { class: "lupa-search-box-custom-text" };
8547
+ const _hoisted_4$q = { class: "lupa-search-box-custom-label" };
8548
+ const _hoisted_5$e = { class: "lupa-search-box-custom-text" };
8539
8549
  const _sfc_main$16 = /* @__PURE__ */ defineComponent({
8540
8550
  __name: "SearchBoxProductCustom",
8541
8551
  props: {
@@ -8567,8 +8577,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8567
8577
  class: [className.value, "lupa-search-box-product-custom"]
8568
8578
  }, toHandlers(_ctx.options.action ? { click: handleClick } : {}, true)), [
8569
8579
  !label.value ? (openBlock(), createElementBlock("div", _hoisted_2$K, toDisplayString(text.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$z, [
8570
- createBaseVNode("div", _hoisted_4$p, toDisplayString(label.value), 1),
8571
- createBaseVNode("div", _hoisted_5$d, toDisplayString(text.value), 1)
8580
+ createBaseVNode("div", _hoisted_4$q, toDisplayString(label.value), 1),
8581
+ createBaseVNode("div", _hoisted_5$e, toDisplayString(text.value), 1)
8572
8582
  ]))
8573
8583
  ], 16));
8574
8584
  };
@@ -8908,7 +8918,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8908
8918
  const _hoisted_1$_ = ["href"];
8909
8919
  const _hoisted_2$I = { class: "lupa-search-box-product-image-section" };
8910
8920
  const _hoisted_3$x = { class: "lupa-search-box-product-details-section" };
8911
- const _hoisted_4$o = {
8921
+ const _hoisted_4$p = {
8912
8922
  key: 0,
8913
8923
  class: "lupa-search-box-product-add-to-cart-section"
8914
8924
  };
@@ -8943,6 +8953,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8943
8953
  var _a;
8944
8954
  return (_a = props.panelOptions.elements) == null ? void 0 : _a.find((e) => e.type === DocumentElementType.ADDTOCART);
8945
8955
  });
8956
+ const customDocumentHtmlAttributes = computed(() => {
8957
+ var _a, _b, _c;
8958
+ return (_c = (_b = (_a = props.panelOptions).customDocumentHtmlAttributes) == null ? void 0 : _b.call(_a, props.item)) != null ? _c : {};
8959
+ });
8946
8960
  const handleClick = (event) => {
8947
8961
  emit2("product-click", {
8948
8962
  item: props.item,
@@ -8957,12 +8971,13 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8957
8971
  isInStock.value = props.panelOptions.isInStock ? yield props.panelOptions.isInStock(props.item) : true;
8958
8972
  });
8959
8973
  return (_ctx, _cache) => {
8960
- return openBlock(), createElementBlock("a", {
8961
- class: normalizeClass(["lupa-search-box-product", { "lupa-search-box-product-highlighted": _ctx.highlighted }]),
8974
+ return openBlock(), createElementBlock("a", mergeProps({
8975
+ class: ["lupa-search-box-product", { "lupa-search-box-product-highlighted": _ctx.highlighted }],
8976
+ href: link.value
8977
+ }, customDocumentHtmlAttributes.value, {
8962
8978
  "data-cy": "lupa-search-box-product",
8963
- href: link.value,
8964
8979
  onClick: handleClick
8965
- }, [
8980
+ }), [
8966
8981
  createBaseVNode("div", _hoisted_2$I, [
8967
8982
  (openBlock(true), createElementBlock(Fragment, null, renderList(imageElements.value, (element) => {
8968
8983
  return openBlock(), createBlock(_sfc_main$13, {
@@ -8987,7 +9002,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8987
9002
  }, null, 8, ["item", "element", "labels", "link"]);
8988
9003
  }), 128))
8989
9004
  ]),
8990
- addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_4$o, [
9005
+ addToCartElement.value ? (openBlock(), createElementBlock("div", _hoisted_4$p, [
8991
9006
  createVNode(_sfc_main$13, {
8992
9007
  class: "lupa-search-box-product-element",
8993
9008
  item: _ctx.item,
@@ -8997,7 +9012,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8997
9012
  isInStock: isInStock.value
8998
9013
  }, null, 8, ["item", "element", "labels", "link", "isInStock"])
8999
9014
  ])) : createCommentVNode("", true)
9000
- ], 10, _hoisted_1$_);
9015
+ ], 16, _hoisted_1$_);
9001
9016
  };
9002
9017
  }
9003
9018
  });
@@ -9111,7 +9126,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9111
9126
  }
9112
9127
  }
9113
9128
  });
9114
- if (!link) {
9129
+ if (!link || eventType === "addToCart") {
9115
9130
  return;
9116
9131
  }
9117
9132
  emit2("product-click");
@@ -9223,7 +9238,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9223
9238
  key: 0,
9224
9239
  class: "lupa-panel-title"
9225
9240
  };
9226
- const _hoisted_4$n = {
9241
+ const _hoisted_4$o = {
9227
9242
  key: 1,
9228
9243
  id: "lupa-search-box-panel"
9229
9244
  };
@@ -9404,7 +9419,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9404
9419
  showTotalCount: (_a = _ctx.options.showTotalCount) != null ? _a : false,
9405
9420
  onGoToResults: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("go-to-results"))
9406
9421
  }, null, 8, ["labels", "showTotalCount"])) : createCommentVNode("", true)
9407
- ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_4$n, [
9422
+ ])) : displayHistory.value ? (openBlock(), createElementBlock("div", _hoisted_4$o, [
9408
9423
  createVNode(_sfc_main$1h, {
9409
9424
  options: _ctx.options.history,
9410
9425
  history: history.value,
@@ -9782,7 +9797,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9782
9797
  key: 1,
9783
9798
  "data-cy": "did-you-mean-label"
9784
9799
  };
9785
- const _hoisted_4$m = { key: 1 };
9800
+ const _hoisted_4$n = { key: 1 };
9786
9801
  const _sfc_main$Z = /* @__PURE__ */ defineComponent({
9787
9802
  __name: "SearchResultsDidYouMean",
9788
9803
  props: {
@@ -9833,7 +9848,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9833
9848
  class: "lupa-did-you-mean lupa-highlighted-search-text",
9834
9849
  "data-cy": "did-you-mean-value",
9835
9850
  onClick: _cache[0] || (_cache[0] = ($event) => goToResults({ searchText: didYouMeanValue.value }))
9836
- }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$m, toDisplayString(label) + " ", 1))
9851
+ }, toDisplayString(didYouMeanValue.value) + " ", 1)) : (openBlock(), createElementBlock("span", _hoisted_4$n, toDisplayString(label) + " ", 1))
9837
9852
  ]);
9838
9853
  }), 128))
9839
9854
  ])) : createCommentVNode("", true)
@@ -9883,7 +9898,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9883
9898
  key: 1,
9884
9899
  class: "lupa-results-total-count"
9885
9900
  };
9886
- const _hoisted_4$l = ["innerHTML"];
9901
+ const _hoisted_4$m = ["innerHTML"];
9887
9902
  const _sfc_main$X = /* @__PURE__ */ defineComponent({
9888
9903
  __name: "SearchResultsTitle",
9889
9904
  props: {
@@ -9932,7 +9947,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9932
9947
  key: 2,
9933
9948
  class: "lupa-result-page-description-top",
9934
9949
  innerHTML: descriptionTop.value
9935
- }, null, 8, _hoisted_4$l)) : createCommentVNode("", true)
9950
+ }, null, 8, _hoisted_4$m)) : createCommentVNode("", true)
9936
9951
  ]);
9937
9952
  };
9938
9953
  }
@@ -9978,7 +9993,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
9978
9993
  key: 0,
9979
9994
  class: "filter-values"
9980
9995
  };
9981
- const _hoisted_4$k = { class: "lupa-current-filter-list" };
9996
+ const _hoisted_4$l = { class: "lupa-current-filter-list" };
9982
9997
  const _sfc_main$V = /* @__PURE__ */ defineComponent({
9983
9998
  __name: "CurrentFilters",
9984
9999
  props: {
@@ -10044,7 +10059,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10044
10059
  }, null, 2)) : createCommentVNode("", true)
10045
10060
  ]),
10046
10061
  !_ctx.expandable || isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_3$s, [
10047
- createBaseVNode("div", _hoisted_4$k, [
10062
+ createBaseVNode("div", _hoisted_4$l, [
10048
10063
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(displayFilters), (filter) => {
10049
10064
  return openBlock(), createBlock(_sfc_main$W, {
10050
10065
  key: filter.key + "_" + filter.value,
@@ -10112,8 +10127,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10112
10127
  };
10113
10128
  const _hoisted_2$A = { class: "lupa-category-back" };
10114
10129
  const _hoisted_3$r = ["href"];
10115
- const _hoisted_4$j = ["href"];
10116
- const _hoisted_5$c = { class: "lupa-child-category-list" };
10130
+ const _hoisted_4$k = ["href"];
10131
+ const _hoisted_5$d = { class: "lupa-child-category-list" };
10117
10132
  const _sfc_main$T = /* @__PURE__ */ defineComponent({
10118
10133
  __name: "CategoryFilter",
10119
10134
  props: {
@@ -10217,9 +10232,9 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10217
10232
  href: parentUrlLink.value,
10218
10233
  class: normalizeClass({ "lupa-title-category": !hasBackButton.value }),
10219
10234
  onClick: handleNavigationParent
10220
- }, toDisplayString(parentTitle.value), 11, _hoisted_4$j)
10235
+ }, toDisplayString(parentTitle.value), 11, _hoisted_4$k)
10221
10236
  ], 2),
10222
- createBaseVNode("div", _hoisted_5$c, [
10237
+ createBaseVNode("div", _hoisted_5$d, [
10223
10238
  (openBlock(true), createElementBlock(Fragment, null, renderList(categoryChildren.value, (child) => {
10224
10239
  return openBlock(), createBlock(_sfc_main$U, {
10225
10240
  key: getCategoryKey(child),
@@ -10238,8 +10253,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10238
10253
  };
10239
10254
  const _hoisted_2$z = ["placeholder"];
10240
10255
  const _hoisted_3$q = { class: "lupa-terms-list" };
10241
- const _hoisted_4$i = ["onClick"];
10242
- const _hoisted_5$b = { class: "lupa-term-checkbox-wrapper" };
10256
+ const _hoisted_4$j = ["onClick"];
10257
+ const _hoisted_5$c = { class: "lupa-term-checkbox-wrapper" };
10243
10258
  const _hoisted_6$8 = { class: "lupa-term-checkbox-label" };
10244
10259
  const _hoisted_7$6 = { class: "lupa-term-label" };
10245
10260
  const _hoisted_8$1 = {
@@ -10335,7 +10350,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10335
10350
  key: item.title,
10336
10351
  onClick: ($event) => handleFacetClick(item)
10337
10352
  }, [
10338
- createBaseVNode("div", _hoisted_5$b, [
10353
+ createBaseVNode("div", _hoisted_5$c, [
10339
10354
  createBaseVNode("span", {
10340
10355
  class: normalizeClass(["lupa-term-checkbox", { checked: isChecked(item) }])
10341
10356
  }, null, 2)
@@ -10344,7 +10359,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
10344
10359
  createBaseVNode("span", _hoisted_7$6, toDisplayString(item.title), 1),
10345
10360
  _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_8$1, "(" + toDisplayString(item.count) + ")", 1)) : createCommentVNode("", true)
10346
10361
  ])
10347
- ], 10, _hoisted_4$i);
10362
+ ], 10, _hoisted_4$j);
10348
10363
  }), 128))
10349
10364
  ]),
10350
10365
  displayShowMore.value ? (openBlock(), createElementBlock("div", {
@@ -11344,12 +11359,12 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11344
11359
  key: 1,
11345
11360
  class: "lupa-stats-facet-summary-input"
11346
11361
  };
11347
- const _hoisted_4$h = {
11362
+ const _hoisted_4$i = {
11348
11363
  key: 0,
11349
11364
  class: "lupa-stats-range-label"
11350
11365
  };
11351
- const _hoisted_5$a = { class: "lupa-stats-from" };
11352
- const _hoisted_6$7 = ["max", "min", "pattern"];
11366
+ const _hoisted_5$b = { class: "lupa-stats-from" };
11367
+ const _hoisted_6$7 = ["max", "min", "pattern", "aria-label"];
11353
11368
  const _hoisted_7$5 = { key: 0 };
11354
11369
  const _hoisted_8 = /* @__PURE__ */ createBaseVNode("div", { class: "lupa-stats-separator" }, null, -1);
11355
11370
  const _hoisted_9 = {
@@ -11357,7 +11372,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11357
11372
  class: "lupa-stats-range-label"
11358
11373
  };
11359
11374
  const _hoisted_10 = { class: "lupa-stats-to" };
11360
- const _hoisted_11 = ["max", "min", "pattern"];
11375
+ const _hoisted_11 = ["max", "min", "pattern", "aria-label"];
11361
11376
  const _hoisted_12 = { key: 0 };
11362
11377
  const _hoisted_13 = {
11363
11378
  key: 2,
@@ -11485,6 +11500,20 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11485
11500
  const sliderInputFormat = computed(() => {
11486
11501
  return isPrice.value ? `[0-9]+([${separator.value}][0-9]{1,2})?` : void 0;
11487
11502
  });
11503
+ const sliderAria = computed(() => {
11504
+ var _a, _b, _c, _d, _e, _f;
11505
+ return {
11506
+ "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}`
11507
+ };
11508
+ });
11509
+ const ariaLabelFrom = computed(() => {
11510
+ var _a, _b, _c, _d, _e;
11511
+ 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}`;
11512
+ });
11513
+ const ariaLabelTo = computed(() => {
11514
+ var _a, _b, _c, _d, _e;
11515
+ 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}`;
11516
+ });
11488
11517
  watch(currentMinValue, () => {
11489
11518
  innerSliderRange.value = [];
11490
11519
  });
@@ -11514,15 +11543,16 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11514
11543
  return openBlock(), createElementBlock("div", _hoisted_1$O, [
11515
11544
  !isInputVisible.value ? (openBlock(), createElementBlock("div", _hoisted_2$y, toDisplayString(statsSummary.value), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$p, [
11516
11545
  createBaseVNode("div", null, [
11517
- rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$h, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
11518
- createBaseVNode("div", _hoisted_5$a, [
11546
+ rangeLabelFrom.value ? (openBlock(), createElementBlock("div", _hoisted_4$i, toDisplayString(rangeLabelFrom.value), 1)) : createCommentVNode("", true),
11547
+ createBaseVNode("div", _hoisted_5$b, [
11519
11548
  withDirectives(createBaseVNode("input", {
11520
11549
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => fromValue.value = $event),
11521
11550
  type: "text",
11522
11551
  maxlength: "8",
11523
11552
  max: facetMax.value,
11524
11553
  min: facetMin.value,
11525
- pattern: sliderInputFormat.value
11554
+ pattern: sliderInputFormat.value,
11555
+ "aria-label": ariaLabelFrom.value
11526
11556
  }, null, 8, _hoisted_6$7), [
11527
11557
  [
11528
11558
  vModelText,
@@ -11544,7 +11574,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11544
11574
  maxlength: "8",
11545
11575
  max: facetMax.value,
11546
11576
  min: facetMin.value,
11547
- pattern: sliderInputFormat.value
11577
+ pattern: sliderInputFormat.value,
11578
+ "aria-label": ariaLabelTo.value
11548
11579
  }, null, 8, _hoisted_11), [
11549
11580
  [
11550
11581
  vModelText,
@@ -11565,11 +11596,12 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11565
11596
  max: facetMax.value,
11566
11597
  lazy: true,
11567
11598
  step: interval.value,
11599
+ aria: sliderAria.value,
11568
11600
  modelValue: sliderRange.value,
11569
11601
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => sliderRange.value = $event),
11570
11602
  onSlide: handleDragging,
11571
11603
  onEnd: handleChange
11572
- }, null, 8, ["min", "max", "step", "modelValue"])
11604
+ }, null, 8, ["min", "max", "step", "aria", "modelValue"])
11573
11605
  ])) : createCommentVNode("", true)
11574
11606
  ]);
11575
11607
  };
@@ -11578,11 +11610,11 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11578
11610
  const _hoisted_1$N = { class: "lupa-term-checkbox-wrapper" };
11579
11611
  const _hoisted_2$x = { class: "lupa-term-checkbox-label" };
11580
11612
  const _hoisted_3$o = { class: "lupa-term-label" };
11581
- const _hoisted_4$g = {
11613
+ const _hoisted_4$h = {
11582
11614
  key: 0,
11583
11615
  class: "lupa-term-count"
11584
11616
  };
11585
- const _hoisted_5$9 = {
11617
+ const _hoisted_5$a = {
11586
11618
  key: 0,
11587
11619
  class: "lupa-facet-level"
11588
11620
  };
@@ -11639,10 +11671,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
11639
11671
  ]),
11640
11672
  createBaseVNode("div", _hoisted_2$x, [
11641
11673
  createBaseVNode("span", _hoisted_3$o, toDisplayString(_ctx.item.title) + toDisplayString(" "), 1),
11642
- _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$g, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
11674
+ _ctx.options.showDocumentCount ? (openBlock(), createElementBlock("span", _hoisted_4$h, "(" + toDisplayString(_ctx.item.count) + ")", 1)) : createCommentVNode("", true)
11643
11675
  ])
11644
11676
  ]),
11645
- showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$9, [
11677
+ showChildren.value ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
11646
11678
  (openBlock(true), createElementBlock(Fragment, null, renderList(treeItem.value.children, (itemChild) => {
11647
11679
  return openBlock(), createBlock(_component_HierarchyFacetLevel, {
11648
11680
  key: itemChild.title,
@@ -12075,8 +12107,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12075
12107
  };
12076
12108
  const _hoisted_2$t = ["onClick"];
12077
12109
  const _hoisted_3$m = { class: "lupa-mobile-sidebar-content" };
12078
- const _hoisted_4$f = { class: "lupa-sidebar-top" };
12079
- const _hoisted_5$8 = { class: "lupa-sidebar-title" };
12110
+ const _hoisted_4$g = { class: "lupa-sidebar-top" };
12111
+ const _hoisted_5$9 = { class: "lupa-sidebar-title" };
12080
12112
  const _hoisted_6$6 = {
12081
12113
  key: 0,
12082
12114
  class: "lupa-sidebar-filter-count"
@@ -12114,8 +12146,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12114
12146
  onClick: withModifiers(handleMobileToggle, ["stop"])
12115
12147
  }, null, 8, _hoisted_2$t),
12116
12148
  createBaseVNode("div", _hoisted_3$m, [
12117
- createBaseVNode("div", _hoisted_4$f, [
12118
- createBaseVNode("div", _hoisted_5$8, [
12149
+ createBaseVNode("div", _hoisted_4$g, [
12150
+ createBaseVNode("div", _hoisted_5$9, [
12119
12151
  createTextVNode(toDisplayString(sidebarTitle.value) + " ", 1),
12120
12152
  isFilterCountVisible.value ? (openBlock(), createElementBlock("span", _hoisted_6$6, toDisplayString(unref(currentFilterCount)), 1)) : createCommentVNode("", true)
12121
12153
  ]),
@@ -12141,7 +12173,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12141
12173
  key: 1,
12142
12174
  class: "lupa-search-results-breadcrumb-text"
12143
12175
  };
12144
- const _hoisted_4$e = { key: 2 };
12176
+ const _hoisted_4$f = { key: 2 };
12145
12177
  const _sfc_main$J = /* @__PURE__ */ defineComponent({
12146
12178
  __name: "SearchResultsBreadcrumbs",
12147
12179
  props: {
@@ -12182,7 +12214,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12182
12214
  return handleNavigation(e, (_a = breadcrumb == null ? void 0 : breadcrumb.link) != null ? _a : "");
12183
12215
  }
12184
12216
  }, toDisplayString(getLabel(breadcrumb.label)), 9, _hoisted_2$s)) : (openBlock(), createElementBlock("span", _hoisted_3$l, toDisplayString(getLabel(breadcrumb.label)), 1)),
12185
- index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$e, " / ")) : createCommentVNode("", true)
12217
+ index < breadcrumbsValue.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_4$f, " / ")) : createCommentVNode("", true)
12186
12218
  ]);
12187
12219
  }), 128))
12188
12220
  ]);
@@ -12283,7 +12315,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12283
12315
  class: "lupa-page-number-separator"
12284
12316
  };
12285
12317
  const _hoisted_3$k = ["onClick"];
12286
- const _hoisted_4$d = {
12318
+ const _hoisted_4$e = {
12287
12319
  key: 0,
12288
12320
  class: "lupa-page-number-separator"
12289
12321
  };
@@ -12374,7 +12406,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12374
12406
  }, toDisplayString(page), 11, _hoisted_3$k);
12375
12407
  }), 128)),
12376
12408
  showLastPage.value ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
12377
- showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$d, "...")) : createCommentVNode("", true),
12409
+ showLastPageSeparator.value ? (openBlock(), createElementBlock("div", _hoisted_4$e, "...")) : createCommentVNode("", true),
12378
12410
  createBaseVNode("div", {
12379
12411
  class: "lupa-page-number lupa-page-number-last",
12380
12412
  onClick: _cache[2] || (_cache[2] = () => {
@@ -12399,6 +12431,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12399
12431
  };
12400
12432
  const _hoisted_2$q = { id: "lupa-select" };
12401
12433
  const _hoisted_3$j = { class: "lupa-select-label" };
12434
+ const _hoisted_4$d = ["aria-label"];
12402
12435
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
12403
12436
  __name: "SearchResultsPageSize",
12404
12437
  props: {
@@ -12421,6 +12454,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12421
12454
  createBaseVNode("label", _hoisted_3$j, toDisplayString(_ctx.label), 1),
12422
12455
  createBaseVNode("select", {
12423
12456
  class: "lupa-select-dropdown",
12457
+ "aria-label": _ctx.label,
12424
12458
  "data-cy": "lupa-page-size-select-dropdown",
12425
12459
  onChange: handleSelect,
12426
12460
  ref_key: "select",
@@ -12429,7 +12463,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12429
12463
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options.sizes, (option) => {
12430
12464
  return openBlock(), createElementBlock("option", { key: option }, toDisplayString(option), 1);
12431
12465
  }), 128))
12432
- ], 544)
12466
+ ], 40, _hoisted_4$d)
12433
12467
  ])
12434
12468
  ]);
12435
12469
  };
@@ -12441,7 +12475,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12441
12475
  };
12442
12476
  const _hoisted_2$p = { id: "lupa-select" };
12443
12477
  const _hoisted_3$i = { class: "lupa-select-label" };
12444
- const _hoisted_4$c = ["value"];
12478
+ const _hoisted_4$c = ["aria-label"];
12479
+ const _hoisted_5$8 = ["value"];
12445
12480
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
12446
12481
  __name: "SearchResultsSort",
12447
12482
  props: {
@@ -12495,6 +12530,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12495
12530
  createBaseVNode("label", _hoisted_3$i, toDisplayString(_ctx.options.label), 1),
12496
12531
  withDirectives(createBaseVNode("select", {
12497
12532
  class: "lupa-select-dropdown",
12533
+ "aria-label": _ctx.options.label,
12498
12534
  "data-cy": "lupa-sort-select-dropdown",
12499
12535
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
12500
12536
  onChange: handleSelect,
@@ -12504,9 +12540,9 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
12504
12540
  return openBlock(), createElementBlock("option", {
12505
12541
  key: option.key,
12506
12542
  value: option.key
12507
- }, toDisplayString(option.label), 9, _hoisted_4$c);
12543
+ }, toDisplayString(option.label), 9, _hoisted_5$8);
12508
12544
  }), 128))
12509
- ], 544), [
12545
+ ], 40, _hoisted_4$c), [
12510
12546
  [vModelSelect, selectedKey.value]
12511
12547
  ])
12512
12548
  ])
@@ -13488,6 +13524,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13488
13524
  }
13489
13525
  return (_b = (_a = props.options) == null ? void 0 : _a.labels) == null ? void 0 : _b.htmlTitleTemplate;
13490
13526
  });
13527
+ const customDocumentHtmlAttributes = computed(() => {
13528
+ var _a, _b, _c;
13529
+ return (_c = (_b = (_a = props.options).customDocumentHtmlAttributes) == null ? void 0 : _b.call(_a, props.product)) != null ? _c : {};
13530
+ });
13491
13531
  const getGroupElements = (group) => {
13492
13532
  var _a, _b;
13493
13533
  return (_b = (_a = props.options.elements) == null ? void 0 : _a.filter((e) => e.group === group)) != null ? _b : [];
@@ -13544,12 +13584,11 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13544
13584
  }
13545
13585
  return (_ctx, _cache) => {
13546
13586
  var _a;
13547
- return openBlock(), createElementBlock("div", {
13587
+ return openBlock(), createElementBlock("div", mergeProps({
13548
13588
  id: "lupa-search-result-product-card",
13549
13589
  "data-cy": "lupa-search-result-product-card",
13550
- class: normalizeClass(["lupa-search-result-product-card", !isInStock.value ? "lupa-out-of-stock" : ""]),
13551
- onClick: handleClick
13552
- }, [
13590
+ class: ["lupa-search-result-product-card", !isInStock.value ? "lupa-out-of-stock" : ""]
13591
+ }, customDocumentHtmlAttributes.value, { onClick: handleClick }), [
13553
13592
  createVNode(_sfc_main$w, { options: badgesOptions.value }, null, 8, ["options"]),
13554
13593
  createBaseVNode("div", {
13555
13594
  class: normalizeClass(["lupa-search-result-product-contents", listLayoutClass.value])
@@ -13611,7 +13650,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13611
13650
  ], 2);
13612
13651
  }), 128))
13613
13652
  ], 2)
13614
- ], 2);
13653
+ ], 16);
13615
13654
  };
13616
13655
  }
13617
13656
  });
@@ -13938,7 +13977,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13938
13977
  "queryKey",
13939
13978
  "idKey",
13940
13979
  "titleKey",
13941
- "routingBehavior"
13980
+ "routingBehavior",
13981
+ "customDocumentHtmlAttributes"
13942
13982
  ]);
13943
13983
  });
13944
13984
  const similarQueriesLabels = computed(() => {