vviinn-widgets 2.159.0 → 2.160.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/cjs/index-1953bc5b.js +24 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{package-442ca80c.js → package-c2a47f72.js} +1 -1
  4. package/dist/cjs/vviinn-camera_12.cjs.entry.js +74 -88
  5. package/dist/cjs/vviinn-carousel_10.cjs.entry.js +4 -4
  6. package/dist/cjs/vviinn-detected-object_7.cjs.entry.js +1 -1
  7. package/dist/cjs/vviinn-selected-filters.cjs.entry.js +11 -35
  8. package/dist/cjs/vviinn-text-search.cjs.entry.js +1 -1
  9. package/dist/cjs/vviinn-vps-button.cjs.entry.js +2 -2
  10. package/dist/cjs/vviinn-widgets.cjs.js +1 -1
  11. package/dist/collection/components/vviinn-camera/vviinn-camera.js +60 -11
  12. package/dist/collection/components/vviinn-cropper/vviinn-cropper.js +22 -88
  13. package/dist/collection/components/vviinn-filters/helpers/RenderCustomButton.js +3 -2
  14. package/dist/collection/components/vviinn-filters/vviinn-filters.css +4 -0
  15. package/dist/collection/components/vviinn-filters/vviinn-selected-filters.js +9 -34
  16. package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.js +43 -0
  17. package/dist/collection/components/vviinn-results/vviinn-results.js +1 -1
  18. package/dist/collection/components/vviinn-text-search/vviinn-text-search.js +1 -1
  19. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +5 -5
  20. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +15 -13
  21. package/dist/collection/localStorage/index.js +18 -0
  22. package/dist/esm/{index-3c9c6402.js → index-3da413a9.js} +1 -1
  23. package/dist/esm/index-52ea1bdf.js +20 -0
  24. package/dist/esm/loader.js +1 -1
  25. package/dist/esm/{package-7b73d407.js → package-925a7c96.js} +1 -1
  26. package/dist/esm/{search.store-273df781.js → search.store-bc248b7a.js} +1 -1
  27. package/dist/esm/vviinn-camera_12.entry.js +54 -68
  28. package/dist/esm/vviinn-carousel_10.entry.js +6 -6
  29. package/dist/esm/vviinn-detected-object_7.entry.js +2 -2
  30. package/dist/esm/vviinn-selected-filters.entry.js +13 -37
  31. package/dist/esm/vviinn-text-search.entry.js +2 -2
  32. package/dist/esm/vviinn-vps-button.entry.js +2 -2
  33. package/dist/esm/vviinn-widgets.js +1 -1
  34. package/dist/types/campaign/CampaignService.d.ts +0 -4
  35. package/dist/types/components/vviinn-camera/vviinn-camera.d.ts +4 -1
  36. package/dist/types/components/vviinn-cropper/vviinn-cropper.d.ts +0 -9
  37. package/dist/types/components/vviinn-filters/helpers/RenderCustomButton.d.ts +1 -1
  38. package/dist/types/components/vviinn-filters/vviinn-selected-filters.d.ts +0 -3
  39. package/dist/types/components/vviinn-image-selector/vviinn-image-selector.d.ts +3 -1
  40. package/dist/types/components/vviinn-results/vviinn-results.d.ts +1 -1
  41. package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +1 -1
  42. package/dist/types/components.d.ts +16 -12
  43. package/dist/types/interfaces/generated.d.ts +9 -6
  44. package/dist/types/localStorage/index.d.ts +12 -0
  45. package/dist/vviinn-widgets/{p-a823e096.entry.js → p-0873012d.entry.js} +1 -1
  46. package/dist/vviinn-widgets/p-08e32049.entry.js +1 -0
  47. package/dist/vviinn-widgets/p-13d59115.entry.js +1 -0
  48. package/dist/vviinn-widgets/{p-2de34328.js → p-4507cd56.js} +1 -1
  49. package/dist/vviinn-widgets/p-4a641d2f.entry.js +1 -0
  50. package/dist/vviinn-widgets/{p-394fb8d7.entry.js → p-57fbd7ea.entry.js} +1 -1
  51. package/dist/vviinn-widgets/p-6e0b76e2.js +1 -0
  52. package/dist/vviinn-widgets/p-b82cd6fb.entry.js +11 -0
  53. package/dist/vviinn-widgets/{p-9d271438.js → p-c4939919.js} +1 -1
  54. package/dist/vviinn-widgets/{p-6bce92ff.js → p-cfcfbf3b.js} +1 -1
  55. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  56. package/package.json +1 -1
  57. package/www/build/{p-a823e096.entry.js → p-0873012d.entry.js} +1 -1
  58. package/www/build/p-08e32049.entry.js +1 -0
  59. package/www/build/p-13d59115.entry.js +1 -0
  60. package/www/build/{p-2de34328.js → p-4507cd56.js} +1 -1
  61. package/www/build/p-4a641d2f.entry.js +1 -0
  62. package/www/build/{p-394fb8d7.entry.js → p-57fbd7ea.entry.js} +1 -1
  63. package/www/build/p-6e0b76e2.js +1 -0
  64. package/www/build/p-b82cd6fb.entry.js +11 -0
  65. package/www/build/{p-9d271438.js → p-c4939919.js} +1 -1
  66. package/www/build/{p-6bce92ff.js → p-cfcfbf3b.js} +1 -1
  67. package/www/build/vviinn-widgets.esm.js +1 -1
  68. package/dist/vviinn-widgets/p-09985e1f.entry.js +0 -11
  69. package/dist/vviinn-widgets/p-41c35727.entry.js +0 -1
  70. package/dist/vviinn-widgets/p-943f92a1.entry.js +0 -1
  71. package/dist/vviinn-widgets/p-c4ac2946.entry.js +0 -1
  72. package/www/build/p-09985e1f.entry.js +0 -11
  73. package/www/build/p-41c35727.entry.js +0 -1
  74. package/www/build/p-943f92a1.entry.js +0 -1
  75. package/www/build/p-c4ac2946.entry.js +0 -1
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ const setLocalStorageItems = (imageSrc, detectedObjects) => {
4
+ if (imageSrc === null || imageSrc === void 0 ? void 0 : imageSrc.length)
5
+ localStorage.setItem("vviinnCropperImageSrc", imageSrc);
6
+ if (detectedObjects === null || detectedObjects === void 0 ? void 0 : detectedObjects.length)
7
+ localStorage.setItem("vviinnDetectedObjects", JSON.stringify(detectedObjects));
8
+ };
9
+ const getLocalStorageItems = () => {
10
+ const imageSrc = localStorage.getItem("vviinnCropperImageSrc");
11
+ const detectedObjects = localStorage.getItem("vviinnDetectedObjects");
12
+ return {
13
+ imageSrc,
14
+ detectedObjects: JSON.parse(detectedObjects),
15
+ };
16
+ };
17
+ const cleanLocalStorage = () => {
18
+ localStorage.removeItem("vviinnCropperImageSrc");
19
+ localStorage.removeItem("vviinnDetectedObjects");
20
+ };
21
+
22
+ exports.cleanLocalStorage = cleanLocalStorage;
23
+ exports.getLocalStorageItems = getLocalStorageItems;
24
+ exports.setLocalStorageItems = setLocalStorageItems;
@@ -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(JSON.parse("[[\"vviinn-selected-filters.cjs\",[[1,\"vviinn-selected-filters\",{\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"selectedFilterButtons\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32],\"priceCustomFilter\":[32]}]]],[\"vviinn-error.cjs\",[[1,\"vviinn-error\"]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"showExtendedFilters\":[4,\"show-extended-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"blockTitle\":[1,\"block-title\"],\"showScroll\":[4,\"show-scroll\"],\"apiPath\":[1,\"api-path\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]]],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16],\"setModeDiscountsArray\":[16],\"imageRatio\":[2,\"image-ratio\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]]],[1,\"vviinn-extended-filters\",{\"filters\":[1040],\"mode\":[1],\"showHeader\":[4,\"show-header\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"widgetElement\":[8,\"widget-element\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32]},[[16,\"click\",\"bodyClickListener\"]]],[1,\"vviinn-filters\",{\"filters\":[1040],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"innerFilters\":[32],\"selectedFilter\":[32],\"requestFilters\":[32]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currency\":[1],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"imageRatio\":[2,\"image-ratio\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"setMode\":[4,\"set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040],\"productId\":[1,\"product-id\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"deeplink\":[1],\"index\":[2],\"updatingAllCards\":[4,\"updating-all-cards\"],\"defaultAnimationInterval\":[2,\"default-animation-interval\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]]],[1,\"vviinn-product-card-skeleton\",{\"imageRatio\":[2,\"image-ratio\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"]}],[1,\"vviinn-price-range\",{\"histogram\":[16],\"addStyle\":[4,\"add-style\"],\"priceChangeHandler\":[16],\"selectedInterval\":[16],\"minIndex\":[32],\"maxIndex\":[32],\"scalingFactor\":[32]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-button_2.cjs\",[[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"position\":[1],\"widgetScrollbar\":[4,\"widget-scrollbar\"],\"mode\":[1],\"campaigns\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"]]],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-detected-object_7.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"addPriceContainer\":[4,\"add-price-container\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"targetAppendSidebarTo\":[32]}],[1,\"vviinn-empty-results\",{\"handler\":[16]}],[1,\"vviinn-wrong-aspect-ratio\",{\"handler\":[16]}],[1,\"vviinn-detected-object\",{\"detectedObject\":[16],\"selectedDetectedObject\":[16],\"basicEventData\":[16],\"imageBounds\":[16],\"showInWidget\":[4,\"show-in-widget\"],\"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\"],[1,\"vviinn-preloader\"]]],[\"vviinn-camera_12.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"campaignId\":[1,\"campaign-id\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16],\"replaceSlotsContentInButton\":[16],\"parentSlots\":[16],\"useComponentsStore\":[4,\"use-components-store\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"textSearchQuery\":[32],\"modalBody\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]]],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"textSearchQuery\":[1,\"text-search-query\"],\"filterColumn\":[1,\"filter-column\"],\"filterValue\":[1,\"filter-value\"],\"resultsCount\":[2,\"results-count\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16],\"replaceSlotsContentInWidget\":[16],\"replaceSlotsContentInButton\":[16],\"parentSlots\":[16],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16],\"innerTextSearchQuery\":[32],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"isTextSearch\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]]],[1,\"vviinn-cropper\",{\"saveImageMode\":[1,\"save-image-mode\"],\"detectedObjectsString\":[1025,\"detected-objects-string\"],\"url\":[1025],\"width\":[1026],\"apiPath\":[1,\"api-path\"],\"height\":[1026],\"basicEventData\":[1040],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"detectedObjects\":[32],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[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-image-selector\",{\"basicEventData\":[16],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"storeName\":[1,\"store-name\"]}],[1,\"vviinn-server-error\",{\"handler\":[16]}],[1,\"vviinn-wrong-format\",{\"handler\":[16]}],[1,\"vviinn-camera\",{\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16],\"srcObject\":[16],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"useComponentsStore\":[4,\"use-components-store\"],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]}],[1,\"vviinn-teaser\"]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"apiPath\":[1,\"api-path\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16],\"isRecording\":[32],\"showTooltip\":[32]}]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"useComponentsStore\":[4,\"use-components-store\"],\"buttonPressed\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]]]]]]"), options);
17
+ return index.bootstrapLazy(JSON.parse("[[\"vviinn-selected-filters.cjs\",[[1,\"vviinn-selected-filters\",{\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"selectedFilterButtons\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32],\"priceCustomFilter\":[32]}]]],[\"vviinn-error.cjs\",[[1,\"vviinn-error\"]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"showExtendedFilters\":[4,\"show-extended-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"blockTitle\":[1,\"block-title\"],\"showScroll\":[4,\"show-scroll\"],\"apiPath\":[1,\"api-path\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]]],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16],\"setModeDiscountsArray\":[16],\"imageRatio\":[2,\"image-ratio\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]]],[1,\"vviinn-extended-filters\",{\"filters\":[1040],\"mode\":[1],\"showHeader\":[4,\"show-header\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"widgetElement\":[8,\"widget-element\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32]},[[16,\"click\",\"bodyClickListener\"]]],[1,\"vviinn-filters\",{\"filters\":[1040],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"innerFilters\":[32],\"selectedFilter\":[32],\"requestFilters\":[32]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currency\":[1],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"imageRatio\":[2,\"image-ratio\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"setMode\":[4,\"set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040],\"productId\":[1,\"product-id\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"deeplink\":[1],\"index\":[2],\"updatingAllCards\":[4,\"updating-all-cards\"],\"defaultAnimationInterval\":[2,\"default-animation-interval\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]]],[1,\"vviinn-product-card-skeleton\",{\"imageRatio\":[2,\"image-ratio\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"]}],[1,\"vviinn-price-range\",{\"histogram\":[16],\"addStyle\":[4,\"add-style\"],\"priceChangeHandler\":[16],\"selectedInterval\":[16],\"minIndex\":[32],\"maxIndex\":[32],\"scalingFactor\":[32]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-button_2.cjs\",[[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"position\":[1],\"widgetScrollbar\":[4,\"widget-scrollbar\"],\"mode\":[1],\"campaigns\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"]]],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-detected-object_7.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageRatio\":[2,\"image-ratio\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"showFilters\":[4,\"show-filters\"],\"addPriceContainer\":[4,\"add-price-container\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"targetAppendSidebarTo\":[32]}],[1,\"vviinn-empty-results\",{\"handler\":[16]}],[1,\"vviinn-wrong-aspect-ratio\",{\"handler\":[16]}],[1,\"vviinn-detected-object\",{\"detectedObject\":[16],\"selectedDetectedObject\":[16],\"basicEventData\":[16],\"imageBounds\":[16],\"showInWidget\":[4,\"show-in-widget\"],\"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\"],[1,\"vviinn-preloader\"]]],[\"vviinn-camera_12.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"campaignId\":[1,\"campaign-id\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16],\"replaceSlotsContentInButton\":[16],\"parentSlots\":[16],\"showInWidget\":[4,\"show-in-widget\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"textSearchQuery\":[32],\"modalBody\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]]],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"textSearchQuery\":[1,\"text-search-query\"],\"filterColumn\":[1,\"filter-column\"],\"filterValue\":[1,\"filter-value\"],\"resultsCount\":[2,\"results-count\"],\"addPriceContainer\":[4,\"add-price-container\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16],\"replaceSlotsContentInWidget\":[16],\"replaceSlotsContentInButton\":[16],\"parentSlots\":[16],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16],\"innerTextSearchQuery\":[32],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"isTextSearch\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]]],[1,\"vviinn-cropper\",{\"saveImageMode\":[1,\"save-image-mode\"],\"width\":[1026],\"apiPath\":[1,\"api-path\"],\"height\":[1026],\"basicEventData\":[1040],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[1,\"vviinn-overlayed-modal\",{\"active\":[4],\"resetState\":[16],\"buttonElementId\":[1,\"button-element-id\"],\"hideBackButton\":[4,\"hide-back-button\"],\"widgetVersion\":[1,\"widget-version\"],\"isFirstScreen\":[4,\"is-first-screen\"]}],[1,\"vviinn-image-selector\",{\"basicEventData\":[16],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16]}],[1,\"vviinn-server-error\",{\"handler\":[16]}],[1,\"vviinn-wrong-format\",{\"handler\":[16]}],[1,\"vviinn-camera\",{\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16],\"srcObject\":[16],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]}],[1,\"vviinn-teaser\"]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"apiPath\":[1,\"api-path\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16],\"isRecording\":[32],\"showTooltip\":[32]}]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryShow\":[4,\"one-click-discovery-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"buttonPressed\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]]]]]]"), options);
18
18
  });
