vviinn-widgets 2.227.2 → 2.228.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 (326) hide show
  1. package/dist/cjs/{Rectangle-H07XTbBV.js → Rectangle-DinN49mM.js} +4 -4
  2. package/dist/cjs/{SecondaryActionIcon-CuF0tHdQ.js → SecondaryActionIcon-BQQSiu4l.js} +4 -4
  3. package/dist/cjs/{app-globals-BQtOMRsH.js → app-globals-Dsf0-KhR.js} +3 -3
  4. package/dist/cjs/{cropperUtils-CwfFUt0o.js → cropperUtils-BvOSGX5o.js} +4 -4
  5. package/dist/cjs/{cssUrlHelper-CVKCRIcH.js → cssUrlHelper-p1-rqffJ.js} +4 -4
  6. package/dist/cjs/{exampleImage-CI2pSgNo.js → exampleImage-CYwUKSC-.js} +3 -3
  7. package/dist/cjs/{index-H0WaGD9i.js → index-CKBtW9d_.js} +4 -4
  8. package/dist/cjs/{index-CKUxPZjt.js → index-CYFe3MRy.js} +4 -4
  9. package/dist/cjs/{index-Bbvxilxc.js → index-DpitOw4d.js} +6 -6
  10. package/dist/cjs/{index-Zfb460O_.js → index-GztLSpRF.js} +3 -3
  11. package/dist/cjs/index.cjs.js +3 -3
  12. package/dist/cjs/loader.cjs.js +5 -5
  13. package/dist/cjs/{openProductLink-piJoG25a.js → openProductLink-B_470PWP.js} +3 -3
  14. package/dist/cjs/{resultsPageUrl-Dehl_j2Q.js → resultsPageUrl-D20mgtVN.js} +3 -3
  15. package/dist/cjs/{search.store-DvhlFYrp.js → search.store-BpNip2fa.js} +6 -6
  16. package/dist/cjs/{store-rzr57Vi7.js → store-ChfojRdy.js} +3 -3
  17. package/dist/cjs/{swiper-element-0eESZpDs.js → swiper-element-Dkg0-XyQ.js} +3 -3
  18. package/dist/cjs/vviinn-button_6.cjs.entry.js +12 -12
  19. package/dist/cjs/vviinn-camera_12.cjs.entry.js +15 -15
  20. package/dist/cjs/vviinn-carousel_10.cjs.entry.js +21 -13
  21. package/dist/cjs/vviinn-detected-object_2.cjs.entry.js +6 -6
  22. package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +13 -13
  23. package/dist/cjs/vviinn-text-search.cjs.entry.js +10 -10
  24. package/dist/cjs/vviinn-vps-button.cjs.entry.js +9 -9
  25. package/dist/cjs/vviinn-widgets.cjs.js +5 -5
  26. package/dist/collection/Image/bounds.js +3 -3
  27. package/dist/collection/Image/error.js +3 -3
  28. package/dist/collection/Image/fromFile.js +3 -3
  29. package/dist/collection/Image/imageToB64.js +3 -3
  30. package/dist/collection/Image/index.js +3 -3
  31. package/dist/collection/Image/renderPromise.js +3 -3
  32. package/dist/collection/Image/renderTitleImage.js +3 -3
  33. package/dist/collection/Image/resizeImage.js +3 -3
  34. package/dist/collection/Image/responsive.js +3 -3
  35. package/dist/collection/Image/sizing.js +3 -3
  36. package/dist/collection/Image/toFile.js +3 -3
  37. package/dist/collection/a11y/announcements.js +3 -3
  38. package/dist/collection/a11y/aria-labels.js +3 -3
  39. package/dist/collection/a11y/index.js +3 -3
  40. package/dist/collection/analytics/GAnalytics.js +3 -3
  41. package/dist/collection/analytics/GeneralAnalytics.js +3 -3
  42. package/dist/collection/analytics/GtagAnalytics.js +3 -3
  43. package/dist/collection/campaign/Campaign.js +3 -3
  44. package/dist/collection/campaign/CampaignService.js +3 -3
  45. package/dist/collection/campaign/VCSCampaignService.js +3 -3
  46. package/dist/collection/campaign/VPRCampaignService.js +3 -3
  47. package/dist/collection/components/customized-slots.js +3 -3
  48. package/dist/collection/components/vviinn-button/vviinn-button.js +3 -3
  49. package/dist/collection/components/vviinn-camera/vviinn-camera.js +3 -3
  50. package/dist/collection/components/vviinn-carousel/constants.js +3 -3
  51. package/dist/collection/components/vviinn-carousel/vviinn-carousel.js +3 -3
  52. package/dist/collection/components/vviinn-cropper/constants.js +3 -3
  53. package/dist/collection/components/vviinn-cropper/helpers/cropperOcrGate.js +3 -3
  54. package/dist/collection/components/vviinn-cropper/helpers/cropperUtils.js +3 -3
  55. package/dist/collection/components/vviinn-cropper/helpers/hasSelectedOcrFilter.js +3 -3
  56. package/dist/collection/components/vviinn-cropper/helpers/isCropBoxDataSimilar.js +3 -3
  57. package/dist/collection/components/vviinn-cropper/helpers/validateCropBoxData.js +3 -3
  58. package/dist/collection/components/vviinn-cropper/vviinn-cropper.js +3 -3
  59. package/dist/collection/components/vviinn-cropper/vviinn-detected-object/vviinn-detected-object.js +3 -3
  60. package/dist/collection/components/vviinn-error/index.js +3 -3
  61. package/dist/collection/components/vviinn-error/vviinn-error.js +3 -3
  62. package/dist/collection/components/vviinn-filters/helpers/RenderCustomButton.js +3 -3
  63. package/dist/collection/components/vviinn-filters/helpers/RenderFilterButton.js +3 -3
  64. package/dist/collection/components/vviinn-filters/helpers/RenderSearchInput.js +3 -3
  65. package/dist/collection/components/vviinn-filters/helpers/extractSelectedFilters.js +3 -3
  66. package/dist/collection/components/vviinn-filters/helpers/filterValueUtils.js +3 -3
  67. package/dist/collection/components/vviinn-filters/helpers/getFilterOptions.js +3 -3
  68. package/dist/collection/components/vviinn-filters/helpers/getIntervalLabel.js +3 -3
  69. package/dist/collection/components/vviinn-filters/helpers/getSelectedInterval.js +3 -3
  70. package/dist/collection/components/vviinn-filters/helpers/index.js +3 -3
  71. package/dist/collection/components/vviinn-filters/helpers/isSubFilterActive.js +3 -3
  72. package/dist/collection/components/vviinn-filters/helpers/modalPositioning.js +3 -3
  73. package/dist/collection/components/vviinn-filters/helpers/searchHelper.js +3 -3
  74. package/dist/collection/components/vviinn-filters/helpers/subFilterSelection.js +3 -3
  75. package/dist/collection/components/vviinn-filters/helpers/syncRequestFilters.js +3 -3
  76. package/dist/collection/components/vviinn-filters/helpers/triggerFilter.js +3 -3
  77. package/dist/collection/components/vviinn-filters/vviinn-extended-filters-button.js +3 -3
  78. package/dist/collection/components/vviinn-filters/vviinn-extended-filters.js +3 -3
  79. package/dist/collection/components/vviinn-filters/vviinn-filters.js +3 -3
  80. package/dist/collection/components/vviinn-filters/vviinn-selected-filters.js +3 -3
  81. package/dist/collection/components/vviinn-icons/icons/ArrowIcon.js +3 -3
  82. package/dist/collection/components/vviinn-icons/icons/BasketIcon.js +3 -3
  83. package/dist/collection/components/vviinn-icons/icons/CameraActionIcon.js +3 -3
  84. package/dist/collection/components/vviinn-icons/icons/CameraIcon.js +3 -3
  85. package/dist/collection/components/vviinn-icons/icons/CheckCircleIcon.js +3 -3
  86. package/dist/collection/components/vviinn-icons/icons/ChevronIcon.js +3 -3
  87. package/dist/collection/components/vviinn-icons/icons/ChevronIconSmall.js +3 -3
  88. package/dist/collection/components/vviinn-icons/icons/CrossIcon.js +3 -3
  89. package/dist/collection/components/vviinn-icons/icons/CrossSellingIcon.js +3 -3
  90. package/dist/collection/components/vviinn-icons/icons/DragDropImageIcon.js +3 -3
  91. package/dist/collection/components/vviinn-icons/icons/FavoriteIcon.js +3 -3
  92. package/dist/collection/components/vviinn-icons/icons/FavoriteIconPressed.js +3 -3
  93. package/dist/collection/components/vviinn-icons/icons/FilterIconCheck.js +3 -3
  94. package/dist/collection/components/vviinn-icons/icons/FilterIconClose.js +3 -3
  95. package/dist/collection/components/vviinn-icons/icons/FiltersIcon.js +3 -3
  96. package/dist/collection/components/vviinn-icons/icons/GridViewIcon.js +3 -3
  97. package/dist/collection/components/vviinn-icons/icons/ImagePlaceholder.js +3 -3
  98. package/dist/collection/components/vviinn-icons/icons/MicIcon.js +3 -3
  99. package/dist/collection/components/vviinn-icons/icons/MinusIcon.js +3 -3
  100. package/dist/collection/components/vviinn-icons/icons/NewCloseIcon.js +3 -3
  101. package/dist/collection/components/vviinn-icons/icons/PhotoFrameCorner.js +3 -3
  102. package/dist/collection/components/vviinn-icons/icons/PlusIcon.js +3 -3
  103. package/dist/collection/components/vviinn-icons/icons/RoundCameraIcon.js +3 -3
  104. package/dist/collection/components/vviinn-icons/icons/SearchIcon.js +3 -3
  105. package/dist/collection/components/vviinn-icons/icons/SearchModalCameraIcon.js +3 -3
  106. package/dist/collection/components/vviinn-icons/icons/SearchModalFullSearchIcon.js +3 -3
  107. package/dist/collection/components/vviinn-icons/icons/SearchModalImageSearchIcon.js +3 -3
  108. package/dist/collection/components/vviinn-icons/icons/SearchModalUploadIcon.js +3 -3
  109. package/dist/collection/components/vviinn-icons/icons/SecondaryActionIcon.js +3 -3
  110. package/dist/collection/components/vviinn-icons/icons/SimilarProductsIcon.js +3 -3
  111. package/dist/collection/components/vviinn-icons/icons/SparkIcon.js +3 -3
  112. package/dist/collection/components/vviinn-icons/icons/TextIcon.js +3 -3
  113. package/dist/collection/components/vviinn-icons/icons/TextSearchIcon.js +3 -3
  114. package/dist/collection/components/vviinn-icons/icons/UpdateIcon.js +3 -3
  115. package/dist/collection/components/vviinn-icons/icons/UploadActionIcon.js +3 -3
  116. package/dist/collection/components/vviinn-icons/icons/UploadActionIconVariant.js +3 -3
  117. package/dist/collection/components/vviinn-icons/icons/VisualSearchIcon.js +3 -3
  118. package/dist/collection/components/vviinn-icons/icons/WarningIcon.js +3 -3
  119. package/dist/collection/components/vviinn-icons/index.js +3 -3
  120. package/dist/collection/components/vviinn-image/vviinn-image.js +3 -3
  121. package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.js +3 -3
  122. package/dist/collection/components/vviinn-modal/vviinn-modal.js +3 -3
  123. package/dist/collection/components/vviinn-overlay/vviinn-overlay.js +3 -3
  124. package/dist/collection/components/vviinn-overlayed-modal/vviinn-overlayed-modal.js +3 -3
  125. package/dist/collection/components/vviinn-preloader/vviinn-preloader.js +3 -3
  126. package/dist/collection/components/vviinn-privacy-badge/vviinn-privacy-badge.js +3 -3
  127. package/dist/collection/components/vviinn-product-card/helpers.js +3 -3
  128. package/dist/collection/components/vviinn-product-card/render-helpers.js +3 -3
  129. package/dist/collection/components/vviinn-product-card/stories/args.js +7 -6
  130. package/dist/collection/components/vviinn-product-card/stories/decorators.js +10 -7
  131. package/dist/collection/components/vviinn-product-card/vviinn-energy-label/vviinn-energy-label.js +3 -3
  132. package/dist/collection/components/vviinn-product-card/vviinn-product-card.js +63 -38
  133. package/dist/collection/components/vviinn-range-filter/vviinn-range-filter.js +3 -3
  134. package/dist/collection/components/vviinn-results/stories/ResultsTemplate.js +3 -3
  135. package/dist/collection/components/vviinn-results/vviinn-results.js +3 -3
  136. package/dist/collection/components/vviinn-shop-the-look/constants.js +3 -3
  137. package/dist/collection/components/vviinn-shop-the-look/cropper-manager.js +3 -3
  138. package/dist/collection/components/vviinn-shop-the-look/helpers.js +3 -3
  139. package/dist/collection/components/vviinn-shop-the-look/render-helpers.js +3 -3
  140. package/dist/collection/components/vviinn-shop-the-look/store.js +3 -3
  141. package/dist/collection/components/vviinn-shop-the-look/test-data.js +3 -3
  142. package/dist/collection/components/vviinn-shop-the-look/vviinn-shop-the-look.js +3 -3
  143. package/dist/collection/components/vviinn-skeleton/vviinn-skeleton.js +3 -3
  144. package/dist/collection/components/vviinn-slider/arrow.js +3 -3
  145. package/dist/collection/components/vviinn-slider/vviinn-slide/vviinn-slide.js +3 -3
  146. package/dist/collection/components/vviinn-slider/vviinn-slider.js +3 -3
  147. package/dist/collection/components/vviinn-suggestions/helpers.js +3 -3
  148. package/dist/collection/components/vviinn-suggestions/render-helpers.js +3 -3
  149. package/dist/collection/components/vviinn-suggestions/vviinn-suggestions.js +3 -3
  150. package/dist/collection/components/vviinn-teaser/vviinn-teaser.js +3 -3
  151. package/dist/collection/components/vviinn-text-search/helpers/autoSuggestDebounce.js +3 -3
  152. package/dist/collection/components/vviinn-text-search/helpers/handleSuggestionsKeyDown.js +3 -3
  153. package/dist/collection/components/vviinn-text-search/helpers/index.js +3 -3
  154. package/dist/collection/components/vviinn-text-search/helpers/initializeRecognition.js +3 -3
  155. package/dist/collection/components/vviinn-text-search/helpers/permitSpeechRecognition.js +3 -3
  156. package/dist/collection/components/vviinn-text-search/helpers/renderSuggestions.js +3 -3
  157. package/dist/collection/components/vviinn-text-search/helpers/speechTooltip.js +3 -3
  158. package/dist/collection/components/vviinn-text-search/vviinn-text-search.js +3 -3
  159. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +3 -3
  160. package/dist/collection/components/vviinn-vpr-button/stories/args.js +3 -3
  161. package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.js +4 -5
  162. package/dist/collection/components/vviinn-vpr-widget/stories/args.js +3 -3
  163. package/dist/collection/components/vviinn-vpr-widget/stories/decorators.js +3 -3
  164. package/dist/collection/components/vviinn-vpr-widget/token-helpers.js +3 -3
  165. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.js +3 -4
  166. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +3 -3
  167. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +3 -3
  168. package/dist/collection/constants/exampleImage.js +3 -3
  169. package/dist/collection/cssParts/filters.js +3 -3
  170. package/dist/collection/cssParts/index.js +3 -3
  171. package/dist/collection/cssParts/product.js +3 -3
  172. package/dist/collection/cssParts/suggestions.js +3 -3
  173. package/dist/collection/dom/index.js +3 -3
  174. package/dist/collection/dom/intersectionObserver.js +3 -3
  175. package/dist/collection/error.js +3 -3
  176. package/dist/collection/file/index.js +3 -3
  177. package/dist/collection/filters/index.js +3 -3
  178. package/dist/collection/filters/testFixtures.js +3 -3
  179. package/dist/collection/geometry/Clip.js +3 -3
  180. package/dist/collection/geometry/Point.js +3 -3
  181. package/dist/collection/geometry/Rectangle.js +3 -3
  182. package/dist/collection/geometry/RectangleAlt.js +3 -3
  183. package/dist/collection/geometry/Sized.js +3 -3
  184. package/dist/collection/global.js +3 -3
  185. package/dist/collection/helpers/device/browserType.js +3 -3
  186. package/dist/collection/helpers/device/checkDeviceType.js +3 -3
  187. package/dist/collection/helpers/dragAndDrop/parseDroppedFile.js +3 -3
  188. package/dist/collection/helpers/navigation/openProductLink.js +3 -3
  189. package/dist/collection/helpers/url/getLastUrlPath.js +3 -3
  190. package/dist/collection/helpers/url/getLastUrlPath.test.js +3 -3
  191. package/dist/collection/helpers/url/resultsPageUrl.js +3 -3
  192. package/dist/collection/helpers/url/resultsPageUrl.test.js +3 -3
  193. package/dist/collection/index.js +3 -3
  194. package/dist/collection/interfaces/index.js +3 -3
  195. package/dist/collection/localStorage/index.js +3 -3
  196. package/dist/collection/locale/index.js +3 -3
  197. package/dist/collection/locale/resources.js +3 -3
  198. package/dist/collection/network/apiClient.js +3 -3
  199. package/dist/collection/network/request.js +3 -3
  200. package/dist/collection/network/utils.js +3 -3
  201. package/dist/collection/openApi/index.js +3 -3
  202. package/dist/collection/recommendation/index.js +3 -3
  203. package/dist/collection/searchSession/searchSession.js +3 -3
  204. package/dist/collection/sentry.js +3 -3
  205. package/dist/collection/store/file-processing.js +3 -3
  206. package/dist/collection/store/helpers/applyResponseFilters.js +3 -3
  207. package/dist/collection/store/helpers/searchSequence.js +3 -3
  208. package/dist/collection/store/image-processing.js +3 -3
  209. package/dist/collection/store/search.store.js +3 -3
  210. package/dist/collection/store/store.js +3 -3
  211. package/dist/collection/store/tracking.js +3 -3
  212. package/dist/collection/tracking/event.js +3 -3
  213. package/dist/collection/tracking/index.js +3 -3
  214. package/dist/collection/tracking/models.js +3 -3
  215. package/dist/collection/tracking/searchTracking.js +3 -3
  216. package/dist/collection/tracking/session.js +3 -3
  217. package/dist/collection/utils/collections/collectionUtils.test.js +3 -3
  218. package/dist/collection/utils/collections/collectionsUtils.js +3 -3
  219. package/dist/collection/utils/cssUrl/cssUrlHelper.js +3 -3
  220. package/dist/collection/utils/either.js +3 -3
  221. package/dist/collection/utils/enum/enumUtils.js +3 -3
  222. package/dist/collection/utils/number/index.js +3 -3
  223. package/dist/collection/utils/option/option.js +3 -3
  224. package/dist/collection/utils/semigroup/semigroupDiff.js +3 -3
  225. package/dist/collection/utils/string/encodeToBase64UTF8.js +3 -3
  226. package/dist/collection/utils/string/joinTruthy.js +3 -3
  227. package/dist/collection/utils/string/joinTruthy.test.js +3 -3
  228. package/dist/collection/utils/swiper/swiperUtils.js +3 -3
  229. package/dist/collection/utils/token/tokenUtils.js +3 -3
  230. package/dist/collection/video/settings.js +3 -3
  231. package/dist/collection/widget/constants.js +3 -3
  232. package/dist/collection/widget/types.js +3 -3
  233. package/dist/esm/{Rectangle-B_oG2eyg.js → Rectangle-BMs3A065.js} +4 -4
  234. package/dist/esm/{SecondaryActionIcon-Diibgish.js → SecondaryActionIcon-cIzfZffD.js} +4 -4
  235. package/dist/esm/{app-globals-5M4OE8Ib.js → app-globals-BV5YWSPA.js} +3 -3
  236. package/dist/esm/{cropperUtils-C09kJv1s.js → cropperUtils-DZ9M_qFZ.js} +4 -4
  237. package/dist/esm/{cssUrlHelper-B9aUpUCs.js → cssUrlHelper-CptdW4AR.js} +4 -4
  238. package/dist/esm/{exampleImage-Ct4T-m61.js → exampleImage-BexbSTOV.js} +3 -3
  239. package/dist/esm/{index-DLBHQNOR.js → index-BiBAoYGm.js} +4 -4
  240. package/dist/esm/{index-DAJ_Vnro.js → index-CbnDh7O4.js} +3 -3
  241. package/dist/esm/{index-D383RmFU.js → index-DWX7EAOO.js} +4 -4
  242. package/dist/esm/{index-BTZDkDXn.js → index-DbDBy-BO.js} +6 -6
  243. package/dist/esm/index.js +3 -3
  244. package/dist/esm/loader.js +6 -6
  245. package/dist/esm/{openProductLink-D8wvuxca.js → openProductLink-Bpe4n4Ll.js} +3 -3
  246. package/dist/esm/{resultsPageUrl-Do7coPt7.js → resultsPageUrl-DQ1zDXdx.js} +3 -3
  247. package/dist/esm/{search.store-BVrQTC-G.js → search.store-BGZraLoH.js} +6 -6
  248. package/dist/esm/{store-Dw7Hd5-K.js → store-DgTklFVi.js} +3 -3
  249. package/dist/esm/{swiper-element-pB8RrHSZ.js → swiper-element-ZqDRXfkq.js} +3 -3
  250. package/dist/esm/vviinn-button_6.entry.js +12 -12
  251. package/dist/esm/vviinn-camera_12.entry.js +15 -15
  252. package/dist/esm/vviinn-carousel_10.entry.js +21 -13
  253. package/dist/esm/vviinn-detected-object_2.entry.js +6 -6
  254. package/dist/esm/vviinn-shop-the-look.entry.js +13 -13
  255. package/dist/esm/vviinn-text-search.entry.js +10 -10
  256. package/dist/esm/vviinn-vps-button.entry.js +9 -9
  257. package/dist/esm/vviinn-widgets.js +6 -6
  258. package/dist/loader/cdn.js +3 -3
  259. package/dist/loader/index.cjs.js +3 -3
  260. package/dist/loader/index.es2017.js +3 -3
  261. package/dist/loader/index.js +3 -3
  262. package/dist/storybook/helpers/sharedArgTypes.js +3 -3
  263. package/dist/types/components/vviinn-product-card/stories/args.d.ts +4 -3
  264. package/dist/types/components/vviinn-product-card/stories/decorators.d.ts +1 -1
  265. package/dist/types/components/vviinn-product-card/vviinn-product-card.d.ts +52 -12
  266. package/dist/types/components/vviinn-vpr-button/vviinn-vpr-button.d.ts +0 -1
  267. package/dist/types/components/vviinn-vpr-widget/vviinn-vpr-widget.d.ts +0 -1
  268. package/dist/types/components.d.ts +153 -3
  269. package/dist/vviinn-widgets/index.esm.js +3 -3
  270. package/dist/vviinn-widgets/{p-160dba84.entry.js → p-33d1e152.entry.js} +4 -4
  271. package/{www/build/p-CJTKS7AD.js → dist/vviinn-widgets/p-3ovc_cLx.js} +4 -4
  272. package/{www/build/p-4a8df7a5.entry.js → dist/vviinn-widgets/p-425c7ca3.entry.js} +4 -4
  273. package/dist/vviinn-widgets/{p-f5156f20.entry.js → p-47acc86e.entry.js} +4 -4
  274. package/{www/build/p-a831eb43.entry.js → dist/vviinn-widgets/p-7a97d6c2.entry.js} +4 -4
  275. package/{www/build/p-474de17c.entry.js → dist/vviinn-widgets/p-9907fc4d.entry.js} +4 -4
  276. package/dist/vviinn-widgets/p-BV5YWSPA.js +8 -0
  277. package/dist/vviinn-widgets/p-BexbSTOV.js +8 -0
  278. package/dist/vviinn-widgets/{p-D8wvuxca.js → p-Bpe4n4Ll.js} +3 -3
  279. package/dist/vviinn-widgets/p-C-PBA2bz.js +8 -0
  280. package/dist/vviinn-widgets/{p-Bx5RgG8R.js → p-Cbeu6HrQ.js} +4 -4
  281. package/dist/vviinn-widgets/{p-DAJ_Vnro.js → p-CbnDh7O4.js} +3 -3
  282. package/dist/vviinn-widgets/{p-BinO0Y25.js → p-CzioeeIx.js} +4 -4
  283. package/dist/vviinn-widgets/{p-BK-UtHEi.js → p-DE6j1u2q.js} +4 -4
  284. package/dist/vviinn-widgets/{p-Do7coPt7.js → p-DQ1zDXdx.js} +3 -3
  285. package/{www/build/p-Dw7Hd5-K.js → dist/vviinn-widgets/p-DgTklFVi.js} +3 -3
  286. package/{www/build/p-Bv62lBTh.js → dist/vviinn-widgets/p-DyEil1RE.js} +4 -4
  287. package/dist/vviinn-widgets/{p-zJ2la8de.js → p-YwpO7yZ1.js} +4 -4
  288. package/dist/vviinn-widgets/{p-pB8RrHSZ.js → p-ZqDRXfkq.js} +3 -3
  289. package/dist/vviinn-widgets/{p-c9916098.entry.js → p-aeff0c41.entry.js} +4 -4
  290. package/dist/vviinn-widgets/{p-55b34826.entry.js → p-c221eb8e.entry.js} +4 -4
  291. package/dist/vviinn-widgets/{p-C1kKyGWn.js → p-l0BbTaDA.js} +4 -4
  292. package/dist/vviinn-widgets/vviinn-widgets.esm.js +4 -4
  293. package/docs.json +13199 -0
  294. package/package.json +4 -7
  295. package/www/build/index.esm.js +3 -3
  296. package/www/build/{p-160dba84.entry.js → p-33d1e152.entry.js} +4 -4
  297. package/{dist/vviinn-widgets/p-CJTKS7AD.js → www/build/p-3ovc_cLx.js} +4 -4
  298. package/{dist/vviinn-widgets/p-4a8df7a5.entry.js → www/build/p-425c7ca3.entry.js} +4 -4
  299. package/www/build/{p-f5156f20.entry.js → p-47acc86e.entry.js} +4 -4
  300. package/{dist/vviinn-widgets/p-a831eb43.entry.js → www/build/p-7a97d6c2.entry.js} +4 -4
  301. package/www/build/{p-fd10b8ec.js → p-81d963f8.js} +4 -4
  302. package/{dist/vviinn-widgets/p-474de17c.entry.js → www/build/p-9907fc4d.entry.js} +4 -4
  303. package/www/build/p-BV5YWSPA.js +8 -0
  304. package/www/build/p-BexbSTOV.js +8 -0
  305. package/www/build/{p-D8wvuxca.js → p-Bpe4n4Ll.js} +3 -3
  306. package/www/build/p-C-PBA2bz.js +8 -0
  307. package/www/build/{p-Bx5RgG8R.js → p-Cbeu6HrQ.js} +4 -4
  308. package/www/build/{p-DAJ_Vnro.js → p-CbnDh7O4.js} +3 -3
  309. package/www/build/{p-BinO0Y25.js → p-CzioeeIx.js} +4 -4
  310. package/www/build/{p-BK-UtHEi.js → p-DE6j1u2q.js} +4 -4
  311. package/www/build/{p-Do7coPt7.js → p-DQ1zDXdx.js} +3 -3
  312. package/{dist/vviinn-widgets/p-Dw7Hd5-K.js → www/build/p-DgTklFVi.js} +3 -3
  313. package/{dist/vviinn-widgets/p-Bv62lBTh.js → www/build/p-DyEil1RE.js} +4 -4
  314. package/www/build/{p-zJ2la8de.js → p-YwpO7yZ1.js} +4 -4
  315. package/www/build/{p-pB8RrHSZ.js → p-ZqDRXfkq.js} +3 -3
  316. package/www/build/{p-c9916098.entry.js → p-aeff0c41.entry.js} +4 -4
  317. package/www/build/{p-55b34826.entry.js → p-c221eb8e.entry.js} +4 -4
  318. package/www/build/{p-C1kKyGWn.js → p-l0BbTaDA.js} +4 -4
  319. package/www/build/vviinn-widgets.esm.js +4 -4
  320. package/www/build/vviinn-widgets.js +3 -3
  321. package/dist/vviinn-widgets/p-5M4OE8Ib.js +0 -8
  322. package/dist/vviinn-widgets/p-Ct4T-m61.js +0 -8
  323. package/dist/vviinn-widgets/p-DaXOFJ9S.js +0 -8
  324. package/www/build/p-5M4OE8Ib.js +0 -8
  325. package/www/build/p-Ct4T-m61.js +0 -8
  326. package/www/build/p-DaXOFJ9S.js +0 -8
