vviinn-widgets 2.52.3 → 2.53.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 (83) hide show
  1. package/dist/cjs/{customized-slots-24ae7edf.js → customized-slots-d8565ce0.js} +0 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{package-562db613.js → package-d35af1fc.js} +1 -1
  4. package/dist/cjs/{resources-04d0f3bb.js → resources-2da68245.js} +1 -3
  5. package/dist/cjs/search-filters_17.cjs.entry.js +106 -51
  6. package/dist/cjs/{search.store-0e899c7f.js → search.store-09c35811.js} +14 -9
  7. package/dist/cjs/vviinn-carousel_4.cjs.entry.js +15 -15
  8. package/dist/cjs/vviinn-preloader.cjs.entry.js +1 -1
  9. package/dist/cjs/vviinn-vpr-button.cjs.entry.js +1 -1
  10. package/dist/cjs/vviinn-vps-button.cjs.entry.js +2 -2
  11. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +35 -24
  12. package/dist/cjs/vviinn-widgets.cjs.js +1 -1
  13. package/dist/collection/analytics/GAnalytics.js +11 -11
  14. package/dist/collection/components/customized-slots.js +0 -1
  15. package/dist/collection/components/image-search/search-filters/search-filters.css +8 -8
  16. package/dist/collection/components/image-search/search-filters/search-filters.js +133 -28
  17. package/dist/collection/components/vviinn-carousel/vviinn-carousel.js +1 -1
  18. package/dist/collection/components/vviinn-example-image/vviinn-example-image.css +6 -24
  19. package/dist/collection/components/vviinn-example-image/vviinn-example-image.js +1 -5
  20. package/dist/collection/components/vviinn-icons/icons/PhotoFrameCorner.js +1 -1
  21. package/dist/collection/components/vviinn-text-search/vviinn-text-search.js +32 -56
  22. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +0 -1
  23. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.css +35 -43
  24. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +35 -24
  25. package/dist/collection/interfaces/generated.js +1 -0
  26. package/dist/collection/interfaces/search.js +1 -0
  27. package/dist/collection/locale/resources.js +0 -2
  28. package/dist/collection/searchSession/searchSession.js +1 -1
  29. package/dist/collection/store/search.store.js +13 -8
  30. package/dist/esm/{customized-slots-ad6cbb20.js → customized-slots-e9494032.js} +0 -1
  31. package/dist/esm/loader.js +1 -1
  32. package/dist/esm/{package-64508f8e.js → package-8b025882.js} +1 -1
  33. package/dist/esm/{resources-aff59df2.js → resources-5780b6da.js} +1 -3
  34. package/dist/esm/search-filters_17.entry.js +106 -51
  35. package/dist/esm/{search.store-d789660d.js → search.store-18569060.js} +15 -10
  36. package/dist/esm/vviinn-carousel_4.entry.js +15 -15
  37. package/dist/esm/vviinn-preloader.entry.js +1 -1
  38. package/dist/esm/vviinn-vpr-button.entry.js +1 -1
  39. package/dist/esm/vviinn-vps-button.entry.js +2 -2
  40. package/dist/esm/vviinn-vps-widget.entry.js +36 -25
  41. package/dist/esm/vviinn-widgets.js +1 -1
  42. package/dist/types/analytics/GAnalytics.d.ts +8 -8
  43. package/dist/types/analytics/GtagAnalytics.d.ts +3 -3
  44. package/dist/types/components/image-search/search-filters/search-filters.d.ts +7 -1
  45. package/dist/types/components/vviinn-example-image/vviinn-example-image.d.ts +0 -3
  46. package/dist/types/components/vviinn-text-search/vviinn-text-search.d.ts +2 -6
  47. package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +0 -1
  48. package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +7 -3
  49. package/dist/types/components.d.ts +11 -10
  50. package/dist/types/interfaces/generated.d.ts +890 -0
  51. package/dist/types/interfaces/search.d.ts +8 -0
  52. package/dist/types/recommendation/recommendation.d.ts +2 -2
  53. package/dist/types/searchSession/searchSession.d.ts +6 -15
  54. package/dist/types/store/search.store.d.ts +38 -2
  55. package/dist/vviinn-widgets/p-48b88ecc.js +1 -0
  56. package/dist/vviinn-widgets/{p-ebdb87ad.js → p-61369032.js} +1 -1
  57. package/dist/vviinn-widgets/{p-a92c4590.entry.js → p-92db9749.entry.js} +1 -1
  58. package/dist/vviinn-widgets/{p-afc8cf88.entry.js → p-9ad0bef9.entry.js} +1 -1
  59. package/dist/vviinn-widgets/p-dade07bc.entry.js +1 -0
  60. package/dist/vviinn-widgets/p-db9cac0c.js +1 -0
  61. package/dist/vviinn-widgets/{p-44c0cb31.entry.js → p-ec6fcf93.entry.js} +1 -1
  62. package/dist/vviinn-widgets/{p-f3536fec.entry.js → p-fa419441.entry.js} +1 -1
  63. package/{www/build/p-e5637d19.entry.js → dist/vviinn-widgets/p-fa882b98.entry.js} +2 -2
  64. package/dist/vviinn-widgets/{p-75a253fb.js → p-fa9ae162.js} +1 -1
  65. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  66. package/package.json +3 -3
  67. package/www/build/p-48b88ecc.js +1 -0
  68. package/www/build/{p-ebdb87ad.js → p-61369032.js} +1 -1
  69. package/www/build/{p-a92c4590.entry.js → p-92db9749.entry.js} +1 -1
  70. package/www/build/{p-afc8cf88.entry.js → p-9ad0bef9.entry.js} +1 -1
  71. package/www/build/p-dade07bc.entry.js +1 -0
  72. package/www/build/p-db9cac0c.js +1 -0
  73. package/www/build/{p-44c0cb31.entry.js → p-ec6fcf93.entry.js} +1 -1
  74. package/www/build/{p-f3536fec.entry.js → p-fa419441.entry.js} +1 -1
  75. package/{dist/vviinn-widgets/p-e5637d19.entry.js → www/build/p-fa882b98.entry.js} +2 -2
  76. package/www/build/{p-75a253fb.js → p-fa9ae162.js} +1 -1
  77. package/www/build/vviinn-widgets.esm.js +1 -1
  78. package/dist/vviinn-widgets/p-1ba068f6.js +0 -1
  79. package/dist/vviinn-widgets/p-967db961.entry.js +0 -1
  80. package/dist/vviinn-widgets/p-f0860b0f.js +0 -1
  81. package/www/build/p-1ba068f6.js +0 -1
  82. package/www/build/p-967db961.entry.js +0 -1
  83. package/www/build/p-f0860b0f.js +0 -1
