vviinn-widgets 2.172.3 → 2.174.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.
Files changed (171) hide show
  1. package/dist/cjs/{customized-slots-DbT_TRus.js → customized-slots-7egKJD19.js} +1 -1
  2. package/dist/cjs/{index-CLH1_ryr.js → index-C9e2G0zC.js} +2 -2
  3. package/dist/cjs/index-CHjRdAcp.js +50 -0
  4. package/dist/cjs/{index-A2FtmPS7.js → index-OrE9ITel.js} +3 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/{package-BpFZKmwz.js → package-Gc3lJyYt.js} +1 -1
  7. package/dist/cjs/{resources-57fEfuzc.js → resources-m9P7djQt.js} +60 -4
  8. package/dist/cjs/{search.store-CWjo472B.js → search.store-CuafCQTE.js} +1 -1
  9. package/dist/cjs/{store-D1GnRXA4.js → store-CrCuJC55.js} +1 -1
  10. package/dist/cjs/{triggerFilter-axaENNg2.js → triggerFilter-CaV6fCBi.js} +43 -6
  11. package/dist/cjs/vviinn-button_2.cjs.entry.js +33 -6
  12. package/dist/cjs/vviinn-camera_10.cjs.entry.js +50 -41
  13. package/dist/cjs/vviinn-carousel_10.cjs.entry.js +139 -78
  14. package/dist/cjs/vviinn-detected-object_6.cjs.entry.js +49 -32
  15. package/dist/cjs/vviinn-selected-filters.cjs.entry.js +22 -13
  16. package/dist/cjs/vviinn-text-search.cjs.entry.js +8 -8
  17. package/dist/cjs/vviinn-vps-button.cjs.entry.js +7 -13
  18. package/dist/cjs/vviinn-widgets.cjs.js +2 -2
  19. package/dist/collection/a11y/announcements.js +10 -0
  20. package/dist/collection/a11y/aria-labels.js +17 -0
  21. package/dist/collection/a11y/index.js +2 -0
  22. package/dist/collection/components/vviinn-button/vviinn-button.css +1 -1
  23. package/dist/collection/components/vviinn-button/vviinn-button.js +1 -1
  24. package/dist/collection/components/vviinn-cropper/vviinn-cropper.js +12 -8
  25. package/dist/collection/components/vviinn-cropper/vviinn-detected-object/vviinn-detected-object.css +21 -2
  26. package/dist/collection/components/vviinn-cropper/vviinn-detected-object/vviinn-detected-object.js +12 -4
  27. package/dist/collection/components/vviinn-error/vviinn-error.css +1 -1
  28. package/dist/collection/components/vviinn-error/vviinn-error.js +1 -1
  29. package/dist/collection/components/vviinn-filters/helpers/RenderCustomButton.js +8 -2
  30. package/dist/collection/components/vviinn-filters/helpers/RenderFilterButton.js +8 -1
  31. package/dist/collection/components/vviinn-filters/vviinn-extended-filters-button.js +9 -6
  32. package/dist/collection/components/vviinn-filters/vviinn-extended-filters.js +60 -19
  33. package/dist/collection/components/vviinn-filters/vviinn-filters.css +14 -2
  34. package/dist/collection/components/vviinn-filters/vviinn-filters.js +22 -5
  35. package/dist/collection/components/vviinn-filters/vviinn-selected-filters.js +11 -6
  36. package/dist/collection/components/vviinn-icons/icons/ChevronIconSmall.js +1 -1
  37. package/dist/collection/components/vviinn-icons/icons/FilterIconClose.js +1 -1
  38. package/dist/collection/components/vviinn-icons/icons/FiltersIcon.js +1 -1
  39. package/dist/collection/components/vviinn-icons/icons/NewCloseIcon.js +1 -1
  40. package/dist/collection/components/vviinn-icons/icons/TextIcon.js +1 -1
  41. package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.js +2 -2
  42. package/dist/collection/components/vviinn-modal/vviinn-modal.css +1 -1
  43. package/dist/collection/components/vviinn-modal/vviinn-modal.js +2 -2
  44. package/dist/collection/components/vviinn-overlay/vviinn-overlay.js +1 -1
  45. package/dist/collection/components/vviinn-overlayed-modal/vviinn-overlayed-modal.js +1 -1
  46. package/dist/collection/components/vviinn-preloader/vviinn-preloader.js +1 -1
  47. package/dist/collection/components/vviinn-price-range/vviinn-price-range.css +1 -1
  48. package/dist/collection/components/vviinn-price-range/vviinn-price-range.js +4 -4
  49. package/dist/collection/components/vviinn-privacy-badge/vviinn-privacy-badge.css +1 -1
  50. package/dist/collection/components/vviinn-privacy-badge/vviinn-privacy-badge.js +1 -1
  51. package/dist/collection/components/vviinn-product-card/render-helpers.js +2 -2
  52. package/dist/collection/components/vviinn-product-card/vviinn-energy-label/vviinn-energy-label.css +2 -2
  53. package/dist/collection/components/vviinn-product-card/vviinn-energy-label/vviinn-energy-label.js +2 -2
  54. package/dist/collection/components/vviinn-product-card/vviinn-product-card-skeleton.js +2 -2
  55. package/dist/collection/components/vviinn-product-card/vviinn-product-card.css +15 -3
  56. package/dist/collection/components/vviinn-product-card/vviinn-product-card.js +18 -16
  57. package/dist/collection/components/vviinn-results/vviinn-results.css +1 -1
  58. package/dist/collection/components/vviinn-results/vviinn-results.js +15 -12
  59. package/dist/collection/components/vviinn-skeleton/vviinn-skeleton.js +1 -1
  60. package/dist/collection/components/vviinn-slider/vviinn-slide/vviinn-slide.js +1 -1
  61. package/dist/collection/components/vviinn-slider/vviinn-slider.css +1 -1
  62. package/dist/collection/components/vviinn-slider/vviinn-slider.js +6 -2
  63. package/dist/collection/components/vviinn-teaser/vviinn-teaser.css +1 -1
  64. package/dist/collection/components/vviinn-teaser/vviinn-teaser.js +1 -1
  65. package/dist/collection/components/vviinn-text-search/vviinn-text-search.css +1 -1
  66. package/dist/collection/components/vviinn-text-search/vviinn-text-search.js +3 -3
  67. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.css +1 -1
  68. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +62 -1
  69. package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.css +1 -1
  70. package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.js +39 -14
  71. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.css +1 -1
  72. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.js +9 -7
  73. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +2 -8
  74. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.css +1 -1
  75. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +9 -9
  76. package/dist/collection/dom/index.js +36 -0
  77. package/dist/collection/locale/resources.js +60 -4
  78. package/dist/esm/{customized-slots-dMkaWNvg.js → customized-slots-R6SaZo4w.js} +1 -1
  79. package/dist/esm/{index-BcMtFp89.js → index-C5qrIvmr.js} +3 -0
  80. package/dist/esm/{index-B4v4XCZr.js → index-DaAFwTVd.js} +2 -2
  81. package/dist/esm/index-ZTEJ6O7Z.js +45 -0
  82. package/dist/esm/loader.js +3 -3
  83. package/dist/esm/{package-BBbQRTb2.js → package-OY64IqPK.js} +1 -1
  84. package/dist/esm/{resources-o4PQTdPt.js → resources-D3gZz5zw.js} +60 -4
  85. package/dist/esm/{search.store-Cnai5xUF.js → search.store-CdDgllEd.js} +1 -1
  86. package/dist/esm/{store-C5QecnP3.js → store-CMhsm-nf.js} +1 -1
  87. package/dist/esm/{triggerFilter-JXdQf5Ts.js → triggerFilter-BeBL7GD3.js} +42 -7
  88. package/dist/esm/vviinn-button_2.entry.js +33 -6
  89. package/dist/esm/vviinn-camera_10.entry.js +50 -41
  90. package/dist/esm/vviinn-carousel_10.entry.js +139 -78
  91. package/dist/esm/vviinn-detected-object_6.entry.js +49 -32
  92. package/dist/esm/vviinn-selected-filters.entry.js +22 -13
  93. package/dist/esm/vviinn-text-search.entry.js +8 -8
  94. package/dist/esm/vviinn-vps-button.entry.js +7 -13
  95. package/dist/esm/vviinn-widgets.js +3 -3
  96. package/dist/types/a11y/announcements.d.ts +6 -0
  97. package/dist/types/a11y/aria-labels.d.ts +12 -0
  98. package/dist/types/a11y/index.d.ts +2 -0
  99. package/dist/types/components/vviinn-cropper/vviinn-detected-object/vviinn-detected-object.d.ts +1 -0
  100. package/dist/types/components/vviinn-filters/vviinn-extended-filters-button.d.ts +2 -0
  101. package/dist/types/components/vviinn-filters/vviinn-extended-filters.d.ts +7 -0
  102. package/dist/types/components/vviinn-filters/vviinn-filters.d.ts +3 -0
  103. package/dist/types/components/vviinn-filters/vviinn-selected-filters.d.ts +2 -0
  104. package/dist/types/components/vviinn-product-card/render-helpers.d.ts +7 -2
  105. package/dist/types/components/vviinn-results/vviinn-results.d.ts +3 -3
  106. package/dist/types/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.d.ts +4 -0
  107. package/dist/types/components/vviinn-vpr-button/vviinn-vpr-button.d.ts +4 -0
  108. package/dist/types/components/vviinn-vpr-widget/vviinn-vpr-widget.d.ts +1 -1
  109. package/dist/types/components.d.ts +11 -5
  110. package/dist/types/dom/index.d.ts +3 -0
  111. package/dist/types/recommendation/events.d.ts +1 -0
  112. package/dist/types/widget/types.d.ts +1 -2
  113. package/dist/vviinn-widgets/{p-CcdrRg3G.js → p-0uvMf__4.js} +1 -1
  114. package/dist/vviinn-widgets/p-39024b33.entry.js +10 -0
  115. package/dist/vviinn-widgets/p-94a0f284.entry.js +1 -0
  116. package/{www/build/p-BTz0Afd5.js → dist/vviinn-widgets/p-BFKAtFxd.js} +1 -1
  117. package/dist/vviinn-widgets/{p-BcMtFp89.js → p-C5qrIvmr.js} +1 -1
  118. package/dist/vviinn-widgets/p-D3gZz5zw.js +1 -0
  119. package/{www/build/p-DUsuo2dh.js → dist/vviinn-widgets/p-DehFpKKv.js} +1 -1
  120. package/dist/vviinn-widgets/p-DpIaebRx.js +1 -0
  121. package/dist/vviinn-widgets/{p-BBbQRTb2.js → p-OY64IqPK.js} +1 -1
  122. package/dist/vviinn-widgets/{p-CUvvnl61.js → p-Z6kWax5f.js} +1 -1
  123. package/dist/vviinn-widgets/p-ZTEJ6O7Z.js +1 -0
  124. package/dist/vviinn-widgets/p-a8f72abf.entry.js +1 -0
  125. package/dist/vviinn-widgets/p-a8fe8d00.entry.js +1 -0
  126. package/dist/vviinn-widgets/{p-c2100d0c.entry.js → p-bf457707.entry.js} +1 -1
  127. package/dist/vviinn-widgets/p-d48ef82a.entry.js +1 -0
  128. package/dist/vviinn-widgets/{p-372eeb6d.entry.js → p-f257d611.entry.js} +1 -1
  129. package/dist/vviinn-widgets/vviinn-widgets.css +1 -1
  130. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  131. package/package.json +1 -1
  132. package/www/build/{p-CcdrRg3G.js → p-0uvMf__4.js} +1 -1
  133. package/www/build/p-39024b33.entry.js +10 -0
  134. package/www/build/p-90a91198.js +1 -0
  135. package/www/build/{p-0ccb75c2.css → p-9240f4d7.css} +1 -1
  136. package/www/build/p-94a0f284.entry.js +1 -0
  137. package/{dist/vviinn-widgets/p-BTz0Afd5.js → www/build/p-BFKAtFxd.js} +1 -1
  138. package/www/build/{p-BcMtFp89.js → p-C5qrIvmr.js} +1 -1
  139. package/www/build/p-D3gZz5zw.js +1 -0
  140. package/{dist/vviinn-widgets/p-DUsuo2dh.js → www/build/p-DehFpKKv.js} +1 -1
  141. package/www/build/p-DpIaebRx.js +1 -0
  142. package/www/build/{p-BBbQRTb2.js → p-OY64IqPK.js} +1 -1
  143. package/www/build/{p-CUvvnl61.js → p-Z6kWax5f.js} +1 -1
  144. package/www/build/p-ZTEJ6O7Z.js +1 -0
  145. package/www/build/p-a8f72abf.entry.js +1 -0
  146. package/www/build/p-a8fe8d00.entry.js +1 -0
  147. package/www/build/{p-c2100d0c.entry.js → p-bf457707.entry.js} +1 -1
  148. package/www/build/p-d48ef82a.entry.js +1 -0
  149. package/www/build/{p-372eeb6d.entry.js → p-f257d611.entry.js} +1 -1
  150. package/www/build/vviinn-widgets.css +1 -1
  151. package/www/build/vviinn-widgets.esm.js +1 -1
  152. package/www/index.html +1 -1
  153. package/dist/cjs/index-B7VfQ5vd.js +0 -13
  154. package/dist/esm/index-CGjTkEbG.js +0 -9
  155. package/dist/vviinn-widgets/p-06034d58.entry.js +0 -1
  156. package/dist/vviinn-widgets/p-2564b648.entry.js +0 -10
  157. package/dist/vviinn-widgets/p-9c553752.entry.js +0 -1
  158. package/dist/vviinn-widgets/p-CGjTkEbG.js +0 -1
  159. package/dist/vviinn-widgets/p-b6fc0b97.entry.js +0 -1
  160. package/dist/vviinn-widgets/p-ce253128.entry.js +0 -1
  161. package/dist/vviinn-widgets/p-jsuyeK-5.js +0 -1
  162. package/dist/vviinn-widgets/p-o4PQTdPt.js +0 -1
  163. package/www/build/p-06034d58.entry.js +0 -1
  164. package/www/build/p-2564b648.entry.js +0 -10
  165. package/www/build/p-9c553752.entry.js +0 -1
  166. package/www/build/p-CGjTkEbG.js +0 -1
  167. package/www/build/p-b46aba5d.js +0 -1
  168. package/www/build/p-b6fc0b97.entry.js +0 -1
  169. package/www/build/p-ce253128.entry.js +0 -1
  170. package/www/build/p-jsuyeK-5.js +0 -1
  171. package/www/build/p-o4PQTdPt.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-A2FtmPS7.js');
