@getlupa/client 1.21.0 → 1.21.1

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.
@@ -18100,6 +18100,10 @@ var __async = (__this, __arguments, generator) => {
18100
18100
  return (_b25 = (_a25 = currentResolutionPageSizes.value) == null ? void 0 : _a25[0]) != null ? _b25 : DEFAULT_PAGE_SIZE;
18101
18101
  }
18102
18102
  );
18103
+ const ariaLabels = computed(() => {
18104
+ var _a25, _b25;
18105
+ return (_b25 = (_a25 = searchResultOptions.value.labels) == null ? void 0 : _a25.aria) != null ? _b25 : {};
18106
+ });
18103
18107
  const currentResolutionPageSizes = computed(() => {
18104
18108
  var _a25, _b25, _c, _d;
18105
18109
  const pageSizes = (_d = (_c = (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.pagination) == null ? void 0 : _b25.sizeSelection) == null ? void 0 : _c.sizes) != null ? _d : DEFAULT_PAGE_SIZE_SELECTION;
@@ -18155,6 +18159,7 @@ var __async = (__this, __arguments, generator) => {
18155
18159
  defaultSearchResultPageSize,
18156
18160
  currentResolutionPageSizes,
18157
18161
  productRecommendationOptions,
18162
+ ariaLabels,
18158
18163
  setSearchBoxOptions,
18159
18164
  setTrackingOptions,
18160
18165
  setSearchResultOptions,
@@ -19767,6 +19772,7 @@ var __async = (__this, __arguments, generator) => {
19767
19772
  const _hoisted_2$W = { class: "lupa-dialog-content" };
19768
19773
  const _hoisted_3$E = { class: "lupa-listening-text" };
19769
19774
  const _hoisted_4$u = { class: "lupa-mic-button-wrapper" };
19775
+ const _hoisted_5$l = ["aria-label"];
19770
19776
  const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19771
19777
  __name: "VoiceSearchDialog",
19772
19778
  props: {
@@ -19870,6 +19876,7 @@ var __async = (__this, __arguments, generator) => {
19870
19876
  reset: dialogReset
19871
19877
  });
19872
19878
  return (_ctx, _cache) => {
19879
+ var _a25, _b25;
19873
19880
  return openBlock(), createElementBlock("div", null, [
19874
19881
  props.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1l, [
19875
19882
  createBaseVNode("button", {
@@ -19881,8 +19888,10 @@ var __async = (__this, __arguments, generator) => {
19881
19888
  createBaseVNode("div", _hoisted_4$u, [
19882
19889
  createBaseVNode("button", {
19883
19890
  class: normalizeClass(["lupa-mic-button", { recording: unref(isRecording) }]),
19884
- onClick: handleRecordingButtonClick
19885
- }, null, 2),
19891
+ onClick: handleRecordingButtonClick,
19892
+ "aria-controls": "voice-search-microphone",
19893
+ "aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
19894
+ }, null, 10, _hoisted_5$l),
19886
19895
  createVNode(_sfc_main$1A, {
19887
19896
  ref_key: "voiceSearchProgressBar",
19888
19897
  ref: voiceSearchProgressBar,
@@ -19908,6 +19917,7 @@ var __async = (__this, __arguments, generator) => {
19908
19917
  class: "lupa-close-label"
19909
19918
  };
19910
19919
  const _hoisted_7$5 = { key: 1 };
19920
+ const _hoisted_8$3 = ["aria-label"];
19911
19921
  const _sfc_main$1y = /* @__PURE__ */ defineComponent({
19912
19922
  __name: "SearchBoxInput",
19913
19923
  props: {
@@ -19963,6 +19973,10 @@ var __async = (__this, __arguments, generator) => {
19963
19973
  var _a25;
19964
19974
  return (_a25 = labels.value.searchInputAriaLabel) != null ? _a25 : "Search input";
19965
19975
  });
19976
+ const voiceSearchAriaLabel = computed(() => {
19977
+ var _a25, _b25, _c, _d;
19978
+ return (_d = (_c = (_b25 = (_a25 = props.options.voiceSearch) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.aria) == null ? void 0 : _c.openDialog) != null ? _d : "Open voice search dialog";
19979
+ });
19966
19980
  onMounted(() => {
19967
19981
  document.addEventListener("click", handleClickOutsideVoiceDialogOverlay);
19968
19982
  });
@@ -20083,8 +20097,11 @@ var __async = (__this, __arguments, generator) => {
20083
20097
  isVoiceSearchEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_7$5, [
20084
20098
  createBaseVNode("button", {
20085
20099
  onClick: openVoiceSearchDialog,
20086
- class: "lupa-voice-search-button"
20087
- })
20100
+ class: "lupa-voice-search-button",
20101
+ "aria-haspopup": "dialog",
20102
+ "aria-controls": "voice-search-dialog",
20103
+ "aria-label": voiceSearchAriaLabel.value
20104
+ }, null, 8, _hoisted_8$3)
20088
20105
  ])) : createCommentVNode("", true),
20089
20106
  isVoiceSearchEnabled.value ? (openBlock(), createBlock(_sfc_main$1z, {
20090
20107
  key: 2,
@@ -34379,12 +34396,12 @@ and ensure you are accounting for this risk.
34379
34396
  }), 128)),
34380
34397
  itemLimit.value < filteredValues.value.length ? (openBlock(), createElementBlock("div", {
34381
34398
  key: 1,
34382
- class: normalizeClass(["lupa-facet-term lupa-show-more-facet-results", { "lupa-show-less-facet-results": showAll.value }]),
34399
+ class: "lupa-facet-term lupa-show-more-facet-results",
34383
34400
  "data-cy": "lupa-facet-term",
34384
34401
  onClick: handleShowAll
34385
- }, toDisplayString(_ctx.options.labels.showAll), 3)) : showAll.value ? (openBlock(), createElementBlock("div", {
34402
+ }, toDisplayString(_ctx.options.labels.showAll), 1)) : showAll.value ? (openBlock(), createElementBlock("div", {
34386
34403
  key: 2,
34387
- class: "lupa-facet-term lupa-show-more-facet-results",
34404
+ class: "lupa-facet-term lupa-show-more-facet-results lupa-show-less-facet-results",
34388
34405
  onClick: handleCancelShowAll
34389
34406
  }, toDisplayString(_ctx.options.labels.showLess), 1)) : createCommentVNode("", true)
34390
34407
  ]);
@@ -35222,7 +35239,10 @@ and ensure you are accounting for this risk.
35222
35239
  "data-cy": "lupa-search-results-page-size"
35223
35240
  };
35224
35241
  const _hoisted_2$t = { id: "lupa-select" };
35225
- const _hoisted_3$l = { class: "lupa-select-label" };
35242
+ const _hoisted_3$l = {
35243
+ class: "lupa-select-label",
35244
+ for: "lupa-page-size-select-dropdown"
35245
+ };
35226
35246
  const _hoisted_4$d = ["aria-label"];
35227
35247
  const _hoisted_5$a = ["value"];
35228
35248
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
@@ -35235,6 +35255,7 @@ and ensure you are accounting for this risk.
35235
35255
  const props = __props;
35236
35256
  const paramsStore = useParamsStore();
35237
35257
  const optionsStore = useOptionsStore();
35258
+ const { ariaLabels } = storeToRefs(optionsStore);
35238
35259
  const select = ref(null);
35239
35260
  const prefixLabel = computed(() => {
35240
35261
  var _a25, _b25;
@@ -35253,12 +35274,14 @@ and ensure you are accounting for this risk.
35253
35274
  });
35254
35275
  };
35255
35276
  return (_ctx, _cache) => {
35277
+ var _a25, _b25, _c;
35256
35278
  return openBlock(), createElementBlock("div", _hoisted_1$C, [
35257
35279
  createBaseVNode("div", _hoisted_2$t, [
35258
35280
  createBaseVNode("label", _hoisted_3$l, toDisplayString(label.value), 1),
35259
35281
  createBaseVNode("select", {
35282
+ id: "lupa-page-size-select-dropdown",
35260
35283
  class: "lupa-select-dropdown",
35261
- "aria-label": label.value,
35284
+ "aria-label": (_c = (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.pageSizeSelect) != null ? _b25 : label.value) != null ? _c : "Select page size",
35262
35285
  "data-cy": "lupa-page-size-select-dropdown",
35263
35286
  onChange: handleSelect,
35264
35287
  ref_key: "select",
@@ -35281,7 +35304,10 @@ and ensure you are accounting for this risk.
35281
35304
  class: "lupa-search-results-sort"
35282
35305
  };
35283
35306
  const _hoisted_2$s = { id: "lupa-select" };
35284
- const _hoisted_3$k = { class: "lupa-select-label" };
35307
+ const _hoisted_3$k = {
35308
+ class: "lupa-select-label",
35309
+ for: "lupa-sort-select-dropdown"
35310
+ };
35285
35311
  const _hoisted_4$c = ["aria-label"];
35286
35312
  const _hoisted_5$9 = ["value"];
35287
35313
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
@@ -35295,6 +35321,7 @@ and ensure you are accounting for this risk.
35295
35321
  const paramStore = useParamsStore();
35296
35322
  const optionStore = useOptionsStore();
35297
35323
  const { sort } = storeToRefs(paramStore);
35324
+ const { ariaLabels } = storeToRefs(optionStore);
35298
35325
  const selectedKey = ref("");
35299
35326
  const previousKey = ref("");
35300
35327
  const sortItems = computed(() => {
@@ -35333,12 +35360,14 @@ and ensure you are accounting for this risk.
35333
35360
  previousKey.value = selectedKey.value;
35334
35361
  };
35335
35362
  return (_ctx, _cache) => {
35363
+ var _a25, _b25;
35336
35364
  return openBlock(), createElementBlock("div", _hoisted_1$B, [
35337
35365
  createBaseVNode("div", _hoisted_2$s, [
35338
35366
  createBaseVNode("label", _hoisted_3$k, toDisplayString(_ctx.options.label), 1),
35339
35367
  withDirectives(createBaseVNode("select", {
35368
+ id: "lupa-sort-select-dropdown",
35340
35369
  class: "lupa-select-dropdown",
35341
- "aria-label": _ctx.options.label,
35370
+ "aria-label": (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : _ctx.options.label,
35342
35371
  "data-cy": "lupa-sort-select-dropdown",
35343
35372
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
35344
35373
  onChange: handleSelect,
@@ -39658,6 +39687,10 @@ and ensure you are accounting for this risk.
39658
39687
  const itemId = computed(() => {
39659
39688
  return typeof props.options.itemId === "string" || typeof props.options.itemId === "number" || Array.isArray(props.options.itemId) ? props.options.itemId : extractValue(props.options.itemId);
39660
39689
  });
39690
+ const wrapAround = computed(() => {
39691
+ var _a25, _b25;
39692
+ return (_b25 = (_a25 = carouselOptions.value) == null ? void 0 : _a25.wrapAround) != null ? _b25 : true;
39693
+ });
39661
39694
  const loadLupaRecommendations = () => __async2(null, null, function* () {
39662
39695
  var _a25, _b25;
39663
39696
  recommendationsType.value = "recommendations_lupasearch";
@@ -39692,7 +39725,7 @@ and ensure you are accounting for this risk.
39692
39725
  hasRecommendations.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
39693
39726
  title.value ? (openBlock(), createElementBlock("h2", _hoisted_1$9, toDisplayString(title.value), 1)) : createCommentVNode("", true),
39694
39727
  !loading.value ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
39695
- layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
39728
+ layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": wrapAround.value }), {
39696
39729
  addons: withCtx(() => [
39697
39730
  createVNode(unref(Navigation))
39698
39731
  ]),
@@ -39715,7 +39748,7 @@ and ensure you are accounting for this risk.
39715
39748
  }), 128))
39716
39749
  ]),
39717
39750
  _: 1
39718
- }, 16)) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39751
+ }, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39719
39752
  (openBlock(true), createElementBlock(Fragment, null, renderList(recommendations2.value, (product, index) => {
39720
39753
  return openBlock(), createBlock(_sfc_main$t, {
39721
39754
  style: normalizeStyle(columnSize.value),
@@ -18100,6 +18100,10 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
18100
18100
  return (_b25 = (_a25 = currentResolutionPageSizes.value) == null ? void 0 : _a25[0]) != null ? _b25 : DEFAULT_PAGE_SIZE;
18101
18101
  }
18102
18102
  );
18103
+ const ariaLabels = computed(() => {
18104
+ var _a25, _b25;
18105
+ return (_b25 = (_a25 = searchResultOptions.value.labels) == null ? void 0 : _a25.aria) != null ? _b25 : {};
18106
+ });
18103
18107
  const currentResolutionPageSizes = computed(() => {
18104
18108
  var _a25, _b25, _c, _d;
18105
18109
  const pageSizes = (_d = (_c = (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.pagination) == null ? void 0 : _b25.sizeSelection) == null ? void 0 : _c.sizes) != null ? _d : DEFAULT_PAGE_SIZE_SELECTION;
@@ -18155,6 +18159,7 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
18155
18159
  defaultSearchResultPageSize,
18156
18160
  currentResolutionPageSizes,
18157
18161
  productRecommendationOptions,
18162
+ ariaLabels,
18158
18163
  setSearchBoxOptions,
18159
18164
  setTrackingOptions,
18160
18165
  setSearchResultOptions,
@@ -19767,6 +19772,7 @@ const _hoisted_1$1l = {
19767
19772
  const _hoisted_2$W = { class: "lupa-dialog-content" };
19768
19773
  const _hoisted_3$E = { class: "lupa-listening-text" };
19769
19774
  const _hoisted_4$u = { class: "lupa-mic-button-wrapper" };
19775
+ const _hoisted_5$l = ["aria-label"];
19770
19776
  const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19771
19777
  __name: "VoiceSearchDialog",
19772
19778
  props: {
@@ -19870,6 +19876,7 @@ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19870
19876
  reset: dialogReset
19871
19877
  });
19872
19878
  return (_ctx, _cache) => {
19879
+ var _a25, _b25;
19873
19880
  return openBlock(), createElementBlock("div", null, [
19874
19881
  props.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1l, [
19875
19882
  createBaseVNode("button", {
@@ -19881,8 +19888,10 @@ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19881
19888
  createBaseVNode("div", _hoisted_4$u, [
19882
19889
  createBaseVNode("button", {
19883
19890
  class: normalizeClass(["lupa-mic-button", { recording: unref(isRecording) }]),
19884
- onClick: handleRecordingButtonClick
19885
- }, null, 2),
19891
+ onClick: handleRecordingButtonClick,
19892
+ "aria-controls": "voice-search-microphone",
19893
+ "aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
19894
+ }, null, 10, _hoisted_5$l),
19886
19895
  createVNode(_sfc_main$1A, {
19887
19896
  ref_key: "voiceSearchProgressBar",
19888
19897
  ref: voiceSearchProgressBar,
@@ -19908,6 +19917,7 @@ const _hoisted_6$8 = {
19908
19917
  class: "lupa-close-label"
19909
19918
  };
19910
19919
  const _hoisted_7$5 = { key: 1 };
19920
+ const _hoisted_8$3 = ["aria-label"];
19911
19921
  const _sfc_main$1y = /* @__PURE__ */ defineComponent({
19912
19922
  __name: "SearchBoxInput",
19913
19923
  props: {
@@ -19963,6 +19973,10 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
19963
19973
  var _a25;
19964
19974
  return (_a25 = labels.value.searchInputAriaLabel) != null ? _a25 : "Search input";
19965
19975
  });
19976
+ const voiceSearchAriaLabel = computed(() => {
19977
+ var _a25, _b25, _c, _d;
19978
+ return (_d = (_c = (_b25 = (_a25 = props.options.voiceSearch) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.aria) == null ? void 0 : _c.openDialog) != null ? _d : "Open voice search dialog";
19979
+ });
19966
19980
  onMounted(() => {
19967
19981
  document.addEventListener("click", handleClickOutsideVoiceDialogOverlay);
19968
19982
  });
@@ -20083,8 +20097,11 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
20083
20097
  isVoiceSearchEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_7$5, [
20084
20098
  createBaseVNode("button", {
20085
20099
  onClick: openVoiceSearchDialog,
20086
- class: "lupa-voice-search-button"
20087
- })
20100
+ class: "lupa-voice-search-button",
20101
+ "aria-haspopup": "dialog",
20102
+ "aria-controls": "voice-search-dialog",
20103
+ "aria-label": voiceSearchAriaLabel.value
20104
+ }, null, 8, _hoisted_8$3)
20088
20105
  ])) : createCommentVNode("", true),
20089
20106
  isVoiceSearchEnabled.value ? (openBlock(), createBlock(_sfc_main$1z, {
20090
20107
  key: 2,
@@ -34379,12 +34396,12 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
34379
34396
  }), 128)),
34380
34397
  itemLimit.value < filteredValues.value.length ? (openBlock(), createElementBlock("div", {
34381
34398
  key: 1,
34382
- class: normalizeClass(["lupa-facet-term lupa-show-more-facet-results", { "lupa-show-less-facet-results": showAll.value }]),
34399
+ class: "lupa-facet-term lupa-show-more-facet-results",
34383
34400
  "data-cy": "lupa-facet-term",
34384
34401
  onClick: handleShowAll
34385
- }, toDisplayString(_ctx.options.labels.showAll), 3)) : showAll.value ? (openBlock(), createElementBlock("div", {
34402
+ }, toDisplayString(_ctx.options.labels.showAll), 1)) : showAll.value ? (openBlock(), createElementBlock("div", {
34386
34403
  key: 2,
34387
- class: "lupa-facet-term lupa-show-more-facet-results",
34404
+ class: "lupa-facet-term lupa-show-more-facet-results lupa-show-less-facet-results",
34388
34405
  onClick: handleCancelShowAll
34389
34406
  }, toDisplayString(_ctx.options.labels.showLess), 1)) : createCommentVNode("", true)
34390
34407
  ]);
@@ -35222,7 +35239,10 @@ const _hoisted_1$C = {
35222
35239
  "data-cy": "lupa-search-results-page-size"
35223
35240
  };
35224
35241
  const _hoisted_2$t = { id: "lupa-select" };
35225
- const _hoisted_3$l = { class: "lupa-select-label" };
35242
+ const _hoisted_3$l = {
35243
+ class: "lupa-select-label",
35244
+ for: "lupa-page-size-select-dropdown"
35245
+ };
35226
35246
  const _hoisted_4$d = ["aria-label"];
35227
35247
  const _hoisted_5$a = ["value"];
35228
35248
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
@@ -35235,6 +35255,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
35235
35255
  const props = __props;
35236
35256
  const paramsStore = useParamsStore();
35237
35257
  const optionsStore = useOptionsStore();
35258
+ const { ariaLabels } = storeToRefs(optionsStore);
35238
35259
  const select = ref(null);
35239
35260
  const prefixLabel = computed(() => {
35240
35261
  var _a25, _b25;
@@ -35253,12 +35274,14 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
35253
35274
  });
35254
35275
  };
35255
35276
  return (_ctx, _cache) => {
35277
+ var _a25, _b25, _c;
35256
35278
  return openBlock(), createElementBlock("div", _hoisted_1$C, [
35257
35279
  createBaseVNode("div", _hoisted_2$t, [
35258
35280
  createBaseVNode("label", _hoisted_3$l, toDisplayString(label.value), 1),
35259
35281
  createBaseVNode("select", {
35282
+ id: "lupa-page-size-select-dropdown",
35260
35283
  class: "lupa-select-dropdown",
35261
- "aria-label": label.value,
35284
+ "aria-label": (_c = (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.pageSizeSelect) != null ? _b25 : label.value) != null ? _c : "Select page size",
35262
35285
  "data-cy": "lupa-page-size-select-dropdown",
35263
35286
  onChange: handleSelect,
35264
35287
  ref_key: "select",
@@ -35281,7 +35304,10 @@ const _hoisted_1$B = {
35281
35304
  class: "lupa-search-results-sort"
35282
35305
  };
35283
35306
  const _hoisted_2$s = { id: "lupa-select" };
35284
- const _hoisted_3$k = { class: "lupa-select-label" };
35307
+ const _hoisted_3$k = {
35308
+ class: "lupa-select-label",
35309
+ for: "lupa-sort-select-dropdown"
35310
+ };
35285
35311
  const _hoisted_4$c = ["aria-label"];
35286
35312
  const _hoisted_5$9 = ["value"];
35287
35313
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
@@ -35295,6 +35321,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
35295
35321
  const paramStore = useParamsStore();
35296
35322
  const optionStore = useOptionsStore();
35297
35323
  const { sort } = storeToRefs(paramStore);
35324
+ const { ariaLabels } = storeToRefs(optionStore);
35298
35325
  const selectedKey = ref("");
35299
35326
  const previousKey = ref("");
35300
35327
  const sortItems = computed(() => {
@@ -35333,12 +35360,14 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
35333
35360
  previousKey.value = selectedKey.value;
35334
35361
  };
35335
35362
  return (_ctx, _cache) => {
35363
+ var _a25, _b25;
35336
35364
  return openBlock(), createElementBlock("div", _hoisted_1$B, [
35337
35365
  createBaseVNode("div", _hoisted_2$s, [
35338
35366
  createBaseVNode("label", _hoisted_3$k, toDisplayString(_ctx.options.label), 1),
35339
35367
  withDirectives(createBaseVNode("select", {
35368
+ id: "lupa-sort-select-dropdown",
35340
35369
  class: "lupa-select-dropdown",
35341
- "aria-label": _ctx.options.label,
35370
+ "aria-label": (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : _ctx.options.label,
35342
35371
  "data-cy": "lupa-sort-select-dropdown",
35343
35372
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
35344
35373
  onChange: handleSelect,
@@ -39658,6 +39687,10 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
39658
39687
  const itemId = computed(() => {
39659
39688
  return typeof props.options.itemId === "string" || typeof props.options.itemId === "number" || Array.isArray(props.options.itemId) ? props.options.itemId : extractValue(props.options.itemId);
39660
39689
  });
39690
+ const wrapAround = computed(() => {
39691
+ var _a25, _b25;
39692
+ return (_b25 = (_a25 = carouselOptions.value) == null ? void 0 : _a25.wrapAround) != null ? _b25 : true;
39693
+ });
39661
39694
  const loadLupaRecommendations = () => __async2(null, null, function* () {
39662
39695
  var _a25, _b25;
39663
39696
  recommendationsType.value = "recommendations_lupasearch";
@@ -39692,7 +39725,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
39692
39725
  hasRecommendations.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
39693
39726
  title.value ? (openBlock(), createElementBlock("h2", _hoisted_1$9, toDisplayString(title.value), 1)) : createCommentVNode("", true),
39694
39727
  !loading.value ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
39695
- layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
39728
+ layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": wrapAround.value }), {
39696
39729
  addons: withCtx(() => [
39697
39730
  createVNode(unref(Navigation))
39698
39731
  ]),
@@ -39715,7 +39748,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
39715
39748
  }), 128))
39716
39749
  ]),
39717
39750
  _: 1
39718
- }, 16)) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39751
+ }, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39719
39752
  (openBlock(true), createElementBlock(Fragment, null, renderList(recommendations2.value, (product, index) => {
39720
39753
  return openBlock(), createBlock(_sfc_main$t, {
39721
39754
  style: normalizeStyle(columnSize.value),
@@ -18098,6 +18098,10 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
18098
18098
  return (_b25 = (_a25 = currentResolutionPageSizes.value) == null ? void 0 : _a25[0]) != null ? _b25 : DEFAULT_PAGE_SIZE;
18099
18099
  }
18100
18100
  );
18101
+ const ariaLabels = computed(() => {
18102
+ var _a25, _b25;
18103
+ return (_b25 = (_a25 = searchResultOptions.value.labels) == null ? void 0 : _a25.aria) != null ? _b25 : {};
18104
+ });
18101
18105
  const currentResolutionPageSizes = computed(() => {
18102
18106
  var _a25, _b25, _c, _d;
18103
18107
  const pageSizes = (_d = (_c = (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.pagination) == null ? void 0 : _b25.sizeSelection) == null ? void 0 : _c.sizes) != null ? _d : DEFAULT_PAGE_SIZE_SELECTION;
@@ -18153,6 +18157,7 @@ const useOptionsStore = /* @__PURE__ */ defineStore("options", () => {
18153
18157
  defaultSearchResultPageSize,
18154
18158
  currentResolutionPageSizes,
18155
18159
  productRecommendationOptions,
18160
+ ariaLabels,
18156
18161
  setSearchBoxOptions,
18157
18162
  setTrackingOptions,
18158
18163
  setSearchResultOptions,
@@ -19765,6 +19770,7 @@ const _hoisted_1$1l = {
19765
19770
  const _hoisted_2$W = { class: "lupa-dialog-content" };
19766
19771
  const _hoisted_3$E = { class: "lupa-listening-text" };
19767
19772
  const _hoisted_4$u = { class: "lupa-mic-button-wrapper" };
19773
+ const _hoisted_5$l = ["aria-label"];
19768
19774
  const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19769
19775
  __name: "VoiceSearchDialog",
19770
19776
  props: {
@@ -19868,6 +19874,7 @@ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19868
19874
  reset: dialogReset
19869
19875
  });
19870
19876
  return (_ctx, _cache) => {
19877
+ var _a25, _b25;
19871
19878
  return openBlock(), createElementBlock("div", null, [
19872
19879
  props.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1l, [
19873
19880
  createBaseVNode("button", {
@@ -19879,8 +19886,10 @@ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19879
19886
  createBaseVNode("div", _hoisted_4$u, [
19880
19887
  createBaseVNode("button", {
19881
19888
  class: normalizeClass(["lupa-mic-button", { recording: unref(isRecording) }]),
19882
- onClick: handleRecordingButtonClick
19883
- }, null, 2),
19889
+ onClick: handleRecordingButtonClick,
19890
+ "aria-controls": "voice-search-microphone",
19891
+ "aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
19892
+ }, null, 10, _hoisted_5$l),
19884
19893
  createVNode(_sfc_main$1A, {
19885
19894
  ref_key: "voiceSearchProgressBar",
19886
19895
  ref: voiceSearchProgressBar,
@@ -19906,6 +19915,7 @@ const _hoisted_6$8 = {
19906
19915
  class: "lupa-close-label"
19907
19916
  };
19908
19917
  const _hoisted_7$5 = { key: 1 };
19918
+ const _hoisted_8$3 = ["aria-label"];
19909
19919
  const _sfc_main$1y = /* @__PURE__ */ defineComponent({
19910
19920
  __name: "SearchBoxInput",
19911
19921
  props: {
@@ -19961,6 +19971,10 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
19961
19971
  var _a25;
19962
19972
  return (_a25 = labels.value.searchInputAriaLabel) != null ? _a25 : "Search input";
19963
19973
  });
19974
+ const voiceSearchAriaLabel = computed(() => {
19975
+ var _a25, _b25, _c, _d;
19976
+ return (_d = (_c = (_b25 = (_a25 = props.options.voiceSearch) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.aria) == null ? void 0 : _c.openDialog) != null ? _d : "Open voice search dialog";
19977
+ });
19964
19978
  onMounted(() => {
19965
19979
  document.addEventListener("click", handleClickOutsideVoiceDialogOverlay);
19966
19980
  });
@@ -20081,8 +20095,11 @@ const _sfc_main$1y = /* @__PURE__ */ defineComponent({
20081
20095
  isVoiceSearchEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_7$5, [
20082
20096
  createBaseVNode("button", {
20083
20097
  onClick: openVoiceSearchDialog,
20084
- class: "lupa-voice-search-button"
20085
- })
20098
+ class: "lupa-voice-search-button",
20099
+ "aria-haspopup": "dialog",
20100
+ "aria-controls": "voice-search-dialog",
20101
+ "aria-label": voiceSearchAriaLabel.value
20102
+ }, null, 8, _hoisted_8$3)
20086
20103
  ])) : createCommentVNode("", true),
20087
20104
  isVoiceSearchEnabled.value ? (openBlock(), createBlock(_sfc_main$1z, {
20088
20105
  key: 2,
@@ -34377,12 +34394,12 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
34377
34394
  }), 128)),
34378
34395
  itemLimit.value < filteredValues.value.length ? (openBlock(), createElementBlock("div", {
34379
34396
  key: 1,
34380
- class: normalizeClass(["lupa-facet-term lupa-show-more-facet-results", { "lupa-show-less-facet-results": showAll.value }]),
34397
+ class: "lupa-facet-term lupa-show-more-facet-results",
34381
34398
  "data-cy": "lupa-facet-term",
34382
34399
  onClick: handleShowAll
34383
- }, toDisplayString(_ctx.options.labels.showAll), 3)) : showAll.value ? (openBlock(), createElementBlock("div", {
34400
+ }, toDisplayString(_ctx.options.labels.showAll), 1)) : showAll.value ? (openBlock(), createElementBlock("div", {
34384
34401
  key: 2,
34385
- class: "lupa-facet-term lupa-show-more-facet-results",
34402
+ class: "lupa-facet-term lupa-show-more-facet-results lupa-show-less-facet-results",
34386
34403
  onClick: handleCancelShowAll
34387
34404
  }, toDisplayString(_ctx.options.labels.showLess), 1)) : createCommentVNode("", true)
34388
34405
  ]);
@@ -35220,7 +35237,10 @@ const _hoisted_1$C = {
35220
35237
  "data-cy": "lupa-search-results-page-size"
35221
35238
  };
35222
35239
  const _hoisted_2$t = { id: "lupa-select" };
35223
- const _hoisted_3$l = { class: "lupa-select-label" };
35240
+ const _hoisted_3$l = {
35241
+ class: "lupa-select-label",
35242
+ for: "lupa-page-size-select-dropdown"
35243
+ };
35224
35244
  const _hoisted_4$d = ["aria-label"];
35225
35245
  const _hoisted_5$a = ["value"];
35226
35246
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
@@ -35233,6 +35253,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
35233
35253
  const props = __props;
35234
35254
  const paramsStore = useParamsStore();
35235
35255
  const optionsStore = useOptionsStore();
35256
+ const { ariaLabels } = storeToRefs(optionsStore);
35236
35257
  const select = ref(null);
35237
35258
  const prefixLabel = computed(() => {
35238
35259
  var _a25, _b25;
@@ -35251,12 +35272,14 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
35251
35272
  });
35252
35273
  };
35253
35274
  return (_ctx, _cache) => {
35275
+ var _a25, _b25, _c;
35254
35276
  return openBlock(), createElementBlock("div", _hoisted_1$C, [
35255
35277
  createBaseVNode("div", _hoisted_2$t, [
35256
35278
  createBaseVNode("label", _hoisted_3$l, toDisplayString(label.value), 1),
35257
35279
  createBaseVNode("select", {
35280
+ id: "lupa-page-size-select-dropdown",
35258
35281
  class: "lupa-select-dropdown",
35259
- "aria-label": label.value,
35282
+ "aria-label": (_c = (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.pageSizeSelect) != null ? _b25 : label.value) != null ? _c : "Select page size",
35260
35283
  "data-cy": "lupa-page-size-select-dropdown",
35261
35284
  onChange: handleSelect,
35262
35285
  ref_key: "select",
@@ -35279,7 +35302,10 @@ const _hoisted_1$B = {
35279
35302
  class: "lupa-search-results-sort"
35280
35303
  };
35281
35304
  const _hoisted_2$s = { id: "lupa-select" };
35282
- const _hoisted_3$k = { class: "lupa-select-label" };
35305
+ const _hoisted_3$k = {
35306
+ class: "lupa-select-label",
35307
+ for: "lupa-sort-select-dropdown"
35308
+ };
35283
35309
  const _hoisted_4$c = ["aria-label"];
35284
35310
  const _hoisted_5$9 = ["value"];
35285
35311
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
@@ -35293,6 +35319,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
35293
35319
  const paramStore = useParamsStore();
35294
35320
  const optionStore = useOptionsStore();
35295
35321
  const { sort } = storeToRefs(paramStore);
35322
+ const { ariaLabels } = storeToRefs(optionStore);
35296
35323
  const selectedKey = ref("");
35297
35324
  const previousKey = ref("");
35298
35325
  const sortItems = computed(() => {
@@ -35331,12 +35358,14 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
35331
35358
  previousKey.value = selectedKey.value;
35332
35359
  };
35333
35360
  return (_ctx, _cache) => {
35361
+ var _a25, _b25;
35334
35362
  return openBlock(), createElementBlock("div", _hoisted_1$B, [
35335
35363
  createBaseVNode("div", _hoisted_2$s, [
35336
35364
  createBaseVNode("label", _hoisted_3$k, toDisplayString(_ctx.options.label), 1),
35337
35365
  withDirectives(createBaseVNode("select", {
35366
+ id: "lupa-sort-select-dropdown",
35338
35367
  class: "lupa-select-dropdown",
35339
- "aria-label": _ctx.options.label,
35368
+ "aria-label": (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : _ctx.options.label,
35340
35369
  "data-cy": "lupa-sort-select-dropdown",
35341
35370
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
35342
35371
  onChange: handleSelect,
@@ -39656,6 +39685,10 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
39656
39685
  const itemId = computed(() => {
39657
39686
  return typeof props.options.itemId === "string" || typeof props.options.itemId === "number" || Array.isArray(props.options.itemId) ? props.options.itemId : extractValue(props.options.itemId);
39658
39687
  });
39688
+ const wrapAround = computed(() => {
39689
+ var _a25, _b25;
39690
+ return (_b25 = (_a25 = carouselOptions.value) == null ? void 0 : _a25.wrapAround) != null ? _b25 : true;
39691
+ });
39659
39692
  const loadLupaRecommendations = () => __async2(null, null, function* () {
39660
39693
  var _a25, _b25;
39661
39694
  recommendationsType.value = "recommendations_lupasearch";
@@ -39690,7 +39723,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
39690
39723
  hasRecommendations.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
39691
39724
  title.value ? (openBlock(), createElementBlock("h2", _hoisted_1$9, toDisplayString(title.value), 1)) : createCommentVNode("", true),
39692
39725
  !loading.value ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
39693
- layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
39726
+ layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": wrapAround.value }), {
39694
39727
  addons: withCtx(() => [
39695
39728
  createVNode(unref(Navigation))
39696
39729
  ]),
@@ -39713,7 +39746,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
39713
39746
  }), 128))
39714
39747
  ]),
39715
39748
  _: 1
39716
- }, 16)) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39749
+ }, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39717
39750
  (openBlock(true), createElementBlock(Fragment, null, renderList(recommendations2.value, (product, index) => {
39718
39751
  return openBlock(), createBlock(_sfc_main$t, {
39719
39752
  style: normalizeStyle(columnSize.value),
@@ -18102,6 +18102,10 @@ var __async = (__this, __arguments, generator) => {
18102
18102
  return (_b25 = (_a25 = currentResolutionPageSizes.value) == null ? void 0 : _a25[0]) != null ? _b25 : DEFAULT_PAGE_SIZE;
18103
18103
  }
18104
18104
  );
18105
+ const ariaLabels = computed(() => {
18106
+ var _a25, _b25;
18107
+ return (_b25 = (_a25 = searchResultOptions.value.labels) == null ? void 0 : _a25.aria) != null ? _b25 : {};
18108
+ });
18105
18109
  const currentResolutionPageSizes = computed(() => {
18106
18110
  var _a25, _b25, _c, _d;
18107
18111
  const pageSizes = (_d = (_c = (_b25 = (_a25 = searchResultOptions.value) == null ? void 0 : _a25.pagination) == null ? void 0 : _b25.sizeSelection) == null ? void 0 : _c.sizes) != null ? _d : DEFAULT_PAGE_SIZE_SELECTION;
@@ -18157,6 +18161,7 @@ var __async = (__this, __arguments, generator) => {
18157
18161
  defaultSearchResultPageSize,
18158
18162
  currentResolutionPageSizes,
18159
18163
  productRecommendationOptions,
18164
+ ariaLabels,
18160
18165
  setSearchBoxOptions,
18161
18166
  setTrackingOptions,
18162
18167
  setSearchResultOptions,
@@ -19769,6 +19774,7 @@ var __async = (__this, __arguments, generator) => {
19769
19774
  const _hoisted_2$W = { class: "lupa-dialog-content" };
19770
19775
  const _hoisted_3$E = { class: "lupa-listening-text" };
19771
19776
  const _hoisted_4$u = { class: "lupa-mic-button-wrapper" };
19777
+ const _hoisted_5$l = ["aria-label"];
19772
19778
  const _sfc_main$1z = /* @__PURE__ */ defineComponent({
19773
19779
  __name: "VoiceSearchDialog",
19774
19780
  props: {
@@ -19872,6 +19878,7 @@ var __async = (__this, __arguments, generator) => {
19872
19878
  reset: dialogReset
19873
19879
  });
19874
19880
  return (_ctx, _cache) => {
19881
+ var _a25, _b25;
19875
19882
  return openBlock(), createElementBlock("div", null, [
19876
19883
  props.isOpen ? (openBlock(), createElementBlock("div", _hoisted_1$1l, [
19877
19884
  createBaseVNode("button", {
@@ -19883,8 +19890,10 @@ var __async = (__this, __arguments, generator) => {
19883
19890
  createBaseVNode("div", _hoisted_4$u, [
19884
19891
  createBaseVNode("button", {
19885
19892
  class: normalizeClass(["lupa-mic-button", { recording: unref(isRecording) }]),
19886
- onClick: handleRecordingButtonClick
19887
- }, null, 2),
19893
+ onClick: handleRecordingButtonClick,
19894
+ "aria-controls": "voice-search-microphone",
19895
+ "aria-label": ((_b25 = (_a25 = labels.value) == null ? void 0 : _a25.aria) == null ? void 0 : _b25.microphone) || "Toggle microphone"
19896
+ }, null, 10, _hoisted_5$l),
19888
19897
  createVNode(_sfc_main$1A, {
19889
19898
  ref_key: "voiceSearchProgressBar",
19890
19899
  ref: voiceSearchProgressBar,
@@ -19910,6 +19919,7 @@ var __async = (__this, __arguments, generator) => {
19910
19919
  class: "lupa-close-label"
19911
19920
  };
19912
19921
  const _hoisted_7$5 = { key: 1 };
19922
+ const _hoisted_8$3 = ["aria-label"];
19913
19923
  const _sfc_main$1y = /* @__PURE__ */ defineComponent({
19914
19924
  __name: "SearchBoxInput",
19915
19925
  props: {
@@ -19965,6 +19975,10 @@ var __async = (__this, __arguments, generator) => {
19965
19975
  var _a25;
19966
19976
  return (_a25 = labels.value.searchInputAriaLabel) != null ? _a25 : "Search input";
19967
19977
  });
19978
+ const voiceSearchAriaLabel = computed(() => {
19979
+ var _a25, _b25, _c, _d;
19980
+ return (_d = (_c = (_b25 = (_a25 = props.options.voiceSearch) == null ? void 0 : _a25.labels) == null ? void 0 : _b25.aria) == null ? void 0 : _c.openDialog) != null ? _d : "Open voice search dialog";
19981
+ });
19968
19982
  onMounted(() => {
19969
19983
  document.addEventListener("click", handleClickOutsideVoiceDialogOverlay);
19970
19984
  });
@@ -20085,8 +20099,11 @@ var __async = (__this, __arguments, generator) => {
20085
20099
  isVoiceSearchEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_7$5, [
20086
20100
  createBaseVNode("button", {
20087
20101
  onClick: openVoiceSearchDialog,
20088
- class: "lupa-voice-search-button"
20089
- })
20102
+ class: "lupa-voice-search-button",
20103
+ "aria-haspopup": "dialog",
20104
+ "aria-controls": "voice-search-dialog",
20105
+ "aria-label": voiceSearchAriaLabel.value
20106
+ }, null, 8, _hoisted_8$3)
20090
20107
  ])) : createCommentVNode("", true),
20091
20108
  isVoiceSearchEnabled.value ? (openBlock(), createBlock(_sfc_main$1z, {
20092
20109
  key: 2,
@@ -34381,12 +34398,12 @@ and ensure you are accounting for this risk.
34381
34398
  }), 128)),
34382
34399
  itemLimit.value < filteredValues.value.length ? (openBlock(), createElementBlock("div", {
34383
34400
  key: 1,
34384
- class: normalizeClass(["lupa-facet-term lupa-show-more-facet-results", { "lupa-show-less-facet-results": showAll.value }]),
34401
+ class: "lupa-facet-term lupa-show-more-facet-results",
34385
34402
  "data-cy": "lupa-facet-term",
34386
34403
  onClick: handleShowAll
34387
- }, toDisplayString(_ctx.options.labels.showAll), 3)) : showAll.value ? (openBlock(), createElementBlock("div", {
34404
+ }, toDisplayString(_ctx.options.labels.showAll), 1)) : showAll.value ? (openBlock(), createElementBlock("div", {
34388
34405
  key: 2,
34389
- class: "lupa-facet-term lupa-show-more-facet-results",
34406
+ class: "lupa-facet-term lupa-show-more-facet-results lupa-show-less-facet-results",
34390
34407
  onClick: handleCancelShowAll
34391
34408
  }, toDisplayString(_ctx.options.labels.showLess), 1)) : createCommentVNode("", true)
34392
34409
  ]);
@@ -35224,7 +35241,10 @@ and ensure you are accounting for this risk.
35224
35241
  "data-cy": "lupa-search-results-page-size"
35225
35242
  };
35226
35243
  const _hoisted_2$t = { id: "lupa-select" };
35227
- const _hoisted_3$l = { class: "lupa-select-label" };
35244
+ const _hoisted_3$l = {
35245
+ class: "lupa-select-label",
35246
+ for: "lupa-page-size-select-dropdown"
35247
+ };
35228
35248
  const _hoisted_4$d = ["aria-label"];
35229
35249
  const _hoisted_5$a = ["value"];
35230
35250
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
@@ -35237,6 +35257,7 @@ and ensure you are accounting for this risk.
35237
35257
  const props = __props;
35238
35258
  const paramsStore = useParamsStore();
35239
35259
  const optionsStore = useOptionsStore();
35260
+ const { ariaLabels } = storeToRefs(optionsStore);
35240
35261
  const select = ref(null);
35241
35262
  const prefixLabel = computed(() => {
35242
35263
  var _a25, _b25;
@@ -35255,12 +35276,14 @@ and ensure you are accounting for this risk.
35255
35276
  });
35256
35277
  };
35257
35278
  return (_ctx, _cache) => {
35279
+ var _a25, _b25, _c;
35258
35280
  return openBlock(), createElementBlock("div", _hoisted_1$C, [
35259
35281
  createBaseVNode("div", _hoisted_2$t, [
35260
35282
  createBaseVNode("label", _hoisted_3$l, toDisplayString(label.value), 1),
35261
35283
  createBaseVNode("select", {
35284
+ id: "lupa-page-size-select-dropdown",
35262
35285
  class: "lupa-select-dropdown",
35263
- "aria-label": label.value,
35286
+ "aria-label": (_c = (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.pageSizeSelect) != null ? _b25 : label.value) != null ? _c : "Select page size",
35264
35287
  "data-cy": "lupa-page-size-select-dropdown",
35265
35288
  onChange: handleSelect,
35266
35289
  ref_key: "select",
@@ -35283,7 +35306,10 @@ and ensure you are accounting for this risk.
35283
35306
  class: "lupa-search-results-sort"
35284
35307
  };
35285
35308
  const _hoisted_2$s = { id: "lupa-select" };
35286
- const _hoisted_3$k = { class: "lupa-select-label" };
35309
+ const _hoisted_3$k = {
35310
+ class: "lupa-select-label",
35311
+ for: "lupa-sort-select-dropdown"
35312
+ };
35287
35313
  const _hoisted_4$c = ["aria-label"];
35288
35314
  const _hoisted_5$9 = ["value"];
35289
35315
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
@@ -35297,6 +35323,7 @@ and ensure you are accounting for this risk.
35297
35323
  const paramStore = useParamsStore();
35298
35324
  const optionStore = useOptionsStore();
35299
35325
  const { sort } = storeToRefs(paramStore);
35326
+ const { ariaLabels } = storeToRefs(optionStore);
35300
35327
  const selectedKey = ref("");
35301
35328
  const previousKey = ref("");
35302
35329
  const sortItems = computed(() => {
@@ -35335,12 +35362,14 @@ and ensure you are accounting for this risk.
35335
35362
  previousKey.value = selectedKey.value;
35336
35363
  };
35337
35364
  return (_ctx, _cache) => {
35365
+ var _a25, _b25;
35338
35366
  return openBlock(), createElementBlock("div", _hoisted_1$B, [
35339
35367
  createBaseVNode("div", _hoisted_2$s, [
35340
35368
  createBaseVNode("label", _hoisted_3$k, toDisplayString(_ctx.options.label), 1),
35341
35369
  withDirectives(createBaseVNode("select", {
35370
+ id: "lupa-sort-select-dropdown",
35342
35371
  class: "lupa-select-dropdown",
35343
- "aria-label": _ctx.options.label,
35372
+ "aria-label": (_b25 = (_a25 = unref(ariaLabels)) == null ? void 0 : _a25.sortBySelect) != null ? _b25 : _ctx.options.label,
35344
35373
  "data-cy": "lupa-sort-select-dropdown",
35345
35374
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedKey.value = $event),
35346
35375
  onChange: handleSelect,
@@ -39660,6 +39689,10 @@ and ensure you are accounting for this risk.
39660
39689
  const itemId = computed(() => {
39661
39690
  return typeof props.options.itemId === "string" || typeof props.options.itemId === "number" || Array.isArray(props.options.itemId) ? props.options.itemId : extractValue(props.options.itemId);
39662
39691
  });
39692
+ const wrapAround = computed(() => {
39693
+ var _a25, _b25;
39694
+ return (_b25 = (_a25 = carouselOptions.value) == null ? void 0 : _a25.wrapAround) != null ? _b25 : true;
39695
+ });
39663
39696
  const loadLupaRecommendations = () => __async2(null, null, function* () {
39664
39697
  var _a25, _b25;
39665
39698
  recommendationsType.value = "recommendations_lupasearch";
@@ -39694,7 +39727,7 @@ and ensure you are accounting for this risk.
39694
39727
  hasRecommendations.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
39695
39728
  title.value ? (openBlock(), createElementBlock("h2", _hoisted_1$9, toDisplayString(title.value), 1)) : createCommentVNode("", true),
39696
39729
  !loading.value ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
39697
- layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": true }), {
39730
+ layoutType.value === "carousel" ? (openBlock(), createBlock(unref(Carousel), mergeProps({ key: 0 }, carouselOptions.value, { "wrap-around": wrapAround.value }), {
39698
39731
  addons: withCtx(() => [
39699
39732
  createVNode(unref(Navigation))
39700
39733
  ]),
@@ -39717,7 +39750,7 @@ and ensure you are accounting for this risk.
39717
39750
  }), 128))
39718
39751
  ]),
39719
39752
  _: 1
39720
- }, 16)) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39753
+ }, 16, ["wrap-around"])) : (openBlock(), createElementBlock("div", _hoisted_3$3, [
39721
39754
  (openBlock(true), createElementBlock(Fragment, null, renderList(recommendations2.value, (product, index) => {
39722
39755
  return openBlock(), createBlock(_sfc_main$t, {
39723
39756
  style: normalizeStyle(columnSize.value),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlupa/client",
3
- "version": "1.21.0",
3
+ "version": "1.21.1",
4
4
  "main": "dist/lupaSearch.js",
5
5
  "module": "dist/lupaSearch.mjs",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@getlupa/client-sdk": "^1.8.1",
23
- "@getlupa/vue": "0.21.0",
23
+ "@getlupa/vue": "0.21.1",
24
24
  "@rushstack/eslint-patch": "^1.12.0",
25
25
  "@tsconfig/node18": "^18.2.4",
26
26
  "@types/jsdom": "^21.1.7",