@@ -1,3 +1,3 @@
1
1
  export declare const productDecorator: (story: any, { args }: {
2
2
  args: any;
3
- }) => string;
3
+ }) => HTMLDivElement;
@@ -5,8 +5,12 @@ import { UpdateButtonLocation } from "../vviinn-vpr-widget/vviinn-vpr-widget";
5
5
  import { BasePrice, EnergyCertification, EntityType, ProductImage, Recommendation } from "../../interfaces";
6
6
  import { Locale } from "../../locale";
7
7
  /**
8
+ * Card for one search result or recommendation. Renders a product, a content entry or a list entry, depending on `entity-type`.
9
+ *
10
+ * @part product-card - Card container. Styled through an embedding widget, e.g. `vviinn-results::part(product-card)`.
8
11
  * @part image-container - Product Card's image container.
9
- * @part content-container - Product Card's content container.
12
+ * @part image-skeleton - Placeholder shown while the image loads.
13
+ * @part content-container - Product Card's content container. On content cards, not exported to the widgets.
10
14
  * @part basket-button-container - Product Card's basket button container.
11
15
  * @part brand - Product brand.
12
16
  * @part product-type - Product type.
@@ -16,12 +20,13 @@ import { Locale } from "../../locale";
16
20
  * @part image-link - Anchor element for image. Rendered only if "deeplink" property filled.
17
21
  * @part image-picture - Picture element for image.
18
22
  * @part image-placeholder - Placeholder shown when no image is available.
19
- * @part price-amount-regular - Numeric part of the price.
20
- * @part price-amount-sale - Numeric part of the price.
21
- * @part price-amount-outdated - Numeric part of the price.
22
- * @part price-amount-base-sale - Numeric part of the base price.
23
- * @part price-amount-base-outdated - Numeric part of the base price.
24
- * @part price-amount-base-regular - Numeric part of the base price.
23
+ * @part price-container - Wrapper around the price values. Rendered only if "add-price-container" property is set.
24
+ * @part price-amount-regular - Numeric part of the regular price.
25
+ * @part price-amount-sale - Numeric part of the sale price.
26
+ * @part price-amount-outdated - Numeric part of the regular price shown as outdated.
27
+ * @part price-amount-base-sale - Numeric part of the sale price per unit.
28
+ * @part price-amount-base-outdated - Numeric part of the regular price per unit shown as outdated.
29
+ * @part price-amount-base-regular - Numeric part of the regular price per unit.
25
30
  * @part price-outdated - Renders when "sale-price" property filled. Contains regular price.
26
31
  * @part price-regular - Renders when "sale-price" property is empty.
27
32
  * @part price-sale - Renders when "sale-price" property filled. Contains sale price.
@@ -44,14 +49,26 @@ import { Locale } from "../../locale";
44
49
  * @part custom-label-2 - Custom label with index 2.
45
50
  * @part custom-label-3 - Custom label with index 3.
46
51
  * @part custom-label-4 - Custom label with index 4.
52
+ * @part custom-label-content - Custom labels in the content area. Combine with custom-label-N to pick one place.
53
+ * @part custom-label-image - Custom labels on the image. Combine with custom-label-N to pick one place.
47
54
  * @part product-card-actions - Style actions wrapper.
48
55
  * @part product-card-actions-top - Style top actions wrapper.
49
- * @part list-card - List card container.
56
+ * @part content-card - Content card container. Styled through an embedding widget, e.g. `vviinn-results::part(content-card)`.
57
+ * @part content-card-content-container - Content card's content container.
58
+ * @part content-label - Content card's label.
59
+ * @part content-title - Content card's title.
60
+ * @part content-link - Content card's link.
61
+ * @part content-card-image - Content card's image.
62
+ * @part content-card-image-container - Content card's image container.
63
+ * @part content-card-image-picture - Picture element for content card's image.
64
+ * @part list-card - List card container. Styled through an embedding widget, e.g. `vviinn-results::part(list-card)`.
65
+ * @part list-container - Same element as list-card-content-container. Not exported to the widgets.
50
66
  * @part list-card-content-container - List card's content container.
51
67
  * @part list-label - List card's label (e.g., "Category").
52
68
  * @part list-title - List card's title.
69
+ * @part list-card-image - List card's image.
53
70
  * @part list-card-image-container - List card's image container.
54
- * @part list-card-image-link - Anchor element for list card image.
71
+ * @part list-card-image-picture - Picture element for list card's image.
55
72
  *
56
73
  * @slot vviinn-update-button-icon - Icon of Update Button (Set mode).
57
74
  * @slot vviinn-basket-button-text - Text of Add to Basket button.
@@ -72,32 +89,55 @@ import { Locale } from "../../locale";
72
89
  */