3
+ var index = require('./index-OrE9ITel.js');
4
4
 
5
5
  const vprSlotNames = [
6
6
  "vviinn-recommendations-title",
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-A2FtmPS7.js');
4
- var search_store = require('./search.store-CWjo472B.js');
3
+ var index = require('./index-OrE9ITel.js');
4
+ var search_store = require('./search.store-CuafCQTE.js');
5
5
 
6
6
  const PlusIcon = () => (index.h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "plus-icon", "aria-hidden": "true" },
7
7
  index.h("path", { d: "M14.6667 17.3333H8.00001C7.62223 17.3333 7.30556 17.2056 7.05001 16.95C6.79445 16.6944 6.66667 16.3778 6.66667 16C6.66667 15.6222 6.79445 15.3056 7.05001 15.05C7.30556 14.7944 7.62223 14.6667 8.00001 14.6667H14.6667V8.00001C14.6667 7.62223 14.7944 7.30556 15.05 7.05001C15.3056 6.79445 15.6222 6.66667 16 6.66667C16.3778 6.66667 16.6944 6.79445 16.95 7.05001C17.2056 7.30556 17.3333 7.62223 17.3333 8.00001V14.6667H24C24.3778 14.6667 24.6944 14.7944 24.95 15.05C25.2056 15.3056 25.3333 15.6222 25.3333 16C25.3333 16.3778 25.2056 16.6944 24.95 16.95C24.6944 17.2056 24.3778 17.3333 24 17.3333H17.3333V24C17.3333 24.3778 17.2056 24.6944 16.95 24.95C16.6944 25.2056 16.3778 25.3333 16 25.3333C15.6222 25.3333 15.3056 25.2056 15.05 24.95C14.7944 24.6944 14.6667 24.3778 14.6667 24V17.3333Z", fill: "currentColor" })));
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ const findSlotElements = (el) => Array.from(el.querySelectorAll("[slot]"));
4
+ const getSlotNames = (slotElements) => slotElements.map((el) => el.getAttribute("slot"));
5
+ function addEventListenersWithSignal(target, listeners, signal) {
6
+ listeners.forEach(([type, handler]) => {
7
+ target.addEventListener(type, handler, { signal });
8
+ });
9
+ }
10
+ function disableTabbing(element) {
11
+ const focusableElements = element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
12
+ focusableElements.forEach((el) => {
13
+ const htmlEl = el;
14
+ if (!htmlEl.hasAttribute("data-original-tabindex")) {
15
+ htmlEl.setAttribute("data-original-tabindex", htmlEl.tabIndex.toString());
16
+ }
17
+ htmlEl.tabIndex = -1;
18
+ });
19
+ }
20
+ function enableTabbing(element) {
21
+ const focusableElements = element.querySelectorAll("[data-original-tabindex]");
22
+ focusableElements.forEach((el) => {
23
+ const htmlEl = el;
24
+ const originalTabIndex = htmlEl.getAttribute("data-original-tabindex");
25
+ if (originalTabIndex === "0" || originalTabIndex === "") {
26
+ htmlEl.removeAttribute("tabindex");
27
+ }
28
+ else {
29
+ htmlEl.tabIndex = parseInt(originalTabIndex, 10);
30
+ }
31
+ htmlEl.removeAttribute("data-original-tabindex");
32
+ });
33
+ }
34
+ function setElementInteractivity(element, interactive) {
35
+ if (interactive) {
36
+ element.removeAttribute("inert");
37
+ element.removeAttribute("aria-hidden");
38
+ enableTabbing(element);
39
+ }
40
+ else {
41
+ element.setAttribute("inert", "");
42
+ element.setAttribute("aria-hidden", "true");
43
+ disableTabbing(element);
44
+ }
45
+ }
46
+
47
+ exports.addEventListenersWithSignal = addEventListenersWithSignal;
48
+ exports.findSlotElements = findSlotElements;
49
+ exports.getSlotNames = getSlotNames;
50
+ exports.setElementInteractivity = setElementInteractivity;
@@ -1552,6 +1552,9 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
1552
1552
  }