@@ -30,7 +30,6 @@ const vpsSlotsNames = [
30
30
  "vviinn-camera-button-text-start",
31
31
  "vviinn-camera-button-text-stop",
32
32
  "vviinn-camera-icon",
33
- "vviinn-camera-capture-text",
34
33
  "vviinn-text-search-icon",
35
34
  "vviinn-privacy-badge-text",
36
35
  "vviinn-image-search-modal-title",
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["vviinn-button.cjs",[[1,"vviinn-button",{"addStyle":[4,"add-style"]}]]],["vviinn-preloader.cjs",[[1,"vviinn-preloader"]]],["vviinn-error.cjs",[[1,"vviinn-error"]]],["vviinn-carousel_4.cjs",[[1,"vviinn-vpr-widget",{"blockTitle":[1,"block-title"],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"productId":[1,"product-id"],"token":[1],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"mode":[1],"campaignType":[1,"campaign-type"],"locale":[1],"campaigns":[1],"color":[1],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"showScroll":[4,"show-scroll"],"cssUrl":[1,"css-url"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"apiPath":[1,"api-path"],"useCarousel":[4,"use-carousel"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"closed":[4],"opened":[4],"recommendations":[32],"trackingDeactivated":[32],"hasErrorOnLoad":[32],"updatingAllCards":[32],"updatedCardsAmount":[32]},[[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnAddToBasket","trackAddToBasket"],[0,"vviinnUpdatingAllCardsFinished","updatingAllCardsFinishedListener"]]],[0,"vviinn-carousel",{"mode":[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],"widgetVersion":[1,"widget-version"],"addToBasketShow":[4,"add-to-basket-show"],"updatingAllCards":[4,"updating-all-cards"],"updateButtonLocation":[1,"update-button-location"],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"locale":[1],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32],"isRTL":[32],"crossSellingRecommendations":[32],"setModeDiscount":[32],"setModeAppliedDiscounts":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"],[0,"vviinnAddToBasket","trackAddToBasket"]]],[1,"vviinn-product-card",{"brand":[1],"currency":[1],"deeplink":[1],"image":[1],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"locale":[1],"price":[2],"pricePrefix":[1,"price-prefix"],"productId":[1,"product-id"],"productTitle":[1,"product-title"],"productType":[1,"product-type"],"salePrice":[2,"sale-price"],"responsive":[4],"dimmedBackground":[4,"dimmed-background"],"mode":[1],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"appliedDiscountPercentage":[2,"applied-discount-percentage"],"currentDiscountPercentage":[2,"current-discount-percentage"],"isSourceProduct":[4,"is-source-product"],"campaignTypeId":[1,"campaign-type-id"],"widgetElementId":[1,"widget-element-id"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"index":[2],"updatingAllCards":[4,"updating-all-cards"],"defaultAnimationInterval":[2,"default-animation-interval"],"isTransitioning":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-skeleton",{"height":[2],"halfWidth":[4,"half-width"]}]]],["search-filters_17.cjs",[[1,"vviinn-image-view",{"basicEventData":[16],"setShowAspectRatioError":[16],"showAspectRatioError":[4,"show-aspect-ratio-error"],"cropper":[32],"hidePreloader":[32]},[[0,"vviinnSelectObject","selectDetectedObject"]]],[1,"vviinn-overlayed-modal",{"active":[4],"resetState":[16],"buttonElementId":[1,"button-element-id"],"hideBackButton":[4,"hide-back-button"],"widgetVersion":[1,"widget-version"],"isFirstScreen":[4,"is-first-screen"]}],[1,"vviinn-empty-results",{"handler":[16]}],[1,"vviinn-image-selector",{"basicEventData":[16],"startUpload":[4,"start-upload"],"loading":[4],"accept":[1],"resetVpsButton":[16],"capture":[1]}],[1,"vviinn-server-error",{"handler":[16]}],[1,"vviinn-text-search",{"clearSearchQuery":[4,"clear-search-query"],"initialSearchQuery":[1,"initial-search-query"],"searchQuery":[32]}],[1,"vviinn-wrong-aspect-ratio",{"handler":[16]}],[1,"vviinn-wrong-format",{"handler":[16]}],[1,"search-filters",{"filter":[16],"basicEventData":[16],"selectedFilter":[32],"hideFilters":[32]}],[1,"vviinn-example-image",{"exampleImageSource":[1,"example-image-source"],"width":[2],"height":[2],"basicEventData":[16],"srcObject":[16],"cameraButtonClicked":[4,"camera-button-clicked"],"selected":[32],"videoInitialized":[32],"zoomCapabilities":[32]}],[1,"vviinn-privacy-badge",{"privacyBadgeText":[1,"privacy-badge-text"]}],[1,"vviinn-slide"],[1,"vviinn-slider",{"showBullets":[4,"show-bullets"],"position":[514],"showArrows":[4,"show-arrows"],"elementsCount":[32],"internalPosition":[32],"swipeStartPosition":[32],"isRTL":[32]}],[1,"vviinn-teaser"],[1,"vviinn-detected-object",{"detectedObject":[16],"basicEventData":[16],"position":[32]}],[1,"vviinn-modal",{"active":[1540],"resetState":[16],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"hideBackButton":[4,"hide-back-button"],"isFirstScreen":[4,"is-first-screen"],"slider":[32]}],[1,"vviinn-overlay"]]],["vviinn-vps-widget.cjs",[[1,"vviinn-vps-widget",{"token":[1],"active":[1028],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"textSearchShow":[4,"text-search-show"],"apiPath":[1,"api-path"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"buttonPressed":[4,"button-pressed"],"mode":[1],"resetVpsButton":[16],"slidePosition":[32],"width":[32],"wrongImageFormat":[32],"trackingDeactivated":[32],"stream":[32],"cameraInitializing":[32],"cameraEnabled":[32],"cameraButtonClicked":[32],"uploadSource":[32],"showAspectRatioError":[32],"products":[32],"initialSearchQuery":[32]},[[0,"vviinnCameraEnabled","trackCameraEnabled"],[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"],[0,"vviinnTextSearchFinished","trackTextSearchFinished"]]]]],["vviinn-vps-button.cjs",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"addStyle":[4,"add-style"],"mode":[1],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"textSearchShow":[4,"text-search-show"],"apiPath":[1,"api-path"],"buttonPressed":[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["vviinn-recommendations-sidebar.cjs",[[1,"vviinn-recommendations-sidebar",{"sidebarTitle":[1,"sidebar-title"],"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"widgetScrollbar":[4,"widget-scrollbar"],"mode":[1],"campaigns":[1],"campaignType":[1,"campaign-type"],"color":[1],"locale":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"buttonChildren":[16],"apiPath":[1,"api-path"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"showingInButton":[4,"showing-in-button"],"state":[32]},[[16,"click","bodyClickListener"]]]]],["vviinn-vpr-button.cjs",[[1,"vviinn-vpr-button",{"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"sidebarTitle":[1,"sidebar-title"],"modalScrollbar":[4,"modal-scrollbar"],"campaigns":[1],"campaignType":[1,"campaign-type"],"locale":[1],"color":[1],"addStyle":[4,"add-style"],"mode":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"apiPath":[1,"api-path"]}]]]], options);
17
+ return index.bootstrapLazy([["vviinn-button.cjs",[[1,"vviinn-button",{"addStyle":[4,"add-style"]}]]],["vviinn-preloader.cjs",[[1,"vviinn-preloader"]]],["vviinn-error.cjs",[[1,"vviinn-error"]]],["vviinn-carousel_4.cjs",[[1,"vviinn-vpr-widget",{"blockTitle":[1,"block-title"],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"productId":[1,"product-id"],"token":[1],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"mode":[1],"campaignType":[1,"campaign-type"],"locale":[1],"campaigns":[1],"color":[1],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"showScroll":[4,"show-scroll"],"cssUrl":[1,"css-url"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"apiPath":[1,"api-path"],"useCarousel":[4,"use-carousel"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"closed":[4],"opened":[4],"recommendations":[32],"trackingDeactivated":[32],"hasErrorOnLoad":[32],"updatingAllCards":[32],"updatedCardsAmount":[32]},[[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnAddToBasket","trackAddToBasket"],[0,"vviinnUpdatingAllCardsFinished","updatingAllCardsFinishedListener"]]],[0,"vviinn-carousel",{"mode":[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],"widgetVersion":[1,"widget-version"],"addToBasketShow":[4,"add-to-basket-show"],"updatingAllCards":[4,"updating-all-cards"],"updateButtonLocation":[1,"update-button-location"],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"locale":[1],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32],"isRTL":[32],"crossSellingRecommendations":[32],"setModeDiscount":[32],"setModeAppliedDiscounts":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"],[0,"vviinnAddToBasket","trackAddToBasket"]]],[1,"vviinn-product-card",{"brand":[1],"currency":[1],"deeplink":[1],"image":[1],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"locale":[1],"price":[2],"pricePrefix":[1,"price-prefix"],"productId":[1,"product-id"],"productTitle":[1,"product-title"],"productType":[1,"product-type"],"salePrice":[2,"sale-price"],"responsive":[4],"dimmedBackground":[4,"dimmed-background"],"mode":[1],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"appliedDiscountPercentage":[2,"applied-discount-percentage"],"currentDiscountPercentage":[2,"current-discount-percentage"],"isSourceProduct":[4,"is-source-product"],"campaignTypeId":[1,"campaign-type-id"],"widgetElementId":[1,"widget-element-id"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"index":[2],"updatingAllCards":[4,"updating-all-cards"],"defaultAnimationInterval":[2,"default-animation-interval"],"isTransitioning":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-skeleton",{"height":[2],"halfWidth":[4,"half-width"]}]]],["search-filters_17.cjs",[[1,"vviinn-image-view",{"basicEventData":[16],"setShowAspectRatioError":[16],"showAspectRatioError":[4,"show-aspect-ratio-error"],"cropper":[32],"hidePreloader":[32]},[[0,"vviinnSelectObject","selectDetectedObject"]]],[1,"vviinn-overlayed-modal",{"active":[4],"resetState":[16],"buttonElementId":[1,"button-element-id"],"hideBackButton":[4,"hide-back-button"],"widgetVersion":[1,"widget-version"],"isFirstScreen":[4,"is-first-screen"]}],[1,"vviinn-empty-results",{"handler":[16]}],[1,"vviinn-image-selector",{"basicEventData":[16],"startUpload":[4,"start-upload"],"loading":[4],"accept":[1],"resetVpsButton":[16],"capture":[1]}],[1,"vviinn-server-error",{"handler":[16]}],[1,"vviinn-text-search",{"searchQuery":[1,"search-query"],"setSearchQuery":[16],"handleTextSearch":[16]}],[1,"vviinn-wrong-aspect-ratio",{"handler":[16]}],[1,"vviinn-wrong-format",{"handler":[16]}],[1,"search-filters",{"filter":[16],"textSearchFiltersGroup":[16],"basicEventData":[16],"selectedFilter":[32],"hideFilters":[32]}],[1,"vviinn-example-image",{"exampleImageSource":[1,"example-image-source"],"width":[2],"height":[2],"basicEventData":[16],"srcObject":[16],"cameraButtonClicked":[4,"camera-button-clicked"],"selected":[32],"videoInitialized":[32],"zoomCapabilities":[32]}],[1,"vviinn-privacy-badge",{"privacyBadgeText":[1,"privacy-badge-text"]}],[1,"vviinn-slide"],[1,"vviinn-slider",{"showBullets":[4,"show-bullets"],"position":[514],"showArrows":[4,"show-arrows"],"elementsCount":[32],"internalPosition":[32],"swipeStartPosition":[32],"isRTL":[32]}],[1,"vviinn-teaser"],[1,"vviinn-detected-object",{"detectedObject":[16],"basicEventData":[16],"position":[32]}],[1,"vviinn-modal",{"active":[1540],"resetState":[16],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"hideBackButton":[4,"hide-back-button"],"isFirstScreen":[4,"is-first-screen"],"slider":[32]}],[1,"vviinn-overlay"]]],["vviinn-vps-widget.cjs",[[1,"vviinn-vps-widget",{"token":[1],"active":[1028],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"textSearchShow":[4,"text-search-show"],"apiPath":[1,"api-path"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"buttonPressed":[4,"button-pressed"],"mode":[1],"resetVpsButton":[16],"slidePosition":[32],"width":[32],"wrongImageFormat":[32],"trackingDeactivated":[32],"stream":[32],"cameraInitializing":[32],"cameraEnabled":[32],"cameraButtonClicked":[32],"uploadSource":[32],"showAspectRatioError":[32],"products":[32],"searchQuery":[32]},[[0,"vviinnCameraEnabled","trackCameraEnabled"],[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"],[0,"vviinnTextSearchFilterSelected","trackTextSearchFilterSelected"]]]]],["vviinn-vps-button.cjs",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"addStyle":[4,"add-style"],"mode":[1],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"textSearchShow":[4,"text-search-show"],"apiPath":[1,"api-path"],"buttonPressed":[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["vviinn-recommendations-sidebar.cjs",[[1,"vviinn-recommendations-sidebar",{"sidebarTitle":[1,"sidebar-title"],"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"widgetScrollbar":[4,"widget-scrollbar"],"mode":[1],"campaigns":[1],"campaignType":[1,"campaign-type"],"color":[1],"locale":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"buttonChildren":[16],"apiPath":[1,"api-path"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"showingInButton":[4,"showing-in-button"],"state":[32]},[[16,"click","bodyClickListener"]]]]],["vviinn-vpr-button.cjs",[[1,"vviinn-vpr-button",{"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"sidebarTitle":[1,"sidebar-title"],"modalScrollbar":[4,"modal-scrollbar"],"campaigns":[1],"campaignType":[1,"campaign-type"],"locale":[1],"color":[1],"addStyle":[4,"add-style"],"mode":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"apiPath":[1,"api-path"]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const version = "2.52.3";
3
+ const version = "2.53.0";
4
4
 
5
5
  exports.version = version;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const search_store = require('./search.store-0e899c7f.js');
3
+ const search_store = require('./search.store-09c35811.js');
4
4
 
5
5
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
6
6
  // require the crypto API and do not support built-in fallback to lower quality random number
@@ -3990,7 +3990,6 @@ const resources = {
3990
3990
  imageUploadButtonText: "Bild hochladen",
3991
3991
  cameraButtonTextStart: "Kamera starten",
3992
3992
  cameraButtonTextStop: "Kamera stoppen",
3993
- cameraCaptureText: "Platzieren Sie das Objekt im Quadrat",
3994
3993
  privacyBadgeText: `Durch das Hochladen eines Bildes willigst Du in die Verarbeitung durch unseren Partner ${VVIINN_LINK} ein. Das Bild wird nach einer Stunde Inaktivität gelöscht.`,
3995
3994
  teaserText: "Finde Produkte auf \n einem Foto",
3996
3995
  imageSearchModalTitle: "AI Search",
@@ -4029,7 +4028,6 @@ const resources = {
4029
4028
  imageUploadButtonText: "Upload Photo",
4030
4029
  cameraButtonTextStart: "Start Camera",
4031
4030
  cameraButtonTextStop: "Stop Camera",
4032
- cameraCaptureText: "Place the object into the square area",
4033
4031
  privacyBadgeText: `By uploading a picture you agree to the processing by our partner ${VVIINN_LINK}. The image will be deleted after one hour of inactivity.`,
4034
4032
  teaserText: "Find Product by Photo",
4035
4033
  imageSearchModalTitle: "AI Search",
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-5619b5ec.js');
6
- const search_store = require('./search.store-0e899c7f.js');
6
+ const search_store = require('./search.store-09c35811.js');
7
7
  const i18next = require('./i18next-74ff3413.js');
8
- const customizedSlots = require('./customized-slots-24ae7edf.js');
8
+ const customizedSlots = require('./customized-slots-d8565ce0.js');
9
9
  const PlusIcon = require('./PlusIcon-5e585127.js');
10
10
 
11
11
  const ArrowIcon = () => (index.h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
@@ -30,8 +30,8 @@ const WarningIcon = () => (index.h("svg", { slot: "icon", class: "icon", width:
30
30
  index.h("path", { d: "M16 2a14 14 0 1 0 0 28 14 14 0 0 0 0-28Zm0 26a12 12 0 1 1 0-24 12 12 0 0 1 0 24Z", fill: "#525252" }),
31
31
  index.h("path", { d: "M17 8h-2v11h2V8Zm-1 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z", fill: "#525252" })));
32
32
 
33
- const PhotoFrameCorner = ({ className }) => (index.h("svg", { width: "30", height: "30", viewBox: "0 0 30 30", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: className },
34
- index.h("path", { d: "M29 1H17C8.16344 1 1 8.16344 1 17V29", stroke: "white", "stroke-width": "2", "stroke-linecap": "square" })));
33
+ const PhotoFrameCorner = ({ className }) => (index.h("svg", { width: "34", height: "34", viewBox: "0 0 34 34", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: className },
34
+ index.h("path", { d: "M31 3H15C8.37258 3 3 8.37258 3 15V31", stroke: "white", "stroke-width": "6", "stroke-linecap": "square" })));
35
35
 
36
36
  // -------------------------------------------------------------------------------------
37
37
  // -------------------------------------------------------------------------------------
@@ -73,15 +73,32 @@ const parseFilters = (filter, filterType) => {
73
73
  return result[filterType];
74
74
  };
75
75
 
76
- const searchFiltersCss = ".filters{display:flex;flex-direction:row;overflow-x:auto;padding:0 12px 12px 24px}.filter{align-items:center;color:#525252;cursor:pointer;display:flex;margin-right:12px;height:-moz-max-content;height:max-content;min-width:-moz-max-content;min-width:max-content;transition-property:background;transition-duration:0.5s;transition-timing-function:ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 12px}.show-more{display:flex}.show-more.hidden{display:none !important}.show-more::after{position:relative;content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12.2l-6-6L3.2 5 8 9.8 12.8 5 14 6.2l-6 6z' fill='%23525252'/%3E%3C/svg%3E\");display:block;transform:rotate(-90deg);left:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 768px){.filters{padding-right:54px;padding-bottom:0}}@media (max-width: 640px){.no-scrollbar-mobile{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar-mobile::-webkit-scrollbar{display:none}}";
76
+ const searchFiltersCss = ".filters{display:flex;flex-direction:row;overflow-x:auto;padding:0 12px 6px 24px;padding-left:24px;padding-bottom:6px;scrollbar-width:thin}:host(:not(:first-child)) .filters{margin-top:6px}.filter{align-items:center;color:#525252;cursor:pointer;display:flex;margin-right:12px;height:-moz-max-content;height:max-content;min-width:-moz-max-content;min-width:max-content;transition-property:background;transition-duration:0.5s;transition-timing-function:ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 12px}.show-more{display:flex}.show-more.hidden{display:none !important}.show-more::after{position:relative;content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12.2l-6-6L3.2 5 8 9.8 12.8 5 14 6.2l-6 6z' fill='%23525252'/%3E%3C/svg%3E\");display:block;transform:rotate(-90deg);left:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 640px){.no-scrollbar-mobile{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar-mobile::-webkit-scrollbar{display:none}}";
77
77
 
78
- const FILTERS_COUNT = 5;
78
+ const FILTERS_COUNT = 4;
79
79
  const SearchFilters = class {
80
80
  constructor(hostRef) {
81
81
  index.registerInstance(this, hostRef);
82
82
  this.vviinnSelectFilter = index.createEvent(this, "vviinnSelectFilter", 7);
83
- this.filterType = this.filter.name;
83
+ this.vviinnTextSearchFilterSelected = index.createEvent(this, "vviinnTextSearchFilterSelected", 7);
84
+ var _a, _b, _c;
85
+ this.filterType = (_b = (_a = this.filter) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : (_c = this.textSearchFiltersGroup) === null || _c === void 0 ? void 0 : _c.column;
86
+ this.getSelectedTextSearchFilters = () => search_store.searchState.textSearchFilters
87
+ .filter(({ values }) => values === null || values === void 0 ? void 0 : values.find(({ selected }) => selected))
88
+ .map(({ column, values }) => {
89
+ return {
90
+ column: column,
91
+ values: values.filter((v) => v.selected).map((v) => v.value),
92
+ };
93
+ });
94
+ this.getTextSearchFilterRequestValue = (filter) => {
95
+ return {
96
+ column: this.textSearchFiltersGroup.column,
97
+ values: [filter.value],
98
+ };
99
+ };
84
100
  this.filter = null;
101
+ this.textSearchFiltersGroup = null;
85
102
  this.basicEventData = undefined;
86
103
  this.selectedFilter = "";
87
104
  this.hideFilters = true;
@@ -122,36 +139,84 @@ const SearchFilters = class {
122
139
  ? this.selectedFilter === parseFilters(filterLink, "categories")
123
140
  : this.selectedFilter === filterLink.name;
124
141
  }
142
+ handleTextSearchEnter(ev, filter) {
143
+ if (ev.key !== "Enter")
144
+ return;
145
+ this.handleTextSearchFilterSelection(filter);
146
+ }
147
+ handleTextSearchFilterSelection(filter) {
148
+ let parsedFilters = [];
149
+ const selectedFilters = this.getSelectedTextSearchFilters();
150
+ const newFilter = this.getTextSearchFilterRequestValue(filter);
151
+ const isNewFilterSelected = filter.selected;
152
+ const isSameColumnSelected = selectedFilters.some(({ column }) => column === newFilter.column);
153
+ if (isNewFilterSelected) {
154
+ parsedFilters = selectedFilters.filter(({ column }) => {
155
+ return column !== newFilter.column;
156
+ });
157
+ }
158
+ else if (isSameColumnSelected) {
159
+ parsedFilters = selectedFilters.map((f) => {
160
+ return f.column === newFilter.column ? newFilter : f;
161
+ });
162
+ }
163
+ else {
164
+ parsedFilters = [...selectedFilters, newFilter];
165
+ }
166
+ this.vviinnTextSearchFilterSelected.emit(parsedFilters);
167
+ }
125
168
  render() {
126
- if (!this.filter)
127
- return null;
128
- const { name, filters } = this.filter;
169
+ var _a, _b;
170
+ const textSearchFilters = ((_a = this.textSearchFiltersGroup) === null || _a === void 0 ? void 0 : _a.values) || [];
171
+ const filters = ((_b = this.filter) === null || _b === void 0 ? void 0 : _b.filters) || [];
129
172
  return (index.h(index.Host, { exportparts: "filter, show-more-filters" }, index.h("div", { class: {
130
173
  filters: true,
131
- "no-scrollbar-mobile": this.isCategoriesFilterType(),
132
- "no-scrollbar": !this.isCategoriesFilterType(),
133
- } }, filters
134
- .filter((_, i) => (this.hideFilters ? i < FILTERS_COUNT : true))
135
- .map((filter, index$1) => {
136
- const filterActive = name === "categories"
137
- ? this.selectedFilter === parseFilters(filter, "categories")
138
- : this.selectedFilter === filter.name;
139
- return (index.h("div", { role: "button", tabindex: "0", key: index$1, part: filterActive ? "filter active" : "filter", class: {
140
- filter: true,
141
- active: filterActive,
142
- }, style: { "animation-delay": `${index$1 * 10}ms` }, onPointerUp: (ev) => {
143
- if (search_store.searchState.loading)
144
- return;
145
- ev.stopPropagation();
146
- this.handleFilterSelection(filter);
147
- }, onKeyPress: (ev) => {
148
- if (search_store.searchState.loading)
149
- return;
150
- this.handleEnter(ev, filter);
151
- } }, filter.name));
152
- }), this.hideFilters && (index.h("div", { class: {
174
+ "no-scrollbar-mobile": this.isCategoriesFilterType() ||
175
+ this.textSearchFiltersGroup !== null,
176
+ "no-scrollbar": !this.isCategoriesFilterType() &&
177
+ this.textSearchFiltersGroup === null,
178
+ } }, !!filters.length &&
179
+ filters
180
+ .filter((_, i) => (this.hideFilters ? i < FILTERS_COUNT : true))
181
+ .map((filter, index$1) => {
182
+ const filterActive = this.filter.name === "categories"
183
+ ? this.selectedFilter === parseFilters(filter, "categories")
184
+ : this.selectedFilter === filter.name;
185
+ return (index.h("div", { role: "button", tabindex: "0", key: index$1, part: filterActive ? "filter active" : "filter", class: {
186
+ filter: true,
187
+ active: filterActive,
188
+ }, style: { "animation-delay": `${index$1 * 10}ms` }, onPointerUp: (ev) => {
189
+ if (search_store.searchState.loading)
190
+ return;
191
+ ev.stopPropagation();
192
+ this.handleFilterSelection(filter);
193
+ }, onKeyPress: (ev) => {
194
+ if (search_store.searchState.loading)
195
+ return;
196
+ this.handleEnter(ev, filter);
197
+ } }, filter.name));
198
+ }), !!textSearchFilters.length &&
199
+ textSearchFilters
200
+ .filter((_, i) => (this.hideFilters ? i < FILTERS_COUNT : true))
201
+ .map((filter, index$1) => {
202
+ const { label, selected } = filter;
203
+ return (index.h("div", { role: "button", tabindex: "0", key: index$1, part: selected ? "filter active" : "filter", class: {
204
+ filter: true,
205
+ active: selected,
206
+ }, style: { "animation-delay": `${index$1 * 10}ms` }, onPointerUp: (ev) => {
207
+ if (search_store.searchState.loading)
208
+ return;
209
+ ev.stopPropagation();
210
+ this.handleTextSearchFilterSelection(filter);
211
+ }, onKeyPress: (ev) => {
212
+ if (search_store.searchState.loading)
213
+ return;
214
+ this.handleTextSearchEnter(ev, filter);
215
+ } }, label));
216
+ }), this.hideFilters && (index.h("div", { class: {
153
217
  "show-more": true,
154
- hidden: filters.length <= FILTERS_COUNT,
218
+ hidden: filters.length <= FILTERS_COUNT &&
219
+ textSearchFilters.length <= FILTERS_COUNT,
155
220
  active: !this.hideFilters,
156
221
  }, role: "button", tabindex: "0", "aria-role": "button", onClick: () => {
157
222
  setTimeout(() => this.toggleFilters(), 300);
@@ -223,7 +288,7 @@ const VviinnEmptyResults = class {
223
288
  }
224
289
  };
225
290
 
226
- const vviinnExampleImageCss = ":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:64px 0 164px;justify-content:center;align-content:center;box-sizing:border-box}.photo-frame-container{width:100%;height:100%;display:flex;flex-direction:column;gap:12px}#photo-frame{position:relative;aspect-ratio:1/1;border-radius:16px;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;height:auto;max-width:400px;margin:0 auto}@media (max-width: 960px){.photo-frame-container{width:auto;height:auto}#photo-frame{max-width:80%;height:auto}}@media (max-width: 380px){#photo-frame{max-width:70%}}.photo-frame-corner{position:absolute;--delta:-1px}.photo-frame-corner.top-left{top:var(--delta);left:var(--delta)}.photo-frame-corner.top-right{top:var(--delta);right:var(--delta);transform:rotate(90deg)}.photo-frame-corner.bottom-left{bottom:var(--delta);left:var(--delta);transform:rotate(-90deg)}.photo-frame-corner.bottom-right{bottom:var(--delta);right:var(--delta);transform:rotate(180deg)}.buttons-group{display:flex;width:100%;left:0;gap:12px;flex-direction:column;align-items:center;position:absolute;bottom:32px}.buttons-group-info{padding:4px 12px;border-radius:8px;background-color:rgba(0, 0, 0, 0.48);color:white;font-size:14px;line-height:20px}.photo-button{cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{display:flex;position:relative;justify-content:center;gap:12px}.zoom-buttons button{color:white;display:flex;width:48px;height:48px;justify-content:center;align-items:center;border-radius:var(--radius-radius-md, 8px);background-color:rgba(0, 0, 0, 0.48);border:none;cursor:pointer}.hidden{display:none}";
291
+ const vviinnExampleImageCss = ":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:68px 0 48px;justify-content:space-around;align-content:center;box-sizing:border-box}.photo-frame-container{width:100%;height:100%;display:flex;flex-direction:column;gap:12px}#photo-frame{position:relative;aspect-ratio:1/1;border-radius:16px;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;height:auto;max-width:80%;margin:0 auto}@media (max-width: 960px){.photo-frame-container{width:auto;height:auto}}@media (max-width: 380px){#photo-frame{max-width:70%}}.photo-frame-corner{position:absolute;--delta:-3px}.photo-frame-corner.top-left{top:var(--delta);left:var(--delta)}.photo-frame-corner.top-right{top:var(--delta);right:var(--delta);transform:rotate(90deg)}.photo-frame-corner.bottom-left{bottom:var(--delta);left:var(--delta);transform:rotate(-90deg)}.photo-frame-corner.bottom-right{bottom:var(--delta);right:var(--delta);transform:rotate(180deg)}.photo-button-container{display:flex;width:100%;align-items:center;justify-self:flex-end}.photo-button{cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{display:flex;position:relative;justify-content:center;gap:12px}.zoom-buttons button{color:white;display:flex;width:48px;height:48px;justify-content:center;align-items:center;border-radius:var(--radius-radius-md, 8px);background-color:rgba(0, 0, 0, 0.48);border:none;cursor:pointer}.hidden{display:none}";
227
292
 
228
293
  const VviinnExampleImage = class {
229
294
  constructor(hostRef) {
@@ -352,7 +417,7 @@ const VviinnExampleImage = class {
352
417
  render() {
353
418
  return (index.h(index.Host, { onKeyUp: (ev) => this.handleKeyPress(ev), class: { "video-expanded": this.cameraButtonClicked } }, index.h("video", { id: "camera-preview", class: {
354
419
  hidden: !this.videoInitialized || this.selected,
355
- }, autoplay: true, playsinline: true, muted: true }), index.h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), index.h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), index.h("div", { class: { container: true, hidden: !this.videoInitialized } }, index.h("div", { class: "photo-frame-container" }, index.h("div", { id: "photo-frame" }, index.h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), index.h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, index.h("button", { onClick: () => this.onZoom("out") }, index.h(MinusIcon, null)), index.h("button", { onClick: () => this.onZoom("in") }, index.h(PlusIcon.PlusIcon, null)))), index.h("div", { class: "buttons-group" }, index.h("div", { class: "buttons-group-info" }, index.h("slot", { name: "vviinn-camera-capture-text" }, i18next.instance.t("cameraCaptureText"))), index.h("button", { class: "photo-button", onClick: () => this.selectImage() }, index.h(RoundCameraIcon, null))))));
420
+ }, autoplay: true, playsinline: true, muted: true }), index.h("img", { src: this.exampleImageSource, width: this.width, height: this.height, tabindex: 1, class: { hidden: this.videoInitialized || this.selected } }), index.h("img", { id: "captured-image-placeholder", class: { hidden: !this.selected } }), index.h("div", { class: { container: true, hidden: !this.videoInitialized } }, index.h("div", { class: "photo-frame-container" }, index.h("div", { id: "photo-frame" }, index.h(PhotoFrameCorner, { className: "photo-frame-corner top-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner top-right" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-left" }), index.h(PhotoFrameCorner, { className: "photo-frame-corner bottom-right" })), index.h("div", { class: { "zoom-buttons": true, hidden: !this.zoomCapabilities } }, index.h("button", { onClick: () => this.onZoom("out") }, index.h(MinusIcon, null)), index.h("button", { onClick: () => this.onZoom("in") }, index.h(PlusIcon.PlusIcon, null)))), index.h("div", { class: "photo-button-container" }, index.h("button", { class: "photo-button", onClick: () => this.selectImage() }, index.h(RoundCameraIcon, null))))));
356
421
  }
357
422
  get el() { return index.getElement(this); }
358
423
  static get watchers() { return {
@@ -4067,33 +4132,23 @@ const vviinnTextSearchCss = ":host{display:block;position:relative;width:100%}.t
4067
4132
  const VviinnTextSearch = class {
4068
4133
  constructor(hostRef) {
4069
4134
  index.registerInstance(this, hostRef);
4070
- this.vviinnTextSearchFinished = index.createEvent(this, "vviinnTextSearchFinished", 7);
4071
- this.clearSearchQuery = false;
4072
- this.initialSearchQuery = "";
4073
- this.searchQuery = this.initialSearchQuery;
4135
+ this.searchQuery = undefined;
4136
+ this.setSearchQuery = undefined;
4137
+ this.handleTextSearch = undefined;
4074
4138
  }
4075
4139
  componentWillLoad() {
4076
4140
  customizedSlots.slotChangeListener(this, this.el);
4077
4141
  }
4078
4142
  handleInputChange(event) {
4079
- this.searchQuery = event.target.value;
4143
+ this.setSearchQuery(event.target.value);
4080
4144
  }
4081
4145
  handleKeyPress(event) {
4082
4146
  if (event.key === "Enter") {
4083
- this.handleSearch();
4084
- }
4085
- }
4086
- async handleSearch() {
4087
- if (!this.searchQuery)
4088
- return;
4089
- await search_store.processSelectedText(this.searchQuery);
4090
- this.vviinnTextSearchFinished.emit(this.searchQuery);
4091
- if (this.clearSearchQuery) {
4092
- this.searchQuery = "";
4147
+ this.handleTextSearch();
4093
4148
  }
4094
4149
  }
4095
4150
  render() {
4096
- return (index.h(index.Host, { exportparts: "text-search-input" }, index.h("input", { class: "text-search-input", part: "text-search-input", type: "text", placeholder: i18next.instance.t("textSearchPlaceholder"), value: this.searchQuery, onInput: (event) => this.handleInputChange(event), onKeyUp: (event) => this.handleKeyPress(event) }), index.h("button", { class: "text-search-button", onClick: () => this.handleSearch(), disabled: search_store.searchState.loading }, search_store.searchState.loading && search_store.searchState.searchType === "text" ? (index.h("vviinn-preloader", null)) : (index.h("slot", { name: "vviinn-text-search-icon" }, index.h(TextSearchIcon, null))))));
4151
+ return (index.h(index.Host, { exportparts: "text-search-input" }, index.h("input", { class: "text-search-input", part: "text-search-input", type: "text", placeholder: i18next.instance.t("textSearchPlaceholder"), value: this.searchQuery, onInput: (event) => this.handleInputChange(event), onKeyUp: (event) => this.handleKeyPress(event) }), index.h("button", { class: "text-search-button", onClick: () => this.handleTextSearch(), disabled: search_store.searchState.loading }, search_store.searchState.loading && search_store.searchState.searchType === "text" ? (index.h("vviinn-preloader", null)) : (index.h("slot", { name: "vviinn-text-search-icon" }, index.h(TextSearchIcon, null))))));
4097
4152
  }
4098
4153
  get el() { return index.getElement(this); }
4099
4154
  };
@@ -16508,7 +16508,7 @@ const imageSearchSessionClient = (initialData, campaignId, excludedFilters) => {
16508
16508
  return _function.pipe(sequenceToEither(getApiPath(), createInitPostRequest), fromEither, chainW(makeRequest(requestUrl, initialData)));
16509
16509
  };
16510
16510
  const textSearchSessionClient = (initialData) => {
16511
- const requestUrl = "multi-search";
16511
+ const requestUrl = "text-search";
16512
16512
  return _function.pipe(sequenceToEither(getApiPath(), createInitPostRequest), fromEither, chainW(makeRequest(requestUrl, initialData)));
16513
16513
  };
16514
16514
 
@@ -17253,6 +17253,7 @@ const { state, onChange } = createStore({
17253
17253
  excluded: "",
17254
17254
  results: [],
17255
17255
  filters: [],
17256
+ textSearchFilters: [],
17256
17257
  cropperHandlers: [],
17257
17258
  detectedObjects: [],
17258
17259
  objectDetectionInProgress: false,
@@ -17328,20 +17329,26 @@ const uploadFile = (file) => {
17328
17329
  return error;
17329
17330
  }));
17330
17331
  };
17331
- const uploadText = (query) => {
17332
+ const uploadText = (query, filters) => {
17332
17333
  state.searchType = "text";
17333
17334
  state.loading = true;
17334
- const body = JSON.stringify(Object.assign({ query }, (state.campaignId.length ? { campaign: state.campaignId } : {})));
17335
+ const body = Object.assign(Object.assign({ query }, (filters
17336
+ ? {
17337
+ filters,
17338
+ }
17339
+ : {})), (state.campaignId.length ? { campaign: state.campaignId } : {}));
17335
17340
  const tokenWithBody = sequenceToEither(processBearerToken(state.token), right(body));
17336
17341
  return pipe(tokenWithBody, map$4(([headers, body]) => {
17337
17342
  headers.set("Content-Type", "application/json");
17338
17343
  return {
17339
17344
  headers,
17340
- body,
17345
+ body: JSON.stringify(body),
17341
17346
  };
17342
17347
  }), fromEither, chain((request) => textSearchSessionClient(request)), map((sessionResponse) => {
17343
- var _a, _b;
17344
- state.results = (_b = (_a = sessionResponse.data) === null || _a === void 0 ? void 0 : _a.products) !== null && _b !== void 0 ? _b : [];
17348
+ var _a, _b, _c;
17349
+ state.results = (_a = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.data.products) !== null && _a !== void 0 ? _a : [];
17350
+ state.textSearchFilters =
17351
+ (_c = (_b = sessionResponse === null || sessionResponse === void 0 ? void 0 : sessionResponse.data) === null || _b === void 0 ? void 0 : _b.interactions.filters) !== null && _c !== void 0 ? _c : [];
17345
17352
  state.loading = false;
17346
17353
  return sessionResponse;
17347
17354
  }), mapLeft((error) => {
@@ -17350,9 +17357,7 @@ const uploadText = (query) => {
17350
17357
  return error;
17351
17358
  }));
17352
17359
  };
17353
- const processSelectedText = async (query) => {
17354
- return await uploadText(query)();
17355
- };
17360
+ const processSelectedText = async (query, filters) => await uploadText(query, filters)();
17356
17361
  onChange("activeIonLink", async (newLink) => {
17357
17362
  const link = newLink ? newLink : state.resetCategoryLink;
17358
17363
  if (!link)
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-5619b5ec.js');
6
- const search_store = require('./search.store-0e899c7f.js');
6
+ const search_store = require('./search.store-09c35811.js');
7
7
  const i18next = require('./i18next-74ff3413.js');
8
8
  const PlusIcon = require('./PlusIcon-5e585127.js');
9
- const customizedSlots = require('./customized-slots-24ae7edf.js');
10
- const _package = require('./package-562db613.js');
11
- const resources = require('./resources-04d0f3bb.js');
9
+ const customizedSlots = require('./customized-slots-d8565ce0.js');
10
+ const _package = require('./package-d35af1fc.js');
11
+ const resources = require('./resources-2da68245.js');
12
12
 
13
13
  const BasketIcon = () => (index.h("svg", { width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
14
14
  index.h("path", { d: "M7.5 22C6.95 22 6.47917 21.8042 6.0875 21.4125C5.69583 21.0208 5.5 20.55 5.5 20C5.5 19.45 5.69583 18.9792 6.0875 18.5875C6.47917 18.1958 6.95 18 7.5 18C8.05 18 8.52083 18.1958 8.9125 18.5875C9.30417 18.9792 9.5 19.45 9.5 20C9.5 20.55 9.30417 21.0208 8.9125 21.4125C8.52083 21.8042 8.05 22 7.5 22ZM17.5 22C16.95 22 16.4792 21.8042 16.0875 21.4125C15.6958 21.0208 15.5 20.55 15.5 20C15.5 19.45 15.6958 18.9792 16.0875 18.5875C16.4792 18.1958 16.95 18 17.5 18C18.05 18 18.5208 18.1958 18.9125 18.5875C19.3042 18.9792 19.5 19.45 19.5 20C19.5 20.55 19.3042 21.0208 18.9125 21.4125C18.5208 21.8042 18.05 22 17.5 22ZM6.65 6L9.05 11H16.05L18.8 6H6.65ZM5.7 4H20.45C20.8333 4 21.125 4.17083 21.325 4.5125C21.525 4.85417 21.5333 5.2 21.35 5.55L17.8 11.95C17.6167 12.2833 17.3708 12.5417 17.0625 12.725C16.7542 12.9083 16.4167 13 16.05 13H8.6L7.5 15H18.5C18.7833 15 19.0208 15.0958 19.2125 15.2875C19.4042 15.4792 19.5 15.7167 19.5 16C19.5 16.2833 19.4042 16.5208 19.2125 16.7125C19.0208 16.9042 18.7833 17 18.5 17H7.5C6.75 17 6.18333 16.6708 5.8 16.0125C5.41667 15.3542 5.4 14.7 5.75 14.05L7.1 11.6L3.5 4H2.5C2.21667 4 1.97917 3.90417 1.7875 3.7125C1.59583 3.52083 1.5 3.28333 1.5 3C1.5 2.71667 1.59583 2.47917 1.7875 2.2875C1.97917 2.09583 2.21667 2 2.5 2H4.125C4.30833 2 4.48333 2.05 4.65 2.15C4.81667 2.25 4.94167 2.39167 5.025 2.575L5.7 4Z", fill: "#525252" })));
@@ -370,33 +370,33 @@ class GtagAnalytics {
370
370
 
371
371
  class GAnalytics {
372
372
  constructor() {
373
- ga('require', 'ec');
373
+ ga("require", "ec");
374
374
  }
375
375
  convertProduct(product) {
376
376
  var _a, _b, _c;
377
377
  return {
378
378
  id: product.productId,
379
379
  name: product.title,
380
- brand: (_a = product.brand) !== null && _a !== void 0 ? _a : '',
381
- category: (_b = product.productType) !== null && _b !== void 0 ? _b : '',
382
- list: 'VI VPR View',
383
- price: Math.min(...[product.price.actual, (_c = product.price.sale) !== null && _c !== void 0 ? _c : Infinity])
380
+ brand: (_a = product.brand) !== null && _a !== void 0 ? _a : "",
381
+ category: (_b = product.productType) !== null && _b !== void 0 ? _b : "",
382
+ list: "VI VPR View",
383
+ price: Math.min(...[product.price.actual, (_c = product.price.sale) !== null && _c !== void 0 ? _c : Infinity]),
384
384
  };
385
385
  }
386
386
  sendImpression(product) {
387
- ga('ec:addImpression', this.convertProduct(product));
387
+ ga("ec:addImpression", this.convertProduct(product));
388
388
  return undefined;
389
389
  }
390
390
  sendClick(product) {
391
391
  var _a, _b, _c;
392
- ga('ec:addProduct', {
392
+ ga("ec:addProduct", {
393
393
  id: product.productId,
394
394
  name: product.title,
395
- brand: (_a = product.brand) !== null && _a !== void 0 ? _a : '',
396
- category: (_b = product.productType) !== null && _b !== void 0 ? _b : '',
397
- price: Math.min(...[product.price.actual, (_c = product.price.sale) !== null && _c !== void 0 ? _c : Infinity])
395
+ brand: (_a = product.brand) !== null && _a !== void 0 ? _a : "",
396
+ category: (_b = product.productType) !== null && _b !== void 0 ? _b : "",
397
+ price: Math.min(...[product.price.actual, (_c = product.price.sale) !== null && _c !== void 0 ? _c : Infinity]),
398
398
  });
399
- ga('ec:setAction', 'click', { list: 'VI VPR View' });
399
+ ga("ec:setAction", "click", { list: "VI VPR View" });
400
400
  return undefined;
401
401
  }
402
402
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-5619b5ec.js');
6
- const search_store = require('./search.store-0e899c7f.js');
6
+ const search_store = require('./search.store-09c35811.js');
7
7
 
8
8
  const vviinnPreloaderCss = ":host{--preloader-size:24px;--preloader-width:calc(var(--preloader-size) / 6);transform-origin:center;animation:rotate 3s linear infinite;border:var(--preloader-width) solid currentColor;border-radius:50%;border-top-color:transparent;display:none;outline:0;width:var(--preloader-size);height:var(--preloader-size);box-sizing:border-box}:host(.active){display:flex}@keyframes rotate{from{transform:rotate(-360deg)}to{transform:rotate(360deg)}}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-5619b5ec.js');
6
- const _package = require('./package-562db613.js');
6
+ const _package = require('./package-d35af1fc.js');
7
7
  const VisualSearchIcon = require('./VisualSearchIcon-1180d079.js');
8
8
 
9
9
  const vviinnVprButtonCss = ":host{display:block}";
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-5619b5ec.js');
6
- const _package = require('./package-562db613.js');
7
- const customizedSlots = require('./customized-slots-24ae7edf.js');
6
+ const _package = require('./package-d35af1fc.js');
7
+ const customizedSlots = require('./customized-slots-d8565ce0.js');
8
8
  const constants = require('./constants-7684cbfc.js');
9
9
 
10
10
  const CameraIcon = () => (index.h("svg", { width: "22", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },