vviinn-widgets 2.222.0 → 2.224.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 (61) hide show
  1. package/dist/cjs/{index-RlbsyJJk.js → index-CMOB6Jkt.js} +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{search.store-D4WiAMcl.js → search.store-CIlbtjnr.js} +2 -1
  4. package/dist/cjs/vviinn-button_6.cjs.entry.js +1 -1
  5. package/dist/cjs/vviinn-camera_12.cjs.entry.js +164 -53
  6. package/dist/cjs/vviinn-carousel_10.cjs.entry.js +2 -53
  7. package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +1 -1
  8. package/dist/cjs/vviinn-text-search.cjs.entry.js +1 -1
  9. package/dist/cjs/vviinn-vps-button.cjs.entry.js +4 -2
  10. package/dist/cjs/vviinn-widgets.cjs.js +1 -1
  11. package/dist/collection/components/vviinn-cropper/helpers/cropperOcrGate.js +36 -0
  12. package/dist/collection/components/vviinn-cropper/helpers/hasSelectedOcrFilter.js +4 -0
  13. package/dist/collection/components/vviinn-cropper/vviinn-cropper.js +108 -38
  14. package/dist/collection/components/vviinn-filters/vviinn-extended-filters.js +2 -2
  15. package/dist/collection/components/vviinn-results/vviinn-results.js +78 -3
  16. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +24 -2
  17. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +32 -10
  18. package/dist/esm/{index-CEzGPs5u.js → index-DgbindDo.js} +1 -1
  19. package/dist/esm/loader.js +1 -1
  20. package/dist/esm/{search.store-Cgs5icgA.js → search.store-DU3Lki_P.js} +2 -2
  21. package/dist/esm/vviinn-button_6.entry.js +1 -1
  22. package/dist/esm/vviinn-camera_12.entry.js +164 -53
  23. package/dist/esm/vviinn-carousel_10.entry.js +2 -53
  24. package/dist/esm/vviinn-shop-the-look.entry.js +1 -1
  25. package/dist/esm/vviinn-text-search.entry.js +1 -1
  26. package/dist/esm/vviinn-vps-button.entry.js +4 -2
  27. package/dist/esm/vviinn-widgets.js +1 -1
  28. package/dist/storybook/helpers/industryToken.js +6 -8
  29. package/dist/types/components/vviinn-cropper/helpers/cropperOcrGate.d.ts +19 -0
  30. package/dist/types/components/vviinn-cropper/helpers/hasSelectedOcrFilter.d.ts +2 -0
  31. package/dist/types/components/vviinn-cropper/vviinn-cropper.d.ts +14 -0
  32. package/dist/types/components/vviinn-filters/vviinn-extended-filters.d.ts +51 -0
  33. package/dist/types/components/vviinn-results/vviinn-results.d.ts +1 -1
  34. package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +2 -0
  35. package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +2 -0
  36. package/dist/types/components.d.ts +16 -0
  37. package/{www/build/p-df9a1d66.entry.js → dist/vviinn-widgets/p-3ee8f4dc.entry.js} +1 -1
  38. package/dist/vviinn-widgets/p-427a9578.entry.js +1 -0
  39. package/dist/vviinn-widgets/{p-c1eac87b.entry.js → p-73c048a0.entry.js} +1 -1
  40. package/dist/vviinn-widgets/p-905278b1.entry.js +1 -0
  41. package/dist/vviinn-widgets/{p-B246LK7U.js → p-BMGBYwye.js} +1 -1
  42. package/{www/build/p-Cxd6yzhY.js → dist/vviinn-widgets/p-CW4GgUsa.js} +1 -1
  43. package/dist/vviinn-widgets/{p-df4365fb.entry.js → p-cc315187.entry.js} +1 -1
  44. package/dist/vviinn-widgets/{p-818a1e53.entry.js → p-e2e5ad4f.entry.js} +1 -1
  45. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  46. package/package.json +1 -1
  47. package/{dist/vviinn-widgets/p-df9a1d66.entry.js → www/build/p-3ee8f4dc.entry.js} +1 -1
  48. package/www/build/p-427a9578.entry.js +1 -0
  49. package/www/build/{p-e969c76d.js → p-4ff95f30.js} +1 -1
  50. package/www/build/{p-c1eac87b.entry.js → p-73c048a0.entry.js} +1 -1
  51. package/www/build/p-905278b1.entry.js +1 -0
  52. package/www/build/{p-B246LK7U.js → p-BMGBYwye.js} +1 -1
  53. package/{dist/vviinn-widgets/p-Cxd6yzhY.js → www/build/p-CW4GgUsa.js} +1 -1
  54. package/www/build/{p-df4365fb.entry.js → p-cc315187.entry.js} +1 -1
  55. package/www/build/{p-818a1e53.entry.js → p-e2e5ad4f.entry.js} +1 -1
  56. package/www/build/vviinn-widgets.esm.js +1 -1
  57. package/www/index.html +1 -1
  58. package/dist/vviinn-widgets/p-0b7e8e2e.entry.js +0 -1
  59. package/dist/vviinn-widgets/p-7411202d.entry.js +0 -1
  60. package/www/build/p-0b7e8e2e.entry.js +0 -1
  61. package/www/build/p-7411202d.entry.js +0 -1
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BU8FMTXn.js');
4
- var search_store = require('./search.store-D4WiAMcl.js');
4
+ var search_store = require('./search.store-CIlbtjnr.js');
5
5
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
6
6
  var store = require('./store-jPZ4ROqV.js');
7
- var index$1 = require('./index-RlbsyJJk.js');
7
+ var index$1 = require('./index-CMOB6Jkt.js');
8
8
  var constants = require('./constants-BlwqMvns.js');
9
9
  var index$2 = require('./index-CP1QUrJT.js');
10
10
  var index$3 = require('./index-BF9aENF8.js');