1553
1553
  };
1554
1554
  var getHostListenerTarget = (doc, elm, flags) => {
1555
+ if (flags & 8 /* TargetWindow */) {
1556
+ return win;
1557
+ }
1555
1558
  if (flags & 16 /* TargetBody */) {
1556
1559
  return doc.body;
1557
1560
  }
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-A2FtmPS7.js');
3
+ var index = require('./index-OrE9ITel.js');
4
4
  var appGlobals = require('./app-globals-DK9R4CCS.js');
5
5
 
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy(JSON.parse("[[\"vviinn-selected-filters.cjs\",[[1,\"vviinn-selected-filters\",{\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"selectedFilterButtons\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32],\"priceCustomFilter\":[32]}]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"showExtendedFilters\":[4,\"show-extended-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"blockTitle\":[1,\"block-title\"],\"showScroll\":[4,\"show-scroll\"],\"apiPath\":[1,\"api-path\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16,\"set-recommendations-loading\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]],{\"productId\":[\"handleProductIdChange\"],\"campaignType\":[\"handleCampaignTypeChange\"],\"campaigns\":[\"handleCampaignsChange\"],\"opened\":[\"trackWidgetOpen\"],\"closed\":[\"trackWidgetClose\"]}],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16,\"source-product\"],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16,\"replace-slots-content\"],\"setModeDiscountsArray\":[16,\"set-mode-discounts-array\"],\"imageRatio\":[2,\"image-ratio\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"currentScrollIndex\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]],{\"recommendations\":[\"recommendationsWatcher\"],\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"loading\":[\"onLoadingChange\"]}],[1,\"vviinn-extended-filters\",{\"mode\":[1],\"showHeader\":[4,\"show-header\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"widgetElement\":[8,\"widget-element\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32]},[[16,\"click\",\"bodyClickListener\"]],{\"showMore\":[\"showMoreWatcher\"],\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-filters\",{\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"innerFilters\":[32],\"selectedFilterColumn\":[32],\"requestFilters\":[32]},null,{\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currency\":[1],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"imageRatio\":[2,\"image-ratio\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"setMode\":[4,\"set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040,\"energy-certifications\"],\"isContentCard\":[4,\"is-content-card\"],\"contentText\":[1,\"content-text\"],\"contentLink\":[1,\"content-link\"],\"productId\":[1,\"product-id\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"deeplink\":[1],\"index\":[2],\"updatingAllCards\":[4,\"updating-all-cards\"],\"defaultAnimationInterval\":[2,\"default-animation-interval\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]],{\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"productId\":[\"productIdWatcher\"]}],[1,\"vviinn-product-card-skeleton\",{\"imageRatio\":[2,\"image-ratio\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16,\"handle-click\"],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16,\"class-icon-urls\"],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"]}],[1,\"vviinn-price-range\",{\"histogram\":[16],\"addStyle\":[4,\"add-style\"],\"priceChangeHandler\":[16,\"price-change-handler\"],\"selectedInterval\":[16,\"selected-interval\"],\"minIndex\":[32],\"maxIndex\":[32],\"scalingFactor\":[32]},null,{\"selectedInterval\":[\"updatingSelectedInterval\"]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-button_2.cjs\",[[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"position\":[1],\"widgetScrollbar\":[4,\"widget-scrollbar\"],\"mode\":[1],\"campaigns\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16,\"button-children\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"uiSessionId\":[1,\"ui-session-id\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32],\"hidden\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"]],{\"recommendationsLoading\":[\"handleLoadingChange\"]}],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-detected-object_6.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"addPriceContainer\":[4,\"add-price-container\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16,\"append-sidebar-to-element\"],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"uiSessionId\":[1,\"ui-session-id\"],\"targetAppendSidebarTo\":[32]},null,{\"appendSidebarToElement\":[\"appendSidebarToElementWatcher\"]}],[1,\"vviinn-detected-object\",{\"detectedObject\":[16,\"detected-object\"],\"selectedDetectedObject\":[16,\"selected-detected-object\"],\"basicEventData\":[16,\"basic-event-data\"],\"imageBounds\":[16,\"image-bounds\"],\"showInWidget\":[4,\"show-in-widget\"],\"position\":[32]}],[1,\"vviinn-error\",{\"hasBackground\":[4,\"has-background\"],\"errorType\":[1,\"error-type\"],\"handler\":[16],\"hasTopMargin\":[4,\"has-top-margin\"],\"searchType\":[1,\"search-type\"]}],[1,\"vviinn-modal\",{\"active\":[1540],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"hideBackButton\":[4,\"hide-back-button\"],\"isFirstScreen\":[4,\"is-first-screen\"],\"slider\":[32]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-overlay\"],[1,\"vviinn-preloader\"]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"buttonPressed\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]]]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"apiPath\":[1,\"api-path\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16,\"basic-event-data\"],\"isRecording\":[32],\"showTooltip\":[32]}]]],[\"vviinn-camera_10.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"showInWidget\":[4,\"show-in-widget\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"modalBody\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]],{\"active\":[\"activeWatcher\"],\"slidePosition\":[\"slidePositionWatcher\"]}],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"textSearchQuery\":[1,\"text-search-query\"],\"filterColumn\":[1,\"filter-column\"],\"filterValue\":[1,\"filter-value\"],\"resultsCount\":[2,\"results-count\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16,\"reset-widget-state\"],\"replaceSlotsContentInWidget\":[16,\"replace-slots-content-in-widget\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16,\"scrollable-modal-body\"],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]],{\"textSearchQuery\":[\"watchTextSearchQuery\"],\"searchId\":[\"watchSearchId\"]}],[1,\"vviinn-cropper\",{\"saveImageMode\":[1,\"save-image-mode\"],\"width\":[1026],\"apiPath\":[1,\"api-path\"],\"height\":[1026],\"basicEventData\":[1040,\"basic-event-data\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[1,\"vviinn-overlayed-modal\",{\"active\":[4],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"hideBackButton\":[4,\"hide-back-button\"],\"widgetVersion\":[1,\"widget-version\"],\"isFirstScreen\":[4,\"is-first-screen\"]}],[1,\"vviinn-image-selector\",{\"basicEventData\":[16,\"basic-event-data\"],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16]},null,{\"startUpload\":[\"startUploadWatcher\"]}],[1,\"vviinn-camera\",{\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16,\"basic-event-data\"],\"srcObject\":[16,\"src-object\"],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]},null,{\"srcObject\":[\"handleSrcObjectChange\"]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]},null,{\"position\":[\"positionWatchHandler\"]}],[1,\"vviinn-teaser\"]]]]"), options);
9
+ return index.bootstrapLazy(JSON.parse("[[\"vviinn-selected-filters.cjs\",[[1,\"vviinn-selected-filters\",{\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"selectedFilterButtons\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32],\"priceCustomFilter\":[32]}]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"showExtendedFilters\":[4,\"show-extended-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"blockTitle\":[1,\"block-title\"],\"showScroll\":[4,\"show-scroll\"],\"apiPath\":[1,\"api-path\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16,\"set-recommendations-loading\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]],{\"productId\":[\"handleProductIdChange\"],\"campaignType\":[\"handleCampaignTypeChange\"],\"campaigns\":[\"handleCampaignsChange\"],\"opened\":[\"trackWidgetOpen\"],\"closed\":[\"trackWidgetClose\"]}],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16,\"source-product\"],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16,\"replace-slots-content\"],\"setModeDiscountsArray\":[16,\"set-mode-discounts-array\"],\"imageRatio\":[2,\"image-ratio\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"currentScrollIndex\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]],{\"recommendations\":[\"recommendationsWatcher\"],\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"loading\":[\"onLoadingChange\"]}],[1,\"vviinn-extended-filters\",{\"mode\":[1],\"showHeader\":[4,\"show-header\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"widgetElement\":[8,\"widget-element\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32]},[[16,\"click\",\"bodyClickListener\"]],{\"showMore\":[\"showMoreWatcher\"],\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-filters\",{\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"innerFilters\":[32],\"selectedFilterColumn\":[32],\"requestFilters\":[32]},null,{\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currency\":[1],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"imageRatio\":[2,\"image-ratio\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"setMode\":[4,\"set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040,\"energy-certifications\"],\"isContentCard\":[4,\"is-content-card\"],\"contentText\":[1,\"content-text\"],\"contentLink\":[1,\"content-link\"],\"productId\":[1,\"product-id\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"deeplink\":[1],\"index\":[2],\"updatingAllCards\":[4,\"updating-all-cards\"],\"defaultAnimationInterval\":[2,\"default-animation-interval\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]],{\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"productId\":[\"productIdWatcher\"]}],[1,\"vviinn-product-card-skeleton\",{\"imageRatio\":[2,\"image-ratio\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16,\"handle-click\"],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16,\"class-icon-urls\"],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"]}],[1,\"vviinn-price-range\",{\"histogram\":[16],\"addStyle\":[4,\"add-style\"],\"priceChangeHandler\":[16,\"price-change-handler\"],\"selectedInterval\":[16,\"selected-interval\"],\"minIndex\":[32],\"maxIndex\":[32],\"scalingFactor\":[32]},null,{\"selectedInterval\":[\"updatingSelectedInterval\"]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-button_2.cjs\",[[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"position\":[1],\"widgetScrollbar\":[4,\"widget-scrollbar\"],\"mode\":[1],\"campaigns\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16,\"button-children\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"uiSessionId\":[1,\"ui-session-id\"],\"triggerElement\":[16,\"trigger-element\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32],\"hidden\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"],[8,\"keydown\",\"handleEscape\"]],{\"recommendationsLoading\":[\"handleLoadingChange\"],\"sidebarState\":[\"handleSidebarStateChange\"]}],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-detected-object_6.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"addPriceContainer\":[4,\"add-price-container\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16,\"append-sidebar-to-element\"],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"uiSessionId\":[1,\"ui-session-id\"],\"targetAppendSidebarTo\":[32]},null,{\"appendSidebarToElement\":[\"appendSidebarToElementWatcher\"]}],[1,\"vviinn-detected-object\",{\"detectedObject\":[16,\"detected-object\"],\"selectedDetectedObject\":[16,\"selected-detected-object\"],\"basicEventData\":[16,\"basic-event-data\"],\"imageBounds\":[16,\"image-bounds\"],\"showInWidget\":[4,\"show-in-widget\"],\"position\":[32]}],[1,\"vviinn-error\",{\"hasBackground\":[4,\"has-background\"],\"errorType\":[1,\"error-type\"],\"handler\":[16],\"hasTopMargin\":[4,\"has-top-margin\"],\"searchType\":[1,\"search-type\"]}],[1,\"vviinn-modal\",{\"active\":[1540],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"hideBackButton\":[4,\"hide-back-button\"],\"isFirstScreen\":[4,\"is-first-screen\"],\"slider\":[32]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-overlay\"],[1,\"vviinn-preloader\"]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"buttonPressed\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]]]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"apiPath\":[1,\"api-path\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16,\"basic-event-data\"],\"isRecording\":[32],\"showTooltip\":[32]}]]],[\"vviinn-camera_10.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"showInWidget\":[4,\"show-in-widget\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"modalBody\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]],{\"active\":[\"activeWatcher\"],\"slidePosition\":[\"slidePositionWatcher\"]}],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"textSearchQuery\":[1,\"text-search-query\"],\"filterColumn\":[1,\"filter-column\"],\"filterValue\":[1,\"filter-value\"],\"resultsCount\":[2,\"results-count\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16,\"reset-widget-state\"],\"replaceSlotsContentInWidget\":[16,\"replace-slots-content-in-widget\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16,\"scrollable-modal-body\"],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]],{\"textSearchQuery\":[\"watchTextSearchQuery\"],\"searchId\":[\"watchSearchId\"]}],[1,\"vviinn-cropper\",{\"saveImageMode\":[1,\"save-image-mode\"],\"width\":[1026],\"apiPath\":[1,\"api-path\"],\"height\":[1026],\"basicEventData\":[1040,\"basic-event-data\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[1,\"vviinn-overlayed-modal\",{\"active\":[4],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"hideBackButton\":[4,\"hide-back-button\"],\"widgetVersion\":[1,\"widget-version\"],\"isFirstScreen\":[4,\"is-first-screen\"]}],[1,\"vviinn-image-selector\",{\"basicEventData\":[16,\"basic-event-data\"],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16]},null,{\"startUpload\":[\"startUploadWatcher\"]}],[1,\"vviinn-camera\",{\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16,\"basic-event-data\"],\"srcObject\":[16,\"src-object\"],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]},null,{\"srcObject\":[\"handleSrcObjectChange\"]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]},null,{\"position\":[\"positionWatchHandler\"]}],[1,\"vviinn-teaser\"]]]]"), options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
@@ -14,7 +14,7 @@ function fromString(s) {
14
14
  return s === "VPR" ? { _tag: "VPR" } : { _tag: "VCS" };
15
15
  }