19
19
  };
20
20
 
@@ -14,7 +14,7 @@ function fromString(s) {
14
14
  return s === "VPR" ? { _tag: "VPR" } : { _tag: "VCS" };
15
15
  }
16
16
 
17
- const version = "2.159.0";
17
+ const version = "2.160.1";
18
18
 
19
19
  exports.campaignTypeNames = campaignTypeNames;
20
20
  exports.fold = fold;
@@ -5,11 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-1a40d6c9.js');
6
6
  const search_store = require('./search.store-5c334453.js');
7
7
  const customizedSlots = require('./customized-slots-a9416ea3.js');
8
- const index$1 = require('./index-601ae273.js');
8
+ const index$2 = require('./index-601ae273.js');
9
+ const index$1 = require('./index-1953bc5b.js');
9
10
  const Rectangle = require('./Rectangle-baf86229.js');
10
- const _package = require('./package-442ca80c.js');
11
+ const _package = require('./package-c2a47f72.js');
11
12
  const resources = require('./resources-9a669f8f.js');
12
- const index$2 = require('./index-bbed84c5.js');
13
+ const index$3 = require('./index-bbed84c5.js');
13
14
  const constants = require('./constants-21309688.js');
14
15
  const WarningIcon = require('./WarningIcon-db443b71.js');