@@ -656,57 +656,6 @@ const filterOptionsBySearch = (filterOptions, searchTerm) => {
656
656
 
657
657
  const vviinnFiltersCss$2 = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}:host{display:block;font-family:var(--font-family, var(--font-family-base));font-style:normal;display:contents;}.filters-modal-list,.sub-filters-wrapper,.main-filters-list,.filters-modal-sub-list,.selected-filters-wrapper{list-style:none;margin:0;padding:0}.main-filters-list{padding:var(--spacing-25);gap:var(--spacing-25);border-radius:8px;background:var(--surface-bg-color-01);display:inline-flex}vviinn-range-filter{width:100%;max-width:500px;padding-bottom:var(--spacing-150)}.filters-search-input-container{position:relative;box-sizing:border-box;width:100%;display:flex;align-items:center}.filters-search-icon{position:absolute;left:var(--spacing-100);color:var(--color-icon-helper);z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center}.filters-search-input{width:100%;padding:var(--spacing-100) var(--spacing-100) var(--spacing-100)\n var(--spacing-500);border:none;background:var(--color-bg-base);font-family:var(--font-family, var(--font-family-base));font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);color:var(--color-text-primary);box-sizing:border-box;outline:none}.filters-search-input::-moz-placeholder{color:var(--color-text-placeholder)}.filters-search-input::placeholder{color:var(--color-text-placeholder)}.filters-modal-main-button,.filters-sub-button,.filters-main-button,.filters-modal-close,.filters-sub-button-selected{font-family:var(--font-family, var(--font-family-base));cursor:pointer;border:none}.filters-sub-button,.filters-main-button{font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);display:flex;justify-content:center;align-items:center;border-radius:6px}.filters-main-button{padding:var(--spacing-100);color:var(--color-text-secondary);background:none;transition:background 0.15s,\n color 0.15s}.filters-main-button.active,.filters-main-button:hover{background:var(--surface-bg-color-02);color:var(--color-text-primary)}.sub-filters-wrapper,.selected-filters-wrapper{gap:var(--spacing-100);display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin}.sub-filters-wrapper{align-items:center;gap:var(--spacing-100);margin:16px -2px 0}.sub-filters-wrapper>li{padding:2px}.selected-filters-wrapper{align-items:center;gap:var(--spacing-100);flex-wrap:wrap}.filters-sub-button{color:var(--color-text-primary);background:var(--surface-bg-color-01);padding:var(--spacing-100);gap:var(--spacing-25);height:100%}.filters-sub-button>span,.filters-sub-button-selected>span{display:inline-flex;justify-content:center;align-items:center;gap:var(--spacing-25);white-space:nowrap}.filters-sub-button>span>span,.filters-sub-button-selected>span>span{padding:var(--spacing-25)}.filters-sub-button:hover{background:var(--surface-bg-color-01-hover)}.filters-sub-button:disabled{cursor:not-allowed;background:var(--surface-bg-color-disabled);color:var(--color-text-disabled)}.filters-more-button{display:flex;padding:var(--spacing-100);gap:var(--spacing-50);border-radius:var(--border-radius-100);align-items:flex-start;background-color:var(--button-bg-color-secondary);transition:background-color 0.1s;border:none;cursor:pointer}.filters-more-button:hover{background-color:var(--button-bg-color-secondary-hover)}.filters-modal-wrapper{display:flex;flex-direction:column;background:#ffffff}.filters-modal.button,.filters-modal.modal{display:none;position:fixed;top:0;bottom:0;right:0;left:0;z-index:99999;background-color:rgba(0, 0, 0, 0.5)}.filters-modal.button .filters-modal-wrapper{position:fixed;top:0;bottom:0;right:0;width:420px;z-index:99999;border-radius:var(--border-radius-400) var(--border-radius-none)\n var(--border-radius-none) var(--border-radius-400)}.filters-modal.preview{display:block}.filters-modal.open{display:block}.filters-modal-header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--color-text-primary);text-align:center;border-bottom:1px solid var(--color-border-01)}.filters-modal-header.show-header-content{min-height:64px}.filters-modal-title{margin:0;padding:0;font-size:var(--font-size-headline);font-weight:var(--font-weight-500);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-headline)}.filters-modal-no-filters-message{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-weight:var(--font-weight-500);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);text-align:center;padding:var(--spacing-300) var(--spacing-200);display:flex;align-items:center;justify-content:center}.filters-modal-main{overflow-y:auto;scrolbar-width:thin}.filters-modal-list{margin:var(--spacing-50) 0 0 var(--spacing-300)}.filters-modal-list>li{padding-right:var(--spacing-300)}.filters-modal:not(.preview-inline) .filters-modal-list>li:not(:last-child) .filters-modal-main-button-wrapper{border-bottom:1px solid var(--color-border-01)}.filters-modal-main-button{position:relative;width:100%;background:none;text-align:left;padding:var(--spacing-200) 0;color:var(--color-text-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-main-button>svg{position:absolute;right:0;top:var(--spacing-200);color:var(--color-icon-helper);transform:rotate(90deg)}.filters-modal-main-button:hover>svg{color:var(--color-icon-primary);transition:color 0.2s}.filters-modal-main-button-wrapper.open .filters-modal-main-button>svg{transform:rotate(-90deg);color:var(--color-icon-primary)}.filters-modal-sub-list{display:none}.filters-modal-main-button-wrapper.open .filters-modal-sub-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:var(--spacing-150)}.filters-modal-sub-list>li{display:contents}.filters-modal-close{position:absolute;color:#6f6f6f;right:var(--spacing-100);top:var(--spacing-200);cursor:pointer;background:none}.filters-modal-close:hover{color:#000}.filters-modal.preview .filters-modal-close{display:none}.filters-more-modal-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;height:36px;padding:var(--spacing-75);gap:var(--spacing-50);border-radius:var(--border-radius-100);background-color:var(--surface-bg-color-01);transition:background-color 0.1s;font-family:var(--font-family, var(--font-family-base));font-size:var(--font-size-label);color:var(--color-text-primary)}.filters-more-modal-button.custom:not(.clickable){cursor:default}.filters-more-modal-button:hover{background-color:var(--surface-bg-color-01-hover)}.filters-more-modal-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.filters-more-modal-button.active .filters-option-icon-wrapper{border-color:var(--color-bg-base);background-color:var(--color-bg-base);color:var(--color-icon-primary)}.filters-more-modal-button>span{white-space:nowrap;padding:var(--spacing-25)}.filters-more-modal-button:disabled{cursor:not-allowed;opacity:0.5}.filters-more-modal-button img{box-sizing:border-box;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;border-radius:var(--border-radius-full);border:1px solid var(--color-border-01)}.filters-modal-actions{border-top:1px solid var(--color-border-01);padding:var(--spacing-125);z-index:10;border-radius:0px 0px 0px 32px}.filters-modal-apply,.filters-modal-reset{font-family:var(--font-family, var(--font-family-base))}.filters-modal-apply{cursor:pointer;width:100%;border:none;margin-bottom:20px;display:flex;padding:var(--spacing-150);justify-content:center;align-items:center;gap:var(--spacing-50);align-self:stretch;color:var(--color-text-inverse);text-align:center;border-radius:var(--border-radius-150);background:var(--button-bg-color-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-apply:disabled{background:var(--button-bg-color-disabled);color:var(--color-text-disabled)}.filters-modal-reset{background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;padding:var(--spacing-125) 0;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.filters-modal-reset:hover{color:var(--color-text-primary)}.selected-filters-wrapper>li .filters-sub-button-selected{border-radius:var(--border-radius-100);background:var(--surface-bg-color-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-100)}.selected-filters-wrapper>li.hidden{display:none}.filters-sub-button-selected{display:flex;align-items:center;gap:var(--spacing-25);background:var(--surface-bg-color-inverse);border-radius:var(--border-radius-100);color:var(--color-text-inverse);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);padding:var(--spacing-100)}.filters-sub-button-color-dot{box-sizing:border-box;width:24px;height:24px;border-radius:var(--border-radius-full);border:var(--stroke-width-50) solid var(--color-border-01)}.selected-filters-wrapper .filters-sub-button-selected{width:24px;height:24px;border:none}.filters-option-icon-wrapper{display:flex;box-sizing:border-box;align-items:center;justify-content:center;border-radius:4px;border:2px solid #e0e0e0;background:#fff;width:20px;height:20px}.filters-modal-main-button-added-options{color:var(--color-text-secondary);text-overflow:ellipsis;padding-right:var(--spacing-100);font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.filters-modal-main-button-added-options>span::after{content:\", \"}.filters-modal-main-button-added-options>span:last-child::after{content:\"\"}.filters-modal.preview-inline,.filters-modal.preview-inline .filters-modal-wrapper,.filters-modal.preview-inline .filters-modal-main{overflow:visible}.filters-modal.preview-inline .filters-modal-header,.filters-modal.preview-inline .filters-modal-actions{display:none}.filters-modal.preview-inline .filters-modal-list{margin:0;flex-direction:row;gap:var(--spacing-100);display:flex;flex-wrap:wrap}.filters-modal.preview-inline .extended-filters-row{box-sizing:border-box;padding-right:0;border-radius:var(--border-radius-100);background:var(--surface-bg-color-01)}.filters-modal.preview-inline .filters-modal-main-button{width:100%;display:flex;align-items:center;padding:var(--spacing-75);gap:var(--spacing-25);justify-content:space-between;font-size:var(--font-size-body);font-weight:var(--font-weight-400)}.filters-modal.preview-inline .filters-modal-main-button>svg{position:static}.filters-modal.preview-inline .extended-filters-row{position:relative}.filters-modal.preview-inline .filters-search-container{max-height:225px;width:-moz-max-content;width:max-content;min-width:140px;height:-moz-fit-content;height:fit-content;overflow:hidden;position:absolute;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;padding:0;top:calc(100% + var(--spacing-75));left:0;right:0;z-index:1000;border-radius:var(--border-radius-150);border:1px solid var(--color-border-01);background-color:var(--color-bg-base);box-shadow:0 4px 8px 0 rgba(0, 0, 0, 0.1);box-sizing:border-box}.filters-modal.preview-inline .filters-search-input-container{position:sticky;top:0;background-color:var(--color-bg-base);padding:var(--spacing-50);border-bottom:1px solid var(--color-border-01);z-index:1}.filters-modal.preview-inline .filters-modal-sub-list{position:static;border:none;background:none;box-shadow:none;padding:var(--spacing-50);margin:0;max-height:165px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:8px;overflow-y:auto;scrollbar-width:thin}.filters-modal.preview-inline .align-right .filters-search-container{left:auto;right:0}.filters-modal.preview-inline .filters-more-modal-button{width:100%;gap:var(--spacing-150);background-color:var(--color-bg-base)}.filters-modal.preview-inline .filters-option-icon-wrapper{margin-left:auto}.filters-modal.preview-inline .filters-more-modal-button:hover{background-color:var(--surface-bg-color-01-hover)}.filters-modal.preview-inline .filters-more-modal-button.active{color:var(--color-text-primary)}.filters-modal.preview-inline .filters-more-modal-button.active .filters-option-icon-wrapper{border-color:var(--color-bg-inverse);background-color:var(--color-bg-inverse);color:var(--color-icon-inverse)}.filters-modal.preview-inline .filters-modal-sub-list:has(vviinn-range-filter){padding:0 var(--spacing-75);width:220px;max-height:unset}.filters-modal.preview-inline vviinn-range-filter{width:100%}@media (max-width: 768px){.sub-filters-wrapper,.selected-filters-wrapper{flex-wrap:unset;overflow-x:auto;scrollbar-width:none;padding-bottom:0}.sub-filters-wrapper,.selected-filters-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sub-filters-wrapper::-webkit-scrollbar,.selected-filters-wrapper::-webkit-scrollbar{display:none}:host(.show-in-widget) .selected-filters-container{overflow-x:auto;width:100%}:host(.show-in-widget) .selected-filters-wrapper{padding:0 var(--spacing-300)}.filters-modal.button .filters-modal-wrapper,.filters-modal.modal .filters-modal-wrapper{width:100%;border-radius:24px 24px 0px 0px}.filters-modal.button .filters-modal-wrapper{top:10%}.filters-modal.modal .filters-modal-wrapper{position:fixed;width:100%;height:calc(100% - 64px);bottom:0;transform:translateY(-64px)}.filters-modal.modal .filters-modal-header{font-size:var(--font-size-body-large)}.filters-modal.modal .filters-modal-main{padding-bottom:120px}vviinn-range-filter{max-width:unset}:host(.show-in-widget.primary-filters) vviinn-range-filter{max-width:calc(100% - 48px);transform:translateX(24px)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}";
658
658
 
659
- /**
660
- * @slot vviinn-extended-filters-title - Text on widget's header.
661
- * @slot vviinn-extended-filters-apply - Title of Apply Button.
662
- * @slot vviinn-extended-filters-reset - Title of Reset Button.
663
- * @slot vviinn-extended-filters-no-filters - Message shown when no filters are available.
664
- * @slot vviinn-filters-search-icon - Custom icon for the search input.
665
- * @slot vviinn-range-filter-from-label - Label text for the "From" input field in range filters.
666
- * @slot vviinn-range-filter-to-label - Label text for the "To" input field in range filters.
667
- *
668
- * @part extended-filters-modal - Modal itself.
669
- * @part extended-filters-modal-wrapper - Wrapper for the modal.
670
- * @part extended-filters-header - Header of the modal.
671
- * @part extended-filters-title - Title heading (h2) of the modal.
672
- * @part extended-filters-modal-close - Close button of the modal.
673
- * @part extended-filters-no-filters - No filters message container.
674
- * @part extended-filters-main - Wrapper for the main modal content.
675
- * @part extended-filters-list - List of filters.
676
- * @part extended-filters-row - Row of the filters.
677
- * @part extended-filters-row-wrapper - Wrapper for the row.
678
- * @part extended-filters-main-button - Main button of the row.
679
- * @part extended-filters-selected-wrapper - Wrapper for the selected options.
680
- * @part extended-filters-sub-list - List of sub filters.
681
- * @part extended-filters-actions - Wrapper for the actions.
682
- * @part extended-filters-apply - Apply button.
683
- * @part extended-filters-reset - Reset button.
684
- *
685
- * @part filters-search-container - Container wrapping search input and filter list.
686
- * @part filters-search-input-container - Container for the search input with icon.
687
- * @part filters-search-icon - Icon wrapper for the search input.
688
- * @part filters-search-input - Search input field.
689
- *
690
- * @part filters-sub-row - Row of the sub filters.
691
- * @part filters-option-button - Button of the sub filter.
692
- * @part filters-option-image - Image of the sub filter.
693
- * @part filters-option-color-dot - Color Dot of the sub filter.
694
- * @part filters-option-text - Text of the sub filter.
695
- * @part filters-option-icon-wrapper - Icon Wrapper of the sub filter.
696
- *
697
- * @part histogram - Wrapper itself.
698
- * @part histogram-bar - Bar of the histogram.
699
- * @part histogram-range-container - Container for the range sliders.
700
- * @part histogram-sliders-control - Container for the range sliders control.
701
- * @part histogram-from-slider - Slider for the minimum value.
702
- * @part histogram-to-slider - Slider for the maximum value.
703
- * @part histogram-label-wrapper - Wrapper for the labels/inputs.
704
- * @part histogram-label - Label for the histogram (when showIntervalInputs is false).
705
- * @part histogram-input-container - Container for the input field (when showIntervalInputs is true).
706
- * @part histogram-input-label - Label text for the input (From/Till).
707
- * @part histogram-from-input - Input field for the minimum value.
708
- * @part histogram-to-input - Input field for the maximum value.
709
- */
710
659
  const FILTER_OPTIONS_INITIAL_COUNT = 8;
711
660
  const FILTER_OPTIONS_STEP_COUNT = 5;
712
661
  const VviinnExtendedFilters = class {
@@ -4,7 +4,7 @@ var index = require('./index-BU8FMTXn.js');
4
4
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
5
5
  var cropperUtils = require('./cropperUtils-DCDOLeBS.js');
6
6
  var swiperElement = require('./swiper-element-DjtzojCR.js');
7
- var search_store = require('./search.store-D4WiAMcl.js');
7
+ var search_store = require('./search.store-CIlbtjnr.js');
8
8
  var SecondaryActionIcon = require('./SecondaryActionIcon-CuNEBTWD.js');
9
9
  var index$1 = require('./index-BF9aENF8.js');
10
10
  var store = require('./store-jPZ4ROqV.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-BU8FMTXn.js');
4
4
  var Rectangle = require('./Rectangle-7dF6_xf3.js');
5
- var search_store = require('./search.store-D4WiAMcl.js');
5
+ var search_store = require('./search.store-CIlbtjnr.js');
6
6
  var index$2 = require('./index-CP1QUrJT.js');
7
7
  var store = require('./store-jPZ4ROqV.js');
8
8
  var index$1 = require('./index-BF9aENF8.js');
@@ -71,6 +71,8 @@ const VviinnVpsButton = class {
71
71
  this.textSearchShow = false;
72
72
  /** Show auto-suggest dropdown with search completions */
73
73
  this.autoSuggestShow = true;
74
+ /** Show the AI Suggestions block in search results */
75
+ this.aiSuggestionsShow = false;
74
76
  /** Show or hide Add to Basket buttons */
75
77
  this.addToBasketShow = false;
76
78
  /** Show or hide Favorite button */
@@ -164,8 +166,8 @@ const VviinnVpsButton = class {
164
166
  }
165
167
  render() {
166
168
  const { ariaLabel, buttonIcon } = this.getButtonConfig();
167
- return (index.h(index.Host, { key: '47a83c95c23f2450b3f298343577072c91d871e9', role: this.buttonPressed ? undefined : "button", "aria-label": this.buttonPressed ? undefined : ariaLabel, exportparts: `vviinn-button, ${index$1.searchModalFirstScreenParts}` }, cssUrlHelper.renderExternalCSS(this.cssUrl), index.h("vviinn-button", { key: '42131f699f2808187d108e0089a3f1c423bffdeb', addStyle: this.addStyle, part: "vviinn-button", tabindex: this.buttonPressed ? undefined : "0", onClick: this.buttonPressed ? undefined : this.handleActivation, onKeyDown: this.buttonPressed ? undefined : this.handleKeyDown }, index.h("span", { key: '901c041c6a574f74276e8d345f228d7095b2be92', style: { display: this.hasCustomTrigger ? "contents" : "none" } }, index.h("slot", { key: '01dbb14f71554ccb92a7bd041be220d9fb4d6e1b', onSlotchange: () => (this.hasCustomTrigger = index$2.hasDefaultSlotContent(this.el)) })), !this.hasCustomTrigger && buttonIcon), index$2.SlotSkeleton("search"), index.h("vviinn-vps-widget", { key: '7ab197dbf91b01d64fbdf1aac1c5d6a88134c7bb', mode: this.mode, "currency-sign": this.currencySign, token: this.token, locale: this.locale, numberLocale: this.numberLocale, apiPath: this.apiPath, pricePrefix: this.pricePrefix, campaignId: this.campaignId, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, showingInButton: true, buttonPressed: this.buttonPressed, resetVpsButton: this.resetButton, buttonElementId: this.el.id, active: this.buttonPressed &&
168
- (this.mode === "modal" || this.mode === "camera"), excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, useDragAndDrop: this.useDragAndDrop, exampleImageSource: this.exampleImageSource, textSearchShow: this.textSearchShow, autoSuggestShow: this.autoSuggestShow, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, showIntervalInputs: this.showIntervalInputs, replaceSlotsContentInButton: this.replaceSlotsContent.bind(this), oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, favoriteShow: this.favoriteShow, showResultsInModal: this.showResultsInModal, resultsPageUrl: this.resultsPageUrl, resultsPageParams: this.resultsPageParams, parentSlots: [...this.parentSlots, ...this.slots], cssUrl: this.cssUrl })));
169
+ return (index.h(index.Host, { key: 'f27fcca895e9a8c4074ab72f307e66d11efe130f', role: this.buttonPressed ? undefined : "button", "aria-label": this.buttonPressed ? undefined : ariaLabel, exportparts: `vviinn-button, ${index$1.searchModalFirstScreenParts}` }, cssUrlHelper.renderExternalCSS(this.cssUrl), index.h("vviinn-button", { key: '7753378f8b272f5bd0ecda03f8fc62f8ed3318e8', addStyle: this.addStyle, part: "vviinn-button", tabindex: this.buttonPressed ? undefined : "0", onClick: this.buttonPressed ? undefined : this.handleActivation, onKeyDown: this.buttonPressed ? undefined : this.handleKeyDown }, index.h("span", { key: 'd829137e943e5576678ee9d8a41c45ea601bb586', style: { display: this.hasCustomTrigger ? "contents" : "none" } }, index.h("slot", { key: '22dc9dfb85df5619a85de8f44b03d523953608b3', onSlotchange: () => (this.hasCustomTrigger = index$2.hasDefaultSlotContent(this.el)) })), !this.hasCustomTrigger && buttonIcon), index$2.SlotSkeleton("search"), index.h("vviinn-vps-widget", { key: '2fdab8c06c508d0259b0f87d460746666fedd06d', mode: this.mode, "currency-sign": this.currencySign, token: this.token, locale: this.locale, numberLocale: this.numberLocale, apiPath: this.apiPath, pricePrefix: this.pricePrefix, campaignId: this.campaignId, campaignIdTextSearch: this.campaignIdTextSearch, campaignIdVisualSearch: this.campaignIdVisualSearch, showingInButton: true, buttonPressed: this.buttonPressed, resetVpsButton: this.resetButton, buttonElementId: this.el.id, active: this.buttonPressed &&
170
+ (this.mode === "modal" || this.mode === "camera"), excluded: this.excluded, productDetailsNewTab: this.productDetailsNewTab, productDetailsRedirect: this.productDetailsRedirect, imageResolutionWidth: this.imageResolutionWidth, showMultipleImages: this.showMultipleImages, useDragAndDrop: this.useDragAndDrop, exampleImageSource: this.exampleImageSource, textSearchShow: this.textSearchShow, autoSuggestShow: this.autoSuggestShow, aiSuggestionsShow: this.aiSuggestionsShow, addToBasketShow: this.addToBasketShow, addPriceContainer: this.addPriceContainer, showIntervalInputs: this.showIntervalInputs, replaceSlotsContentInButton: this.replaceSlotsContent.bind(this), oneClickDiscoveryMode: this.oneClickDiscoveryMode, oneClickDiscoveryCampaigns: this.oneClickDiscoveryCampaigns, favoriteShow: this.favoriteShow, showResultsInModal: this.showResultsInModal, resultsPageUrl: this.resultsPageUrl, resultsPageParams: this.resultsPageParams, parentSlots: [...this.parentSlots, ...this.slots], cssUrl: this.cssUrl })));
169
171
  }
170
172
  get el() { return index.getElement(this); }
171
173
  static get watchers() { return {
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy(JSON.parse("[[\"vviinn-detected-object_2.cjs\",[[1,\"vviinn-detected-object\",{\"detectedObject\":[16,\"detected-object\"],\"selectedDetectedObject\":[16,\"selected-detected-object\"],\"basicEventData\":[16,\"basic-event-data\"],\"imageBounds\":[16,\"image-bounds\"],\"showInWidget\":[4,\"show-in-widget\"],\"position\":[32]}],[1,\"vviinn-preloader\"]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"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\"],\"blockSubtitle\":[1,\"block-subtitle\"],\"showScroll\":[4,\"show-scroll\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16,\"set-recommendations-loading\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]],{\"productId\":[\"handleProductIdChange\"],\"campaignType\":[\"handleCampaignTypeChange\"],\"campaigns\":[\"handleCampaignsChange\"],\"opened\":[\"trackWidgetOpen\"],\"closed\":[\"trackWidgetClose\"]}],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16,\"source-product\"],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16,\"replace-slots-content\"],\"setModeDiscountsArray\":[16,\"set-mode-discounts-array\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"currentScrollIndex\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]],{\"recommendations\":[\"recommendationsWatcher\"],\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"loading\":[\"onLoadingChange\"]}],[1,\"vviinn-extended-filters\",{\"mode\":[513],\"showHeader\":[4,\"show-header\"],\"searchThreshold\":[2,\"search-threshold\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showingInButton\":[4,\"showing-in-button\"],\"widgetElement\":[8,\"widget-element\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32],\"searchTerm\":[32]},[[17,\"mousedown\",\"bodyMouseDownListener\"]],{\"showMore\":[\"showMoreWatcher\"],\"selectedMoreOptions\":[\"selectedMoreOptionsWatcher\"],\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-filters\",{\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"selectedFilterColumn\":[32],\"requestFilters\":[32]},null,{\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16,\"handle-click\"],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"images\":[16],\"showMultipleImages\":[4,\"show-multiple-images\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"entityType\":[1,\"entity-type\"],\"isSetMode\":[4,\"is-set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040,\"energy-certifications\"],\"deeplink\":[1],\"cssUrl\":[1,\"css-url\"],\"productId\":[1,\"product-id\"],\"product\":[16],\"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\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"imageResolutionWidth\":[1026,\"image-resolution-width\"],\"loading\":[1028],\"disableMobileSwiper\":[4,\"disable-mobile-swiper\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32],\"imageLoaded\":[32],\"showSecondImage\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]],{\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"productId\":[\"productIdWatcher\"],\"showSecondImage\":[\"showSecondImageWatcher\"]}],[1,\"vviinn-range-filter\",{\"histogram\":[16],\"intervalChangeHandler\":[16,\"interval-change-handler\"],\"selectedInterval\":[16,\"selected-interval\"],\"showCurrency\":[4,\"show-currency\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"currencySign\":[1,\"currency-sign\"],\"scalingFactor\":[32],\"minValue\":[32],\"maxValue\":[32],\"fromValue\":[32],\"toValue\":[32]},null,{\"selectedInterval\":[\"initializeValues\"],\"histogram\":[\"initializeValues\"]}],[1,\"vviinn-image\",{\"src\":[1],\"width\":[2],\"alt\":[1],\"imageTitle\":[1,\"image-title\"],\"responsive\":[4],\"entityType\":[1,\"entity-type\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"objectFit\":[1,\"object-fit\"],\"showSkeleton\":[4,\"show-skeleton\"],\"isSetMode\":[4,\"is-set-mode\"],\"customClass\":[1,\"custom-class\"],\"borderRadius\":[1,\"border-radius\"],\"border\":[1],\"backgroundColor\":[1,\"background-color\"],\"imageRef\":[16,\"image-ref\"],\"loadEndCallback\":[16,\"load-end-callback\"],\"imageLoaded\":[32],\"imageError\":[32]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16,\"class-icon-urls\"],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"],\"certificationClass\":[1,\"certification-class\"],\"classRange\":[16,\"class-range\"]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-shop-the-look.cjs\",[[1,\"vviinn-shop-the-look\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"imageUrls\":[1,\"image-urls\"],\"height\":[2],\"currencySign\":[1,\"currency-sign\"],\"campaignId\":[1,\"campaign-id\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"widgetStyle\":[1,\"widget-style\"],\"showCropper\":[4,\"show-cropper\"],\"uploadMode\":[4,\"upload-mode\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"selectedDetectedObject\":[32],\"showModal\":[32],\"modalPosition\":[32],\"showDetailedView\":[32],\"selectedProductIndex\":[32],\"modalImageIndex\":[32],\"swiperActiveIndex\":[32],\"totalImages\":[32],\"imageUrlsList\":[32],\"swiperKey\":[32],\"needNavigation\":[32],\"showLoadingSpinner\":[32],\"isSearchInProgress\":[32],\"currentViewMode\":[32],\"isWidgetVisible\":[32],\"uploadedImageUrls\":[32]},[[0,\"vviinnProductClick\",\"handleProductCardClick\"]],{\"currentViewMode\":[\"onViewModeChange\"],\"showModal\":[\"onShowModalChange\"]}]]],[\"vviinn-button_6.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"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\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16,\"append-sidebar-to-element\"],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"isStandalone\":[4,\"is-standalone\"],\"showInWidget\":[4,\"show-in-widget\"],\"uiSessionId\":[1,\"ui-session-id\"],\"targetAppendSidebarTo\":[32]},null,{\"appendSidebarToElement\":[\"appendSidebarToElementWatcher\"]}],[1,\"vviinn-error\",{\"hasBackground\":[4,\"has-background\"],\"errorType\":[1,\"error-type\"],\"handler\":[16],\"searchType\":[1,\"search-type\"]}],[1,\"vviinn-modal\",{\"active\":[1540],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"hideBackButton\":[4,\"hide-back-button\"],\"isFirstScreen\":[4,\"is-first-screen\"],\"slider\":[32]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-overlay\",{\"active\":[516]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"token\":[1],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"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\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16,\"button-children\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"uiSessionId\":[1,\"ui-session-id\"],\"triggerElement\":[16,\"trigger-element\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32],\"hidden\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"],[8,\"keydown\",\"handleEscape\"]],{\"recommendationsLoading\":[\"handleLoadingChange\"],\"sidebarState\":[\"handleSidebarStateChange\"]}],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"parentSlots\":[16,\"parent-slots\"],\"buttonPressed\":[32],\"hasCustomTrigger\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]],{\"buttonPressed\":[\"buttonPressedWatcher\"]}]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"exampleImageSource\":[1,\"example-image-source\"],\"cssUrl\":[1,\"css-url\"],\"visualSearchMode\":[1,\"visual-search-mode\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16,\"basic-event-data\"],\"isRecording\":[32],\"showTooltip\":[32],\"autoSuggestCompletions\":[32],\"activeSuggestionIndex\":[32]}]]],[\"vviinn-camera_12.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"modalBody\":[32],\"uploadDialogOpened\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnTextSearchStarted\",\"textSearchStartedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]],{\"active\":[\"activeWatcher\"],\"slidePosition\":[\"slidePositionWatcher\"]}],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"numberLocale\":[1,\"number-locale\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"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\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16,\"reset-widget-state\"],\"replaceSlotsContentInWidget\":[16,\"replace-slots-content-in-widget\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16,\"scrollable-modal-body\"],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]],{\"textSearchQuery\":[\"watchTextSearchQuery\"],\"searchId\":[\"watchSearchId\"]}],[1,\"vviinn-cropper\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"saveImageMode\":[1,\"save-image-mode\"],\"autoSearch\":[4,\"auto-search\"],\"width\":[1026],\"cssUrl\":[1,\"css-url\"],\"height\":[1026],\"basicEventData\":[1040,\"basic-event-data\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[1,\"vviinn-overlayed-modal\",{\"active\":[4],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"hideBackButton\":[4,\"hide-back-button\"],\"widgetVersion\":[1,\"widget-version\"],\"isFirstScreen\":[4,\"is-first-screen\"]}],[1,\"vviinn-image-selector\",{\"basicEventData\":[16,\"basic-event-data\"],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"isDragOver\":[32]},[[0,\"dragover\",\"onDragOver\"],[1,\"dragleave\",\"onDragLeave\"],[0,\"drop\",\"onDrop\"],[5,\"drop\",\"onGlobalDragEnd\"],[5,\"dragend\",\"onGlobalDragEnd\"]],{\"startUpload\":[\"startUploadWatcher\"]}],[1,\"vviinn-camera\",{\"token\":[1],\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16,\"basic-event-data\"],\"srcObject\":[16,\"src-object\"],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"apiPath\":[1,\"api-path\"],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]},null,{\"srcObject\":[\"handleSrcObjectChange\"]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-selected-filters\",{\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"selectedFilterButtons\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32],\"intervalCustomFilters\":[32]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]},null,{\"position\":[\"positionWatchHandler\"]}],[1,\"vviinn-suggestions\",{\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"token\":[1],\"stream\":[32],\"appliedSuggestionFilters\":[32]}],[1,\"vviinn-teaser\"]]]]"), options);
22
+ return index.bootstrapLazy(JSON.parse("[[\"vviinn-detected-object_2.cjs\",[[1,\"vviinn-detected-object\",{\"detectedObject\":[16,\"detected-object\"],\"selectedDetectedObject\":[16,\"selected-detected-object\"],\"basicEventData\":[16,\"basic-event-data\"],\"imageBounds\":[16,\"image-bounds\"],\"showInWidget\":[4,\"show-in-widget\"],\"position\":[32]}],[1,\"vviinn-preloader\"]]],[\"vviinn-carousel_10.cjs\",[[1,\"vviinn-vpr-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"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\"],\"blockSubtitle\":[1,\"block-subtitle\"],\"showScroll\":[4,\"show-scroll\"],\"useCarousel\":[4,\"use-carousel\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"closed\":[4],\"opened\":[4],\"isAppended\":[4,\"is-appended\"],\"showInWidget\":[4,\"show-in-widget\"],\"recommendationsLoading\":[1028,\"recommendations-loading\"],\"setRecommendationsLoading\":[16,\"set-recommendations-loading\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"recommendations\":[32],\"dynamicFilters\":[32],\"sourceProduct\":[32],\"hasErrorOnLoad\":[32],\"updatingAllCards\":[32],\"updatedCardsAmount\":[32],\"setModeDiscountsArray\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToWishlist\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinishedListener\"],[0,\"vviinnFiltersChanged\",\"filtersChanged\"]],{\"productId\":[\"handleProductIdChange\"],\"campaignType\":[\"handleCampaignTypeChange\"],\"campaigns\":[\"handleCampaignsChange\"],\"opened\":[\"trackWidgetOpen\"],\"closed\":[\"trackWidgetClose\"]}],[0,\"vviinn-carousel\",{\"mode\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"imageWidth\":[2,\"image-width\"],\"showScroll\":[4,\"show-scroll\"],\"campaignTypeId\":[1,\"campaign-type-id\"],\"widgetElementId\":[1,\"widget-element-id\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"recommendations\":[1040],\"sourceProduct\":[16,\"source-product\"],\"widgetVersion\":[1,\"widget-version\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"updatingAllCards\":[4,\"updating-all-cards\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"replaceSlotsContent\":[16,\"replace-slots-content\"],\"setModeDiscountsArray\":[16,\"set-mode-discounts-array\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"addPriceContainer\":[4,\"add-price-container\"],\"favoriteShow\":[4,\"favorite-show\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"isAppended\":[4,\"is-appended\"],\"loading\":[4],\"hasErrorOnLoad\":[4,\"has-error-on-load\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"moveDirection\":[32],\"contentGroups\":[32],\"activeContentGroup\":[32],\"currentScrollIndex\":[32],\"isRTL\":[32],\"crossSellingRecommendations\":[32],\"setModeDiscount\":[32],\"currentDiscountIndex\":[32],\"setModeAppliedDiscounts\":[32],\"columns\":[32],\"showContent\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"],[0,\"vviinnAddToBasket\",\"setModeAddToBasketHandler\"]],{\"recommendations\":[\"recommendationsWatcher\"],\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"loading\":[\"onLoadingChange\"]}],[1,\"vviinn-extended-filters\",{\"mode\":[513],\"showHeader\":[4,\"show-header\"],\"searchThreshold\":[2,\"search-threshold\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showingInButton\":[4,\"showing-in-button\"],\"widgetElement\":[8,\"widget-element\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"requestFilters\":[32],\"showMore\":[32],\"selectedMoreOptions\":[32],\"displayedOptionsCount\":[32],\"searchTerm\":[32]},[[17,\"mousedown\",\"bodyMouseDownListener\"]],{\"showMore\":[\"showMoreWatcher\"],\"selectedMoreOptions\":[\"selectedMoreOptionsWatcher\"],\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-filters\",{\"filtersString\":[1,\"filters-string\"],\"showInWidget\":[4,\"show-in-widget\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"innerFilters\":[32],\"selectedFilterColumn\":[32],\"requestFilters\":[32]},null,{\"filtersString\":[\"filtersStringWatcher\"]}],[1,\"vviinn-extended-filters-button\",{\"handleClick\":[16,\"handle-click\"],\"showInWidget\":[4,\"show-in-widget\"]}],[1,\"vviinn-product-card\",{\"brand\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"image\":[1],\"images\":[16],\"showMultipleImages\":[4,\"show-multiple-images\"],\"imageWidth\":[2,\"image-width\"],\"price\":[2],\"basePrice\":[1,\"base-price\"],\"productTitle\":[1,\"product-title\"],\"productType\":[1,\"product-type\"],\"entityType\":[1,\"entity-type\"],\"isSetMode\":[4,\"is-set-mode\"],\"salePrice\":[2,\"sale-price\"],\"baseSalePrice\":[1,\"base-sale-price\"],\"responsive\":[4],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"customLabels\":[1,\"custom-labels\"],\"addPriceContainer\":[4,\"add-price-container\"],\"energyCertifications\":[1040,\"energy-certifications\"],\"deeplink\":[1],\"cssUrl\":[1,\"css-url\"],\"productId\":[1,\"product-id\"],\"product\":[16],\"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\"],\"appliedDiscountPercentage\":[2,\"applied-discount-percentage\"],\"currentDiscountPercentage\":[2,\"current-discount-percentage\"],\"isSourceProduct\":[4,\"is-source-product\"],\"isResultsWidget\":[4,\"is-results-widget\"],\"energyCertificationsString\":[1,\"energy-certifications-string\"],\"isStandalone\":[4,\"is-standalone\"],\"showFooterArrow\":[4,\"show-footer-arrow\"],\"imageResolutionWidth\":[1026,\"image-resolution-width\"],\"loading\":[1028],\"disableMobileSwiper\":[4,\"disable-mobile-swiper\"],\"isTransitioning\":[32],\"basketButonPressed\":[32],\"favoriteButonPressed\":[32],\"imageLoaded\":[32],\"showSecondImage\":[32]},[[0,\"vviinnCrossSellingClick\",\"crossSellingClickListener\"]],{\"updatingAllCards\":[\"updatingAllCardsWatcher\"],\"productId\":[\"productIdWatcher\"],\"showSecondImage\":[\"showSecondImageWatcher\"]}],[1,\"vviinn-range-filter\",{\"histogram\":[16],\"intervalChangeHandler\":[16,\"interval-change-handler\"],\"selectedInterval\":[16,\"selected-interval\"],\"showCurrency\":[4,\"show-currency\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"currencySign\":[1,\"currency-sign\"],\"scalingFactor\":[32],\"minValue\":[32],\"maxValue\":[32],\"fromValue\":[32],\"toValue\":[32]},null,{\"selectedInterval\":[\"initializeValues\"],\"histogram\":[\"initializeValues\"]}],[1,\"vviinn-image\",{\"src\":[1],\"width\":[2],\"alt\":[1],\"imageTitle\":[1,\"image-title\"],\"responsive\":[4],\"entityType\":[1,\"entity-type\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"objectFit\":[1,\"object-fit\"],\"showSkeleton\":[4,\"show-skeleton\"],\"isSetMode\":[4,\"is-set-mode\"],\"customClass\":[1,\"custom-class\"],\"borderRadius\":[1,\"border-radius\"],\"border\":[1],\"backgroundColor\":[1,\"background-color\"],\"imageRef\":[16,\"image-ref\"],\"loadEndCallback\":[16,\"load-end-callback\"],\"imageLoaded\":[32],\"imageError\":[32]}],[1,\"vviinn-energy-label\",{\"classIconUrls\":[16,\"class-icon-urls\"],\"productType\":[1,\"product-type\"],\"classDataSheetUrl\":[1,\"class-data-sheet-url\"],\"iconDirection\":[1,\"icon-direction\"],\"certificationClass\":[1,\"certification-class\"],\"classRange\":[16,\"class-range\"]}],[1,\"vviinn-skeleton\",{\"height\":[2],\"halfWidth\":[4,\"half-width\"],\"aspectRatio\":[2,\"aspect-ratio\"]}]]],[\"vviinn-shop-the-look.cjs\",[[1,\"vviinn-shop-the-look\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"imageUrls\":[1,\"image-urls\"],\"height\":[2],\"currencySign\":[1,\"currency-sign\"],\"campaignId\":[1,\"campaign-id\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"widgetStyle\":[1,\"widget-style\"],\"showCropper\":[4,\"show-cropper\"],\"uploadMode\":[4,\"upload-mode\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"selectedDetectedObject\":[32],\"showModal\":[32],\"modalPosition\":[32],\"showDetailedView\":[32],\"selectedProductIndex\":[32],\"modalImageIndex\":[32],\"swiperActiveIndex\":[32],\"totalImages\":[32],\"imageUrlsList\":[32],\"swiperKey\":[32],\"needNavigation\":[32],\"showLoadingSpinner\":[32],\"isSearchInProgress\":[32],\"currentViewMode\":[32],\"isWidgetVisible\":[32],\"uploadedImageUrls\":[32]},[[0,\"vviinnProductClick\",\"handleProductCardClick\"]],{\"currentViewMode\":[\"onViewModeChange\"],\"showModal\":[\"onShowModalChange\"]}]]],[\"vviinn-button_6.cjs\",[[1,\"vviinn-vpr-button\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"productId\":[1,\"product-id\"],\"mode\":[1],\"campaigns\":[1],\"excluded\":[1],\"campaignType\":[1,\"campaign-type\"],\"color\":[1],\"imageWidth\":[2,\"image-width\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"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\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"modalScrollbar\":[4,\"modal-scrollbar\"],\"position\":[1],\"addStyle\":[4,\"add-style\"],\"favoriteShow\":[4,\"favorite-show\"],\"appendSidebarToElement\":[16,\"append-sidebar-to-element\"],\"appendSidebarToId\":[1,\"append-sidebar-to-id\"],\"isStandalone\":[4,\"is-standalone\"],\"showInWidget\":[4,\"show-in-widget\"],\"uiSessionId\":[1,\"ui-session-id\"],\"targetAppendSidebarTo\":[32]},null,{\"appendSidebarToElement\":[\"appendSidebarToElementWatcher\"]}],[1,\"vviinn-error\",{\"hasBackground\":[4,\"has-background\"],\"errorType\":[1,\"error-type\"],\"handler\":[16],\"searchType\":[1,\"search-type\"]}],[1,\"vviinn-modal\",{\"active\":[1540],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"hideBackButton\":[4,\"hide-back-button\"],\"isFirstScreen\":[4,\"is-first-screen\"],\"slider\":[32]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-overlay\",{\"active\":[516]},null,{\"active\":[\"handleActiveChange\"]}],[1,\"vviinn-recommendations-sidebar\",{\"sidebarTitle\":[1,\"sidebar-title\"],\"sidebarSubtitle\":[1,\"sidebar-subtitle\"],\"token\":[1],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"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\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"cssUrl\":[1,\"css-url\"],\"noResultText\":[1,\"no-result-text\"],\"noResultShow\":[4,\"no-result-show\"],\"gridArrowsDynamic\":[4,\"grid-arrows-dynamic\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showFilters\":[4,\"show-filters\"],\"setModeDiscounts\":[1,\"set-mode-discounts\"],\"setItemsAmount\":[2,\"set-items-amount\"],\"updateButtonLocation\":[1,\"update-button-location\"],\"favoriteShow\":[4,\"favorite-show\"],\"useCarousel\":[4,\"use-carousel\"],\"showInWidget\":[4,\"show-in-widget\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"apiPath\":[1,\"api-path\"],\"showInCustomContainer\":[4,\"show-in-custom-container\"],\"buttonChildren\":[16,\"button-children\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetVersion\":[1,\"widget-version\"],\"showingInButton\":[4,\"showing-in-button\"],\"showInModal\":[4,\"show-in-modal\"],\"isAppended\":[4,\"is-appended\"],\"uiSessionId\":[1,\"ui-session-id\"],\"triggerElement\":[16,\"trigger-element\"],\"sidebarState\":[32],\"sourceProduct\":[32],\"showLoadingClass\":[32],\"recommendationsLoading\":[32],\"hidden\":[32]},[[0,\"vviinnUpdatingAllCardsStarted\",\"updatingAllCardsStarted\"],[0,\"vviinnUpdatingAllCardsFinished\",\"updatingAllCardsFinished\"],[16,\"click\",\"bodyClickListener\"],[0,\"sourceProductReceived\",\"sourceProductReceived\"],[8,\"keydown\",\"handleEscape\"]],{\"recommendationsLoading\":[\"handleLoadingChange\"],\"sidebarState\":[\"handleSidebarStateChange\"]}],[1,\"vviinn-button\",{\"addStyle\":[4,\"add-style\"]}]]],[\"vviinn-vps-button.cjs\",[[1,\"vviinn-vps-button\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"pricePrefix\":[1,\"price-prefix\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"addStyle\":[4,\"add-style\"],\"mode\":[1],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"aiSuggestionsShow\":[4,\"ai-suggestions-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"parentSlots\":[16,\"parent-slots\"],\"buttonPressed\":[32],\"hasCustomTrigger\":[32]},[[0,\"vviinnWidgetClose\",\"handleModalClosed\"]],{\"buttonPressed\":[\"buttonPressedWatcher\"]}]]],[\"vviinn-text-search.cjs\",[[1,\"vviinn-text-search\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"mode\":[1],\"searchQuery\":[1025,\"search-query\"],\"placeholder\":[1],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"exampleImageSource\":[1,\"example-image-source\"],\"cssUrl\":[1,\"css-url\"],\"visualSearchMode\":[1,\"visual-search-mode\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"showInWidget\":[4,\"show-in-widget\"],\"showOnFirstScreen\":[4,\"show-on-first-screen\"],\"uiSessionId\":[1,\"ui-session-id\"],\"basicEventData\":[16,\"basic-event-data\"],\"isRecording\":[32],\"showTooltip\":[32],\"autoSuggestCompletions\":[32],\"activeSuggestionIndex\":[32]}]]],[\"vviinn-camera_12.cjs\",[[1,\"vviinn-vps-widget\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"active\":[1028],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"locale\":[1],\"numberLocale\":[1,\"number-locale\"],\"campaignId\":[1,\"campaign-id\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"excluded\":[1],\"productDetailsNewTab\":[4,\"product-details-new-tab\"],\"productDetailsRedirect\":[4,\"product-details-redirect\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"exampleImageSource\":[1,\"example-image-source\"],\"textSearchShow\":[4,\"text-search-show\"],\"autoSuggestShow\":[4,\"auto-suggest-show\"],\"aiSuggestionsShow\":[4,\"ai-suggestions-show\"],\"addToBasketShow\":[4,\"add-to-basket-show\"],\"favoriteShow\":[4,\"favorite-show\"],\"oneClickDiscoveryMode\":[1,\"one-click-discovery-mode\"],\"oneClickDiscoveryCampaigns\":[1,\"one-click-discovery-campaigns\"],\"addPriceContainer\":[4,\"add-price-container\"],\"showIntervalInputs\":[4,\"show-interval-inputs\"],\"cssUrl\":[1,\"css-url\"],\"showResultsInModal\":[4,\"show-results-in-modal\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"showingInButton\":[4,\"showing-in-button\"],\"buttonElementId\":[1,\"button-element-id\"],\"buttonPressed\":[4,\"button-pressed\"],\"mode\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"slidePosition\":[32],\"uploadSource\":[32],\"stream\":[32],\"products\":[32],\"modalBody\":[32],\"uploadDialogOpened\":[32],\"isCameraInitializing\":[32],\"isCameraEnabled\":[32],\"isCameraButtonClicked\":[32],\"showAspectRatioError\":[32],\"wrongImageFormat\":[32]},[[0,\"widgetTextSearchFinished\",\"textSearchFinishedHandler\"],[0,\"vviinnTextSearchStarted\",\"textSearchStartedHandler\"],[0,\"vviinnResultLoad\",\"resultLoadHandler\"],[0,\"vviinnResultView\",\"resultViewHandler\"],[0,\"vviinnCameraEnabled\",\"trackCameraEnabled\"],[0,\"vviinnImageCrop\",\"cropAreaChanges\"],[0,\"vviinnSelectObject\",\"trackDetectedObject\"],[0,\"vviinnSelectFilter\",\"trackImageSearchFilterSelected\"]],{\"active\":[\"activeWatcher\"],\"slidePosition\":[\"slidePositionWatcher\"]}],[1,\"vviinn-results\",{\"token\":[1],\"currencySign\":[1,\"currency-sign\"],\"locale\":[8],\"numberLocale\":[1,\"number-locale\"],\"campaignIdTextSearch\":[1,\"campaign-id-text-search\"],\"campaignIdVisualSearch\":[1,\"campaign-id-visual-search\"],\"pricePrefix\":[1,\"price-prefix\"],\"searchId\":[1,\"search-id\"],\"resultsPageUrl\":[1,\"results-page-url\"],\"resultsPageParams\":[1,\"results-page-params\"],\"uiSessionId\":[1025,\"ui-session-id\"],\"imageResolutionWidth\":[2,\"image-resolution-width\"],\"showMultipleImages\":[4,\"show-multiple-images\"],\"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\"],\"cssUrl\":[1,\"css-url\"],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"buttonElementId\":[1,\"button-element-id\"],\"widgetElementId\":[1025,\"widget-element-id\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"resetWidgetState\":[16,\"reset-widget-state\"],\"replaceSlotsContentInWidget\":[16,\"replace-slots-content-in-widget\"],\"replaceSlotsContentInButton\":[16,\"replace-slots-content-in-button\"],\"parentSlots\":[16,\"parent-slots\"],\"useInnerState\":[4,\"use-inner-state\"],\"scrollableModalBody\":[16,\"scrollable-modal-body\"],\"slotsReplaced\":[32],\"oneClickDiscoveryAppendIndex\":[32],\"oneClickDiscoverySelectedIndex\":[32],\"innerResults\":[32]},[[0,\"vviinnProductLoad\",\"trackProductLoad\"],[0,\"vviinnProductView\",\"trackProductView\"],[0,\"vviinnProductClick\",\"trackProductClick\"],[0,\"vviinnAuxClick\",\"trackAuxClick\"],[0,\"vviinnAddToBasket\",\"trackAddToBasket\"],[0,\"vviinnAddToFavorite\",\"trackAddToFavorite\"]],{\"textSearchQuery\":[\"watchTextSearchQuery\"],\"searchId\":[\"watchSearchId\"]}],[1,\"vviinn-cropper\",{\"token\":[1],\"apiPath\":[1,\"api-path\"],\"saveImageMode\":[1,\"save-image-mode\"],\"autoSearch\":[4,\"auto-search\"],\"width\":[1026],\"cssUrl\":[1,\"css-url\"],\"height\":[1026],\"basicEventData\":[1040,\"basic-event-data\"],\"showAspectRatioError\":[4,\"show-aspect-ratio-error\"],\"showInWidget\":[4,\"show-in-widget\"],\"cropper\":[32],\"selectedDetectedObject\":[32]},[[0,\"vviinnSelectObject\",\"selectDetectedObject\"],[0,\"vviinnImageCrop\",\"imageCropHandler\"]]],[1,\"vviinn-overlayed-modal\",{\"active\":[4],\"resetState\":[16,\"reset-state\"],\"buttonElementId\":[1,\"button-element-id\"],\"hideBackButton\":[4,\"hide-back-button\"],\"widgetVersion\":[1,\"widget-version\"],\"isFirstScreen\":[4,\"is-first-screen\"]}],[1,\"vviinn-image-selector\",{\"basicEventData\":[16,\"basic-event-data\"],\"startUpload\":[4,\"start-upload\"],\"loading\":[4],\"accept\":[1],\"resetVpsButton\":[16,\"reset-vps-button\"],\"token\":[1],\"apiPath\":[1,\"api-path\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"useDragAndDrop\":[4,\"use-drag-and-drop\"],\"isDragOver\":[32]},[[0,\"dragover\",\"onDragOver\"],[1,\"dragleave\",\"onDragLeave\"],[0,\"drop\",\"onDrop\"],[5,\"drop\",\"onGlobalDragEnd\"],[5,\"dragend\",\"onGlobalDragEnd\"]],{\"startUpload\":[\"startUploadWatcher\"]}],[1,\"vviinn-camera\",{\"token\":[1],\"exampleImageSource\":[1,\"example-image-source\"],\"width\":[2],\"height\":[2],\"basicEventData\":[16,\"basic-event-data\"],\"srcObject\":[16,\"src-object\"],\"cameraButtonClicked\":[4,\"camera-button-clicked\"],\"showInWidget\":[4,\"show-in-widget\"],\"storeName\":[1,\"store-name\"],\"state\":[16],\"apiPath\":[1,\"api-path\"],\"selected\":[32],\"videoInitialized\":[32],\"zoomCapabilities\":[32]},null,{\"srcObject\":[\"handleSrcObjectChange\"]}],[1,\"vviinn-privacy-badge\",{\"privacyBadgeText\":[1,\"privacy-badge-text\"]}],[1,\"vviinn-selected-filters\",{\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"showInWidget\":[4,\"show-in-widget\"],\"requestFilters\":[32],\"selectedFilterButtons\":[32],\"textSearchCustomFilter\":[32],\"imageSrc\":[32],\"intervalCustomFilters\":[32]}],[1,\"vviinn-slide\"],[1,\"vviinn-slider\",{\"position\":[514],\"elementsCount\":[32],\"internalPosition\":[32],\"swipeStartPosition\":[32],\"isRTL\":[32]},null,{\"position\":[\"positionWatchHandler\"]}],[1,\"vviinn-suggestions\",{\"showInWidget\":[4,\"show-in-widget\"],\"apiPath\":[1,\"api-path\"],\"locale\":[1],\"currencySign\":[1,\"currency-sign\"],\"pricePrefix\":[1,\"price-prefix\"],\"token\":[1],\"stream\":[32],\"appliedSuggestionFilters\":[32]}],[1,\"vviinn-teaser\"]]]]"), options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -0,0 +1,36 @@
1
+ import { hasSelectedOcrFilter } from "./hasSelectedOcrFilter";
2
+ /**
3
+ * Decides whether the cropper must be hidden because an OCR filter is active.
4
+ * Once the user adjusts the crop box the cropper stays regardless of OCR.
5
+ * Engagement resets whenever a different image is loaded.
6
+ */
7
+ export class CropperOcrGate {
8
+ constructor() {
9
+ this.engaged = false;
10
+ this.lastImage = null;
11
+ this.awaitingFilters = false;
12
+ }
13
+ /** Re-arm OCR gating for a freshly loaded image. */
14
+ onImage(image) {
15
+ if (image === this.lastImage)
16
+ return;
17
+ this.lastImage = image;
18
+ this.engaged = false;
19
+ this.awaitingFilters = true;
20
+ }
21
+ /** Fresh dynamicFilters for the current image have arrived. */
22
+ onFreshFilters() {
23
+ this.awaitingFilters = false;
24
+ }
25
+ /** Mark that the user started working with the cropper. */
26
+ onUserAdjust() {
27
+ this.engaged = true;
28
+ }
29
+ /** True when the cropper should be hidden. */
30
+ isGated(dynamicFilters, isSearchLoading = false) {
31
+ // Defer while the image's search is still resolving, to avoid a flash.
32
+ if (this.awaitingFilters && isSearchLoading)
33
+ return true;
34
+ return !this.engaged && hasSelectedOcrFilter(dynamicFilters);
35
+ }
36
+ }
@@ -0,0 +1,4 @@
1
+ import { extractSelectedFilters } from "../../vviinn-filters/helpers";
2
+ const MODALITY_COLUMN = "modality";
3
+ const OCR_VALUE = "OCR";
4
+ export const hasSelectedOcrFilter = (dynamicFilters) => extractSelectedFilters(dynamicFilters !== null && dynamicFilters !== void 0 ? dynamicFilters : []).some((filter) => filter.column === MODALITY_COLUMN && filter.values.includes(OCR_VALUE));
@@ -12,6 +12,7 @@ import { makeVisualSearchRequest, useSearchStore, } from "../../store/search.sto
12
12
  import { getImageSizes } from "../../Image/sizing";
13
13
  import { isCropBoxChangeMinimal } from "./helpers/isCropBoxDataSimilar";
14
14
  import { getCropBoxData } from "./helpers/cropperUtils";
15
+ import { CropperOcrGate } from "./helpers/cropperOcrGate";
15
16
  import { cleanLocalStorage, getLocalStorageItems } from "../../localStorage";
16
17
  import { addEventListenersWithSignal } from "../../dom";
17
18
  import { renderExternalCSS } from "../../utils/cssUrl/cssUrlHelper";
@@ -30,6 +31,45 @@ export class VviinnCropper {
30
31
  this.showInWidget = false;
31
32
  this.cropper = null;
32
33
  this.selectedDetectedObject = null;
34
+ this.imageElement = null;
35
+ this.gate = new CropperOcrGate();
36
+ this.destroyCropper = () => {
37
+ var _a;
38
+ (_a = this.cropper) === null || _a === void 0 ? void 0 : _a.destroy();
39
+ this.cropper = null;
40
+ };
41
+ this.clearCropSelection = () => {
42
+ this.state.searchArea = null;
43
+ this.state.croppedImageUrl = null;
44
+ this.selectedDetectedObject = null;
45
+ };
46
+ /** Tear down the cropper and drop any applied crop. */
47
+ this.discardCrop = () => {
48
+ this.destroyCropper();
49
+ this.clearCropSelection();
50
+ };
51
+ this.resetCropperState = () => {
52
+ this.discardCrop();
53
+ this.state.image = null;
54
+ };
55
+ /** Show or hide the cropper to match the current OCR gate decision. */
56
+ this.reconcileCropper = () => {
57
+ // Trust the fresh filters even before the image DOM is ready.
58
+ this.gate.onFreshFilters();
59
+ if (!this.state.image || !this.imageElement || !this.state.imageBounds)
60
+ return;
61
+ if (this.gate.isGated(this.state.dynamicFilters)) {
62
+ // Drop only the frame, keep the region/object so OCR searches within it.
63
+ this.destroyCropper();
64
+ return;
65
+ }
66
+ // Guard geometry here so initCropper doesn't re-emit the aspect-ratio error on every filter change.
67
+ if (!this.cropper &&
68
+ this.hasSupportedAspectRatio() &&
69
+ this.hasSupportedSize()) {
70
+ this.initCropper(this.imageElement);
71
+ }
72
+ };
33
73
  this.initPreloadedImage = () => {
34
74
  var _a;
35
75
  if (this.showInWidget && this.state.image) {
@@ -53,14 +93,12 @@ export class VviinnCropper {
53
93
  cleanLocalStorage();
54
94
  };
55
95
  this.resetStateHandler = ({ detail, }) => {
56
- var _a, _b;
96
+ var _a;
57
97
  if (this.skipStateChanges(detail.isTriggeredByVpsWidget))
58
98
  return;
59
- this.selectedDetectedObject = null;
60
99
  (_a = this.state.image) === null || _a === void 0 ? void 0 : _a.setAttribute("src", "");
61
100
  this.state.detectedObjects = [];
62
- this.state.image = null;
63
- (_b = this.cropper) === null || _b === void 0 ? void 0 : _b.destroy();
101
+ this.resetCropperState();
64
102
  cleanLocalStorage();
65
103
  };
66
104
  this.resetCropAreaHandler = ({ detail, }) => {
@@ -68,9 +106,7 @@ export class VviinnCropper {
68
106
  if (this.skipStateChanges(detail.isTriggeredByVpsWidget))
69
107
  return;
70
108
  (_a = this.cropper) === null || _a === void 0 ? void 0 : _a.reset();
71
- this.state.searchArea = null;
72
- this.state.croppedImageUrl = null;
73
- this.selectedDetectedObject = null;
109
+ this.clearCropSelection();
74
110
  this.vviinnImageCrop.emit({
75
111
  isTriggeredByVpsWidget: this.showInWidget,
76
112
  });
@@ -98,32 +134,62 @@ export class VviinnCropper {
98
134
  this.cropper.replace(this.state.image.src);
99
135
  };
100
136
  this.loadImage = () => {
101
- const renderedImageElement = this.el.shadowRoot.querySelector("img");
102
- if (this.state.image) {
103
- let data = {};
104
- if (this.cropper) {
105
- data = this.cropper.getData(true);
106
- this.cropper.destroy();
107
- }
108
- const imageBounds = fromImage(renderedImageElement);
109
- const { width, height } = imageBounds;
110
- this.vviinnCropperLoadImage.emit({
111
- imageBounds,
112
- });
113
- this.state.imageBounds = imageBounds;
114
- if (width / height < SUPPORTED_ASPECT_RATIO ||
115
- height / width < SUPPORTED_ASPECT_RATIO) {
116
- this.vviinnCropperAspectRatioError.emit(true);
117
- return;
118
- }
119
- if (width < MIN_IMAGE_SIDE_FOR_CROPPER ||
120
- height < MIN_IMAGE_SIDE_FOR_CROPPER) {
121
- return;
122
- }
123
- this.cropper = new Cropper(renderedImageElement, Object.assign(Object.assign({}, cropperOptions), { cropstart: this.cropStart, cropend: this.cropEnd, ready: () => this.cropper.reset(), data }));
137
+ var _a;
138
+ if (!this.state.image)
139
+ return;
140
+ const renderedImageElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("img");
141
+ if (!renderedImageElement)
142
+ return;
143
+ this.imageElement = renderedImageElement;
144
+ this.gate.onImage(this.state.image);
145
+ let data = {};
146
+ if (this.cropper) {
147
+ data = this.cropper.getData(true);
148
+ this.destroyCropper();
149
+ }
150
+ const imageBounds = fromImage(renderedImageElement);
151
+ this.vviinnCropperLoadImage.emit({
152
+ imageBounds,
153
+ });
154
+ this.state.imageBounds = imageBounds;
155
+ const isSearchLoading = this.state.searchStatus === "loading";
156
+ if (this.gate.isGated(this.state.dynamicFilters, isSearchLoading)) {
157
+ this.discardCrop();
158
+ // Still surface aspect-ratio errors while hidden — geometry matters regardless.
159
+ this.checkAspectRatio();
160
+ return;
124
161
  }
162
+ this.initCropper(renderedImageElement, data);
163
+ };
164
+ this.hasSupportedAspectRatio = () => {
165
+ if (!this.state.imageBounds)
166
+ return false;
167
+ const { width, height } = this.state.imageBounds;
168
+ return (width / height >= SUPPORTED_ASPECT_RATIO &&
169
+ height / width >= SUPPORTED_ASPECT_RATIO);
170
+ };
171
+ this.hasSupportedSize = () => {
172
+ if (!this.state.imageBounds)
173
+ return false;
174
+ const { width, height } = this.state.imageBounds;
175
+ return (width >= MIN_IMAGE_SIDE_FOR_CROPPER &&
176
+ height >= MIN_IMAGE_SIDE_FOR_CROPPER);
177
+ };
178
+ this.checkAspectRatio = () => {
179
+ if (this.hasSupportedAspectRatio())
180
+ return true;
181
+ this.vviinnCropperAspectRatioError.emit(true);
182
+ return false;
183
+ };
184
+ this.initCropper = (imageElement, data = {}) => {
185
+ if (!imageElement)
186
+ return;
187
+ if (!this.checkAspectRatio() || !this.hasSupportedSize())
188
+ return;
189
+ this.cropper = new Cropper(imageElement, Object.assign(Object.assign({}, cropperOptions), { cropstart: this.cropStart, cropend: this.cropEnd, ready: () => { var _a; return (_a = this.cropper) === null || _a === void 0 ? void 0 : _a.reset(); }, data }));
125
190
  };
126
191
  this.cropStart = () => {
192
+ this.gate.onUserAdjust();
127
193
  this.startEndCropBoxData = getCropBoxData(this.cropper);
128
194
  };
129
195
  this.cropEnd = () => {
@@ -149,9 +215,10 @@ export class VviinnCropper {
149
215
  !this.showAspectRatioError;
150
216
  }
151
217
  connectedCallback() {
152
- const { state, storeName } = useSearchStore(this.showInWidget);
218
+ const { state, storeName, onChange } = useSearchStore(this.showInWidget);
153
219
  this.state = state;
154
220
  this.storeName = storeName;
221
+ this.disposeStoreListener = onChange("dynamicFilters", this.reconcileCropper);
155
222
  this.initPreloadedImage();
156
223
  this.eventAbortController = new AbortController();
157
224
  const { signal } = this.eventAbortController;
@@ -162,10 +229,13 @@ export class VviinnCropper {
162
229
  ], signal);
163
230
  }
164
231
  disconnectedCallback() {
165
- var _a, _b, _c;
232
+ var _a, _b;
166
233
  (_a = this.eventAbortController) === null || _a === void 0 ? void 0 : _a.abort();
167
- (_c = (_b = this.cropper) === null || _b === void 0 ? void 0 : _b.destroy) === null || _c === void 0 ? void 0 : _c.call(_b);
168
- this.state.image = null;
234
+ (_b = this.disposeStoreListener) === null || _b === void 0 ? void 0 : _b.call(this);
235
+ this.destroyCropper();
236
+ // "never" keeps no image across mounts, so clear it from the shared store.
237
+ if (this.saveImageMode === "never")
238
+ this.state.image = null;
169
239
  }
170
240
  selectDetectedObject({ detail }) {
171
241
  this.selectedDetectedObject = detail.detectedObject;
@@ -198,14 +268,14 @@ export class VviinnCropper {
198
268
  }
199
269
  render() {
200
270
  var _a;
201
- return (h(Host, { key: 'ae2656d0782e723ffe5c8ba9ad6074db55e219c0', class: {
271
+ return (h(Host, { key: 'b50ccb5595b27ef6673ff9d9350fc30359a6f7ce', class: {
202
272
  "show-in-widget": this.showInWidget,
203
273
  active: !!this.state.image,
204
- } }, renderExternalCSS(this.cssUrl), h("div", { key: '0c547762649ddc68aa2755681c6637ec1556b315', class: "container" }, this.state.image && (h("div", { key: '811e79aaf4ee1144c8c6ce0017300ba9aeda8803', class: "image-container", style: {
274
+ } }, renderExternalCSS(this.cssUrl), h("div", { key: 'efd816ed4e19082091567714fee4ef40efe9a6c4', class: "container" }, this.state.image && (h("div", { key: '13f35758ba243eb73513e17375daca8431538383', class: "image-container", style: {
205
275
  width: `${this.width.toString()}px`,
206
276
  overflow: "hidden",
207
- } }, h("img", { key: '458474fa006a1397daa335fb9ee50477ab0e62ce', decoding: "async", width: this.width, height: this.height, src: this.state.image.src, draggable: false, onLoad: this.loadImage, alt: i18next.t("a11y.cropperImage") }), (_a = this.state.detectedObjects) === null || _a === void 0 ? void 0 :
208
- _a.map((object) => (h("vviinn-detected-object", { detectedObject: object, selectedDetectedObject: this.selectedDetectedObject, basicEventData: this.basicEventData, imageBounds: this.state.imageBounds, showInWidget: this.showInWidget }))))), this.showPreloader() && (h("div", { key: 'd002cf170858ae7e5a46ca0f36bc64a425990119', class: "image-preloader" }, h("vviinn-preloader", { key: '2867876e7f492364528636d4b77dc4c7f80bee71' }))))));
277
+ } }, h("img", { key: '7525aae0654325fb25c88106a9ee1fface11a62e', decoding: "async", width: this.width, height: this.height, src: this.state.image.src, draggable: false, onLoad: this.loadImage, alt: i18next.t("a11y.cropperImage") }), (_a = this.state.detectedObjects) === null || _a === void 0 ? void 0 :
278
+ _a.map((object) => (h("vviinn-detected-object", { detectedObject: object, selectedDetectedObject: this.selectedDetectedObject, basicEventData: this.basicEventData, imageBounds: this.state.imageBounds, showInWidget: this.showInWidget }))))), this.showPreloader() && (h("div", { key: 'b89ad46bda5279b77f4fe258f7a6d4af08f81c29', class: "image-preloader" }, h("vviinn-preloader", { key: '34f55578c05321480d7e3d8141a4638df8aad08b' }))))));
209
279
  }
210
280
  static get is() { return "vviinn-cropper"; }
211
281
  static get encapsulation() { return "shadow"; }
@@ -12,6 +12,8 @@ import { useSearchStore } from "../../store/search.store";
12
12
  import { defaultConfig } from "../../store/store";
13
13
  import { addEventListenersWithSignal, isElementInSelector } from "../../dom";
14
14
  import { extendedFiltersParts } from "../../cssParts";
15
+ const FILTER_OPTIONS_INITIAL_COUNT = 8;
16
+ const FILTER_OPTIONS_STEP_COUNT = 5;
15
17
  /**
16
18
  * @slot vviinn-extended-filters-title - Text on widget's header.
17
19
  * @slot vviinn-extended-filters-apply - Title of Apply Button.
@@ -63,8 +65,6 @@ import { extendedFiltersParts } from "../../cssParts";
63
65
  * @part histogram-from-input - Input field for the minimum value.
64
66
  * @part histogram-to-input - Input field for the maximum value.
65
67
  */
66
- const FILTER_OPTIONS_INITIAL_COUNT = 8;
67
- const FILTER_OPTIONS_STEP_COUNT = 5;
68
68
  export class VviinnExtendedFilters {
69
69
  constructor() {
70
70
  this.mode = "button";