16
16
 
17
- const version = "2.172.3";
17
+ const version = "2.174.0";
18
18
 
19
19
  exports.campaignTypeNames = campaignTypeNames;
20
20
  exports.fold = fold;
@@ -65,17 +65,45 @@ const resources = {
65
65
  dataSheetText: "Produktdatenblatt",
66
66
  },
67
67
  a11y: {
68
- cameraExampleImage: "Beispielbild für die Kamerafunktion",
69
- capturedImage: "Von der Kamera aufgenommenes Bild",
68
+ // General UI
70
69
  closeButton: "Fenster schließen",
70
+ // Search & Input
71
71
  speechButton: "Spracheingabe starten",
72
72
  textSearchButton: "Textsuche starten",
73
73
  cameraModeSearchButton: "KI-Suche mit Kamera starten",
74
74
  modalModeSearchButton: "KI-Suche starten",
75
75
  uploadModeSearchButton: "KI-Suche mit Bildupload starten",
76
+ // Camera & Images
77
+ cameraExampleImage: "Beispielbild für die Kamerafunktion",
78
+ capturedImage: "Von der Kamera aufgenommenes Bild",
76
79
  zoomIn: "Vergrößern",
77
80
  zoomOut: "Verkleinern",
78
81
  takePicture: "Foto aufnehmen",
82
+ cropperImage: "Hochgeladenes Bild zum Zuschneiden und für die visuelle Suche",
83
+ // Product Card
84
+ addToFavorites: "Zu Favoriten hinzufügen",
85
+ removeFromFavorites: "Von Favoriten entfernen",
86
+ findSimilarProducts: "Ähnliche Produkte finden",
87
+ // Filters
88
+ productFilters: "Produktfilter",
89
+ selectedFilters: "Ausgewählte Filter",
90
+ openFilters: "Filter öffnen",
91
+ closeDialog: "Dialog schließen",
92
+ removeFilterLabel: "Filter entfernen: {{label}}",
93
+ filterExpanded: "{{label}} Filter erweitert",
94
+ filterSelectionCleared: "Filterauswahl gelöscht",
95
+ filterDialogOpened: "Filter-Dialog geöffnet",
96
+ filterDialogClosed: "Filter-Dialog geschlossen",
97
+ filterRemoved: "Filter entfernt: {{label}}",
98
+ filterOptions: "{{label}} Filteroptionen",
99
+ filterButton: "{{label}} Filter",
100
+ colorOption: "{{label}} Farbe",
101
+ showMoreOptions: "{{count}} weitere {{label}} Optionen anzeigen",
102
+ // Detected Objects
103
+ detectedObject: "Erkanntes Objekt auswählen",
104
+ // Discovery
105
+ recommendations: "Empfohlene Produkte",
106
+ // External Links
79
107
  vviinnLink: "Vviinn-Website besuchen (öffnet in neuem Tab)",
80
108
  },