15
16
 
@@ -81,7 +82,9 @@ const VviinnExampleImage = class {
81
82
  this.basicEventData = undefined;
82
83
  this.srcObject = undefined;
83
84
  this.cameraButtonClicked = false;
84
- this.useComponentsStore = false;
85
+ this.showInWidget = undefined;
86
+ this.storeName = undefined;
87
+ this.state = undefined;
85
88
  this.selected = false;
86
89
  this.videoInitialized = false;
87
90
  this.zoomCapabilities = null;
@@ -135,12 +138,17 @@ const VviinnExampleImage = class {
135
138
  ctx.drawImage(video, dx, dy, cropDimension, cropDimension, 0, 0, canvas.width, canvas.height);
136
139
  const dataURI = canvas.toDataURL("image/jpeg");
137
140
  file = await search_store.toFile(dataURI);
138
- search_store._function.pipe(await search_store.makeUploadFileRequest(this.useComponentsStore ? "components" : "widget")(file), search_store.Either.match(() => {
141
+ search_store._function.pipe(await search_store.makeUploadFileRequest(this.storeName)(file), search_store.Either.match(() => {
139
142
  this.vviinnNoResult.emit(this.basicEventData);
140
- }, (response) => this.vviinnImageUploadFinished.emit({
141
- searchId: response.requestId,
142
- isTriggeredByVpsWidget: !this.useComponentsStore,
143
- })));
143
+ }, (response) => {
144
+ var _a;
145
+ if (!this.showInWidget)
146
+ index$1.setLocalStorageItems((_a = this.state.image) === null || _a === void 0 ? void 0 : _a.src, this.state.detectedObjects);
147
+ this.vviinnImageUploadFinished.emit({
148
+ searchId: response.requestId,
149
+ isTriggeredByVpsWidget: this.storeName === "widget",
150
+ });
151
+ }));
144
152
  this.selected = false;
145
153
  this.videoInitialized = false;
146
154
  this.vviinnCameraEnabled.emit(false);
@@ -166,7 +174,7 @@ const VviinnExampleImage = class {
166
174
  render() {
167
175
  return (index.h(index.Host, { onKeyUp: (ev) => this.handleKeyPress(ev), class: { "video-expanded": this.cameraButtonClicked } }, index.h("video", { id: "camera-preview", class: {
168
176
  hidden: !this.videoInitialized || this.selected,
169
- }, 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(index$1.PlusIcon, null)))), index.h("div", { class: "photo-button-container" }, index.h("button", { class: "photo-button", onClick: () => this.selectImage() }, index.h(RoundCameraIcon, null))))));
177
+ }, 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(index$2.PlusIcon, null)))), index.h("div", { class: "photo-button-container" }, index.h("button", { class: "photo-button", onClick: () => this.selectImage() }, index.h(RoundCameraIcon, null))))));
170
178
  }
171
179
  get el() { return index.getElement(this); }