73
90
  export declare class VviinnProductCard {
74
91
  el: HTMLElement;
92
+ /** Product brand. Also set as `data-brand` on the card, so CSS can target cards by brand */
75
93
  brand: string | undefined;
94
+ /** The currency sign is displayed after the price */
76
95
  currencySign: string | undefined;
96
+ /** Locale for text localization */
77
97
  locale?: Locale;
78
98
  /** Locale for number formatting. Falls back to locale */
79
99
  numberLocale?: string;
100
+ /** Prefix is displayed before the price */
80
101
  pricePrefix?: string;
102
+ /** URL of the main product image */
81
103
  image: string | undefined;
104
+ /** Product images, set as a JS property. Used by `show-multiple-images` when there are at least two */
82
105
  images: ProductImage[];
83
106
  /** Show multiple images: swiper on mobile, hover on desktop */
84
107
  showMultipleImages: boolean;
108
+ /** Image width in pixels. Ignored when `responsive` is set */
85
109
  imageWidth: number;
110
+ /** Regular price */
86
111
  price: number | undefined;
112
+ /** Price per unit, as an object or a JSON string: `{"price": 9.99, "quantity": 100, "measure": "ml"}` */
87
113
  basePrice?: BasePrice | string | null;
114
+ /** Product title */
88
115
  productTitle: string;
116
+ /** Product type */
89
117
  productType: string | undefined;
118
+ /** What the card shows: a `product`, a `content` entry or a `list` entry */
90
119
  entityType: EntityType;
120
+ /** Render the card for Set mode: Update button, discount label, and Add to Basket regardless of `add-to-basket-show` */
91
121
  isSetMode: boolean;
122
+ /** Sale price. When set, the regular price is shown as outdated next to it */
92
123
  salePrice: number | undefined;
124
+ /** Price per unit for the sale price, in the same shape as `base-price` */
93
125
  baseSalePrice: BasePrice | string | null;
126
+ /** Let the image fill the card width instead of `image-width` */
94
127
  responsive: boolean;
128
+ /** Show or hide the Add to Basket button */
95
129
  addToBasketShow: boolean;
130
+ /** Show or hide Favorite button */
96
131
  favoriteShow: boolean;
132
+ /** Location of Update button for Set mode */
97
133
  updateButtonLocation: UpdateButtonLocation;
134
+ /** Labels from the product feed, separated by `|`. Hidden by default — show them with the `custom-label-N` parts, which exist for the first five. Also set as `data-custom-label-N` */
98
135
  customLabels: string;
136
+ /** Wrap the Product Card's price values in the container. */
99
137
  addPriceContainer?: boolean;
138
+ /** Energy labels, set as a JS property */
100
139
  energyCertifications?: EnergyCertification[];
140
+ /** Product page URL for the title and image links. Standalone, the card doesn't navigate — handle `vviinnProductClick` */
101
141
  deeplink: string | undefined;
102
142
  /** URL to external CSS file for custom styling */
103
143
  cssUrl: string | null;
@@ -144,11 +184,11 @@ export declare class VviinnProductCard {
144
184
  favoriteButonPressed: boolean;
145
185
  imageLoaded: boolean;
146
186
  showSecondImage: boolean;
147
- /** Event emitted once when the recommendation is rendered on the page */
187
+ /** Emitted once when the card has rendered */
148
188
  vviinnProductLoad: EventEmitter<ProductCardEventData>;
149
- /** Event emitted once when the recommendation appears in the viewport */
189
+ /** Emitted when at least 95% of the card's image is visible */
150
190
  vviinnProductView: EventEmitter<ProductCardEventData>;
151
- /** Event emitted ones when user click on deeplink */
191
+ /** Emitted on a click on a link in the card, instead of following the link */
152
192
  vviinnProductClick: EventEmitter<ProductCardEventData>;
153
193
  /** User clicks on Add to Basket button */
154
194
  vviinnAddToBasket: EventEmitter<ProductCardEventData>;
@@ -55,7 +55,6 @@ import { OneClickDiscoveryMode } from "../../widget/types";
55
55
  * @part list-card - List card container.
56
56
  * @part list-card-content-container - List card's content container.
57
57
  * @part list-card-image-container - List card's image container.
58
- * @part list-card-image-link - List card's image link.
59
58
  * @part list-label - List card's label (e.g., "Category").
60
59
  * @part list-title - List card's title.
61
60
  *
@@ -55,7 +55,6 @@ export type Mode = "pure-grid" | CarouselMode;
55
55
  * @part list-card - List card container.
56
56
  * @part list-card-content-container - List card's content container.
57
57
  * @part list-card-image-container - List card's image container.
58
- * @part list-card-image-link - List card's image link.
59
58
  * @part list-label - List card's label (e.g., "Category").
60
59
  * @part list-title - List card's title.
61
60
  *
@@ -281,12 +281,30 @@ export namespace Components {
281
281
  interface VviinnPrivacyBadge {
282
282
  "privacyBadgeText": string;
283
283
  }
284
+ /**
285
+ * Card for one search result or recommendation. Renders a product, a content entry or a list entry, depending on `entity-type`.
286
+ */
284
287
  interface VviinnProductCard {
288
+ /**
289
+ * Wrap the Product Card's price values in the container.
290
+ */
285
291
  "addPriceContainer"?: boolean;
292
+ /**
293
+ * Show or hide the Add to Basket button
294
+ */
286
295
  "addToBasketShow": boolean;
287
296
  "appliedDiscountPercentage"?: number;
297
+ /**
298
+ * Price per unit, as an object or a JSON string: `{"price": 9.99, "quantity": 100, "measure": "ml"}`
299
+ */
288
300
  "basePrice"?: BasePrice | string | null;
301
+ /**
302
+ * Price per unit for the sale price, in the same shape as `base-price`
303
+ */
289
304
  "baseSalePrice": BasePrice | string | null;
305
+ /**
306
+ * Product brand. Also set as `data-brand` on the card, so CSS can target cards by brand
307
+ */
290
308
  "brand": string | undefined;
291
309
  "buttonElementId"?: string;
292
310
  "campaignTypeId": CampaignTypeId;
@@ -294,44 +312,98 @@ export namespace Components {
294
312
  * URL to external CSS file for custom styling
295
313
  */
296
314
  "cssUrl": string | null;
315
+ /**
316
+ * The currency sign is displayed after the price
317
+ */
297
318
  "currencySign": string | undefined;
298
319
  "currentDiscountPercentage"?: number;
320
+ /**
321
+ * Labels from the product feed, separated by `|`. Hidden by default — show them with the `custom-label-N` parts, which exist for the first five. Also set as `data-custom-label-N`
322
+ */
299
323
  "customLabels": string;
324
+ /**
325
+ * Product page URL for the title and image links. Standalone, the card doesn't navigate — handle `vviinnProductClick`
326
+ */
300
327
  "deeplink": string | undefined;
301
328
  "defaultAnimationInterval": number;
302
329
  "disableMobileSwiper": boolean;
330
+ /**
331
+ * Energy labels, set as a JS property
332
+ */
303
333
  "energyCertifications"?: EnergyCertification[];
304
334
  "energyCertificationsString": string;
335
+ /**
336
+ * What the card shows: a `product`, a `content` entry or a `list` entry
337
+ */
305
338
  "entityType": EntityType;
339
+ /**
340
+ * Show or hide Favorite button
341
+ */
306
342
  "favoriteShow": boolean;
343
+ /**
344
+ * URL of the main product image
345
+ */
307
346
  "image": string | undefined;
308
347
  "imageResolutionWidth": number;
348
+ /**
349
+ * Image width in pixels. Ignored when `responsive` is set
350
+ */
309
351
  "imageWidth": number;
352
+ /**
353
+ * Product images, set as a JS property. Used by `show-multiple-images` when there are at least two
354
+ */
310
355
  "images": ProductImage[];
311
356
  "index": number;
312
357
  "isResultsWidget": boolean;
358
+ /**
359
+ * Render the card for Set mode: Update button, discount label, and Add to Basket regardless of `add-to-basket-show`
360
+ */
313
361
  "isSetMode": boolean;
314
362
  "isSourceProduct": boolean;
315
363
  "isStandalone": boolean;
316
364
  "loading": boolean;
365
+ /**
366
+ * Locale for text localization
367
+ */
317
368
  "locale"?: Locale;
318
369
  /**
319
370
  * Locale for number formatting. Falls back to locale
320
371
  */
321
372
  "numberLocale"?: string;
373
+ /**
374
+ * Regular price
375
+ */
322
376
  "price": number | undefined;
377
+ /**
378
+ * Prefix is displayed before the price
379
+ */
323
380
  "pricePrefix"?: string;
324
381
  "product"?: Recommendation;
325
382
  "productId": string;
383
+ /**
384
+ * Product title
385
+ */
326
386
  "productTitle": string;
387
+ /**
388
+ * Product type
389
+ */
327
390
  "productType": string | undefined;
391
+ /**
392
+ * Let the image fill the card width instead of `image-width`
393
+ */
328
394
  "responsive": boolean;
395
+ /**
396
+ * Sale price. When set, the regular price is shown as outdated next to it
397
+ */
329
398
  "salePrice": number | undefined;
330
399
  "showFooterArrow": boolean;
331
400
  /**
332
401
  * Show multiple images: swiper on mobile, hover on desktop
333
402
  */
334
403
  "showMultipleImages": boolean;
404
+ /**
405
+ * Location of Update button for Set mode
406
+ */
335
407
  "updateButtonLocation": UpdateButtonLocation;
336
408
  "updatingAllCards": boolean;
337
409
  "widgetElementId"?: string;
@@ -1573,6 +1645,9 @@ declare global {
1573
1645
  "vviinnUpdatingAllCardsStarted": any;
1574
1646
  "vviinnUpdatingAllCardsFinished": any;
1575
1647
  }
1648
+ /**
1649
+ * Card for one search result or recommendation. Renders a product, a content entry or a list entry, depending on `entity-type`.
1650
+ */
1576
1651
  interface HTMLVviinnProductCardElement extends Components.VviinnProductCard, HTMLStencilElement {
1577
1652
  addEventListener<K extends keyof HTMLVviinnProductCardElementEventMap>(type: K, listener: (this: HTMLVviinnProductCardElement, ev: VviinnProductCardCustomEvent<HTMLVviinnProductCardElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1578
1653
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -2164,26 +2239,77 @@ declare namespace LocalJSX {
2164
2239
  interface VviinnPrivacyBadge {
2165
2240
  "privacyBadgeText"?: string;
2166
2241
  }
2242
+ /**
2243
+ * Card for one search result or recommendation. Renders a product, a content entry or a list entry, depending on `entity-type`.
2244
+ */
2167
2245
  interface VviinnProductCard {
2246
+ /**
2247
+ * Wrap the Product Card's price values in the container.
2248
+ */
2168
2249
  "addPriceContainer"?: boolean;
2250
+ /**
2251
+ * Show or hide the Add to Basket button
2252
+ */
2169
2253
  "addToBasketShow"?: boolean;
2254
+ /**
2255
+ * Price per unit, as an object or a JSON string: `{"price": 9.99, "quantity": 100, "measure": "ml"}`
2256
+ */
2170
2257
  "basePrice"?: BasePrice | string | null;
2258
+ /**
2259
+ * Price per unit for the sale price, in the same shape as `base-price`
2260
+ */
2171
2261
  "baseSalePrice"?: BasePrice | string | null;
2262
+ /**
2263
+ * Product brand. Also set as `data-brand` on the card, so CSS can target cards by brand
2264
+ */
2172
2265
  "brand"?: string | undefined;
2173
2266
  /**
2174
2267
  * URL to external CSS file for custom styling
2175
2268
  */
2176
2269
  "cssUrl"?: string | null;
2270
+ /**
2271
+ * The currency sign is displayed after the price
2272
+ */
2177
2273
  "currencySign"?: string | undefined;
2274
+ /**
2275
+ * Labels from the product feed, separated by `|`. Hidden by default — show them with the `custom-label-N` parts, which exist for the first five. Also set as `data-custom-label-N`
2276
+ */
2178
2277
  "customLabels"?: string;
2278
+ /**
2279
+ * Product page URL for the title and image links. Standalone, the card doesn't navigate — handle `vviinnProductClick`
2280
+ */
2179
2281
  "deeplink"?: string | undefined;
2282
+ /**
2283
+ * Energy labels, set as a JS property
2284
+ */
2180
2285
  "energyCertifications"?: EnergyCertification[];
2286
+ /**
2287
+ * What the card shows: a `product`, a `content` entry or a `list` entry
2288
+ */
2181
2289
  "entityType"?: EntityType;
2290
+ /**
2291
+ * Show or hide Favorite button
2292
+ */
2182
2293
  "favoriteShow"?: boolean;
2294
+ /**
2295
+ * URL of the main product image
2296
+ */
2183
2297
  "image"?: string | undefined;
2298
+ /**
2299
+ * Image width in pixels. Ignored when `responsive` is set
2300
+ */
2184
2301
  "imageWidth"?: number;
2302
+ /**
2303
+ * Product images, set as a JS property. Used by `show-multiple-images` when there are at least two
2304
+ */
2185
2305
  "images"?: ProductImage[];
2306
+ /**
2307
+ * Render the card for Set mode: Update button, discount label, and Add to Basket regardless of `add-to-basket-show`
2308
+ */
2186
2309
  "isSetMode"?: boolean;
2310
+ /**
2311
+ * Locale for text localization
2312
+ */
2187
2313
  "locale"?: Locale;
2188
2314
  /**
2189
2315
  * Locale for number formatting. Falls back to locale
@@ -2198,27 +2324,48 @@ declare namespace LocalJSX {
2198
2324
  */
2199
2325
  "onVviinnAddToFavorite"?: (event: VviinnProductCardCustomEvent<ProductCardEventData>) => void;
2200
2326
  /**
2201
- * Event emitted ones when user click on deeplink
2327
+ * Emitted on a click on a link in the card, instead of following the link
2202
2328
  */
2203
2329
  "onVviinnProductClick"?: (event: VviinnProductCardCustomEvent<ProductCardEventData>) => void;
2204
2330
  /**
2205
- * Event emitted once when the recommendation is rendered on the page
2331
+ * Emitted once when the card has rendered
2206
2332
  */
2207
2333
  "onVviinnProductLoad"?: (event: VviinnProductCardCustomEvent<ProductCardEventData>) => void;
2208
2334
  /**
2209
- * Event emitted once when the recommendation appears in the viewport
2335
+ * Emitted when at least 95% of the card's image is visible
2210
2336
  */
2211
2337
  "onVviinnProductView"?: (event: VviinnProductCardCustomEvent<ProductCardEventData>) => void;
2338
+ /**
2339
+ * Regular price
2340
+ */
2212
2341
  "price"?: number | undefined;
2342
+ /**
2343
+ * Prefix is displayed before the price
2344
+ */
2213
2345
  "pricePrefix"?: string;
2346
+ /**
2347
+ * Product title
2348
+ */
2214
2349
  "productTitle"?: string;
2350
+ /**
2351
+ * Product type
2352
+ */
2215
2353
  "productType"?: string | undefined;
2354
+ /**
2355
+ * Let the image fill the card width instead of `image-width`
2356
+ */
2216
2357
  "responsive"?: boolean;
2358
+ /**
2359
+ * Sale price. When set, the regular price is shown as outdated next to it
2360
+ */
2217
2361
  "salePrice"?: number | undefined;
2218
2362
  /**
2219
2363
  * Show multiple images: swiper on mobile, hover on desktop
2220
2364
  */
2221
2365
  "showMultipleImages"?: boolean;
2366
+ /**
2367
+ * Location of Update button for Set mode
2368
+ */
2222
2369
  "updateButtonLocation"?: UpdateButtonLocation;
2223
2370
  }
2224
2371
  interface VviinnRangeFilter {
@@ -3345,6 +3492,9 @@ declare module "@stencil/core" {
3345
3492
  "vviinn-overlayed-modal": LocalJSX.VviinnOverlayedModal & JSXBase.HTMLAttributes<HTMLVviinnOverlayedModalElement>;
3346
3493
  "vviinn-preloader": LocalJSX.VviinnPreloader & JSXBase.HTMLAttributes<HTMLVviinnPreloaderElement>;
3347
3494
  "vviinn-privacy-badge": LocalJSX.VviinnPrivacyBadge & JSXBase.HTMLAttributes<HTMLVviinnPrivacyBadgeElement>;
3495
+ /**
3496
+ * Card for one search result or recommendation. Renders a product, a content entry or a list entry, depending on `entity-type`.
3497
+ */
3348
3498
  "vviinn-product-card": LocalJSX.VviinnProductCard & JSXBase.HTMLAttributes<HTMLVviinnProductCardElement>;
3349
3499
  "vviinn-range-filter": LocalJSX.VviinnRangeFilter & JSXBase.HTMLAttributes<HTMLVviinnRangeFilterElement>;
3350
3500
  "vviinn-recommendations-sidebar": LocalJSX.VviinnRecommendationsSidebar & JSXBase.HTMLAttributes<HTMLVviinnRecommendationsSidebarElement>;
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * vviinn-widgets v2.227.2
2
+ * vviinn-widgets v2.228.0
3
3
  * Copyright 2020 Mediaopt
4
4
  * SPDX-License-Identifier: Apache-2.0
5
- * License: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.227.2/LICENSE
6
- * Notice: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.227.2/NOTICE
5
+ * License: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.228.0/LICENSE
6
+ * Notice: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.228.0/NOTICE
7
7
  */
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * vviinn-widgets v2.227.2
2
+ * vviinn-widgets v2.228.0
3
3
  * Copyright 2020 Mediaopt
4
4
  * SPDX-License-Identifier: Apache-2.0
5
- * License: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.227.2/LICENSE
6
- * Notice: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.227.2/NOTICE
5
+ * License: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.228.0/LICENSE
6
+ * Notice: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.228.0/NOTICE
7
7
  */
8
- import{h as t,r as i,c as s,H as h,g as e}from"./p-DAJ_Vnro.js";import{f as a,h as n,S as o}from"./p-CJTKS7AD.js";import{D as l}from"./p-Ct4T-m61.js";import{S as d,r}from"./p-DaXOFJ9S.js";import{i as c,s as u}from"./p-Bx5RgG8R.js";import{i as C}from"./p-Dw7Hd5-K.js";const p=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M18 4H20C22.21 4 24 5.79 24 8V16H22V8C22 6.9 21.1 6 20 6H16.93L16.34 5.11L14.93 3H9.07L7.66 5.11L7.07 6H4C2.9 6 2 6.9 2 8V18C2 19.1 2.9 20 4 20H9V22H4C1.79 22 0 20.21 0 18V8C0 5.79 1.79 4 4 4H6L8 1H16L18 4ZM12 8C14.76 8 17 10.24 17 13L16.99 13.01C16.99 14.02 16.68 14.97 16.16 15.76L20.7 20.3L19.29 21.71L14.75 17.17C13.96 17.69 13.02 18 12 18C9.24 18 7 15.76 7 13C7 10.24 9.24 8 12 8ZM9 13C9 14.65 10.35 16 12 16C13.65 16 15 14.65 15 13C15 11.35 13.65 10 12 10C10.35 10 9 11.35 9 13Z",fill:"#161616"})),v=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},t("path",{d:"M4 8C4 5.79 5.79 4 8 4H9V2H8C4.69 2 2 4.69 2 8V9H4V8Z",fill:"#161616"}),t("path",{d:"M20 8C20 5.79 18.21 4 16 4H15V2H16C19.31 2 22 4.69 22 8V9H20V8Z",fill:"#161616"}),t("path",{d:"M4 16V15H2V16C2 19.31 4.69 22 8 22H9V20H8C5.79 20 4 18.21 4 16Z",fill:"#161616"}),t("path",{d:"M17 12C17 9.24 14.76 7 12 7C9.24 7 7 9.24 7 12C7 14.76 9.24 17 12 17C13.02 17 13.96 16.69 14.75 16.17L19.29 20.71L20.7 19.3L16.16 14.76C16.68 13.97 16.99 13.02 16.99 12.01L17 12ZM12 15C10.35 15 9 13.65 9 12C9 10.35 10.35 9 12 9C13.65 9 15 10.35 15 12C15 13.65 13.65 15 12 15Z",fill:"#161616"})),g=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},t("path",{d:"M4 8C4 5.79 5.79 4 8 4H9V2H8C4.69 2 2 4.69 2 8V9H4V8Z",fill:"#161616"}),t("path",{d:"M4 16V15H2V16C2 19.31 4.69 22 8 22H9V20H8C5.79 20 4 18.21 4 16Z",fill:"#161616"}),t("path",{d:"M20 16C20 18.21 18.21 20 16 20H15V22H16C19.31 22 22 19.31 22 16V15H20V16Z",fill:"#161616"}),t("path",{d:"M16 2H15V4H16C18.21 4 20 5.79 20 8V9H22V8C22 4.69 19.31 2 16 2Z",fill:"#161616"}),t("path",{d:"M17 12C17 9.24 14.76 7 12 7C9.24 7 7 9.24 7 12C7 14.76 9.24 17 12 17C14.76 17 17 14.76 17 12ZM12 15C10.35 15 9 13.65 9 12C9 10.35 10.35 9 12 9C13.65 9 15 10.35 15 12C15 13.65 13.65 15 12 15Z",fill:"#161616"})),m=class{constructor(t){i(this,t),this.vviinnWidgetLoad=s(this,"vviinnWidgetLoad"),this.vviinnWidgetOpen=s(this,"vviinnWidgetOpen"),this.vviinnWidgetClose=s(this,"vviinnWidgetClose"),this.vviinnImageUploadStarted=s(this,"vviinnImageUploadStarted"),this.vviinnProductLoad=s(this,"vviinnProductLoad"),this.vviinnProductClick=s(this,"vviinnProductClick"),this.vviinnProductView=s(this,"vviinnProductView"),this.vviinnResultLoad=s(this,"vviinnResultLoad"),this.vviinnResultView=s(this,"vviinnResultView"),this.vviinnNoResult=s(this,"vviinnNoResult"),this.vviinnImageCrop=s(this,"vviinnImageCrop"),this.vviinnSelectObject=s(this,"vviinnSelectObject"),this.globalSlotsChanged=s(this,"globalSlotsChanged"),this.campaignId="",this.campaignIdTextSearch="",this.campaignIdVisualSearch="",this.addStyle=!1,this.mode="modal",this.excluded="",this.productDetailsNewTab=!0,this.productDetailsRedirect=!0,this.imageResolutionWidth=d,this.showMultipleImages=!1,this.useDragAndDrop=!1,this.exampleImageSource=l,this.textSearchShow=!1,this.autoSuggestShow=!0,this.aiSuggestionsShow=!1,this.addToBasketShow=!1,this.favoriteShow=!1,this.oneClickDiscoveryMode="append-grid",this.oneClickDiscoveryCampaigns="",this.addPriceContainer=!1,this.showIntervalInputs=!1,this.cssUrl=null,this.showResultsInModal=!0,this.parentSlots=[],this.buttonPressed=!1,this.slots=[],this.hasCustomTrigger=!1,this.allSlots=()=>[...this.parentSlots,...this.slots],this.handleActivation=()=>{this.buttonPressed=!0},this.resetButton=()=>{this.buttonPressed=!1},this.handleKeyDown=t=>{"Enter"!==t.key&&" "!==t.key||this.handleActivation()}}handleModalClosed({detail:t}){"VPS"===t.campaignTypeId&&(this.buttonPressed=!1)}buttonPressedWatcher(t,i){!0===i&&!1===t&&requestAnimationFrame((()=>{this.el.focus()}))}async componentWillLoad(){await c(this.locale),this.slots=a(this.el),this.hasCustomTrigger=n(this.el)}componentDidLoad(){this.replaceSlotsContent()}replaceSlotsContent(t){this.globalSlotsChanged.emit({slots:this.allSlots(),element:this.el}),t&&this.globalSlotsChanged.emit({slots:this.allSlots(),element:t})}getButtonConfig(){switch(this.mode){case"camera":return{ariaLabel:C.t("a11y.cameraModeSearchButton"),buttonIcon:t(p,null)};case"modal":if(this.textSearchShow)return{ariaLabel:C.t("a11y.modalModeSearchButton"),buttonIcon:t(v,null)};default:return{ariaLabel:C.t("a11y.uploadModeSearchButton"),buttonIcon:t(g,null)}}}render(){const{ariaLabel:i,buttonIcon:s}=this.getButtonConfig();return t(h,{key:"2a466056b4da2d437d4c5f54f825d3da8a73bd20",role:this.buttonPressed?void 0:"button","aria-label":this.buttonPressed?void 0:i,exportparts:`vviinn-button, ${u}`},r(this.cssUrl),t("vviinn-button",{key:"b97d5c9e5f248234a3241435db2df851d4ffcfd6",addStyle:this.addStyle,part:"vviinn-button",tabindex:this.buttonPressed?void 0:"0",onClick:this.buttonPressed?void 0:this.handleActivation,onKeyDown:this.buttonPressed?void 0:this.handleKeyDown},t("span",{key:"4bb132b2dbd831978d1cbde3df3707c19795bccc",style:{display:this.hasCustomTrigger?"contents":"none"}},t("slot",{key:"2fd54456f699476252a669c957fb6227e39beadf",onSlotchange:()=>this.hasCustomTrigger=n(this.el)})),!this.hasCustomTrigger&&s),o("search"),t("vviinn-vps-widget",{key:"b70f8319dad29f6ed021e6298472008c3aab3a9f",mode:this.mode,"currency-sign":this.currencySign,token:this.token,locale:this.locale,numberLocale:this.numberLocale,apiPath:this.apiPath,pricePrefix:this.pricePrefix,campaignId:this.campaignId,campaignIdTextSearch:this.campaignIdTextSearch,campaignIdVisualSearch:this.campaignIdVisualSearch,showingInButton:!0,buttonPressed:this.buttonPressed,resetVpsButton:this.resetButton,buttonElementId:this.el.id,active:this.buttonPressed&&("modal"===this.mode||"camera"===this.mode),excluded:this.excluded,productDetailsNewTab:this.productDetailsNewTab,productDetailsRedirect:this.productDetailsRedirect,imageResolutionWidth:this.imageResolutionWidth,showMultipleImages:this.showMultipleImages,useDragAndDrop:this.useDragAndDrop,exampleImageSource:this.exampleImageSource,textSearchShow:this.textSearchShow,autoSuggestShow:this.autoSuggestShow,aiSuggestionsShow:this.aiSuggestionsShow,addToBasketShow:this.addToBasketShow,addPriceContainer:this.addPriceContainer,showIntervalInputs:this.showIntervalInputs,replaceSlotsContentInButton:this.replaceSlotsContent.bind(this),oneClickDiscoveryMode:this.oneClickDiscoveryMode,oneClickDiscoveryCampaigns:this.oneClickDiscoveryCampaigns,favoriteShow:this.favoriteShow,showResultsInModal:this.showResultsInModal,resultsPageUrl:this.resultsPageUrl,resultsPageParams:this.resultsPageParams,parentSlots:[...this.parentSlots,...this.slots],cssUrl:this.cssUrl}))}get el(){return e(this)}static get watchers(){return{buttonPressed:["buttonPressedWatcher"]}}};m.style=":host{display:inline-block;line-height:0}";export{m as vviinn_vps_button}
8
+ import{h as t,r as i,c as s,H as h,g as e}from"./p-CbnDh7O4.js";import{f as a,h as n,S as o}from"./p-3ovc_cLx.js";import{D as l}from"./p-BexbSTOV.js";import{S as d,r}from"./p-C-PBA2bz.js";import{i as c,s as u}from"./p-Cbeu6HrQ.js";import{i as C}from"./p-DgTklFVi.js";const p=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M18 4H20C22.21 4 24 5.79 24 8V16H22V8C22 6.9 21.1 6 20 6H16.93L16.34 5.11L14.93 3H9.07L7.66 5.11L7.07 6H4C2.9 6 2 6.9 2 8V18C2 19.1 2.9 20 4 20H9V22H4C1.79 22 0 20.21 0 18V8C0 5.79 1.79 4 4 4H6L8 1H16L18 4ZM12 8C14.76 8 17 10.24 17 13L16.99 13.01C16.99 14.02 16.68 14.97 16.16 15.76L20.7 20.3L19.29 21.71L14.75 17.17C13.96 17.69 13.02 18 12 18C9.24 18 7 15.76 7 13C7 10.24 9.24 8 12 8ZM9 13C9 14.65 10.35 16 12 16C13.65 16 15 14.65 15 13C15 11.35 13.65 10 12 10C10.35 10 9 11.35 9 13Z",fill:"#161616"})),v=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},t("path",{d:"M4 8C4 5.79 5.79 4 8 4H9V2H8C4.69 2 2 4.69 2 8V9H4V8Z",fill:"#161616"}),t("path",{d:"M20 8C20 5.79 18.21 4 16 4H15V2H16C19.31 2 22 4.69 22 8V9H20V8Z",fill:"#161616"}),t("path",{d:"M4 16V15H2V16C2 19.31 4.69 22 8 22H9V20H8C5.79 20 4 18.21 4 16Z",fill:"#161616"}),t("path",{d:"M17 12C17 9.24 14.76 7 12 7C9.24 7 7 9.24 7 12C7 14.76 9.24 17 12 17C13.02 17 13.96 16.69 14.75 16.17L19.29 20.71L20.7 19.3L16.16 14.76C16.68 13.97 16.99 13.02 16.99 12.01L17 12ZM12 15C10.35 15 9 13.65 9 12C9 10.35 10.35 9 12 9C13.65 9 15 10.35 15 12C15 13.65 13.65 15 12 15Z",fill:"#161616"})),g=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},t("path",{d:"M4 8C4 5.79 5.79 4 8 4H9V2H8C4.69 2 2 4.69 2 8V9H4V8Z",fill:"#161616"}),t("path",{d:"M4 16V15H2V16C2 19.31 4.69 22 8 22H9V20H8C5.79 20 4 18.21 4 16Z",fill:"#161616"}),t("path",{d:"M20 16C20 18.21 18.21 20 16 20H15V22H16C19.31 22 22 19.31 22 16V15H20V16Z",fill:"#161616"}),t("path",{d:"M16 2H15V4H16C18.21 4 20 5.79 20 8V9H22V8C22 4.69 19.31 2 16 2Z",fill:"#161616"}),t("path",{d:"M17 12C17 9.24 14.76 7 12 7C9.24 7 7 9.24 7 12C7 14.76 9.24 17 12 17C14.76 17 17 14.76 17 12ZM12 15C10.35 15 9 13.65 9 12C9 10.35 10.35 9 12 9C13.65 9 15 10.35 15 12C15 13.65 13.65 15 12 15Z",fill:"#161616"})),b=class{constructor(t){i(this,t),this.vviinnWidgetLoad=s(this,"vviinnWidgetLoad"),this.vviinnWidgetOpen=s(this,"vviinnWidgetOpen"),this.vviinnWidgetClose=s(this,"vviinnWidgetClose"),this.vviinnImageUploadStarted=s(this,"vviinnImageUploadStarted"),this.vviinnProductLoad=s(this,"vviinnProductLoad"),this.vviinnProductClick=s(this,"vviinnProductClick"),this.vviinnProductView=s(this,"vviinnProductView"),this.vviinnResultLoad=s(this,"vviinnResultLoad"),this.vviinnResultView=s(this,"vviinnResultView"),this.vviinnNoResult=s(this,"vviinnNoResult"),this.vviinnImageCrop=s(this,"vviinnImageCrop"),this.vviinnSelectObject=s(this,"vviinnSelectObject"),this.globalSlotsChanged=s(this,"globalSlotsChanged"),this.campaignId="",this.campaignIdTextSearch="",this.campaignIdVisualSearch="",this.addStyle=!1,this.mode="modal",this.excluded="",this.productDetailsNewTab=!0,this.productDetailsRedirect=!0,this.imageResolutionWidth=d,this.showMultipleImages=!1,this.useDragAndDrop=!1,this.exampleImageSource=l,this.textSearchShow=!1,this.autoSuggestShow=!0,this.aiSuggestionsShow=!1,this.addToBasketShow=!1,this.favoriteShow=!1,this.oneClickDiscoveryMode="append-grid",this.oneClickDiscoveryCampaigns="",this.addPriceContainer=!1,this.showIntervalInputs=!1,this.cssUrl=null,this.showResultsInModal=!0,this.parentSlots=[],this.buttonPressed=!1,this.slots=[],this.hasCustomTrigger=!1,this.allSlots=()=>[...this.parentSlots,...this.slots],this.handleActivation=()=>{this.buttonPressed=!0},this.resetButton=()=>{this.buttonPressed=!1},this.handleKeyDown=t=>{"Enter"!==t.key&&" "!==t.key||this.handleActivation()}}handleModalClosed({detail:t}){"VPS"===t.campaignTypeId&&(this.buttonPressed=!1)}buttonPressedWatcher(t,i){!0===i&&!1===t&&requestAnimationFrame((()=>{this.el.focus()}))}async componentWillLoad(){await c(this.locale),this.slots=a(this.el),this.hasCustomTrigger=n(this.el)}componentDidLoad(){this.replaceSlotsContent()}replaceSlotsContent(t){this.globalSlotsChanged.emit({slots:this.allSlots(),element:this.el}),t&&this.globalSlotsChanged.emit({slots:this.allSlots(),element:t})}getButtonConfig(){switch(this.mode){case"camera":return{ariaLabel:C.t("a11y.cameraModeSearchButton"),buttonIcon:t(p,null)};case"modal":if(this.textSearchShow)return{ariaLabel:C.t("a11y.modalModeSearchButton"),buttonIcon:t(v,null)};default:return{ariaLabel:C.t("a11y.uploadModeSearchButton"),buttonIcon:t(g,null)}}}render(){const{ariaLabel:i,buttonIcon:s}=this.getButtonConfig();return t(h,{key:"2a466056b4da2d437d4c5f54f825d3da8a73bd20",role:this.buttonPressed?void 0:"button","aria-label":this.buttonPressed?void 0:i,exportparts:`vviinn-button, ${u}`},r(this.cssUrl),t("vviinn-button",{key:"b97d5c9e5f248234a3241435db2df851d4ffcfd6",addStyle:this.addStyle,part:"vviinn-button",tabindex:this.buttonPressed?void 0:"0",onClick:this.buttonPressed?void 0:this.handleActivation,onKeyDown:this.buttonPressed?void 0:this.handleKeyDown},t("span",{key:"4bb132b2dbd831978d1cbde3df3707c19795bccc",style:{display:this.hasCustomTrigger?"contents":"none"}},t("slot",{key:"2fd54456f699476252a669c957fb6227e39beadf",onSlotchange:()=>this.hasCustomTrigger=n(this.el)})),!this.hasCustomTrigger&&s),o("search"),t("vviinn-vps-widget",{key:"b70f8319dad29f6ed021e6298472008c3aab3a9f",mode:this.mode,"currency-sign":this.currencySign,token:this.token,locale:this.locale,numberLocale:this.numberLocale,apiPath:this.apiPath,pricePrefix:this.pricePrefix,campaignId:this.campaignId,campaignIdTextSearch:this.campaignIdTextSearch,campaignIdVisualSearch:this.campaignIdVisualSearch,showingInButton:!0,buttonPressed:this.buttonPressed,resetVpsButton:this.resetButton,buttonElementId:this.el.id,active:this.buttonPressed&&("modal"===this.mode||"camera"===this.mode),excluded:this.excluded,productDetailsNewTab:this.productDetailsNewTab,productDetailsRedirect:this.productDetailsRedirect,imageResolutionWidth:this.imageResolutionWidth,showMultipleImages:this.showMultipleImages,useDragAndDrop:this.useDragAndDrop,exampleImageSource:this.exampleImageSource,textSearchShow:this.textSearchShow,autoSuggestShow:this.autoSuggestShow,aiSuggestionsShow:this.aiSuggestionsShow,addToBasketShow:this.addToBasketShow,addPriceContainer:this.addPriceContainer,showIntervalInputs:this.showIntervalInputs,replaceSlotsContentInButton:this.replaceSlotsContent.bind(this),oneClickDiscoveryMode:this.oneClickDiscoveryMode,oneClickDiscoveryCampaigns:this.oneClickDiscoveryCampaigns,favoriteShow:this.favoriteShow,showResultsInModal:this.showResultsInModal,resultsPageUrl:this.resultsPageUrl,resultsPageParams:this.resultsPageParams,parentSlots:[...this.parentSlots,...this.slots],cssUrl:this.cssUrl}))}get el(){return e(this)}static get watchers(){return{buttonPressed:["buttonPressedWatcher"]}}};b.style=":host{display:inline-block;line-height:0}";export{b as vviinn_vps_button}
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * vviinn-widgets v2.227.2
2
+ * vviinn-widgets v2.228.0
3
3
  * Copyright 2020 Mediaopt
4
4
  * SPDX-License-Identifier: Apache-2.0
5
- * License: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.227.2/LICENSE
6
- * Notice: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.227.2/NOTICE
5
+ * License: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.228.0/LICENSE
6
+ * Notice: https://cdn.jsdelivr.net/npm/vviinn-widgets@2.228.0/NOTICE
7
7
  */
8
- import{h as n}from"./p-DAJ_Vnro.js";const i=["vviinn-recommendations-title","vviinn-recommendations-subtitle","vviinn-update-button-text","vviinn-update-button-icon"],e=["vviinn-teaser-text","vviinn-image-upload-button-text","vviinn-image-upload-icon","vviinn-drag-drop-icon","vviinn-drag-drop-text","vviinn-camera-button-text-start","vviinn-camera-button-text-stop","vviinn-camera-icon","vviinn-text-search-icon","vviinn-privacy-badge-text","vviinn-image-search-modal-title"],t=["vviinn-extended-filters-title","vviinn-extended-filters-apply","vviinn-extended-filters-reset","vviinn-extended-filters-no-filters","vviinn-filters-search-icon","vviinn-image-filter-text","vviinn-crop-filter-text","vviinn-range-filter-from-label","vviinn-range-filter-to-label"],v=["vviinn-suggestions-title","vviinn-suggestions-icon"],a=["vviinn-basket-button-icon","vviinn-basket-button-text","vviinn-basket-button-icon-pressed","vviinn-basket-button-text-pressed","vviinn-favorite-icon","vviinn-favorite-icon-pressed","vviinn-energy-label-data-sheet-text","vviinn-product-card-actions","vviinn-custom-label-0","vviinn-custom-label-1","vviinn-custom-label-2","vviinn-custom-label-3","vviinn-custom-label-4","vviinn-image-placeholder-icon"],o="vviinn-results-vpr-icon",r=i=>n("slot",{name:i}),l=n=>(n=>{switch(n){case"search":return[...e,...t,...a,...v];case"discovery":return[...i,...t,...a];case"filters":return t;case"card":return a}})(n).map(r),s=(n,i)=>{i.innerHTML=n.outerHTML},d=(n,i)=>{n.connectedCallback=function(){document.addEventListener("globalSlotsChanged",(({detail:n})=>{const e=i.tagName,t=["VVIINN-PRODUCT-CARD","VVIINN-TEASER","VVIINN-CAMERA","VVIINN-PRIVACY-BADGE","VVIINN-MODAL","VVIINN-TEXT-SEARCH","VVIINN-EXTENDED-FILTERS","VVIINN-FILTERS","VVIINN-SELECTED-FILTERS","VVIINN-SUGGESTIONS","VVIINN-RANGE-FILTER"].includes(e),v=i!==n.element,a=v&&!t,o="VVIINN-VPS-BUTTON"===n.element.tagName&&"VVIINN-VPS-WIDGET"===e,r=n.element.shadowRoot,{levelOne:l,levelTwo:d,levelThree:c}=(n=>{var i,e,t,v;const a=null!==(e=null===(i=null==n?void 0:n.lastChild)||void 0===i?void 0:i.shadowRoot)&&void 0!==e?e:null;return{levelOne:n,levelTwo:a,levelThree:null!==(v=null===(t=null==a?void 0:a.lastChild)||void 0===t?void 0:t.shadowRoot)&&void 0!==v?v:null}})(r),u=!(l&&l.contains(i)||d&&d.contains(i)||c&&c.contains(i)),I=(a||t&&u)&&!o,N=o&&!r.contains(i),b=I||N,V=!["VVIINN-ENERGY-LABEL"].includes(e);if(v&&b&&V)return;const x=(n=>Array.from(n.shadowRoot.querySelectorAll("slot")))(i).reduce((f=n.slots,(n,i)=>{const e=f.find((t=i,n=>t.getAttribute("name")===n.getAttribute("slot")));var t;return e&&n.set(i,e),n}),new Map);var f;x.forEach(s)}),!0)},n.connectedCallback.call(n)},c=n=>Array.from(n.querySelectorAll("[slot]")),u=n=>n.map((n=>n.getAttribute("slot"))),I=n=>Array.from(n.childNodes).some((n=>n.nodeType===Node.TEXT_NODE?""!==n.textContent.trim():n.nodeType===Node.ELEMENT_NODE&&!n.getAttribute("slot")));function N(n,i,e){i.forEach((([i,t])=>{n.addEventListener(i,t,{signal:e})}))}function b(n,i){if(i)n.removeAttribute("inert"),n.removeAttribute("aria-hidden"),function(n){n.querySelectorAll("[data-original-tabindex]").forEach((n=>{const i=n,e=i.getAttribute("data-original-tabindex");"0"===e||""===e?i.removeAttribute("tabindex"):i.tabIndex=parseInt(e,10),i.removeAttribute("data-original-tabindex")}))}(n);else{const i=document.activeElement;i&&n.contains(i)&&i.blur(),n.querySelectorAll(":focus").forEach((n=>{n.blur()})),Promise.resolve().then((()=>{n.setAttribute("inert",""),n.setAttribute("aria-hidden","true"),function(n){n.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])').forEach((n=>{const i=n;i.hasAttribute("data-original-tabindex")||i.setAttribute("data-original-tabindex",i.tabIndex.toString()),i.tabIndex=-1}))}(n)}))}}function V(n,i){var e,t;const v=n.target,a=(null===(e=n.composedPath)||void 0===e?void 0:e.call(n))||[];return!!(null===(t=null==v?void 0:v.closest)||void 0===t?void 0:t.call(v,i))||a.some((n=>{var e;return null===(e=n.matches)||void 0===e?void 0:e.call(n,i)}))}export{l as S,N as a,b,c as f,u as g,I as h,V as i,a as p,d as s,o as v}
8
+ import{h as n}from"./p-CbnDh7O4.js";const i=["vviinn-recommendations-title","vviinn-recommendations-subtitle","vviinn-update-button-text","vviinn-update-button-icon"],e=["vviinn-teaser-text","vviinn-image-upload-button-text","vviinn-image-upload-icon","vviinn-drag-drop-icon","vviinn-drag-drop-text","vviinn-camera-button-text-start","vviinn-camera-button-text-stop","vviinn-camera-icon","vviinn-text-search-icon","vviinn-privacy-badge-text","vviinn-image-search-modal-title"],t=["vviinn-extended-filters-title","vviinn-extended-filters-apply","vviinn-extended-filters-reset","vviinn-extended-filters-no-filters","vviinn-filters-search-icon","vviinn-image-filter-text","vviinn-crop-filter-text","vviinn-range-filter-from-label","vviinn-range-filter-to-label"],v=["vviinn-suggestions-title","vviinn-suggestions-icon"],a=["vviinn-basket-button-icon","vviinn-basket-button-text","vviinn-basket-button-icon-pressed","vviinn-basket-button-text-pressed","vviinn-favorite-icon","vviinn-favorite-icon-pressed","vviinn-energy-label-data-sheet-text","vviinn-product-card-actions","vviinn-custom-label-0","vviinn-custom-label-1","vviinn-custom-label-2","vviinn-custom-label-3","vviinn-custom-label-4","vviinn-image-placeholder-icon"],o="vviinn-results-vpr-icon",l=i=>n("slot",{name:i}),r=n=>(n=>{switch(n){case"search":return[...e,...t,...a,...v];case"discovery":return[...i,...t,...a];case"filters":return t;case"card":return a}})(n).map(l),s=(n,i)=>{i.innerHTML=n.outerHTML},d=(n,i)=>{n.connectedCallback=function(){document.addEventListener("globalSlotsChanged",(({detail:n})=>{const e=i.tagName,t=["VVIINN-PRODUCT-CARD","VVIINN-TEASER","VVIINN-CAMERA","VVIINN-PRIVACY-BADGE","VVIINN-MODAL","VVIINN-TEXT-SEARCH","VVIINN-EXTENDED-FILTERS","VVIINN-FILTERS","VVIINN-SELECTED-FILTERS","VVIINN-SUGGESTIONS","VVIINN-RANGE-FILTER"].includes(e),v=i!==n.element,a=v&&!t,o="VVIINN-VPS-BUTTON"===n.element.tagName&&"VVIINN-VPS-WIDGET"===e,l=n.element.shadowRoot,{levelOne:r,levelTwo:d,levelThree:c}=(n=>{var i,e,t,v;const a=null!==(e=null===(i=null==n?void 0:n.lastChild)||void 0===i?void 0:i.shadowRoot)&&void 0!==e?e:null;return{levelOne:n,levelTwo:a,levelThree:null!==(v=null===(t=null==a?void 0:a.lastChild)||void 0===t?void 0:t.shadowRoot)&&void 0!==v?v:null}})(l),u=!(r&&r.contains(i)||d&&d.contains(i)||c&&c.contains(i)),I=(a||t&&u)&&!o,b=o&&!l.contains(i),N=I||b,V=!["VVIINN-ENERGY-LABEL"].includes(e);if(v&&N&&V)return;const x=(n=>Array.from(n.shadowRoot.querySelectorAll("slot")))(i).reduce((f=n.slots,(n,i)=>{const e=f.find((t=i,n=>t.getAttribute("name")===n.getAttribute("slot")));var t;return e&&n.set(i,e),n}),new Map);var f;x.forEach(s)}),!0)},n.connectedCallback.call(n)},c=n=>Array.from(n.querySelectorAll("[slot]")),u=n=>n.map((n=>n.getAttribute("slot"))),I=n=>Array.from(n.childNodes).some((n=>n.nodeType===Node.TEXT_NODE?""!==n.textContent.trim():n.nodeType===Node.ELEMENT_NODE&&!n.getAttribute("slot")));function b(n,i,e){i.forEach((([i,t])=>{n.addEventListener(i,t,{signal:e})}))}function N(n,i){if(i)n.removeAttribute("inert"),n.removeAttribute("aria-hidden"),function(n){n.querySelectorAll("[data-original-tabindex]").forEach((n=>{const i=n,e=i.getAttribute("data-original-tabindex");"0"===e||""===e?i.removeAttribute("tabindex"):i.tabIndex=parseInt(e,10),i.removeAttribute("data-original-tabindex")}))}(n);else{const i=document.activeElement;i&&n.contains(i)&&i.blur(),n.querySelectorAll(":focus").forEach((n=>{n.blur()})),Promise.resolve().then((()=>{n.setAttribute("inert",""),n.setAttribute("aria-hidden","true"),function(n){n.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])').forEach((n=>{const i=n;i.hasAttribute("data-original-tabindex")||i.setAttribute("data-original-tabindex",i.tabIndex.toString()),i.tabIndex=-1}))}(n)}))}}function V(n,i){var e,t;const v=n.target,a=(null===(e=n.composedPath)||void 0===e?void 0:e.call(n))||[];return!!(null===(t=null==v?void 0:v.closest)||void 0===t?void 0:t.call(v,i))||a.some((n=>{var e;return null===(e=n.matches)||void 0===e?void 0:e.call(n,i)}))}export{r as S,b as a,N as b,c as f,u as g,I as h,V as i,a as p,d as s,o as v}