81
109
  },
@@ -143,17 +171,45 @@ const resources = {
143
171
  dataSheetText: "Product Data Sheet",
144
172
  },
145
173
  a11y: {
146
- cameraExampleImage: "Example image for the camera function",
147
- capturedImage: "Image captured by the camera",
174
+ // General UI
148
175
  closeButton: "Close window",
176
+ // Search & Input
149
177
  speechButton: "Start speech input",
150
178
  textSearchButton: "Start text search",
151
179
  cameraModeSearchButton: "Start AI search with camera",
152
180
  modalModeSearchButton: "Start AI search",
153
181
  uploadModeSearchButton: "Start AI search with image upload",
182
+ // Camera & Images
183
+ cameraExampleImage: "Example image for the camera function",
184
+ capturedImage: "Image captured by the camera",
154
185
  zoomIn: "Zoom in",
155
186
  zoomOut: "Zoom out",
156
187
  takePicture: "Take picture",
188
+ cropperImage: "Uploaded image for cropping and visual search",
189
+ // Product Card
190
+ addToFavorites: "Add to favorites",
191
+ removeFromFavorites: "Remove from favorites",
192
+ findSimilarProducts: "Find similar products",
193
+ // Filters
194
+ productFilters: "Product filters",
195
+ selectedFilters: "Selected filters",
196
+ openFilters: "Open filters",
197
+ closeDialog: "Close dialog",
198
+ removeFilterLabel: "Remove filter: {{label}}",
199
+ filterExpanded: "{{label}} filter expanded",
200
+ filterSelectionCleared: "Filter selection cleared",
201
+ filterDialogOpened: "Filter dialog opened",
202
+ filterDialogClosed: "Filter dialog closed",
203
+ filterRemoved: "Filter removed: {{label}}",
204
+ filterOptions: "{{label}} filter options",
205
+ filterButton: "{{label}} filter",
206
+ colorOption: "{{label}} color",
207
+ showMoreOptions: "Show {{count}} more {{label}} options",
208
+ // Detected Objects
209
+ detectedObject: "Select detected object",
210
+ // Discovery Widget
211
+ recommendations: "Recommended products",
212
+ // External Links
157
213
  vviinnLink: "Visit Vviinn website (opens in new tab)",
158
214
  },
159
215
  },
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var store = require('./store-D1GnRXA4.js');
3
+ var store = require('./store-CrCuJC55.js');
4
4
  var Rectangle = require('./Rectangle-Dki6rXFf.js');
5
5
 
6
6
  var _Array = {};
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-A2FtmPS7.js');
3
+ var index = require('./index-OrE9ITel.js');
4
4
 
5
5
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
6
6
 
@@ -1,17 +1,46 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-A2FtmPS7.js');
3
+ var index = require('./index-OrE9ITel.js');
4
+ var i18next = require('./i18next-DkN_8H9H.js');
4
5
 
5
6
  const FilterIconCheck = () => (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6
7
  index.h("rect", { x: "2", y: "2", width: "20", height: "20", rx: "4", fill: "white" }),
7
8
  index.h("path", { d: "M10.8765 13.5061L16.1943 8.30769C16.4041 8.10256 16.6526 8 16.9398 8C17.2269 8 17.4754 8.10256 17.6852 8.30769C17.8951 8.51282 18 8.75574 18 9.03644C18 9.31714 17.8951 9.56005 17.6852 9.76518L11.622 15.6923C11.4121 15.8974 11.1637 16 10.8765 16C10.5894 16 10.3409 15.8974 10.131 15.6923L7.31476 12.9393C7.10492 12.7341 7 12.4912 7 12.2105C7 11.9298 7.10492 11.6869 7.31476 11.4818C7.5246 11.2767 7.77309 11.1741 8.06024 11.1741C8.34739 11.1741 8.59588 11.2767 8.80572 11.4818L10.8765 13.5061Z", fill: "#161616" })));
8
9
 