172
180
  static get watchers() { return {
@@ -3517,33 +3525,35 @@ const VviinnCropper = class {
3517
3525
  this.vviinnResetCropArea = index.createEvent(this, "vviinnResetCropArea", 7);
3518
3526
  this.vviinnSelectedFiltersReset = index.createEvent(this, "vviinnSelectedFiltersReset", 7);
3519
3527
  this.initPreloadedImage = () => {
3528
+ var _a;
3520
3529
  if (this.showInWidget) {
3521
3530
  const [width, height] = search_store.getImageSizes(this.state.image, DEFAULT_IMAGE_SIZE);
3522
3531
  this.width = width;
3523
3532
  this.height = height;
3524
- this.renderImage(this.state.image);
3525
3533
  }
3526
3534
  if (this.saveImageMode === "never")
3527
3535
  return;
3528
3536
  this.state.image = null;
3529
- const cropperImageSrc = localStorage.getItem("cropperImageSrc");
3530
- if (!cropperImageSrc)
3537
+ const { imageSrc: localStorageImageSrc, detectedObjects: localStorageDetectedObjects, } = index$1.getLocalStorageItems();
3538
+ if (!localStorageImageSrc)
3531
3539
  return;
3532
3540
  const image = document.createElement("img");
3533
- image.src = cropperImageSrc;
3541
+ image.src = localStorageImageSrc;
3534
3542
  this.state.image = image;
3535
- this.saveImageMode === "once" && localStorage.removeItem("cropperImageSrc");
3543
+ if (((_a = this.state.detectedObjects) === null || _a === void 0 ? void 0 : _a.length) === 0)
3544
+ this.state.detectedObjects = localStorageDetectedObjects;
3545
+ this.saveImageMode === "once" && index$1.cleanLocalStorage();
3536
3546
  };
3537
3547
  this.resetStateHandler = ({ detail, }) => {
3538
3548
  var _a, _b;
3539
3549
  if (this.skipStateChanges(detail.isTriggeredByVpsWidget))
3540
3550
  return;
3541
- this.detectedObjects = [];
3542
3551
  this.selectedDetectedObject = null;
3543
- localStorage.removeItem("cropperImageSrc");
3544
3552
  (_a = this.state.image) === null || _a === void 0 ? void 0 : _a.setAttribute("src", "");
3553
+ this.state.detectedObjects = [];
3545
3554
  this.state.image = null;
3546
3555
  (_b = this.cropper) === null || _b === void 0 ? void 0 : _b.destroy();
3556
+ index$1.cleanLocalStorage();
3547
3557
  };
3548
3558
  this.resetCropAreaHandler = ({ detail, }) => {
3549
3559
  var _a;
@@ -3559,21 +3569,14 @@ const VviinnCropper = class {
3559
3569
  search_store.makeVisualSearchRequest(this.storeName, null);
3560
3570
  };
3561
3571
  this.skipStateChanges = (isTriggeredByVpsWidget) => this.showInWidget !== isTriggeredByVpsWidget;
3562
- this.imageUploadFinishedHandler = () => {
3563
- if (this.state.image && this.saveImageMode !== "never") {
3564
- localStorage.setItem("cropperImageSrc", this.state.image.src);
3565
- }
3566
- };
3567
- this.getDetectedObjects = () => this.detectedObjects.length
3568
- ? this.detectedObjects
3569
- : this.state.detectedObjects;
3570
- this.imageUploadStartedHandler = ({ detail }) => {
3572
+ this.imageUploadFinishedHandler = ({ detail }) => {
3571
3573
  var _a;
3572
- if (this.cropper &&
3573
- ((_a = this.state.image) === null || _a === void 0 ? void 0 : _a.src) &&
3574
- !this.skipStateChanges(detail.isTriggeredByVpsWidget)) {
3574
+ if (this.skipStateChanges(detail.isTriggeredByVpsWidget))
3575
+ return;
3576
+ if (this.saveImageMode === "never")
3577
+ index$1.cleanLocalStorage();
3578
+ if (this.cropper && ((_a = this.state.image) === null || _a === void 0 ? void 0 : _a.src))
3575
3579
  this.cropper.replace(this.state.image.src);
3576
- }
3577
3580
  };
3578
3581
  this.loadImage = () => {
3579
3582
  const renderedImageElement = this.el.shadowRoot.querySelector("img");
@@ -3620,49 +3623,33 @@ const VviinnCropper = class {
3620
3623
  this.state.searchType === "image" &&
3621
3624
  !this.showAspectRatioError;
3622
3625
  this.saveImageMode = "once";
3623
- this.detectedObjectsString = undefined;
3624
- this.url = undefined;
3625
3626
  this.width = 288;
3626
3627
  this.apiPath = undefined;
3627
3628
  this.height = undefined;
3628
3629
  this.basicEventData = undefined;
3629
3630
  this.showAspectRatioError = undefined;
3630
3631
  this.showInWidget = false;
3631
- this.detectedObjects = [];
3632
3632
  this.cropper = null;
3633
3633
  this.selectedDetectedObject = null;
3634
3634
  }
3635
3635
  connectedCallback() {
3636
3636
  search_store.updateGlobalState(this);
3637
- this.stringParser(true);
3638
- const { state, storeName, onChange } = search_store.useSearchStore(this.showInWidget);
3637
+ const { state, storeName } = search_store.useSearchStore(this.showInWidget);
3639
3638
  this.state = state;
3640
3639
  this.storeName = storeName;
3641
- this.disposeStoreListener = onChange("image", (newImage) => this.renderImage(newImage));
3642
3640
  this.initPreloadedImage();
3643
- document.addEventListener("vviinnImageUploadStarted", this.imageUploadStartedHandler);
3644
3641
  document.addEventListener("vviinnImageUploadFinished", this.imageUploadFinishedHandler);
3645
3642
  document.addEventListener("vviinnCropperResetState", this.resetStateHandler);
3646
3643
  document.addEventListener("vviinnResetCropArea", this.resetCropAreaHandler);
3647
3644
  }
3648
3645
  disconnectedCallback() {
3649
- var _a, _b, _c;
3650
- document.removeEventListener("vviinnImageUploadStarted", this.imageUploadStartedHandler);
3646
+ var _a, _b;
3651
3647
  document.removeEventListener("vviinnImageUploadFinished", this.imageUploadFinishedHandler);
3652
3648
  document.removeEventListener("vviinnCropperResetState", this.resetStateHandler);
3653
3649
  document.removeEventListener("vviinnResetCropArea", this.resetCropAreaHandler);
3654
- (_a = this.disposeStoreListener) === null || _a === void 0 ? void 0 : _a.call(this);
3655
- (_c = (_b = this.cropper) === null || _b === void 0 ? void 0 : _b.destroy) === null || _c === void 0 ? void 0 : _c.call(_b);
3650
+ (_b = (_a = this.cropper) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a);
3656
3651
  search_store.componentsState.image = null;
3657
3652
  }
3658
- detectedObjectsStringWatcher() {
3659
- this.stringParser(true);
3660
- }
3661
- stringParser(TriggerDetectedObjects) {
3662
- if (this.detectedObjectsString && TriggerDetectedObjects) {
3663
- this.detectedObjects = JSON.parse(this.detectedObjectsString);
3664
- }
3665
- }
3666
3653
  selectDetectedObject({ detail }) {
3667
3654
  this.selectedDetectedObject = detail.detectedObject;
3668
3655
  this.state.searchArea = detail.searchArea;
@@ -3701,23 +3688,15 @@ const VviinnCropper = class {
3701
3688
  height,
3702
3689
  };
3703
3690
  }
3704
- renderImage(newImage) {
3705
- if (newImage) {
3706
- this.url = newImage.src;
3707
- }
3708
- }
3709
3691
  render() {
3710
- if (!this.state.image)
3711
- return null;
3692
+ var _a, _b;
3712
3693
  return (index.h(index.Host, { class: {
3713
3694
  "show-in-widget": this.showInWidget,
3714
3695
  active: !!this.state.image,
3715
- } }, index.h("div", { class: "container" }, index.h("div", { class: "image-container", style: { width: `${this.width.toString()}px`, overflow: "hidden" } }, index.h("img", { decoding: "async", width: this.width, height: this.height, src: this.url, draggable: false, onLoad: this.loadImage }), this.getDetectedObjects().map((object) => (index.h("vviinn-detected-object", { detectedObject: object, selectedDetectedObject: this.selectedDetectedObject, basicEventData: this.basicEventData, imageBounds: this.state.imageBounds, showInWidget: this.showInWidget })))), this.showPreloader() && (index.h("div", { class: "image-preloader" }, index.h("vviinn-preloader", null))))));
3696
+ } }, index.h("div", { class: "container" }, index.h("div", { class: "image-container", style: { width: `${this.width.toString()}px`, overflow: "hidden" } }, index.h("img", { decoding: "async", width: this.width, height: this.height, src: (_a = this.state.image) === null || _a === void 0 ? void 0 : _a.src, draggable: false, onLoad: this.loadImage }), (_b = this.state.detectedObjects) === null || _b === void 0 ? void 0 :
3697
+ _b.map((object) => (index.h("vviinn-detected-object", { detectedObject: object, selectedDetectedObject: this.selectedDetectedObject, basicEventData: this.basicEventData, imageBounds: this.state.imageBounds, showInWidget: this.showInWidget })))), this.showPreloader() && (index.h("div", { class: "image-preloader" }, index.h("vviinn-preloader", null))))));
3716
3698
  }
3717
3699
  get el() { return index.getElement(this); }
3718
- static get watchers() { return {
3719
- "detectedObjectsString": ["detectedObjectsStringWatcher"]
3720
- }; }
3721
3700
  };
3722
3701
  VviinnCropper.style = vviinnCropperCss;
3723
3702
 
@@ -3736,7 +3715,9 @@ const VviinnImageSelector = class {
3736
3715
  this.resetVpsButton = undefined;
3737
3716
  this.token = undefined;
3738
3717
  this.apiPath = undefined;
3718
+ this.showInWidget = undefined;
3739
3719
  this.storeName = undefined;
3720
+ this.state = undefined;
3740
3721
  }
3741
3722
  async handleInputChange(event) {
3742
3723
  this.vviinnImageUploadStarted.emit(Object.assign(Object.assign({}, this.basicEventData), { isTriggeredByVpsWidget: this.storeName === "widget" }));
@@ -3745,6 +3726,9 @@ const VviinnImageSelector = class {
3745
3726
  search_store._function.pipe(processingResult, search_store.match(({ kind }) => {
3746
3727
  this.vviinnNoResult.emit(Object.assign(Object.assign({}, this.basicEventData), { reason: kind }));
3747
3728
  }, (response) => {
3729
+ var _a;
3730
+ if (!this.showInWidget)
3731
+ index$1.setLocalStorageItems((_a = this.state.image) === null || _a === void 0 ? void 0 : _a.src, this.state.detectedObjects);
3748
3732
  this.vviinnImageUploadFinished.emit({
3749
3733
  searchId: response.requestId,
3750
3734
  isTriggeredByVpsWidget: this.storeName === "widget",
@@ -3855,7 +3839,7 @@ const VviinnResults = class {
3855
3839
  return 0;
3856
3840
  const firstRowTop = cards[0].offsetTop;
3857
3841
  const columns = cards.filter((card) => card.offsetTop === firstRowTop).length;
3858
- this.el.style.setProperty(index$1.RESULTS_CALCULATED_COLUMNS_CSS_VAR, columns.toString());
3842
+ this.el.style.setProperty(index$2.RESULTS_CALCULATED_COLUMNS_CSS_VAR, columns.toString());
3859
3843
  };
3860
3844
  this.calculateCardHeight = () => {
3861
3845
  const firstCard = this.el.shadowRoot.querySelector("vviinn-product-card");
@@ -3883,7 +3867,7 @@ const VviinnResults = class {
3883
3867
  this.innerTextSearchQuery = detail.query;
3884
3868
  this.setTextSearch(true, isTriggeredByVpsWidget);
3885
3869
  const _a = this.getBasicEventData(), rest = __rest$1(_a, ["campaignTypeId"]);
3886
- const textSearchStartedEvent = index$1.createWidgetEvent("TPS")(Object.assign({ action: "search", session_id: this.uiSessionId }, rest));
3870
+ const textSearchStartedEvent = index$2.createWidgetEvent("TPS")(Object.assign({ action: "search", session_id: this.uiSessionId }, rest));
3887
3871
  search_store.trackEvent(textSearchStartedEvent);
3888
3872
  this.getTextSearchResults();
3889
3873
  };
@@ -3916,7 +3900,7 @@ const VviinnResults = class {
3916
3900
  }
3917
3901
  const eventBody = Object.assign({ session_id: this.uiSessionId, typ: "filter_event", action,
3918
3902
  kind }, rest);
3919
- const filterEvent = index$1.createFilterEvent(this.isTextSearch ? "TPS" : "VPS")(eventBody);
3903
+ const filterEvent = index$2.createFilterEvent(this.isTextSearch ? "TPS" : "VPS")(eventBody);
3920
3904
  search_store.trackEvent(filterEvent);
3921
3905
  };
3922
3906
  this.imageUploadStartedHandler = ({ detail, }) => {
@@ -4057,7 +4041,7 @@ const VviinnResults = class {
4057
4041
  if (this.el.id)
4058
4042
  this.widgetElementId = this.el.id;
4059
4043
  if (!this.uiSessionId) {
4060
- this.uiSessionId = index$1.v4();
4044
+ this.uiSessionId = index$2.v4();
4061
4045
  }
4062
4046
  document.addEventListener("vviinnImageUploadStarted", this.imageUploadStartedHandler);
4063
4047
  document.addEventListener("vviinnTextSearchStarted", this.textSearchStartedHandler);
@@ -4122,17 +4106,17 @@ const VviinnResults = class {
4122
4106
  trackAddToBasket({ detail }) {
4123
4107
  delete detail.discount;
4124
4108
  const eventBody = this.productCardEventDataToEventBody(detail);
4125
- const addToBasketEvent = index$1.createAddToBasketEvent(this.isTextSearch ? "TPS" : "VPS")(eventBody);
4109
+ const addToBasketEvent = index$2.createAddToBasketEvent(this.isTextSearch ? "TPS" : "VPS")(eventBody);
4126
4110
  search_store.trackEvent(addToBasketEvent);
4127
4111
  }
4128
4112
  trackAddToFavorite({ detail }) {
4129
4113
  const eventBody = this.productCardEventDataToEventBody(detail);
4130
- const addToWishlistEvent = index$1.createAddToWishlistEvent(this.isTextSearch ? "TPS" : "VPS")(eventBody);
4114
+ const addToWishlistEvent = index$2.createAddToWishlistEvent(this.isTextSearch ? "TPS" : "VPS")(eventBody);
4131
4115
  search_store.trackEvent(addToWishlistEvent);
4132
4116
  }
4133
4117
  trackResultEvent(type) {
4134
4118
  const _a = this.getBasicEventData(), { campaignTypeId } = _a, rest = __rest$1(_a, ["campaignTypeId"]);
4135
- let resultEvent = index$1.createResultEventByType(type, campaignTypeId)(Object.assign({ session_id: this.uiSessionId }, rest));
4119
+ let resultEvent = index$2.createResultEventByType(type, campaignTypeId)(Object.assign({ session_id: this.uiSessionId }, rest));
4136
4120
  search_store.trackEvent(resultEvent);
4137
4121
  }
4138
4122
  findProductById(id) {
@@ -4158,7 +4142,7 @@ const VviinnResults = class {
4158
4142
  if (!search_store.globalState.trackingEnabled)
4159
4143
  return null;
4160
4144
  const eventBody = this.productCardEventDataToEventBody(detail);
4161
- const productEvent = index$1.createProductEventByType(eventType, detail.campaignTypeId === "VCS" ? "VPC" : detail.campaignTypeId)(eventBody);
4145
+ const productEvent = index$2.createProductEventByType(eventType, detail.campaignTypeId === "VCS" ? "VPC" : detail.campaignTypeId)(eventBody);
4162
4146
  return productEvent;
4163
4147
  }
4164
4148
  renderResults() {
@@ -4196,7 +4180,7 @@ const VviinnResults = class {
4196
4180
  };
4197
4181
  return this.getResults().map((p, i) => {
4198
4182
  var _a, _b, _c;
4199
- return (index.h("vviinn-product-card", { pricePrefix: search_store.globalState.pricePrefix, currency: search_store.globalState.currencySign, locale: search_store.globalState.locale, key: p.productId, index: i, productTitle: p.title, productId: p.productId, productType: p.productType, brand: p.brand, deeplink: p.deeplink, price: p.price.actual, salePrice: p.price.sale, basePrice: (_a = p.basePrice) === null || _a === void 0 ? void 0 : _a.actual, baseSalePrice: (_b = p.basePrice) === null || _b === void 0 ? void 0 : _b.sale, responsive: true, imageWidth: this.imageResolutionWidth, image: (_c = p.image.thumbnail) !== null && _c !== void 0 ? _c : p.image.original, energyCertifications: p.energyCertifications, part: "product-card", campaignTypeId: widgetData.campaignTypeId, widgetElementId: this.widgetElementId, buttonElementId: this.buttonElementId, widgetVersion: _package.version, customLabels: index$1.getCustomLabels(p), addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, addPriceContainer: this.addPriceContainer, isResultsWidget: true, style: { order: i.toString() }, showFooterArrow: this.oneClickDiscoverySelectedIndex === i }, !!this.oneClickDiscoveryMode && (index.h("div", { slot: "vviinn-product-card-actions", class: "vviinn-results-product-card-actions" }, index.h("vviinn-vpr-button", { onClick: () => oneClickDiscoveryHandler(i), productId: p.productId, addStyle: false, sidebarTitle: "", appendSidebarToId: isOneClickDiscoveryAppendMode
4183
+ return (index.h("vviinn-product-card", { pricePrefix: search_store.globalState.pricePrefix, currency: search_store.globalState.currencySign, locale: search_store.globalState.locale, key: p.productId, index: i, productTitle: p.title, productId: p.productId, productType: p.productType, brand: p.brand, deeplink: p.deeplink, price: p.price.actual, salePrice: p.price.sale, basePrice: (_a = p.basePrice) === null || _a === void 0 ? void 0 : _a.actual, baseSalePrice: (_b = p.basePrice) === null || _b === void 0 ? void 0 : _b.sale, responsive: true, imageWidth: this.imageResolutionWidth, image: (_c = p.image.thumbnail) !== null && _c !== void 0 ? _c : p.image.original, energyCertifications: p.energyCertifications, part: "product-card", campaignTypeId: widgetData.campaignTypeId, widgetElementId: this.widgetElementId, buttonElementId: this.buttonElementId, widgetVersion: _package.version, customLabels: index$2.getCustomLabels(p), addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, addPriceContainer: this.addPriceContainer, isResultsWidget: true, style: { order: i.toString() }, showFooterArrow: this.oneClickDiscoverySelectedIndex === i }, !!this.oneClickDiscoveryMode && (index.h("div", { slot: "vviinn-product-card-actions", class: "vviinn-results-product-card-actions" }, index.h("vviinn-vpr-button", { onClick: () => oneClickDiscoveryHandler(i), productId: p.productId, addStyle: false, sidebarTitle: "", appendSidebarToId: isOneClickDiscoveryAppendMode
4200
4184
  ? "one-click-discovery-append"
4201
4185
  : undefined, appendSidebarToElement: isOneClickDiscoveryAppendMode
4202
4186
  ? this.el.shadowRoot.getElementById("one-click-discovery-append")
@@ -4209,7 +4193,7 @@ const VviinnResults = class {
4209
4193
  return (index.h(index.Host, { id: "results-block", class: {
4210
4194
  "show-in-widget": this.showInWidget,
4211
4195
  "matching-discovery": this.oneClickDiscoveryMode === "append-slider",
4212
- }, exportparts: index$2.productCardParts }, index.h("div", { class: "nothing-found" }, resultsLength === 0 && this.showInWidget && (index.h("vviinn-empty-results", { handler: () => this === null || this === void 0 ? void 0 : this.resetWidgetState() })), this.showAspectRatioError && this.showInWidget && (index.h("vviinn-wrong-aspect-ratio", { handler: () => this === null || this === void 0 ? void 0 : this.resetWidgetState() }))), index.h("div", { class: {
4196
+ }, exportparts: index$3.productCardParts }, index.h("div", { class: "nothing-found" }, resultsLength === 0 && this.showInWidget && (index.h("vviinn-empty-results", { handler: () => this === null || this === void 0 ? void 0 : this.resetWidgetState() })), this.showAspectRatioError && this.showInWidget && (index.h("vviinn-wrong-aspect-ratio", { handler: () => this === null || this === void 0 ? void 0 : this.resetWidgetState() }))), index.h("div", { class: {
4213
4197
  hidden: this.showAspectRatioError || resultsLength === 0,
4214
4198
  products: true,
4215
4199
  }, id: "vviinn-results-products" }, resultsLength > 0 && this.renderResults(), index.h("div", { id: "one-click-discovery-append", style: {
@@ -4470,7 +4454,7 @@ const VviinnVpsWidget = class {
4470
4454
  this.resetInnerState();
4471
4455
  this.state.loading = false;
4472
4456
  this.state.serverError = false;
4473
- if (this.useComponentsStore)
4457
+ if (!this.showInWidget)
4474
4458
  return;
4475
4459
  this.state.image = null;
4476
4460
  this.state.results = [];
@@ -4505,7 +4489,7 @@ const VviinnVpsWidget = class {
4505
4489
  this.resetVpsButton = undefined;
4506
4490
  this.replaceSlotsContentInButton = undefined;
4507
4491
  this.parentSlots = [];
4508
- this.useComponentsStore = false;
4492
+ this.showInWidget = true;
4509
4493
  this.slidePosition = 0;
4510
4494
  this.uploadSource = undefined;
4511
4495
  this.stream = null;
@@ -4602,31 +4586,32 @@ const VviinnVpsWidget = class {
4602
4586
  cropAreaChanges() {
4603
4587
  this.initResultEvents();
4604
4588
  const _a = this.getBasicEventData(), rest = __rest(_a, ["campaignTypeId"]);
4605
- const searchEvent = index$1.createImageSearchEvent(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, search_area: "manual-selection" }, rest));
4589
+ const searchEvent = index$2.createImageSearchEvent(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, search_area: "manual-selection" }, rest));
4606
4590
  search_store.trackEvent(searchEvent);
4607
4591
  }
4608
4592
  trackDetectedObject() {
4609
4593
  this.initResultEvents();
4610
4594
  const _a = this.getBasicEventData(), rest = __rest(_a, ["campaignTypeId"]);
4611
- const searchEvent = index$1.createImageSearchEvent(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, search_area: "attention-point" }, rest));
4595
+ const searchEvent = index$2.createImageSearchEvent(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, search_area: "attention-point" }, rest));
4612
4596
  search_store.trackEvent(searchEvent);
4613
4597
  }
4614
4598
  trackImageSearchFilterSelected({ detail, }) {
4615
4599
  this.initResultEvents();
4616
4600
  const _a = this.getBasicEventData(), rest = __rest(_a, ["campaignTypeId"]);
4617
- const searchEvent = index$1.createFilterEvent("VPS")(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, kind: detail.kind, action: detail.action }, rest));
4601
+ const searchEvent = index$2.createFilterEvent("VPS")(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, kind: detail.kind, action: detail.action }, rest));
4618
4602
  search_store.trackEvent(searchEvent);
4619
4603
  }
4620
4604
  connectedCallback() {
4621
4605
  search_store.updateGlobalState(this);
4622
4606
  this.isDesktop = checkDeviceType() === "desktop";
4623
- this.storeName = this.useComponentsStore ? "components" : "widget";
4624
- this.state = this.useComponentsStore ? search_store.componentsState : search_store.searchState;
4607
+ const { state, storeName } = search_store.useSearchStore(this.showInWidget);
4608
+ this.storeName = storeName;
4609
+ this.state = state;
4625
4610
  this.cameraAvailable =
4626
4611
  !!navigator.mediaDevices && !!navigator.mediaDevices.getUserMedia;
4627
4612
  this.state.campaignId = this.campaignId;
4628
4613
  this.state.excluded = search_store.parseStringToExcluded(this.excluded);
4629
- this.uiSessionId = index$1.v4();
4614
+ this.uiSessionId = index$2.v4();
4630
4615
  this.widgetElementId = this.el.id;
4631
4616
  document.addEventListener("vviinnCropperAspectRatioError", this.handleAspectRatioError);
4632
4617
  }
@@ -4636,21 +4621,22 @@ const VviinnVpsWidget = class {
4636
4621
  trackWidgetEvent(action) {
4637
4622
  const _a = this.getBasicEventData(), rest = __rest(_a, ["campaignTypeId"]);
4638
4623
  const eventBody = Object.assign({ action, session_id: this.uiSessionId }, rest);
4639
- const widgetEvent = index$1.createWidgetEvent("VPS")(eventBody);
4624
+ const widgetEvent = index$2.createWidgetEvent("VPS")(eventBody);
4640
4625
  search_store.trackEvent(widgetEvent);
4641
4626
  }
4642
4627
  trackInitialSearch() {
4643
4628
  const _a = this.getBasicEventData(), rest = __rest(_a, ["campaignTypeId"]);
4644
- const searchEvent = index$1.createImageSearchEvent(Object.assign({ session_id: this.uiSessionId, search_area: "full", source: "upload" }, rest));
4629
+ const searchEvent = index$2.createImageSearchEvent(Object.assign({ session_id: this.uiSessionId, search_area: "full", source: "upload" }, rest));
4645
4630
  search_store.trackEvent(searchEvent);
4646
4631
  }
4647
4632
  handleImageSelection() {
4648
- if (this.useComponentsStore) {
4633
+ if (this.showInWidget) {
4634
+ this.slidePosition = 1;
4635
+ }
4636
+ else {
4649
4637
  this.resetVpsButton && this.resetVpsButton();
4650
4638
  this.resetState();
4651
- return;
4652
4639
  }
4653
- this.slidePosition = 1;
4654
4640
  }
4655
4641
  renderButtons() {
4656
4642
  const isLoading = (this.state.loading &&
@@ -4663,7 +4649,7 @@ const VviinnVpsWidget = class {
4663
4649
  } }, isLoading && index.h("vviinn-preloader", null), index.h("span", { class: { "action-button-content": true, hidden: isLoading } }, index.h("slot", { name: "vviinn-camera-icon" }, index.h(CameraActionIcon, null)), index.h("span", { class: { hidden: !this.isCameraEnabled } }, index.h("slot", { name: "vviinn-camera-button-text-stop" }, Rectangle.instance.t("cameraButtonTextStop"))), index.h("span", { class: { hidden: this.isCameraEnabled } }, index.h("slot", { name: "vviinn-camera-button-text-start" }, Rectangle.instance.t("cameraButtonTextStart")))))),
4664
4650
  index.h("vviinn-image-selector", { class: "action-button", onClick: () => (this.uploadSource = "uploadPhoto"), onVviinnImageUploadFinished: this.handleVviinnImageUploadFinished, onVviinnImageUploadStarted: () => {
4665
4651
  this.handleVviinnImageUpload("uploadPhoto");
4666
- }, storeName: this.storeName, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: "upload-photo_button", startUpload: this.buttonPressed && this.showingInButton && this.mode === "upload", loading: this.state.loading &&
4652
+ }, storeName: this.storeName, state: this.state, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: "upload-photo_button", startUpload: this.buttonPressed && this.showingInButton && this.mode === "upload", showInWidget: this.showInWidget, loading: this.state.loading &&
4667
4653
  this.state.searchType === "image" &&
4668
4654
  this.uploadSource === "uploadPhoto" }, index.h("span", { slot: "upload-button-text", class: "action-button-content" }, index.h("slot", { name: "vviinn-image-upload-icon" }, index.h(UploadActionIcon, null)), index.h("slot", { name: "vviinn-image-upload-button-text" }, index.h("span", null, Rectangle.instance.t("imageUploadButtonText"))))),
4669
4655
  ];
@@ -4685,16 +4671,16 @@ const VviinnVpsWidget = class {
4685
4671
  }
4686
4672
  render() {
4687
4673
  var _a, _b, _c;
4688
- return (index.h(index.Host, { exportparts: `${index$2.modalParts}, ${index$2.productCardParts}, ${index$2.searchBarParts}, ${index$2.searchWidgetFilterParts}, ${index$2.searchWidgetButtonParts}` }, !this.showingInButton && customizedSlots.SlotSkeleton("search"), index.h("vviinn-overlayed-modal", { class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
4674
+ return (index.h(index.Host, { exportparts: `${index$3.modalParts}, ${index$3.productCardParts}, ${index$3.searchBarParts}, ${index$3.searchWidgetFilterParts}, ${index$3.searchWidgetButtonParts}` }, !this.showingInButton && customizedSlots.SlotSkeleton("search"), index.h("vviinn-overlayed-modal", { class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState, onVviinnWidgetClose: ({ detail }) => {
4689
4675
  if (detail.campaignTypeId !== "VPR")
4690
4676
  this.handleModalClose();
4691
4677
  }, buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.widgetElementId, widgetVersion: _package.version, hideBackButton: (this.mode === "upload" && this.showingInButton) ||
4692
- (!this.isCameraEnabled && this.isOnboardingSlide()), exportparts: index$2.modalParts }, index.h("vviinn-slider", { position: this.slidePosition }, index.h("vviinn-slide", { class: {
4678
+ (!this.isCameraEnabled && this.isOnboardingSlide()), exportparts: index$3.modalParts }, index.h("vviinn-slider", { position: this.slidePosition }, index.h("vviinn-slide", { class: {
4693
4679
  "start-page": true,
4694
4680
  "camera-enabled": this.isCameraEnabled,
4695
4681
  } }, index.h("vviinn-camera", { onVviinnImageUploadFinished: this.handleVviinnImageUploadFinished, onVviinnImageUploadStarted: () => {
4696
4682
  this.handleVviinnImageUpload("startCamera");
4697
- }, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, useComponentsStore: this.useComponentsStore }), index.h("div", { class: {
4683
+ }, basicEventData: this.getBasicEventData(), srcObject: this.stream, cameraButtonClicked: this.isCameraButtonClicked, exampleImageSource: this.exampleImageSource, showInWidget: this.showInWidget, storeName: this.storeName, state: this.state }), index.h("div", { class: {
4698
4684
  error: this.haveErrors(),
4699
4685
  }, id: "start-page_block" }, index.h("div", { class: "start-page_main-content" }, (this.wrongImageFormat || this.state.serverError) && (index.h("div", { class: "start-page_errors-block" }, index.h("vviinn-wrong-format", { class: { hidden: !this.wrongImageFormat }, handler: () => this.resetState() }), index.h("vviinn-server-error", { class: { hidden: !this.state.serverError }, handler: () => this.resetState() }))), !this.haveErrors() && (index.h(index.Fragment, null, index.h("vviinn-teaser", null), index.h("div", { class: "buttons-group" }, this.renderButtons()), this.textSearchShow && (index.h("vviinn-text-search", { token: search_store.globalState.token, apiPath: search_store.globalState.apiPath, locale: search_store.globalState.locale, showInWidget: true, showOnFirstScreen: true, searchQuery: this.textSearchQuery, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" }))))), index.h("vviinn-privacy-badge", { privacyBadgeText: Rectangle.instance.t("privacyBadgeText", {
4700
4686
  interpolation: { escapeValue: false },
@@ -4704,7 +4690,7 @@ const VviinnVpsWidget = class {
4704
4690
  } }, this.isResultSlide() && (index.h("div", { class: "source-wrapper" }, this.state.searchType === "text" ? (index.h("vviinn-text-search", { token: this.token, showInWidget: true, searchQuery: this.textSearchQuery, apiPath: this.apiPath, locale: this.locale, uiSessionId: this.uiSessionId, basicEventData: this.getBasicEventData(true), "save-image-mode": "never" })) : (index.h("vviinn-cropper", { basicEventData: this.getBasicEventData(), showAspectRatioError: this.showAspectRatioError, apiPath: this.apiPath, showInWidget: true, "save-image-mode": "never" })), index.h("div", { class: {
4705
4691
  "filters-wrapper": true,
4706
4692
  hidden: this.showAspectRatioError,
4707
- } }, index.h("vviinn-filters", { class: "preview-filters", showInWidget: true, exportparts: index$2.filtersParts }), index.h("vviinn-extended-filters", { class: "preview-extended-filters", mode: "preview", showHeader: false, exportparts: index$2.extendedFiltersParts, showInWidget: true }), index.h("vviinn-extended-filters-button", { class: "extended-filters-button", exportparts: "extended-filters-button", showInWidget: true })))), this.isResultSlide() && (index.h("vviinn-results", { token: search_store.globalState.token, locale: search_store.globalState.locale, pricePrefix: search_store.globalState.pricePrefix, "currency-sign": search_store.globalState.currencySign, apiPath: search_store.globalState.apiPath, uiSessionId: this.uiSessionId, widgetElementId: (_b = this.buttonElementId) !== null && _b !== void 0 ? _b : this.widgetElementId, showInWidget: true, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, showAspectRatioError: this.showAspectRatioError, resetWidgetState: this.resetState, replaceSlotsContentInWidget: this.replaceSlotsContent.bind(this), replaceSlotsContentInButton: this.replaceSlotsContentInButton, textSearchQuery: this.textSearchQuery, addPriceContainer: this.addPriceContainer, oneClickDiscoveryMode: (_c = this.oneClickDiscoveryMode) !== null && _c !== void 0 ? _c : (this.oneClickDiscoveryShow ? "append-grid" : undefined), oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, parentSlots: [...this.parentSlots, ...this.slots], scrollableModalBody: this.modalBody })))), index.h("vviinn-extended-filters", { class: "modal-extended-filters", mode: "modal", exportparts: index$2.extendedFiltersParts, showInWidget: true }))));
4693
+ } }, index.h("vviinn-filters", { class: "preview-filters", showInWidget: true, exportparts: index$3.filtersParts }), index.h("vviinn-extended-filters", { class: "preview-extended-filters", mode: "preview", showHeader: false, exportparts: index$3.extendedFiltersParts, showInWidget: true }), index.h("vviinn-extended-filters-button", { class: "extended-filters-button", exportparts: "extended-filters-button", showInWidget: true })))), this.isResultSlide() && (index.h("vviinn-results", { token: search_store.globalState.token, locale: search_store.globalState.locale, pricePrefix: search_store.globalState.pricePrefix, "currency-sign": search_store.globalState.currencySign, apiPath: search_store.globalState.apiPath, uiSessionId: this.uiSessionId, widgetElementId: (_b = this.buttonElementId) !== null && _b !== void 0 ? _b : this.widgetElementId, showInWidget: true, buttonElementId: this.buttonElementId, imageResolutionWidth: this.imageResolutionWidth, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, addToBasketShow: this.addToBasketShow, favoriteShow: this.favoriteShow, showAspectRatioError: this.showAspectRatioError, resetWidgetState: this.resetState, replaceSlotsContentInWidget: this.replaceSlotsContent.bind(this), replaceSlotsContentInButton: this.replaceSlotsContentInButton, textSearchQuery: this.textSearchQuery, addPriceContainer: this.addPriceContainer, oneClickDiscoveryMode: (_c = this.oneClickDiscoveryMode) !== null && _c !== void 0 ? _c : (this.oneClickDiscoveryShow ? "append-grid" : undefined), oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, parentSlots: [...this.parentSlots, ...this.slots], scrollableModalBody: this.modalBody })))), index.h("vviinn-extended-filters", { class: "modal-extended-filters", mode: "modal", exportparts: index$3.extendedFiltersParts, showInWidget: true }))));
4708
4694
  }
4709
4695
  get el() { return index.getElement(this); }
4710
4696
  static get watchers() { return {