9
- const FilterIconClose = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
10
+ const FilterIconClose = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" },
10
11
  index.h("path", { d: "M12 13.4L7.09999 18.3C6.91665 18.4834 6.68332 18.575 6.39999 18.575C6.11665 18.575 5.88332 18.4834 5.69999 18.3C5.51665 18.1167 5.42499 17.8834 5.42499 17.6C5.42499 17.3167 5.51665 17.0834 5.69999 16.9L10.6 12L5.69999 7.10005C5.51665 6.91672 5.42499 6.68338 5.42499 6.40005C5.42499 6.11672 5.51665 5.88338 5.69999 5.70005C5.88332 5.51672 6.11665 5.42505 6.39999 5.42505C6.68332 5.42505 6.91665 5.51672 7.09999 5.70005L12 10.6L16.9 5.70005C17.0833 5.51672 17.3167 5.42505 17.6 5.42505C17.8833 5.42505 18.1167 5.51672 18.3 5.70005C18.4833 5.88338 18.575 6.11672 18.575 6.40005C18.575 6.68338 18.4833 6.91672 18.3 7.10005L13.4 12L18.3 16.9C18.4833 17.0834 18.575 17.3167 18.575 17.6C18.575 17.8834 18.4833 18.1167 18.3 18.3C18.1167 18.4834 17.8833 18.575 17.6 18.575C17.3167 18.575 17.0833 18.4834 16.9 18.3L12 13.4Z", fill: "#8D8D8D" })));
11
12
 
12
13
  const FilterIconSquare = () => (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
13
14
  index.h("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: "white", stroke: "#E0E0E0", "stroke-width": "2" })));
14
15
 
16
+ /**
17
+ * Announces a message to screen readers via a live region
18
+ * @param element - The aria-live element reference
19
+ * @param message - The message to announce
20
+ */
21
+ function announceToScreenReader(message, element) {
22
+ if (element) {
23
+ element.textContent = message;
24
+ }
25
+ }
26
+
27
+ /**
28
+ * Generates an appropriate aria-label for a filter remove button
29
+ * @param label - The filter label
30
+ * @returns The aria-label string
31
+ */
32
+ function getRemoveFilterAriaLabel(label) {
33
+ return i18next.instance.t("a11y.removeFilterLabel", { label });
34
+ }
35
+ /**
36
+ * Generates an aria-label for color option filters
37
+ * @param label - The color label
38
+ * @returns The aria-label string
39
+ */
40
+ function getColorOptionAriaLabel(label) {
41
+ return i18next.instance.t("a11y.colorOption", { label });
42
+ }
43
+
15
44
  const getPriceLabel = (intervalFilter, interval, currencySign) => {
16
45
  if (!interval)
17
46
  return null;
@@ -41,12 +70,18 @@ const isSubFilterActive = (requestFilters, filterValue, selectedFilter) => {
41
70
  const RenderFilterButton = ({ handleSubFilterSelection, value, label, active, selectedFilter, isSelected = false, showClose = false, }) => {
42
71
  const hexCode = value === null || value === void 0 ? void 0 : value.hexCode;
43
72
  const hasHexCodeLength = (hexCode === null || hexCode === void 0 ? void 0 : hexCode.length) > 0;
73
+ const isRemovable = isSelected && showClose;
74
+ const ariaLabel = isRemovable
75
+ ? getRemoveFilterAriaLabel(label)
76
+ : hasHexCodeLength
77
+ ? getColorOptionAriaLabel(label)
78
+ : undefined;
44
79
  return (index.h("li", { part: "filters-sub-row" },
45
- index.h("button", { onClick: () => handleSubFilterSelection(value, selectedFilter), class: `filters-more-modal-button ${hasHexCodeLength ? "filters-sub-button-color" : ""} ${isSelected ? "active" : ""}`, disabled: !active && !isSelected, part: "filters-option-button" },
46
- hasHexCodeLength && (index.h("div", { class: "filters-sub-button-color-dot", style: { backgroundColor: hexCode }, part: "filters-option-color-dot" })),
80
+ index.h("button", Object.assign({ onClick: () => handleSubFilterSelection(value, selectedFilter), class: `filters-more-modal-button ${hasHexCodeLength ? "filters-sub-button-color" : ""} ${isSelected ? "active" : ""}`, disabled: !active && !isSelected, part: "filters-option-button", "aria-pressed": !isRemovable && isSelected ? "true" : "false" }, (ariaLabel && { "aria-label": ariaLabel }), { type: "button" }),
81
+ hasHexCodeLength && (index.h("div", { class: "filters-sub-button-color-dot", style: { backgroundColor: hexCode }, part: "filters-option-color-dot", "aria-hidden": "true" })),
47
82
  !hasHexCodeLength && index.h("span", { part: "filters-option-text" }, label),
48
- index.h("div", { part: "filters-option-icon-wrapper", class: "filters-option-icon-wrapper" }, !showClose ? (isSelected ? (index.h(FilterIconCheck, null)) : (index.h(FilterIconSquare, null))) : null),
49
- isSelected && showClose && index.h(FilterIconClose, null))));
83
+ index.h("div", { part: "filters-option-icon-wrapper", class: "filters-option-icon-wrapper", "aria-hidden": "true" }, !showClose ? (isSelected ? (index.h(FilterIconCheck, null)) : (index.h(FilterIconSquare, null))) : null),
84
+ isRemovable && index.h(FilterIconClose, null))));
50
85
  };
51
86
 
52
87
  const subFilterSelection = (filters, { column: selectedColumn }, filterValue) => {
@@ -109,7 +144,9 @@ const triggerResetFilters = ({ vviinnFilterTriggered, vviinnFiltersChanged, el,
109
144
 
110
145
  exports.FilterIconClose = FilterIconClose;
111
146
  exports.RenderFilterButton = RenderFilterButton;
147
+ exports.announceToScreenReader = announceToScreenReader;
112
148
  exports.getPriceLabel = getPriceLabel;
149
+ exports.getRemoveFilterAriaLabel = getRemoveFilterAriaLabel;
113
150
  exports.isIntervalFilter = isIntervalFilter;
114
151
  exports.isSubFilterActive = isSubFilterActive;
115
152
  exports.triggerFilter = triggerFilter;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-A2FtmPS7.js');
3
+ var index = require('./index-OrE9ITel.js');
4
4
  var Rectangle = require('./Rectangle-Dki6rXFf.js');
5
5
  var index$1 = require('./index-Dob37WH6.js');
6
6
  var i18next = require('./i18next-DkN_8H9H.js');
@@ -12,7 +12,7 @@ const CrossIcon = () => (index.h("svg", { width: "16", height: "16", viewBox: "0
12
12
  const VisualSearchIcon = () => (index.h("svg", { width: "20", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
13
13
  index.h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M5 2C3.35 2 2 3.35 2 5v2H0V5c0-2.76 2.24-5 5-5h2v2H5Zm5 3c1.28 0 2.56.48 3.54 1.46h-.01a4.994 4.994 0 0 1 .64 6.29l3.05 3.05-1.41 1.41-3.05-3.05c-.84.55-1.8.83-2.76.83a4.98 4.98 0 0 1-3.54-1.46 5.003 5.003 0 0 1 0-7.07C7.44 5.49 8.72 5 10 5Zm-2.77 5c0 .74.29 1.44.81 1.96s1.22.81 1.96.81 1.44-.29 1.96-.81.81-1.22.81-1.96-.29-1.44-.81-1.96-1.22-.81-1.96-.81-1.44.29-1.96.81-.81 1.22-.81 1.96ZM2 15v-2H0v2c0 2.76 2.24 5 5 5h2v-2H5c-1.65 0-3-1.35-3-3ZM13 0h2c2.76 0 5 2.24 5 5v2h-2V5c0-1.65-1.35-3-3-3h-2V0Z", fill: "#161616" })));
14
14
 
15
- const vviinnButtonCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block}:host button{border:none;cursor:pointer;color:inherit}.open-button{background-color:var(--button-bg-color-secondary);align-items:center;border-radius:50%;box-sizing:border-box;display:grid;height:40px;justify-items:center;padding:0;width:40px;transition:background-color 0.2s ease-in-out}.open-button:hover{background-color:var(--button-bg-color-secondary-hover)}.open-button:active{background-color:var(--button-bg-color-secondary-active)}.raw-open-button{display:contents;background:none}";
15
+ const vviinnButtonCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block}:host button{border:none;cursor:pointer;color:inherit}.open-button{background-color:var(--button-bg-color-secondary);align-items:center;border-radius:50%;box-sizing:border-box;display:grid;height:40px;justify-items:center;padding:0;width:40px;transition:background-color 0.2s ease-in-out}.open-button:hover{background-color:var(--button-bg-color-secondary-hover)}.open-button:active{background-color:var(--button-bg-color-secondary-active)}.raw-open-button{display:contents;background:none}";
16
16
 
17
17
  const VviinnButton = class {
18
18
  constructor(hostRef) {
@@ -20,12 +20,12 @@ const VviinnButton = class {
20
20
  this.addStyle = true;
21
21
  }
22
22
  render() {
23
- return (index.h(index.Host, { key: '8aa5c9b9a1443967360070b7c3ebc6bb6882e99d', exportparts: "button" }, index.h("button", { key: '78c4036df32b5fe90ec231359a291a8379da246f', class: this.addStyle ? "open-button" : "raw-open-button", part: "button", tabindex: "-1", "aria-hidden": "true" }, index.h("slot", { key: '393a0769a02ae9cbf5245648151923148a8b7c71' }, index.h(VisualSearchIcon, { key: 'dd5b27b04967557fbdbf5730e659fa515f25f619' })))));
23
+ return (index.h(index.Host, { key: '8aa5c9b9a1443967360070b7c3ebc6bb6882e99d', exportparts: "button" }, index.h("button", { key: '947c155483cb4be283595eb5e4305c5f1013728b', class: this.addStyle ? "open-button" : "raw-open-button", part: "button", tabindex: "-1" }, index.h("slot", { key: '2c11b38bf5dfeb8fb788ae439f456f9d65d09821' }, index.h(VisualSearchIcon, { key: 'c961c7c99832abaad2684c4a7c81978d45cb16ec' })))));
24
24
  }
25
25
  };
26
26
  VviinnButton.style = vviinnButtonCss;
27
27
 
28
- const recommendationsSidebarCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{--vviinn-carousel-columns:4;box-sizing:border-box;position:fixed;z-index:2;display:block;display:flex;height:100vh;left:0;top:0;transition:background 0.1s ease-in-out;width:100vw}:host(.bottom){flex-direction:column;justify-content:end}:host(.no-fixed){position:unset;display:block;width:100%;height:auto}:host(.no-fixed.no-carousel.appended.loading){min-height:calc((var(--product-card-calculated-height) * 3) + 48px)}:host(.right){flex-direction:row;justify-content:flex-end}:host [slot]{visibility:hidden;position:absolute}header{position:relative;text-align:center;padding:var(--spacing-300);padding-top:0px}header.contains-source-img{display:grid;justify-items:center;grid-gap:12px}img.source-image{width:64px;height:64px;border-radius:50%;padding:6px;border:1px solid var(--color-border-02);-o-object-fit:contain;object-fit:contain}:host(.right) header{box-shadow:0px 2px 6px rgba(0, 0, 0, 0.1)}main{padding:0 var(--spacing-300)}:host(.right) main{overflow:auto}.sidebar{background:white;box-sizing:border-box;padding-top:var(--spacing-300);display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}:host(.bottom.idle) .sidebar,:host(.bottom.closed) .sidebar{transform:translateY(100%)}:host(.no-fixed) .sidebar{transform:unset !important}:host(.bottom.closed) .sidebar{animation-name:slideOutFromBottom;animation-duration:0.5s;animation-fill-mode:forwards}:host(.open){transition:background 0.3s ease-in-out;background:rgba(0, 0, 0, 0.2)}:host(.bottom.open) .sidebar{animation-name:slideInFromBottom;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right.idle) .sidebar{transform:translateX(100%)}:host(.right.closed) .sidebar{animation-name:slideOutFromRight;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right.open) .sidebar{animation-name:slideInFromRight;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right) .sidebar{max-width:480px}:host(.right) vviinn-vpr-widget::part(recommendations-results){display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:var(--spacing-300)}:host(.right) vviinn-vpr-widget{overflow:auto}.title{font-style:normal;font-weight:var(--font-weight-600);font-size:var(--font-size-title);font-family:var(--font-family, var(--font-family-base));line-height:40px;text-align:center;color:#000000}.close-sidebar{position:absolute;background:transparent;border:none;cursor:pointer;margin:0;top:0;color:var(--color-icon-secondary);transition:color 0.1s ease-in-out;padding:var(--spacing-100);right:var(--spacing-200)}.close-sidebar:hover{color:var(--color-icon-primary)}@keyframes slideInFromBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutFromBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInFromRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutFromRight{from{transform:translateX(0)}to{transform:translateX(100%)}}@media (max-width: 768px){:host{--vviinn-carousel-columns:2}}";
28
+ const recommendationsSidebarCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{--vviinn-carousel-columns:4;box-sizing:border-box;position:fixed;z-index:2;display:block;display:flex;height:100vh;left:0;top:0;transition:background 0.1s ease-in-out;width:100vw}:host(.bottom){flex-direction:column;justify-content:end}:host(.no-fixed){position:unset;display:block;width:100%;height:auto}:host(.no-fixed.no-carousel.appended.loading){min-height:calc((var(--product-card-calculated-height) * 3) + 48px)}:host(.right){flex-direction:row;justify-content:flex-end}:host [slot]{visibility:hidden;position:absolute}header{position:relative;text-align:center;padding:var(--spacing-300);padding-top:0px}header.contains-source-img{display:grid;justify-items:center;grid-gap:12px}img.source-image{width:64px;height:64px;border-radius:50%;padding:6px;border:1px solid var(--color-border-02);-o-object-fit:contain;object-fit:contain}:host(.right) header{box-shadow:0px 2px 6px rgba(0, 0, 0, 0.1)}main{padding:0 var(--spacing-300)}:host(.right) main{overflow:auto}.sidebar{background:white;box-sizing:border-box;padding-top:var(--spacing-300);display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}:host(.bottom.idle) .sidebar,:host(.bottom.closed) .sidebar{transform:translateY(100%)}:host(.no-fixed) .sidebar{transform:unset !important}:host(.bottom.closed) .sidebar{animation-name:slideOutFromBottom;animation-duration:0.5s;animation-fill-mode:forwards}:host(.open){transition:background 0.3s ease-in-out;background:rgba(0, 0, 0, 0.2)}:host(.bottom.open) .sidebar{animation-name:slideInFromBottom;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right.idle) .sidebar{transform:translateX(100%)}:host(.right.closed) .sidebar{animation-name:slideOutFromRight;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right.open) .sidebar{animation-name:slideInFromRight;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right) .sidebar{max-width:480px}:host(.right) vviinn-vpr-widget::part(recommendations-results){display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:var(--spacing-300)}:host(.right) vviinn-vpr-widget{overflow:auto}.title{font-style:normal;font-weight:var(--font-weight-600);font-size:var(--font-size-title);font-family:var(--font-family, var(--font-family-base));line-height:40px;text-align:center;color:#000000}.close-sidebar{position:absolute;background:transparent;border:none;cursor:pointer;margin:0;top:0;color:var(--color-icon-secondary);transition:color 0.1s ease-in-out;padding:var(--spacing-100);right:var(--spacing-200)}.close-sidebar:hover{color:var(--color-icon-primary)}@keyframes slideInFromBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutFromBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInFromRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutFromRight{from{transform:translateX(0)}to{transform:translateX(100%)}}@media (max-width: 768px){:host{--vviinn-carousel-columns:2}}";
29
29
 
30
30
  const RecommendationsSidebar = class {
31
31
  constructor(hostRef) {
@@ -87,6 +87,13 @@ const RecommendationsSidebar = class {
87
87
  sourceProductReceived(event) {
88
88
  this.sourceProduct = event.detail;
89
89
  }
90
+ handleEscape(event) {
91
+ if (event.key === "Escape" &&
92
+ this.sidebarState === "open" &&
93
+ !this.isAppended) {
94
+ this.sidebarState = "closed";
95
+ }
96
+ }
90
97
  handleLoadingChange(loading) {
91
98
  if (loading) {
92
99
  this.showLoadingClass = true;
@@ -98,6 +105,20 @@ const RecommendationsSidebar = class {
98
105
  }, 500);
99
106
  }
100
107
  }
108
+ handleSidebarStateChange(newState, oldState) {
109
+ var _a;
110
+ if (newState === "open" && oldState !== "open") {
111
+ const aside = this.getAsideElement();
112
+ if (aside) {
113
+ aside.focus();
114
+ }
115
+ }
116
+ else if (newState === "closed" &&
117
+ oldState === "open" &&
118
+ this.triggerElement) {
119
+ (_a = this.triggerElement) === null || _a === void 0 ? void 0 : _a.focus();
120
+ }
121
+ }
101
122
  getClassMap() {
102
123
  return {
103
124
  [this.position]: true,
@@ -129,7 +150,12 @@ const RecommendationsSidebar = class {
129
150
  }
130
151
  render() {
131
152
  var _a;
132
- return (index.h(index.Host, { key: '6e99d79ab007035a011be3092475159d7e377f7d', class: this.getClassMap(), style: { display: this.hidden ? "none" : undefined }, exportparts: `body, close-sidebar, ${index$1.carouselParts}, ${index$1.productCardParts}` }, index.h("aside", { key: 'fae460aa1a07c757cc12de75f145ca76b4a8bcd6', class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e) }, index.h("header", { key: '1ee0e43eb67a5bed8a7cb3b417272d0b2208f1a9', class: { "contains-source-img": this.isSourceImageValid() }, part: "sidebar-header" }, this.mode !== "set" && (index.h(index.Fragment, { key: '30f001a19037ab65cd6f8ed079aae5c6d654543c' }, this.renderSourceImage(), ((_a = this.sidebarTitle) === null || _a === void 0 ? void 0 : _a.length) !== 0 && (index.h("span", { key: 'af172e348cd10d76e42ba38998d4490f7bdb0ba5', class: "title", part: "recommendations-title" }, this.sidebarTitle || i18next.instance.t("discoveryWidgetTitle"))))), index.h("button", { key: 'ca8e28ef5b6e1e1e79291bdd3d79b44d31609c54', class: "close-sidebar", onClick: () => (this.sidebarState = "closed"), part: "close-sidebar" }, index.h(CrossIcon, { key: '4878c7e581fb9b30e5b9dd54df5010bc3354aa02' }))), index.h("main", { key: '968a0022605bbf38f9b4bda5d4f1b01b574fd2bc', part: "sidebar-content" }, index.h("vviinn-vpr-widget", { key: '6fb5754cc23ee961fd90b44312a2d67a9a1cd016', token: this.token, currencySign: this.currencySign, pricePrefix: this.pricePrefix, apiPath: this.apiPath, locale: this.locale, productId: this.productId, exportparts: `${index$1.carouselParts}, ${index$1.productCardParts}`, imageWidth: this.imageWidth, imageRatio: this.imageRatio, setItemsAmount: this.setItemsAmount, blockTitle: "", mode: this.mode, "campaign-type": this.campaignType, useCarousel: this.useCarousel, onVviinnRecommendationsLoaded: () => {
153
+ return (index.h(index.Host, { key: '94f39af4707e19d5149188cdf5705827032828c2', class: this.getClassMap(), style: { display: this.hidden ? "none" : undefined }, exportparts: `body, close-sidebar, ${index$1.carouselParts}, ${index$1.productCardParts}` }, index.h("aside", { key: '911c16cd4e85778b1c2bc2f27fb549aa8407d5fc', class: "sidebar", part: "body", onAnimationEnd: (e) => this.handleAnimationEnd(e), role: this.showInModal ? "dialog" : undefined, "aria-modal": this.showInModal ? "true" : "false", "aria-label": this.showInModal ? i18next.instance.t("a11y.recommendations") : undefined, tabindex: "-1" }, index.h("header", { key: '4c32670180208b911095a811d363477fd56ccca5', class: { "contains-source-img": this.isSourceImageValid() }, part: "sidebar-header" }, this.mode !== "set" && (index.h(index.Fragment, { key: '5cbbe96d47bdc5d73aa97fcf047196c828a66a86' }, this.renderSourceImage(), ((_a = this.sidebarTitle) === null || _a === void 0 ? void 0 : _a.length) !== 0 && (index.h("span", { key: '6ea23180842a5c5aee98b72ea24fb76e74e74411', class: "title", part: "recommendations-title" }, this.sidebarTitle || i18next.instance.t("discoveryWidgetTitle"))))), index.h("button", { key: '3f2d6c8358d9f13b002ae06b05ae9b0fbbf77411', class: "close-sidebar", onClick: () => (this.sidebarState = "closed"), onKeyDown: (event) => {
154
+ if (event.key === "Enter" || event.key === " ") {
155
+ event.preventDefault();
156
+ this.sidebarState = "closed";
157
+ }
158
+ }, part: "close-sidebar", "aria-label": i18next.instance.t("a11y.closeButton") }, index.h(CrossIcon, { key: '19aea387da7d5d1cedf2da0eddd7e596b65b3f08' }))), index.h("main", { key: '47ceeef8eaef8b2d748a17f27d6065c6c369a5f9', part: "sidebar-content" }, index.h("vviinn-vpr-widget", { key: '91dd0682c4e9aef501b6738dcd45b34dcc217c18', token: this.token, currencySign: this.currencySign, pricePrefix: this.pricePrefix, apiPath: this.apiPath, locale: this.locale, productId: this.productId, exportparts: `${index$1.carouselParts}, ${index$1.productCardParts}`, imageWidth: this.imageWidth, imageRatio: this.imageRatio, setItemsAmount: this.setItemsAmount, blockTitle: "", mode: this.mode, "campaign-type": this.campaignType, useCarousel: this.useCarousel, onVviinnRecommendationsLoaded: () => {
133
159
  this.hidden = false;
134
160
  this.sidebarState = "open";
135
161
  }, showScroll: this.widgetScrollbar, campaigns: this.campaigns, color: this.color, buttonElementId: this.buttonElementId, noResultText: this.noResultText, noResultShow: this.noResultShow, gridArrowsDynamic: this.gridArrowsDynamic, showingInButton: this.showingInButton, excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, closed: this.sidebarState === "closed", opened: this.sidebarState === "open", addToBasketShow: this.addToBasketShow, cssUrl: this.cssUrl, showFilters: this.showFilters, setModeDiscounts: this.setModeDiscounts, updateButtonLocation: this.updateButtonLocation, addPriceContainer: this.addPriceContainer, favoriteShow: this.favoriteShow, isAppended: this.isAppended, showInWidget: this.showInWidget, recommendationsLoading: this.recommendationsLoading, setRecommendationsLoading: this.setRecommendationsLoading, imageResolutionWidth: this.imageResolutionWidth, uiSessionId: this.uiSessionId })))));
@@ -151,7 +177,8 @@ const RecommendationsSidebar = class {
151
177
  }
152
178
  get el() { return index.getElement(this); }
153
179
  static get watchers() { return {
154
- "recommendationsLoading": ["handleLoadingChange"]
180
+ "recommendationsLoading": ["handleLoadingChange"],
181
+ "sidebarState": ["handleSidebarStateChange"]
155
182
  }; }
156
183
  };
157
184
  RecommendationsSidebar.style = recommendationsSidebarCss;