vviinn-widgets 2.44.0 → 2.44.2

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 (49) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{package-9e48dffa.js → package-5912f89d.js} +1 -1
  3. package/dist/cjs/{search-filters_15.cjs.entry.js → search-filters_16.cjs.entry.js} +56 -14
  4. package/dist/cjs/vviinn-carousel_4.cjs.entry.js +1 -1
  5. package/dist/cjs/vviinn-vpr-button.cjs.entry.js +1 -1
  6. package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
  7. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +25 -5
  8. package/dist/cjs/vviinn-widgets.cjs.js +1 -1
  9. package/dist/collection/collection-manifest.json +1 -0
  10. package/dist/collection/components/image-search/search-filters/search-filters.css +8 -3
  11. package/dist/collection/components/vviinn-error/vviinn-wrong-aspect-ratio/vviinn-wrong-aspect-ratio.js +36 -0
  12. package/dist/collection/components/vviinn-example-image/vviinn-example-image.js +10 -3
  13. package/dist/collection/components/vviinn-image-view/vviinn-detected-object/vviinn-detected-object.css +1 -0
  14. package/dist/collection/components/vviinn-image-view/vviinn-image-view.css +66 -24
  15. package/dist/collection/components/vviinn-image-view/vviinn-image-view.js +66 -9
  16. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.css +17 -11
  17. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +17 -4
  18. package/dist/collection/locale/resources-vps.js +8 -0
  19. package/dist/esm/loader.js +1 -1
  20. package/dist/esm/{package-fb112b84.js → package-b2424850.js} +1 -1
  21. package/dist/esm/{search-filters_15.entry.js → search-filters_16.entry.js} +56 -15
  22. package/dist/esm/vviinn-carousel_4.entry.js +1 -1
  23. package/dist/esm/vviinn-vpr-button.entry.js +1 -1
  24. package/dist/esm/vviinn-vps-button.entry.js +1 -1
  25. package/dist/esm/vviinn-vps-widget.entry.js +25 -5
  26. package/dist/esm/vviinn-widgets.js +1 -1
  27. package/dist/types/components/vviinn-error/vviinn-wrong-aspect-ratio/vviinn-wrong-aspect-ratio.d.ts +4 -0
  28. package/dist/types/components/vviinn-image-view/vviinn-image-view.d.ts +3 -0
  29. package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +2 -0
  30. package/dist/types/components.d.ts +19 -0
  31. package/dist/vviinn-widgets/p-044c5f45.entry.js +1 -0
  32. package/dist/vviinn-widgets/p-726774f9.js +1 -0
  33. package/dist/vviinn-widgets/{p-0d37441f.entry.js → p-a7cc44b3.entry.js} +1 -1
  34. package/dist/vviinn-widgets/{p-32938807.entry.js → p-b1e9dd46.entry.js} +1 -1
  35. package/dist/vviinn-widgets/{p-da0b001f.entry.js → p-ecd1c141.entry.js} +2 -2
  36. package/dist/vviinn-widgets/{p-40e2fb73.entry.js → p-ed082ecf.entry.js} +1 -1
  37. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  38. package/package.json +1 -1
  39. package/www/build/p-044c5f45.entry.js +1 -0
  40. package/www/build/p-726774f9.js +1 -0
  41. package/www/build/{p-0d37441f.entry.js → p-a7cc44b3.entry.js} +1 -1
  42. package/www/build/{p-32938807.entry.js → p-b1e9dd46.entry.js} +1 -1
  43. package/www/build/{p-da0b001f.entry.js → p-ecd1c141.entry.js} +2 -2
  44. package/www/build/{p-40e2fb73.entry.js → p-ed082ecf.entry.js} +1 -1
  45. package/www/build/vviinn-widgets.esm.js +1 -1
  46. package/dist/vviinn-widgets/p-8b0f06e7.js +0 -1
  47. package/dist/vviinn-widgets/p-8c681088.entry.js +0 -1
  48. package/www/build/p-8b0f06e7.js +0 -1
  49. package/www/build/p-8c681088.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import{r as t,c as i,h as e,H as n,g as s}from"./p-1e83e6ba.js";import{i as r,a as o,O as a,r as h,u as c,v as l,w as d,x as p,y as u,z as v,B as f,E as m,C as b,o as g,n as w,D as x,F as y,G as k,H as M,N as C}from"./p-987a8e9f.js";import{i as j}from"./p-2e76a5c3.js";import{W as z,M as O,P as E,R as N,S as D,A as S}from"./p-7f19baa1.js";import{s as T,c as A}from"./p-c8ef8d6c.js";const B=(t,i)=>{var e;if(!t)return"";const n={};return t.href.split("?")[1].split("included[]=").join("").split("&").forEach((t=>{const[i,e]=t.split("%3A");n[i]=e})),"categories"===i?null!==(e=n.product_type)&&void 0!==e?e:n.google_product_category:n[i]},F=class{constructor(e){t(this,e),this.vviinnSelectFilter=i(this,"vviinnSelectFilter",7),this.filterType=this.filter.name,this.filter=null,this.basicEventData=void 0,this.selectedFilter="",this.hideFilters=!0}isCategoriesFilterType(){return"categories"===this.filterType}getFilterKind(){return this.isCategoriesFilterType()?"category":this.filterType}handleFilterSelection(t){return this.isFilterSelected(t)?this.clearSelectedFilter(t):this.selectFilter(t)}selectFilter(t){r.activeIonLink=t,this.selectedFilter=B(t,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"select",kind:this.getFilterKind()}))}clearSelectedFilter(t){r.activeIonLink=t.clear,this.selectedFilter=B(t.clear,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"deselect",kind:this.getFilterKind()}))}toggleFilters(){this.hideFilters=!this.hideFilters}handleEnter(t,i){"Enter"===t.key&&this.handleFilterSelection(i)}isFilterSelected(t){return this.isCategoriesFilterType()?this.selectedFilter===B(t,"categories"):this.selectedFilter===t.name}render(){if(!this.filter)return null;const{name:t,filters:i}=this.filter;return e(n,{exportparts:"filter, show-more-filters"},e("div",{class:{filters:!0,"no-scrollbar-mobile":this.isCategoriesFilterType(),"no-scrollbar":!this.isCategoriesFilterType()}},i.filter(((t,i)=>!this.hideFilters||i<5)).map(((i,n)=>{const s="categories"===t?this.selectedFilter===B(i,"categories"):this.selectedFilter===i.name;return e("div",{role:"button",tabindex:"0",key:n,part:s?"filter active":"filter",class:{filter:!0,active:s},style:{"animation-delay":10*n+"ms"},onPointerUp:t=>{r.loading||(t.stopPropagation(),this.handleFilterSelection(i))},onKeyPress:t=>{r.loading||this.handleEnter(t,i)}},i.name)})),this.hideFilters&&e("div",{class:{"show-more":!0,hidden:i.length<=5,active:!this.hideFilters},role:"button",tabindex:"0","aria-role":"button",onClick:()=>{setTimeout((()=>this.toggleFilters()),300)},onKeyPress:t=>{"Enter"===t.key&&this.toggleFilters()},part:"show-more-filters"})))}get el(){return s(this)}};F.style=".filters{display:flex;flex-direction:row;overflow-x:auto;padding-left:24px;padding-right:12px;margin-bottom:12px}.filter{align-items:center;color:#525252;cursor:pointer;display:flex;margin-right:12px;height:-moz-max-content;height:max-content;min-width:-moz-max-content;min-width:max-content;transition-property:background;transition-duration:0.5s;transition-timing-function:ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 12px}.show-more{display:flex}.show-more.hidden{display:none !important}.show-more::after{position:relative;content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12.2l-6-6L3.2 5 8 9.8 12.8 5 14 6.2l-6 6z' fill='%23525252'/%3E%3C/svg%3E\");display:block;transform:rotate(-90deg);left:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 640px){.no-scrollbar-mobile{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar-mobile::-webkit-scrollbar{display:none}}";const W=class{constructor(e){t(this,e),this.vviinnSelectObject=i(this,"vviinnSelectObject",7),this.detectedObject=void 0,this.basicEventData=void 0,this.position=["0","0"]}getObjectPosition(){return o.pipe(r.imageBounds,a.map((t=>{const i=h(c(this.detectedObject).rectangle),{x:e,y:n}=o.pipe(i,l(t),d);return[`${e}px`,`${n}px`]})),a.getOrElse((()=>["0","0"])))}selectDetectedObject(){o.pipe(r.imageBounds,a.map((t=>{const i=c(this.detectedObject).rectangle,e=h(i),n=l(t)(e);r.detectedObject=this.detectedObject,r.searchArea=a.some(n)}))),p(),this.vviinnSelectObject.emit(Object.assign(Object.assign({},this.basicEventData),{detectedObject:this.detectedObject}))}isActive(){if(!this.detectedObject)return!1;if(!r.detectedObject)return!1;const t=c(this.detectedObject),i=c(r.detectedObject);return u.equals(t,i)}render(){return e(n,{class:{active:this.isActive()},onClick:()=>this.selectDetectedObject(),style:{"--x-position":this.getObjectPosition()[0],"--y-position":this.getObjectPosition()[1]}})}};W.style=':host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block;position:absolute;left:calc(var(--x-position));top:calc(var(--y-position))}:host::before,:host::after{content:"";cursor:pointer;position:absolute;height:var(--size);width:var(--size);left:calc(-1 * var(--size) / 2);top:calc(-1 * var(--size) / 2)}:host::before{--size:36px;border-radius:50%;z-index:0;background:rgba(0, 0, 0, 0.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform 0.07s ease-in-out}:host::after{--size:13px;border-radius:50%;z-index:1;background:white;box-shadow:0px 2px 2px 0px rgba(0, 0, 0, 0.15);transition:transform 0.07s ease-in-out}:host(.active)::before{transform:scale(0.88);background:rgba(0, 0, 0, 0.4)}:host(.active)::after{transform:scale(0.67)}@media (min-width: 768px){:host(:not(.active):hover)::before{transform:scale(1.08);background:rgba(0, 0, 0, 0.32)}}';const _=class{constructor(i){t(this,i),this.handler=void 0}render(){return e(n,null,e("vviinn-error",null,e(z,null),e("h4",{slot:"title"},j.t("emptyResultsBlock.title")),e("button",{slot:"action",onClick:this.handler},j.t("emptyResultsBlock.button"))))}},R=class{constructor(e){t(this,e),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.vviinnCameraEnabled=i(this,"vviinnCameraEnabled",7),this.videoTrack=null,this.initializeZoom=async()=>{if(!this.videoTrack)return;const t=this.videoTrack.getCapabilities();"zoom"in t&&(this.zoomCapabilities=t.zoom,await this.videoTrack.applyConstraints({advanced:[{zoom:this.zoomCapabilities.min}]}))},this.onZoom=async t=>{var i;if(!this.videoTrack||!this.zoomCapabilities)return;const e=null!==(i=this.videoTrack.getSettings().zoom)&&void 0!==i?i:this.zoomCapabilities.min,n=(this.zoomCapabilities.max-this.zoomCapabilities.min)/3;let s;s="in"===t?e+n:e-n,await this.videoTrack.applyConstraints({advanced:[{zoom:s}]})},this.exampleImageSource=void 0,this.width=0,this.height=0,this.basicEventData=void 0,this.srcObject=void 0,this.cameraButtonClicked=!1,this.selected=!1,this.videoInitialized=!1,this.zoomCapabilities=null}componentDidLoad(){this.videoElement=this.el.shadowRoot.getElementById("camera-preview")}createPlaceholderImageCanvas(){const t=this.el.shadowRoot.getElementById("captured-image-placeholder"),i=this.videoElement,{videoWidth:e,videoHeight:n}=i,s=document.createElement("canvas");s.width=e,s.height=n,s.getContext("2d").drawImage(i,0,0,s.width,s.height);const r=s.toDataURL("image/jpeg");t.src=r}async selectImage(){if(!this.srcObject)return;let t;this.vviinnImageUpload.emit(this.basicEventData);const i=this.el.shadowRoot.getElementById("photo-frame"),e=this.videoElement,n=i.getBoundingClientRect(),s=e.getBoundingClientRect(),{videoWidth:r,videoHeight:a}=e,h=document.createElement("canvas");this.selected=!0,this.videoElement.pause(),this.createPlaceholderImageCanvas();const c=r/s.width,l=a/s.height,d=Math.min(n.width*c,n.height*l);h.width=d,h.height=d;const p=(n.left-s.left+(n.width-d/c)/2)*c,u=(n.top-s.top+(n.height-d/l)/2)*l;h.getContext("2d").drawImage(e,p,u,d,d,0,0,h.width,h.height);const b=h.toDataURL("image/jpeg");t=await v(b),o.pipe(await f(t),m.match((()=>this.vviinnNoResult.emit(this.basicEventData)),(()=>this.vviinnImageUploadFinished.emit()))),this.selected=!1,this.videoInitialized=!1,this.vviinnCameraEnabled.emit(!1)}handleKeyPress({key:t}){"Enter"!==t&&" "!==t||this.selectImage()}handleSrcObjectChange(){this.srcObject?(this.videoElement.srcObject=this.srcObject,this.videoTrack=this.srcObject.getVideoTracks()[0],this.initializeZoom(),this.videoElement.onloadedmetadata=()=>{this.vviinnCameraEnabled.emit(!0),this.videoInitialized=!0}):this.videoInitialized=!1}render(){return e(n,{onKeyUp:t=>this.handleKeyPress(t),class:{"video-expanded":this.cameraButtonClicked}},e("video",{id:"camera-preview",class:{hidden:!this.videoInitialized||this.selected},autoplay:!0,playsinline:!0,muted:!0}),e("img",{src:this.exampleImageSource,width:this.width,height:this.height,tabindex:1,class:{hidden:this.videoInitialized||this.selected}}),e("img",{id:"captured-image-placeholder",class:{hidden:!this.selected}}),e("div",{class:"container",id:"container"},e("div",{class:{hidden:!this.videoInitialized},id:"photo-frame"}),this.zoomCapabilities&&this.videoInitialized&&e("div",{class:"buttons-group zoom-buttons"},e("button",{onClick:()=>this.onZoom("out")},e(O,null)),e("button",{onClick:()=>this.onZoom("in")},e(E,null))),e("div",{class:"buttons-group"},e("button",{class:{"photo-button":!0,visible:this.videoInitialized},onClick:()=>this.selectImage()},e(N,null)))))}get el(){return s(this)}static get watchers(){return{srcObject:["handleSrcObjectChange"]}}};R.style=":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:96%;left:0;top:0;display:flex;flex-direction:column;padding:56px 25px 0 25px;justify-content:space-around;align-content:center;box-sizing:border-box}@media (min-width: 768px){.container{padding:56px 40px 0 40px}}#photo-frame{position:relative;aspect-ratio:1/1;border:1px solid white;border-radius:10px;background-color:transparent;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;max-width:580px;margin:0 auto}.buttons-group{width:100%;left:0;display:flex;align-items:center}.photo-button{display:none;cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{bottom:168px;justify-content:center;gap:12px}.zoom-buttons button{display:flex;width:48px;height:48px;padding:8px;justify-content:center;align-items:center;border-radius:var(--radius-radius-md, 8px);background:rgba(0, 0, 0, 0.25);border:none;cursor:pointer}.hidden{display:none}.visible{display:flex}";const I=class{constructor(e){t(this,e),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.basicEventData=void 0,this.startUpload=void 0,this.loading=!1,this.accept="image",this.resetVpsButton=void 0,this.capture=void 0}async handleInputChange(t){this.vviinnImageUpload.emit(this.basicEventData);const i=t.target,e=await f(i.files[0]);o.pipe(e,b((({kind:t})=>this.vviinnNoResult.emit(Object.assign(Object.assign({},this.basicEventData),{reason:t}))),(()=>this.vviinnImageUploadFinished.emit()))),i.value=null}startUploadWatcher(t){t&&(this.fileInput.click(),this.resetVpsButton())}render(){return e(n,{exportparts:"button"},this.loading?e("vviinn-preloader",null):e("label",{htmlFor:"fileInput",part:"button"},e("slot",{name:"upload-button-text"},"Upload image")),e("input",{id:"fileInput",class:"visually-hidden",type:"file",capture:this.capture,accept:"image"===this.accept?"image/*":"application/octet-stream",onChange:t=>this.handleInputChange(t),ref:t=>this.fileInput=t}))}static get watchers(){return{startUpload:["startUploadWatcher"]}}};I.style=".visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}label{cursor:pointer;display:grid;width:100%;height:100%;transition:background 0.1s ease-in-out}";var P=g((function(t){
1
+ import{r as t,c as i,h as e,H as n,g as s}from"./p-1e83e6ba.js";import{i as r,a as o,O as a,r as h,u as c,v as l,w as d,x as p,y as u,z as v,B as f,E as m,C as b,o as g,n as w,D as x,F as y,G as k,H as M,N as C}from"./p-987a8e9f.js";import{i as j}from"./p-2e76a5c3.js";import{W as z,M as O,P as E,R as N,S as A,A as D}from"./p-7f19baa1.js";import{s as S,c as T}from"./p-c8ef8d6c.js";const B=(t,i)=>{var e;if(!t)return"";const n={};return t.href.split("?")[1].split("included[]=").join("").split("&").forEach((t=>{const[i,e]=t.split("%3A");n[i]=e})),"categories"===i?null!==(e=n.product_type)&&void 0!==e?e:n.google_product_category:n[i]},_=class{constructor(e){t(this,e),this.vviinnSelectFilter=i(this,"vviinnSelectFilter",7),this.filterType=this.filter.name,this.filter=null,this.basicEventData=void 0,this.selectedFilter="",this.hideFilters=!0}isCategoriesFilterType(){return"categories"===this.filterType}getFilterKind(){return this.isCategoriesFilterType()?"category":this.filterType}handleFilterSelection(t){return this.isFilterSelected(t)?this.clearSelectedFilter(t):this.selectFilter(t)}selectFilter(t){r.activeIonLink=t,this.selectedFilter=B(t,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"select",kind:this.getFilterKind()}))}clearSelectedFilter(t){r.activeIonLink=t.clear,this.selectedFilter=B(t.clear,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"deselect",kind:this.getFilterKind()}))}toggleFilters(){this.hideFilters=!this.hideFilters}handleEnter(t,i){"Enter"===t.key&&this.handleFilterSelection(i)}isFilterSelected(t){return this.isCategoriesFilterType()?this.selectedFilter===B(t,"categories"):this.selectedFilter===t.name}render(){if(!this.filter)return null;const{name:t,filters:i}=this.filter;return e(n,{exportparts:"filter, show-more-filters"},e("div",{class:{filters:!0,"no-scrollbar-mobile":this.isCategoriesFilterType(),"no-scrollbar":!this.isCategoriesFilterType()}},i.filter(((t,i)=>!this.hideFilters||i<5)).map(((i,n)=>{const s="categories"===t?this.selectedFilter===B(i,"categories"):this.selectedFilter===i.name;return e("div",{role:"button",tabindex:"0",key:n,part:s?"filter active":"filter",class:{filter:!0,active:s},style:{"animation-delay":10*n+"ms"},onPointerUp:t=>{r.loading||(t.stopPropagation(),this.handleFilterSelection(i))},onKeyPress:t=>{r.loading||this.handleEnter(t,i)}},i.name)})),this.hideFilters&&e("div",{class:{"show-more":!0,hidden:i.length<=5,active:!this.hideFilters},role:"button",tabindex:"0","aria-role":"button",onClick:()=>{setTimeout((()=>this.toggleFilters()),300)},onKeyPress:t=>{"Enter"===t.key&&this.toggleFilters()},part:"show-more-filters"})))}get el(){return s(this)}};_.style=".filters{display:flex;flex-direction:row;overflow-x:auto;padding:0 12px 12px 24px}.filter{align-items:center;color:#525252;cursor:pointer;display:flex;margin-right:12px;height:-moz-max-content;height:max-content;min-width:-moz-max-content;min-width:max-content;transition-property:background;transition-duration:0.5s;transition-timing-function:ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 12px}.show-more{display:flex}.show-more.hidden{display:none !important}.show-more::after{position:relative;content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12.2l-6-6L3.2 5 8 9.8 12.8 5 14 6.2l-6 6z' fill='%23525252'/%3E%3C/svg%3E\");display:block;transform:rotate(-90deg);left:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 768px){.filters{padding-right:54px;padding-bottom:0}}@media (max-width: 640px){.no-scrollbar-mobile{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar-mobile::-webkit-scrollbar{display:none}}";const F=class{constructor(e){t(this,e),this.vviinnSelectObject=i(this,"vviinnSelectObject",7),this.detectedObject=void 0,this.basicEventData=void 0,this.position=["0","0"]}getObjectPosition(){return o.pipe(r.imageBounds,a.map((t=>{const i=h(c(this.detectedObject).rectangle),{x:e,y:n}=o.pipe(i,l(t),d);return[`${e}px`,`${n}px`]})),a.getOrElse((()=>["0","0"])))}selectDetectedObject(){o.pipe(r.imageBounds,a.map((t=>{const i=c(this.detectedObject).rectangle,e=h(i),n=l(t)(e);r.detectedObject=this.detectedObject,r.searchArea=a.some(n)}))),p(),this.vviinnSelectObject.emit(Object.assign(Object.assign({},this.basicEventData),{detectedObject:this.detectedObject}))}isActive(){if(!this.detectedObject)return!1;if(!r.detectedObject)return!1;const t=c(this.detectedObject),i=c(r.detectedObject);return u.equals(t,i)}render(){return e(n,{class:{active:this.isActive()},onClick:()=>this.selectDetectedObject(),style:{"--x-position":this.getObjectPosition()[0],"--y-position":this.getObjectPosition()[1]}})}};F.style=':host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block;position:absolute;left:calc(var(--x-position));top:calc(var(--y-position));z-index:2}:host::before,:host::after{content:"";cursor:pointer;position:absolute;height:var(--size);width:var(--size);left:calc(-1 * var(--size) / 2);top:calc(-1 * var(--size) / 2)}:host::before{--size:36px;border-radius:50%;z-index:0;background:rgba(0, 0, 0, 0.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform 0.07s ease-in-out}:host::after{--size:13px;border-radius:50%;z-index:1;background:white;box-shadow:0px 2px 2px 0px rgba(0, 0, 0, 0.15);transition:transform 0.07s ease-in-out}:host(.active)::before{transform:scale(0.88);background:rgba(0, 0, 0, 0.4)}:host(.active)::after{transform:scale(0.67)}@media (min-width: 768px){:host(:not(.active):hover)::before{transform:scale(1.08);background:rgba(0, 0, 0, 0.32)}}';const W=class{constructor(i){t(this,i),this.handler=void 0}render(){return e(n,null,e("vviinn-error",null,e(z,null),e("h4",{slot:"title"},j.t("emptyResultsBlock.title")),e("button",{slot:"action",onClick:this.handler},j.t("emptyResultsBlock.button"))))}},R=class{constructor(e){t(this,e),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.vviinnCameraEnabled=i(this,"vviinnCameraEnabled",7),this.videoTrack=null,this.initializeZoom=async()=>{if(!this.videoTrack)return;const t=this.videoTrack.getCapabilities();"zoom"in t&&(this.zoomCapabilities=t.zoom,await this.videoTrack.applyConstraints({advanced:[{zoom:this.zoomCapabilities.min}]}))},this.onZoom=async t=>{var i;if(!this.videoTrack||!this.zoomCapabilities)return;const{max:e,min:n}=this.zoomCapabilities,s=null!==(i=this.videoTrack.getSettings().zoom)&&void 0!==i?i:n,r=Math.round((e-n)/3*10)/10;let o;o="in"===t?s+r:s-r,o<n&&(o=n),o>e&&(o=e),await this.videoTrack.applyConstraints({advanced:[{zoom:o}]})},this.exampleImageSource=void 0,this.width=0,this.height=0,this.basicEventData=void 0,this.srcObject=void 0,this.cameraButtonClicked=!1,this.selected=!1,this.videoInitialized=!1,this.zoomCapabilities=null}componentDidLoad(){this.videoElement=this.el.shadowRoot.getElementById("camera-preview")}createPlaceholderImageCanvas(){const t=this.el.shadowRoot.getElementById("captured-image-placeholder"),i=this.videoElement,{videoWidth:e,videoHeight:n}=i,s=document.createElement("canvas");s.width=e,s.height=n,s.getContext("2d").drawImage(i,0,0,s.width,s.height);const r=s.toDataURL("image/jpeg");t.src=r}async selectImage(){if(!this.srcObject)return;let t;this.vviinnImageUpload.emit(this.basicEventData);const i=this.el.shadowRoot.getElementById("photo-frame"),e=this.videoElement,n=i.getBoundingClientRect(),s=e.getBoundingClientRect(),{videoWidth:r,videoHeight:a}=e,h=document.createElement("canvas");this.selected=!0,this.videoElement.pause(),this.createPlaceholderImageCanvas();const c=r/s.width,l=a/s.height,d=Math.min(n.width*c,n.height*l);h.width=d,h.height=d;const p=(n.left-s.left+(n.width-d/c)/2)*c,u=(n.top-s.top+(n.height-d/l)/2)*l;h.getContext("2d").drawImage(e,p,u,d,d,0,0,h.width,h.height);const b=h.toDataURL("image/jpeg");t=await v(b),o.pipe(await f(t),m.match((()=>this.vviinnNoResult.emit(this.basicEventData)),(()=>this.vviinnImageUploadFinished.emit()))),this.selected=!1,this.videoInitialized=!1,this.vviinnCameraEnabled.emit(!1)}handleKeyPress({key:t}){"Enter"!==t&&" "!==t||this.selectImage()}handleSrcObjectChange(){this.srcObject?(this.videoElement.srcObject=this.srcObject,this.videoTrack=this.srcObject.getVideoTracks()[0],this.initializeZoom(),this.videoElement.onloadedmetadata=()=>{this.vviinnCameraEnabled.emit(!0),this.videoInitialized=!0}):this.videoInitialized=!1}render(){return e(n,{onKeyUp:t=>this.handleKeyPress(t),class:{"video-expanded":this.cameraButtonClicked}},e("video",{id:"camera-preview",class:{hidden:!this.videoInitialized||this.selected},autoplay:!0,playsinline:!0,muted:!0}),e("img",{src:this.exampleImageSource,width:this.width,height:this.height,tabindex:1,class:{hidden:this.videoInitialized||this.selected}}),e("img",{id:"captured-image-placeholder",class:{hidden:!this.selected}}),e("div",{class:"container",id:"container"},e("div",{class:{hidden:!this.videoInitialized},id:"photo-frame"}),this.zoomCapabilities&&this.videoInitialized&&e("div",{class:"buttons-group zoom-buttons"},e("button",{onClick:()=>this.onZoom("out")},e(O,null)),e("button",{onClick:()=>this.onZoom("in")},e(E,null))),e("div",{class:"buttons-group"},e("button",{class:{"photo-button":!0,visible:this.videoInitialized},onClick:()=>this.selectImage()},e(N,null)))))}get el(){return s(this)}static get watchers(){return{srcObject:["handleSrcObjectChange"]}}};R.style=":host{display:block;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;flex-grow:1;transition:min-height 1s}:host(.video-expanded){min-height:100%;transition:min-height 0.8s}img{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}#camera-preview{width:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:relative}#captured-image-placeholder{height:auto}.container{position:absolute;width:100%;height:96%;left:0;top:0;display:flex;flex-direction:column;padding:56px 25px 0 25px;justify-content:space-around;align-content:center;box-sizing:border-box}@media (min-width: 768px){.container{padding:56px 40px 0 40px}}#photo-frame{position:relative;aspect-ratio:1/1;border:1px solid white;border-radius:10px;background-color:transparent;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;max-width:580px;margin:0 auto}.buttons-group{width:100%;left:0;display:flex;align-items:center}.photo-button{display:none;cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{bottom:168px;justify-content:center;gap:12px}.zoom-buttons button{display:flex;width:48px;height:48px;padding:8px;justify-content:center;align-items:center;border-radius:var(--radius-radius-md, 8px);background:rgba(0, 0, 0, 0.25);border:none;cursor:pointer}.hidden{display:none}.visible{display:flex}";const I=class{constructor(e){t(this,e),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.basicEventData=void 0,this.startUpload=void 0,this.loading=!1,this.accept="image",this.resetVpsButton=void 0,this.capture=void 0}async handleInputChange(t){this.vviinnImageUpload.emit(this.basicEventData);const i=t.target,e=await f(i.files[0]);o.pipe(e,b((({kind:t})=>this.vviinnNoResult.emit(Object.assign(Object.assign({},this.basicEventData),{reason:t}))),(()=>this.vviinnImageUploadFinished.emit()))),i.value=null}startUploadWatcher(t){t&&(this.fileInput.click(),this.resetVpsButton())}render(){return e(n,{exportparts:"button"},this.loading?e("vviinn-preloader",null):e("label",{htmlFor:"fileInput",part:"button"},e("slot",{name:"upload-button-text"},"Upload image")),e("input",{id:"fileInput",class:"visually-hidden",type:"file",capture:this.capture,accept:"image"===this.accept?"image/*":"application/octet-stream",onChange:t=>this.handleInputChange(t),ref:t=>this.fileInput=t}))}static get watchers(){return{startUpload:["startUploadWatcher"]}}};I.style=".visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}label{cursor:pointer;display:grid;width:100%;height:100%;transition:background 0.1s ease-in-out}";var P=g((function(t){
2
2
  /*!
3
3
  * Cropper.js v1.5.13
4
4
  * https://fengyuanchen.github.io/cropperjs
@@ -8,4 +8,4 @@ import{r as t,c as i,h as e,H as n,g as s}from"./p-1e83e6ba.js";import{i as r,a
8
8
  *
9
9
  * Date: 2022-11-20T05:30:46.114Z
10
10
  */
11
- t.exports=function(){function t(t,i){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);i&&(n=n.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),e.push.apply(e,n)}return e}function i(i){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(t){s(i,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(n,t))}))}return i}function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t,i){for(var e=0;e<i.length;e++){var n=i[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function s(t,i,e){return i in t?Object.defineProperty(t,i,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[i]=e,t}function r(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){if(t){if("string"==typeof t)return o(t,i);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?o(t,i):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,i){(null==i||i>t.length)&&(i=t.length);for(var e=0,n=new Array(i);e<i;e++)n[e]=t[e];return n}var a="undefined"!=typeof window&&void 0!==window.document,h=a?window:{},c=!(!a||!h.document.documentElement)&&"ontouchstart"in h.document.documentElement,l=!!a&&"PointerEvent"in h,d="cropper",p="all",u="crop",v="move",f="zoom",m="e",b="w",g="s",w="n",x="ne",y="nw",k="se",M="sw",C="".concat(d,"-crop"),j="".concat(d,"-disabled"),z="".concat(d,"-hidden"),O="".concat(d,"-hide"),E="".concat(d,"-invisible"),N="".concat(d,"-modal"),D="".concat(d,"-move"),S="".concat(d,"Action"),T="".concat(d,"Preview"),A="crop",B="move",F="none",W="crop",_="cropend",R="cropmove",I="cropstart",P="dblclick",Y=l?"pointerdown":c?"touchstart":"mousedown",L=l?"pointermove":c?"touchmove":"mousemove",X=l?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",H="ready",U="resize",$="wheel",K="zoom",V="image/jpeg",q=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,Z=/^data:/,G=/^data:image\/jpeg;base64,/,J=/^img|canvas$/i,Q={viewMode:0,dragMode:A,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},tt=Number.isNaN||h.isNaN;function it(t){return"number"==typeof t&&!tt(t)}var et=function(t){return t>0&&t<1/0};function nt(t){return void 0===t}function st(t){return"object"===e(t)&&null!==t}var rt=Object.prototype.hasOwnProperty;function ot(t){if(!st(t))return!1;try{var i=t.constructor,e=i.prototype;return i&&e&&rt.call(e,"isPrototypeOf")}catch(t){return!1}}function at(t){return"function"==typeof t}var ht=Array.prototype.slice;function ct(t){return Array.from?Array.from(t):ht.call(t)}function lt(t,i){return t&&at(i)&&(Array.isArray(t)||it(t.length)?ct(t).forEach((function(e,n){i.call(t,e,n,t)})):st(t)&&Object.keys(t).forEach((function(e){i.call(t,t[e],e,t)}))),t}var dt=Object.assign||function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return st(t)&&e.length>0&&e.forEach((function(i){st(i)&&Object.keys(i).forEach((function(e){t[e]=i[e]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ut(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*i)/i:t}var vt=/^width|height|left|top|marginLeft|marginTop$/;function ft(t,i){var e=t.style;lt(i,(function(t,i){vt.test(i)&&it(t)&&(t="".concat(t,"px")),e[i]=t}))}function mt(t,i){if(i)if(it(t.length))lt(t,(function(t){mt(t,i)}));else if(t.classList)t.classList.add(i);else{var e=t.className.trim();e?e.indexOf(i)<0&&(t.className="".concat(e," ").concat(i)):t.className=i}}function bt(t,i){i&&(it(t.length)?lt(t,(function(t){bt(t,i)})):t.classList?t.classList.remove(i):t.className.indexOf(i)>=0&&(t.className=t.className.replace(i,"")))}function gt(t,i,e){i&&(it(t.length)?lt(t,(function(t){gt(t,i,e)})):e?mt(t,i):bt(t,i))}var wt=/([a-z\d])([A-Z])/g;function xt(t){return t.replace(wt,"$1-$2").toLowerCase()}function yt(t,i){return st(t[i])?t[i]:t.dataset?t.dataset[i]:t.getAttribute("data-".concat(xt(i)))}function kt(t,i,e){st(e)?t[i]=e:t.dataset?t.dataset[i]=e:t.setAttribute("data-".concat(xt(i)),e)}var Mt=/\s\s*/,Ct=function(){var t=!1;if(a){var i=!1,e=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,i},set:function(t){i=t}});h.addEventListener("test",e,n),h.removeEventListener("test",e,n)}return t}();function jt(t,i,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=e;i.trim().split(Mt).forEach((function(i){if(!Ct){var r=t.listeners;r&&r[i]&&r[i][e]&&(s=r[i][e],delete r[i][e],0===Object.keys(r[i]).length&&delete r[i],0===Object.keys(r).length&&delete t.listeners)}t.removeEventListener(i,s,n)}))}function zt(t,i,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=e;i.trim().split(Mt).forEach((function(i){if(n.once&&!Ct){var r=t.listeners,o=void 0===r?{}:r;s=function(){delete o[i][e],t.removeEventListener(i,s,n);for(var r=arguments.length,a=new Array(r),h=0;h<r;h++)a[h]=arguments[h];e.apply(t,a)},o[i]||(o[i]={}),o[i][e]&&t.removeEventListener(i,o[i][e],n),o[i][e]=s,t.listeners=o}t.addEventListener(i,s,n)}))}function Ot(t,i,e){var n;return at(Event)&&at(CustomEvent)?n=new CustomEvent(i,{detail:e,bubbles:!0,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(i,!0,!0,e),t.dispatchEvent(n)}function Et(t){var i=t.getBoundingClientRect();return{left:i.left+(window.pageXOffset-document.documentElement.clientLeft),top:i.top+(window.pageYOffset-document.documentElement.clientTop)}}var Nt=h.location,Dt=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function St(t){var i=t.match(Dt);return null!==i&&(i[1]!==Nt.protocol||i[2]!==Nt.hostname||i[3]!==Nt.port)}function Tt(t){var i="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+i}function At(t){var i=t.rotate,e=t.scaleX,n=t.scaleY,s=t.translateX,r=t.translateY,o=[];it(s)&&0!==s&&o.push("translateX(".concat(s,"px)")),it(r)&&0!==r&&o.push("translateY(".concat(r,"px)")),it(i)&&0!==i&&o.push("rotate(".concat(i,"deg)")),it(e)&&1!==e&&o.push("scaleX(".concat(e,")")),it(n)&&1!==n&&o.push("scaleY(".concat(n,")"));var a=o.length?o.join(" "):"none";return{WebkitTransform:a,msTransform:a,transform:a}}function Bt(t,e){var n=t.pageX,s=t.pageY,r={endX:n,endY:s};return e?r:i({startX:n,startY:s},r)}function Ft(t){var i=t.aspectRatio,e=t.height,n=t.width,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",r=et(n),o=et(e);if(r&&o){var a=e*i;"contain"===s&&a>n||"cover"===s&&a<n?e=n/i:n=e*i}else r?e=n/i:o&&(n=e*i);return{width:n,height:e}}var Wt=String.fromCharCode;var _t=/^data:.*,/;function Rt(t){var i,e=new DataView(t);try{var n,s,r;if(255===e.getUint8(0)&&216===e.getUint8(1))for(var o=e.byteLength,a=2;a+1<o;){if(255===e.getUint8(a)&&225===e.getUint8(a+1)){s=a;break}a+=1}if(s){var h=s+10;if("Exif"===function(t,i,e){var n="";e+=i;for(var s=i;s<e;s+=1)n+=Wt(t.getUint8(s));return n}(e,s+4,4)){var c=e.getUint16(h);if(((n=18761===c)||19789===c)&&42===e.getUint16(h+2,n)){var l=e.getUint32(h+4,n);l>=8&&(r=h+l)}}}if(r){var d,p,u=e.getUint16(r,n);for(p=0;p<u;p+=1)if(274===e.getUint16(d=r+12*p+2,n)){i=e.getUint16(d+=8,n),e.setUint16(d,1,n);break}}}catch(t){i=1}return i}var It={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,i=this.options,e=this.container,n=this.cropper,s=Number(i.minContainerWidth),r=Number(i.minContainerHeight);mt(n,z),bt(t,z);var o={width:Math.max(e.offsetWidth,s>=0?s:200),height:Math.max(e.offsetHeight,r>=0?r:100)};this.containerData=o,ft(n,{width:o.width,height:o.height}),mt(t,z),bt(n,z)},initCanvas:function(){var t=this.containerData,i=this.imageData,e=this.options.viewMode,n=Math.abs(i.rotate)%180==90,s=n?i.naturalHeight:i.naturalWidth,r=n?i.naturalWidth:i.naturalHeight,o=s/r,a=t.width,h=t.height;t.height*o>t.width?3===e?a=t.height*o:h=t.width/o:3===e?h=t.width/o:a=t.height*o;var c={aspectRatio:o,naturalWidth:s,naturalHeight:r,width:a,height:h};this.canvasData=c,this.limited=1===e||2===e,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=dt({},c)},limitCanvas:function(t,i){var e=this.options,n=this.containerData,s=this.canvasData,r=this.cropBoxData,o=e.viewMode,a=s.aspectRatio,h=this.cropped&&r;if(t){var c=Number(e.minCanvasWidth)||0,l=Number(e.minCanvasHeight)||0;o>1?(c=Math.max(c,n.width),l=Math.max(l,n.height),3===o&&(l*a>c?c=l*a:l=c/a)):o>0&&(c?c=Math.max(c,h?r.width:0):l?l=Math.max(l,h?r.height:0):h&&((l=r.height)*a>(c=r.width)?c=l*a:l=c/a));var d=Ft({aspectRatio:a,width:c,height:l});l=d.height,s.minWidth=c=d.width,s.minHeight=l,s.maxWidth=1/0,s.maxHeight=1/0}if(i)if(o>(h?0:1)){var p=n.width-s.width,u=n.height-s.height;s.minLeft=Math.min(0,p),s.minTop=Math.min(0,u),s.maxLeft=Math.max(0,p),s.maxTop=Math.max(0,u),h&&this.limited&&(s.minLeft=Math.min(r.left,r.left+(r.width-s.width)),s.minTop=Math.min(r.top,r.top+(r.height-s.height)),s.maxLeft=r.left,s.maxTop=r.top,2===o&&(s.width>=n.width&&(s.minLeft=Math.min(0,p),s.maxLeft=Math.max(0,p)),s.height>=n.height&&(s.minTop=Math.min(0,u),s.maxTop=Math.max(0,u))))}else s.minLeft=-s.width,s.minTop=-s.height,s.maxLeft=n.width,s.maxTop=n.height},renderCanvas:function(t,i){var e=this.canvasData,n=this.imageData;if(i){var s=function(t){var i=t.width,e=t.height,n=t.degree;if(90==(n=Math.abs(n)%180))return{width:e,height:i};var s=n%90*Math.PI/180,r=Math.sin(s),o=Math.cos(s),a=i*o+e*r,h=i*r+e*o;return n>90?{width:h,height:a}:{width:a,height:h}}({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),r=s.width,o=s.height,a=e.width*(r/e.naturalWidth),h=e.height*(o/e.naturalHeight);e.left-=(a-e.width)/2,e.top-=(h-e.height)/2,e.width=a,e.height=h,e.aspectRatio=r/o,e.naturalWidth=r,e.naturalHeight=o,this.limitCanvas(!0,!1)}(e.width>e.maxWidth||e.width<e.minWidth)&&(e.left=e.oldLeft),(e.height>e.maxHeight||e.height<e.minHeight)&&(e.top=e.oldTop),e.width=Math.min(Math.max(e.width,e.minWidth),e.maxWidth),e.height=Math.min(Math.max(e.height,e.minHeight),e.maxHeight),this.limitCanvas(!1,!0),e.left=Math.min(Math.max(e.left,e.minLeft),e.maxLeft),e.top=Math.min(Math.max(e.top,e.minTop),e.maxTop),e.oldLeft=e.left,e.oldTop=e.top,ft(this.canvas,dt({width:e.width,height:e.height},At({translateX:e.left,translateY:e.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var i=this.canvasData,e=this.imageData,n=e.naturalWidth*(i.width/i.naturalWidth),s=e.naturalHeight*(i.height/i.naturalHeight);dt(e,{width:n,height:s,left:(i.width-n)/2,top:(i.height-s)/2}),ft(this.image,dt({width:e.width,height:e.height},At(dt({translateX:e.left,translateY:e.top},e)))),t&&this.output()},initCropBox:function(){var t=this.options,i=this.canvasData,e=t.aspectRatio||t.initialAspectRatio,n=Number(t.autoCropArea)||.8,s={width:i.width,height:i.height};e&&(i.height*e>i.width?s.height=s.width/e:s.width=s.height*e),this.cropBoxData=s,this.limitCropBox(!0,!0),s.width=Math.min(Math.max(s.width,s.minWidth),s.maxWidth),s.height=Math.min(Math.max(s.height,s.minHeight),s.maxHeight),s.width=Math.max(s.minWidth,s.width*n),s.height=Math.max(s.minHeight,s.height*n),s.left=i.left+(i.width-s.width)/2,s.top=i.top+(i.height-s.height)/2,s.oldLeft=s.left,s.oldTop=s.top,this.initialCropBoxData=dt({},s)},limitCropBox:function(t,i){var e=this.options,n=this.containerData,s=this.canvasData,r=this.cropBoxData,o=this.limited,a=e.aspectRatio;if(t){var h=Number(e.minCropBoxWidth)||0,c=Number(e.minCropBoxHeight)||0,l=o?Math.min(n.width,s.width,s.width+s.left,n.width-s.left):n.width,d=o?Math.min(n.height,s.height,s.height+s.top,n.height-s.top):n.height;h=Math.min(h,n.width),c=Math.min(c,n.height),a&&(h&&c?c*a>h?c=h/a:h=c*a:h?c=h/a:c&&(h=c*a),d*a>l?d=l/a:l=d*a),r.minWidth=Math.min(h,l),r.minHeight=Math.min(c,d),r.maxWidth=l,r.maxHeight=d}i&&(o?(r.minLeft=Math.max(0,s.left),r.minTop=Math.max(0,s.top),r.maxLeft=Math.min(n.width,s.left+s.width)-r.width,r.maxTop=Math.min(n.height,s.top+s.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=n.width-r.width,r.maxTop=n.height-r.height))},renderCropBox:function(){var t=this.options,i=this.containerData,e=this.cropBoxData;(e.width>e.maxWidth||e.width<e.minWidth)&&(e.left=e.oldLeft),(e.height>e.maxHeight||e.height<e.minHeight)&&(e.top=e.oldTop),e.width=Math.min(Math.max(e.width,e.minWidth),e.maxWidth),e.height=Math.min(Math.max(e.height,e.minHeight),e.maxHeight),this.limitCropBox(!1,!0),e.left=Math.min(Math.max(e.left,e.minLeft),e.maxLeft),e.top=Math.min(Math.max(e.top,e.minTop),e.maxTop),e.oldLeft=e.left,e.oldTop=e.top,t.movable&&t.cropBoxMovable&&kt(this.face,S,e.width>=i.width&&e.height>=i.height?v:p),ft(this.cropBox,dt({width:e.width,height:e.height},At({translateX:e.left,translateY:e.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Ot(this.element,W,this.getData())}},Pt={initPreview:function(){var t=this.element,i=this.crossOrigin,e=this.options.preview,n=i?this.crossOriginUrl:this.url,s=t.alt||"The image to preview",r=document.createElement("img");if(i&&(r.crossOrigin=i),r.src=n,r.alt=s,this.viewBox.appendChild(r),this.viewBoxImage=r,e){var o=e;"string"==typeof e?o=t.ownerDocument.querySelectorAll(e):e.querySelector&&(o=[e]),this.previews=o,lt(o,(function(t){var e=document.createElement("img");kt(t,T,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),i&&(e.crossOrigin=i),e.src=n,e.alt=s,e.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(e)}))}},resetPreview:function(){lt(this.previews,(function(t){var i=yt(t,T);ft(t,{width:i.width,height:i.height}),t.innerHTML=i.html,function(t,i){if(st(t[i]))try{delete t[i]}catch(e){t[i]=void 0}else if(t.dataset)try{delete t.dataset[i]}catch(e){t.dataset[i]=void 0}else t.removeAttribute("data-".concat(xt(i)))}(t,T)}))},preview:function(){var t=this.imageData,i=this.canvasData,e=this.cropBoxData,n=e.width,s=e.height,r=t.width,o=t.height,a=e.left-i.left-t.left,h=e.top-i.top-t.top;this.cropped&&!this.disabled&&(ft(this.viewBoxImage,dt({width:r,height:o},At(dt({translateX:-a,translateY:-h},t)))),lt(this.previews,(function(i){var e=yt(i,T),c=e.width,l=e.height,d=c,p=l,u=1;n&&(p=s*(u=c/n)),s&&p>l&&(d=n*(u=l/s),p=l),ft(i,{width:d,height:p}),ft(i.getElementsByTagName("img")[0],dt({width:r*u,height:o*u},At(dt({translateX:-a*u,translateY:-h*u},t))))})))}},Yt={bind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&zt(t,I,i.cropstart),at(i.cropmove)&&zt(t,R,i.cropmove),at(i.cropend)&&zt(t,_,i.cropend),at(i.crop)&&zt(t,W,i.crop),at(i.zoom)&&zt(t,K,i.zoom),zt(e,Y,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&zt(e,$,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&zt(e,P,this.onDblclick=this.dblclick.bind(this)),zt(t.ownerDocument,L,this.onCropMove=this.cropMove.bind(this)),zt(t.ownerDocument,X,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&zt(window,U,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&jt(t,I,i.cropstart),at(i.cropmove)&&jt(t,R,i.cropmove),at(i.cropend)&&jt(t,_,i.cropend),at(i.crop)&&jt(t,W,i.crop),at(i.zoom)&&jt(t,K,i.zoom),jt(e,Y,this.onCropStart),i.zoomable&&i.zoomOnWheel&&jt(e,$,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&jt(e,P,this.onDblclick),jt(t.ownerDocument,L,this.onCropMove),jt(t.ownerDocument,X,this.onCropEnd),i.responsive&&jt(window,U,this.onResize)}},Lt={resize:function(){if(!this.disabled){var t,i,e=this.options,n=this.container,s=this.containerData,r=n.offsetWidth/s.width,o=n.offsetHeight/s.height,a=Math.abs(r-1)>Math.abs(o-1)?r:o;1!==a&&(e.restore&&(t=this.getCanvasData(),i=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(lt(t,(function(i,e){t[e]=i*a}))),this.setCropBoxData(lt(i,(function(t,e){i[e]=t*a})))))}},dblclick:function(){var t,i;this.disabled||this.options.dragMode===F||this.setDragMode((i=C,((t=this.dragBox).classList?t.classList.contains(i):t.className.indexOf(i)>-1)?B:A))},wheel:function(t){var i=this,e=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){i.wheeling=!1}),50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*e,t)))},cropStart:function(t){var i=t.buttons,e=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(it(i)&&1!==i||it(e)&&0!==e||t.ctrlKey))){var n,s=this.options,r=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){r[t.identifier]=Bt(t)})):r[t.pointerId||0]=Bt(t),n=Object.keys(r).length>1&&s.zoomable&&s.zoomOnTouch?f:yt(t.target,S),q.test(n)&&!1!==Ot(this.element,I,{originalEvent:t,action:n})&&(t.preventDefault(),this.action=n,this.cropping=!1,n===u&&(this.cropping=!0,mt(this.dragBox,N)))}},cropMove:function(t){var i=this.action;if(!this.disabled&&i){var e=this.pointers;t.preventDefault(),!1!==Ot(this.element,R,{originalEvent:t,action:i})&&(t.changedTouches?lt(t.changedTouches,(function(t){dt(e[t.identifier]||{},Bt(t,!0))})):dt(e[t.pointerId||0]||{},Bt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,e=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){delete e[t.identifier]})):delete e[t.pointerId||0],i&&(t.preventDefault(),Object.keys(e).length||(this.action=""),this.cropping&&(this.cropping=!1,gt(this.dragBox,N,this.cropped&&this.options.modal)),Ot(this.element,_,{originalEvent:t,action:i}))}}},Xt={change:function(t){var e,n=this.canvasData,s=this.containerData,r=this.cropBoxData,o=this.pointers,a=this.action,h=this.options.aspectRatio,c=r.left,l=r.top,d=r.width,C=r.height,j=c+d,O=l+C,E=0,N=0,D=s.width,S=s.height,T=!0;!h&&t.shiftKey&&(h=d&&C?d/C:1),this.limited&&(N=r.minTop,D=(E=r.minLeft)+Math.min(s.width,n.width,n.left+n.width),S=N+Math.min(s.height,n.height,n.top+n.height));var A=o[Object.keys(o)[0]],B={x:A.endX-A.startX,y:A.endY-A.startY},F=function(t){switch(t){case m:j+B.x>D&&(B.x=D-j);break;case b:c+B.x<E&&(B.x=E-c);break;case w:l+B.y<N&&(B.y=N-l);break;case g:O+B.y>S&&(B.y=S-O)}};switch(a){case p:c+=B.x,l+=B.y;break;case m:if(B.x>=0&&(j>=D||h&&(l<=N||O>=S))){T=!1;break}F(m),(d+=B.x)<0&&(a=b,c-=d=-d),h&&(l+=(r.height-(C=d/h))/2);break;case w:if(B.y<=0&&(l<=N||h&&(c<=E||j>=D))){T=!1;break}F(w),l+=B.y,(C-=B.y)<0&&(a=g,l-=C=-C),h&&(c+=(r.width-(d=C*h))/2);break;case b:if(B.x<=0&&(c<=E||h&&(l<=N||O>=S))){T=!1;break}F(b),c+=B.x,(d-=B.x)<0&&(a=m,c-=d=-d),h&&(l+=(r.height-(C=d/h))/2);break;case g:if(B.y>=0&&(O>=S||h&&(c<=E||j>=D))){T=!1;break}F(g),(C+=B.y)<0&&(a=w,l-=C=-C),h&&(c+=(r.width-(d=C*h))/2);break;case x:if(h){if(B.y<=0&&(l<=N||j>=D)){T=!1;break}F(w),l+=B.y,d=(C-=B.y)*h}else F(w),F(m),B.x>=0?j<D?d+=B.x:B.y<=0&&l<=N&&(T=!1):d+=B.x,B.y<=0?l>N&&(C-=B.y,l+=B.y):(C-=B.y,l+=B.y);d<0&&C<0?(a=M,l-=C=-C,c-=d=-d):d<0?(a=y,c-=d=-d):C<0&&(a=k,l-=C=-C);break;case y:if(h){if(B.y<=0&&(l<=N||c<=E)){T=!1;break}F(w),l+=B.y,c+=r.width-(d=(C-=B.y)*h)}else F(w),F(b),B.x<=0?c>E?(d-=B.x,c+=B.x):B.y<=0&&l<=N&&(T=!1):(d-=B.x,c+=B.x),B.y<=0?l>N&&(C-=B.y,l+=B.y):(C-=B.y,l+=B.y);d<0&&C<0?(a=k,l-=C=-C,c-=d=-d):d<0?(a=x,c-=d=-d):C<0&&(a=M,l-=C=-C);break;case M:if(h){if(B.x<=0&&(c<=E||O>=S)){T=!1;break}F(b),c+=B.x,C=(d-=B.x)/h}else F(g),F(b),B.x<=0?c>E?(d-=B.x,c+=B.x):B.y>=0&&O>=S&&(T=!1):(d-=B.x,c+=B.x),B.y>=0?O<S&&(C+=B.y):C+=B.y;d<0&&C<0?(a=x,l-=C=-C,c-=d=-d):d<0?(a=k,c-=d=-d):C<0&&(a=y,l-=C=-C);break;case k:if(h){if(B.x>=0&&(j>=D||O>=S)){T=!1;break}F(m),C=(d+=B.x)/h}else F(g),F(m),B.x>=0?j<D?d+=B.x:B.y>=0&&O>=S&&(T=!1):d+=B.x,B.y>=0?O<S&&(C+=B.y):C+=B.y;d<0&&C<0?(a=y,l-=C=-C,c-=d=-d):d<0?(a=M,c-=d=-d):C<0&&(a=x,l-=C=-C);break;case v:this.move(B.x,B.y),T=!1;break;case f:this.zoom(function(t){var e=i({},t),n=0;return lt(t,(function(t,i){delete e[i],lt(e,(function(i){var e=Math.abs(t.startX-i.startX),s=Math.abs(t.startY-i.startY),r=Math.abs(t.endX-i.endX),o=Math.abs(t.endY-i.endY),a=Math.sqrt(e*e+s*s),h=(Math.sqrt(r*r+o*o)-a)/a;Math.abs(h)>Math.abs(n)&&(n=h)}))})),n}(o),t),T=!1;break;case u:if(!B.x||!B.y){T=!1;break}e=Et(this.cropper),c=A.startX-e.left,l=A.startY-e.top,d=r.minWidth,C=r.minHeight,B.x>0?a=B.y>0?k:x:B.x<0&&(c-=d,a=B.y>0?M:y),B.y<0&&(l-=C),this.cropped||(bt(this.cropBox,z),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}T&&(r.width=d,r.height=C,r.left=c,r.top=l,this.action=a,this.renderCropBox()),lt(o,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Ht={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&mt(this.dragBox,N),bt(this.cropBox,z),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=dt({},this.initialImageData),this.canvasData=dt({},this.initialCanvasData),this.cropBoxData=dt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(dt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),bt(this.dragBox,N),mt(this.cropBox,z)),this},replace:function(t){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),i?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,lt(this.previews,(function(i){i.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,bt(this.cropper,j)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,mt(this.cropper,j)),this},destroy:function(){var t=this.element;return t[d]?(t[d]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.canvasData,n=e.left,s=e.top;return this.moveTo(nt(t)?t:n+Number(t),nt(i)?i:s+Number(i))},moveTo:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(it(t)&&(e.left=t,n=!0),it(i)&&(e.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,i){var e=this.canvasData;return t=Number(t),this.zoomTo(e.width*(t=t<0?1/(1-t):1+t)/e.naturalWidth,null,i)},zoomTo:function(t,i,e){var n=this.options,s=this.canvasData,r=s.width,o=s.height,a=s.naturalWidth,h=s.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&n.zoomable){var c=a*t,l=h*t;if(!1===Ot(this.element,K,{ratio:t,oldRatio:r/a,originalEvent:e}))return this;if(e){var d=this.pointers,p=Et(this.cropper),u=d&&Object.keys(d).length?function(t){var i=0,e=0,n=0;return lt(t,(function(t){i+=t.startX,e+=t.startY,n+=1})),{pageX:i/=n,pageY:e/=n}}(d):{pageX:e.pageX,pageY:e.pageY};s.left-=(u.pageX-p.left-s.left)/r*(c-r),s.top-=(u.pageY-p.top-s.top)/o*(l-o)}else ot(i)&&it(i.x)&&it(i.y)?(s.left-=(i.x-s.left)/r*(c-r),s.top-=(i.y-s.top)/o*(l-o)):(s.left-=(c-r)/2,s.top-=(l-o)/2);s.width=c,s.height=l,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return it(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var i=this.imageData.scaleY;return this.scale(t,it(i)?i:1)},scaleY:function(t){var i=this.imageData.scaleX;return this.scale(it(i)?i:1,t)},scale:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(it(t)&&(e.scaleX=t,n=!0),it(i)&&(e.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.options,n=this.imageData,s=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){var o=n.width/n.naturalWidth;if(lt(t={x:r.left-s.left,y:r.top-s.top,width:r.width,height:r.height},(function(i,e){t[e]=i/o})),i){var a=Math.round(t.y+t.height),h=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=h-t.x,t.height=a-t.y}}else t={x:0,y:0,width:0,height:0};return e.rotatable&&(t.rotate=n.rotate||0),e.scalable&&(t.scaleX=n.scaleX||1,t.scaleY=n.scaleY||1),t},setData:function(t){var i=this.options,e=this.imageData,n=this.canvasData,s={};if(this.ready&&!this.disabled&&ot(t)){var r=!1;i.rotatable&&it(t.rotate)&&t.rotate!==e.rotate&&(e.rotate=t.rotate,r=!0),i.scalable&&(it(t.scaleX)&&t.scaleX!==e.scaleX&&(e.scaleX=t.scaleX,r=!0),it(t.scaleY)&&t.scaleY!==e.scaleY&&(e.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var o=e.width/e.naturalWidth;it(t.x)&&(s.left=t.x*o+n.left),it(t.y)&&(s.top=t.y*o+n.top),it(t.width)&&(s.width=t.width*o),it(t.height)&&(s.height=t.height*o),this.setCropBoxData(s)}return this},getContainerData:function(){return this.ready?dt({},this.containerData):{}},getImageData:function(){return this.sized?dt({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&lt(["left","top","width","height","naturalWidth","naturalHeight"],(function(e){i[e]=t[e]})),i},setCanvasData:function(t){var i=this.canvasData,e=i.aspectRatio;return this.ready&&!this.disabled&&ot(t)&&(it(t.left)&&(i.left=t.left),it(t.top)&&(i.top=t.top),it(t.width)?(i.width=t.width,i.height=t.width/e):it(t.height)&&(i.height=t.height,i.width=t.height*e),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,i=this.cropBoxData;return this.ready&&this.cropped&&(t={left:i.left,top:i.top,width:i.width,height:i.height}),t||{}},setCropBoxData:function(t){var i,e,n=this.cropBoxData,s=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&ot(t)&&(it(t.left)&&(n.left=t.left),it(t.top)&&(n.top=t.top),it(t.width)&&t.width!==n.width&&(i=!0,n.width=t.width),it(t.height)&&t.height!==n.height&&(e=!0,n.height=t.height),s&&(i?n.height=n.width/s:e&&(n.width=n.height*s)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i=this.canvasData,e=function(t,i,e,n){var s=i.aspectRatio,o=i.naturalWidth,a=i.naturalHeight,h=i.rotate,c=void 0===h?0:h,l=i.scaleX,d=void 0===l?1:l,p=i.scaleY,u=void 0===p?1:p,v=e.aspectRatio,f=e.naturalWidth,m=e.naturalHeight,b=n.fillColor,g=void 0===b?"transparent":b,w=n.imageSmoothingEnabled,x=void 0===w||w,y=n.imageSmoothingQuality,k=void 0===y?"low":y,M=n.maxWidth,C=void 0===M?1/0:M,j=n.maxHeight,z=void 0===j?1/0:j,O=n.minWidth,E=void 0===O?0:O,N=n.minHeight,D=void 0===N?0:N,S=document.createElement("canvas"),T=S.getContext("2d"),A=Ft({aspectRatio:v,width:C,height:z}),B=Ft({aspectRatio:v,width:E,height:D},"cover"),F=Math.min(A.width,Math.max(B.width,f)),W=Math.min(A.height,Math.max(B.height,m)),_=Ft({aspectRatio:s,width:C,height:z}),R=Ft({aspectRatio:s,width:E,height:D},"cover"),I=Math.min(_.width,Math.max(R.width,o)),P=Math.min(_.height,Math.max(R.height,a)),Y=[-I/2,-P/2,I,P];return S.width=ut(F),S.height=ut(W),T.fillStyle=g,T.fillRect(0,0,F,W),T.save(),T.translate(F/2,W/2),T.rotate(c*Math.PI/180),T.scale(d,u),T.imageSmoothingEnabled=x,T.imageSmoothingQuality=k,T.drawImage.apply(T,[t].concat(r(Y.map((function(t){return Math.floor(ut(t))}))))),T.restore(),S}(this.image,this.imageData,i,t);if(!this.cropped)return e;var n=this.getData(),s=n.x,o=n.y,a=n.width,h=n.height,c=e.width/Math.floor(i.naturalWidth);1!==c&&(s*=c,o*=c,a*=c,h*=c);var l=a/h,d=Ft({aspectRatio:l,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=Ft({aspectRatio:l,width:t.minWidth||0,height:t.minHeight||0},"cover"),u=Ft({aspectRatio:l,width:t.width||(1!==c?e.width:a),height:t.height||(1!==c?e.height:h)}),v=u.width,f=u.height;v=Math.min(d.width,Math.max(p.width,v)),f=Math.min(d.height,Math.max(p.height,f));var m=document.createElement("canvas"),b=m.getContext("2d");m.width=ut(v),m.height=ut(f),b.fillStyle=t.fillColor||"transparent",b.fillRect(0,0,v,f);var g=t.imageSmoothingEnabled,w=t.imageSmoothingQuality;b.imageSmoothingEnabled=void 0===g||g,w&&(b.imageSmoothingQuality=w);var x,y,k,M,C,j,z=e.width,O=e.height,E=s,N=o;E<=-a||E>z?(E=0,x=0,k=0,C=0):E<=0?(k=-E,E=0,C=x=Math.min(z,a+E)):E<=z&&(k=0,C=x=Math.min(a,z-E)),x<=0||N<=-h||N>O?(N=0,y=0,M=0,j=0):N<=0?(M=-N,N=0,j=y=Math.min(O,h+N)):N<=O&&(M=0,j=y=Math.min(h,O-N));var D=[E,N,x,y];if(C>0&&j>0){var S=v/a;D.push(k*S,M*S,C*S,j*S)}return b.drawImage.apply(b,[e].concat(r(D.map((function(t){return Math.floor(ut(t))}))))),m},setAspectRatio:function(t){var i=this.options;return this.disabled||nt(t)||(i.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var i=this.options,e=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var s=t===A,r=i.movable&&t===B;i.dragMode=t=s||r?t:F,kt(e,S,t),gt(e,C,s),gt(e,D,r),i.cropBoxMovable||(kt(n,S,t),gt(n,C,s),gt(n,D,r))}return this}},Ut=h.Cropper,$t=function(){function t(i){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),!i||!J.test(i.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=i,this.options=dt({},Q,ot(e)&&e),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return i=t,e=[{key:"init",value:function(){var t,i=this.element,e=i.tagName.toLowerCase();if(!i[d]){if(i[d]=this,"img"===e){if(this.isImg=!0,t=i.getAttribute("src")||"",this.originalUrl=t,!t)return;t=i.src}else"canvas"===e&&window.HTMLCanvasElement&&(t=i.toDataURL());this.load(t)}}},{key:"load",value:function(t){var i,e,n,s,r=this;if(t){this.url=t,this.imageData={};var o=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),a.checkOrientation&&window.ArrayBuffer)if(Z.test(t))G.test(t)?this.read((i=t.replace(_t,""),e=atob(i),n=new ArrayBuffer(e.length),lt(s=new Uint8Array(n),(function(t,i){s[i]=e.charCodeAt(i)})),n)):this.clone();else{var h=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=h,h.onabort=c,h.onerror=c,h.ontimeout=c,h.onprogress=function(){h.getResponseHeader("content-type")!==V&&h.abort()},h.onload=function(){r.read(h.response)},h.onloadend=function(){r.reloading=!1,r.xhr=null},a.checkCrossOrigin&&St(t)&&o.crossOrigin&&(t=Tt(t)),h.open("GET",t,!0),h.responseType="arraybuffer",h.withCredentials="use-credentials"===o.crossOrigin,h.send()}else this.clone()}}},{key:"read",value:function(t){var i=this.options,e=this.imageData,n=Rt(t),s=0,r=1,o=1;if(n>1){this.url=function(t,i){for(var e=[],n=new Uint8Array(t);n.length>0;)e.push(Wt.apply(null,ct(n.subarray(0,8192)))),n=n.subarray(8192);return"data:".concat(i,";base64,").concat(btoa(e.join("")))}(t,V);var a=function(t){var i=0,e=1,n=1;switch(t){case 2:e=-1;break;case 3:i=-180;break;case 4:n=-1;break;case 5:i=90,n=-1;break;case 6:i=90;break;case 7:i=90,e=-1;break;case 8:i=-90}return{rotate:i,scaleX:e,scaleY:n}}(n);s=a.rotate,r=a.scaleX,o=a.scaleY}i.rotatable&&(e.rotate=s),i.scalable&&(e.scaleX=r,e.scaleY=o),this.clone()}},{key:"clone",value:function(){var t=this.element,i=this.url,e=t.crossOrigin,n=i;this.options.checkCrossOrigin&&St(i)&&(e||(e="anonymous"),n=Tt(i)),this.crossOrigin=e,this.crossOriginUrl=n;var s=document.createElement("img");e&&(s.crossOrigin=e),s.src=n||i,s.alt=t.alt||"The image to crop",this.image=s,s.onload=this.start.bind(this),s.onerror=this.stop.bind(this),mt(s,O),t.parentNode.insertBefore(s,t.nextSibling)}},{key:"start",value:function(){var t=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var e=h.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(h.navigator.userAgent),n=function(i,e){dt(t.imageData,{naturalWidth:i,naturalHeight:e,aspectRatio:i/e}),t.initialImageData=dt({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!i.naturalWidth||e){var s=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=s,s.onload=function(){n(s.width,s.height),e||r.removeChild(s)},s.src=i.src,e||(s.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(s))}else n(i.naturalWidth,i.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,i=this.options,e=this.image,n=t.parentNode,s=document.createElement("div");s.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var r=s.querySelector(".".concat(d,"-container")),o=r.querySelector(".".concat(d,"-canvas")),a=r.querySelector(".".concat(d,"-drag-box")),h=r.querySelector(".".concat(d,"-crop-box")),c=h.querySelector(".".concat(d,"-face"));this.container=n,this.cropper=r,this.canvas=o,this.dragBox=a,this.cropBox=h,this.viewBox=r.querySelector(".".concat(d,"-view-box")),this.face=c,o.appendChild(e),mt(t,z),n.insertBefore(r,t.nextSibling),bt(e,O),this.initPreview(),this.bind(),i.initialAspectRatio=Math.max(0,i.initialAspectRatio)||NaN,i.aspectRatio=Math.max(0,i.aspectRatio)||NaN,i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0,mt(h,z),i.guides||mt(h.getElementsByClassName("".concat(d,"-dashed")),z),i.center||mt(h.getElementsByClassName("".concat(d,"-center")),z),i.background&&mt(r,"".concat(d,"-bg")),i.highlight||mt(c,E),i.cropBoxMovable&&(mt(c,D),kt(c,S,p)),i.cropBoxResizable||(mt(h.getElementsByClassName("".concat(d,"-line")),z),mt(h.getElementsByClassName("".concat(d,"-point")),z)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),at(i.ready)&&zt(t,H,i.ready,{once:!0}),Ot(t,H)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),bt(this.element,z)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],s=[{key:"noConflict",value:function(){return window.Cropper=Ut,t}},{key:"setDefaults",value:function(t){dt(Q,ot(t)&&t)}}],e&&n(i.prototype,e),s&&n(i,s),Object.defineProperty(i,"prototype",{writable:!1}),t;var i,e,s}();return dt($t.prototype,It,Pt,Yt,Lt,Xt,Ht),$t}()}));const Y=1-.91,L={autoCropArea:.91,minCropBoxHeight:82,minCropBoxWidth:82,movable:!1,zoomable:!1,rotatable:!1,scalable:!1,zoomOnTouch:!1,zoomOnWheel:!1,toggleDragModeOnDblclick:!1},X=class{constructor(e){t(this,e),this.vviinnImageCrop=i(this,"vviinnImageCrop",7),this.cropEnd=()=>{r.searchArea=a.some(this.getCropboxData()),p(),r.detectedObject=void 0,this.vviinnImageCrop.emit(this.basicEventData)},this.basicEventData=void 0,this.cropper=null}disconnectedCallback(){this.cropper.destroy()}selectDetectedObject({detail:t}){const{top:i,left:e,width:n,height:s}=t.detectedObject.value.rectangle,r=this.cropper.getImageData();this.cropper.setCropBoxData((t=>{const{width:i,height:e,left:n,top:s}=t,r=82;let o={width:i,height:e,left:n,top:s};return i<r&&(o.width=r,o.left=n-(r-i)/2),e<r&&(o.height=r,o.top=s-(r-e)/2),o})({left:e*r.width,top:i*r.height,width:n*r.width,height:s*r.height}))}getCropboxData(){const{left:t,top:i,width:e,height:n}=this.cropper.getCropBoxData();return{x:t,y:i,width:e,height:n}}loadImage(){const t=this.el.shadowRoot.querySelector("img");if(t){let i={};this.cropper&&(i=this.cropper.getData(!0),this.cropper.destroy());const e=y(t),{x:n,y:s}=e,o={x:n,y:s,width:e.width-e.width*Y,height:e.height-e.height*Y};r.imageBounds=a.some(e),r.searchArea=a.some(o),this.cropper=new P(t,Object.assign(Object.assign({},L),{cropend:this.cropEnd,data:i}))}}renderDetectedObject(t){return e("vviinn-detected-object",{detectedObject:t,basicEventData:this.basicEventData})}renderImage(){return o.pipe(x(r.imageUrl,r.image),a.map((([t,i])=>{const[n,s]=(t=>{const i=k(t),e=M(288)(i).map((t=>t.size));return[e[0],e[1]]})(i);return e("img",{decoding:"async",width:n,height:s,src:t,draggable:!1,onLoad:()=>this.loadImage()})})),a.getOrElse((()=>null)))}render(){return e(n,null,e("div",{class:"image-container"},r.loading||r.objectDetectionInProgress?e("div",{class:"image-preloader"},e("vviinn-preloader",null)):null,this.renderImage()),r.detectedObjects.map((t=>this.renderDetectedObject(t))))}get el(){return s(this)}};X.style=":host {\n display: grid;\n position: relative;\n justify-self: center;\n direction: ltr;\n}\n\n.image-container > img {\n display: block;\n max-width: 100%;\n}\n\n.image-preloader {\n background: rgba(0, 0, 0, 0.25);\n border-radius: 4px;\n bottom: 18px;\n padding: 4px 6px;\n pointer-events: none;\n color: white;\n position: absolute;\n right: 18px;\n z-index: 4;\n}\n\nvviinn-preloader {\n --preloader-size: 12px;\n}\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n\n & img {\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.4;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-view-box,\n.cropper-face {\n border-radius: 5px;\n}\n\n.cropper-face,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n left: 0;\n top: 0;\n}\n\n.cropper-point {\n height: 30px;\n width: 30px;\n opacity: 1;\n}\n\n.point-e,\n.point-s,\n.point-w,\n.point-n {\n display: none;\n}\n\n.point-ne {\n cursor: nesw-resize;\n right: -15px;\n top: -15px;\n}\n\n.point-nw {\n cursor: nwse-resize;\n left: -15px;\n top: -15px;\n}\n\n.point-sw {\n cursor: nesw-resize;\n bottom: -15px;\n left: -15px;\n}\n\n.point-se {\n cursor: nwse-resize;\n bottom: -15px;\n right: -15px;\n}\n\n.cropper-point::before {\n position: absolute;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' fill='none'%3E%3Cpath d='M3 35H23C29.6274 35 35 29.6274 35 23V3' stroke='white' stroke-width='6' stroke-linecap='square'/%3E%3C/svg%3E\");\n display: block;\n poiter-events: none;\n}\n\n.point-ne::before {\n transform: rotate(-90deg);\n left: -20px;\n top: 12px;\n}\n\n.point-nw::before {\n transform: rotate(180deg);\n left: 12px;\n top: 12px;\n}\n\n.point-sw::before {\n transform: rotate(90deg);\n left: 12px;\n top: -20px;\n}\n\n.point-se::before {\n left: -20px;\n top: -20px;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n";const H=class{constructor(e){t(this,e),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.hideBackButton=!1,this.isFirstScreen=void 0,this.slider=!1}componentWillLoad(){T(this,this.el)}resetTopScroll(){this.el.shadowRoot.querySelector(".body").scroll({top:0})}close(){this.active=!1,setTimeout((()=>{this.vviinnWidgetClose.emit({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:A.VPS,widgetId:this.buttonElementId,widgetVersion:this.widgetVersion})}),this.slider?500:0)}handleAnimationEnd(t){"fade-in"===t.animationName&&(this.slider=!0)}renderImage(){return o.pipe(x(r.imageUrl,r.image),a.map((([t])=>e("img",{width:"28",height:"28",src:t,class:"title-image"}))),a.getOrElse((()=>null)))}render(){return e(n,{exportparts:"secondary-action, title, close-button",class:{closed:!this.active,"first-screen":this.isFirstScreen},onAnimationEnd:t=>this.handleAnimationEnd(t)},e("div",{class:"head"},!this.hideBackButton&&e("button",{part:"secondary-action",onClick:()=>{this.resetState(),this.resetTopScroll()}},e(D,null)),e("div",{class:"title",part:"title"},this.renderImage(),e("slot",{name:"vviinn-image-search-modal-title"},j.t("imageSearchModalTitle"))),e("button",{onClick:()=>this.close(),class:"close-button",part:"close-button"},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},e("path",{d:"M12 13.3892L6.91958 18.4696C6.72248 18.6667 6.49095 18.7653 6.225 18.7653C5.95905 18.7653 5.72753 18.6667 5.53043 18.4696C5.33333 18.2725 5.23478 18.041 5.23478 17.775C5.23478 17.5091 5.33333 17.2776 5.53043 17.0805L10.6109 12L5.53043 6.9196C5.33333 6.7225 5.23478 6.49098 5.23478 6.22503C5.23478 5.95908 5.33333 5.72755 5.53043 5.53045C5.72753 5.33335 5.95905 5.2348 6.225 5.2348C6.49095 5.2348 6.72248 5.33335 6.91958 5.53045L12 10.6109L17.0804 5.53045C17.2775 5.33335 17.5091 5.2348 17.775 5.2348C18.041 5.2348 18.2725 5.33335 18.4696 5.53045C18.6667 5.72755 18.7652 5.95908 18.7652 6.22503C18.7652 6.49098 18.6667 6.7225 18.4696 6.9196L13.3892 12L18.4696 17.0805C18.6667 17.2776 18.7652 17.5091 18.7652 17.775C18.7652 18.041 18.6667 18.2725 18.4696 18.4696C18.2725 18.6667 18.041 18.7653 17.775 18.7653C17.5091 18.7653 17.2775 18.6667 17.0804 18.4696L12 13.3892Z",fill:"currentColor"})))),e("div",{class:"body"},e("slot",null)))}get el(){return s(this)}};H.style=":host{background:white;border-radius:24px;box-sizing:border-box;display:grid;grid-template-rows:min-content auto;max-width:960px;overflow:auto;position:relative}.head{position:absolute;width:100%;box-sizing:border-box;display:flex;align-items:center;z-index:1;padding:16px}.title{display:flex;align-items:center;transform:translateX(-6px);font-weight:600;font-size:18px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;padding:6px;color:#8d8d8d}button:hover{color:#000}@media (max-width: 768px){:host{animation-name:fade-in;animation-duration:0.5s;animation-fill-mode:forwards;border-radius:24px 24px 0 0}:host(.closed){animation-name:fade-out;animation-fill-mode:none}.head{z-index:1}:host(:not(.first-screen)) .head{position:sticky;background:#ffffff}.body{overflow-y:auto}:host(:not(.first-screen)) .body{padding-bottom:64px}.title{color:#161616;display:flex;align-items:center;font-weight:500;font-size:16px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;color:#6f6f6f;padding:0}button:hover{color:#000}:host(.first-screen) button,:host(.first-screen) button:hover{color:white}}@keyframes fade-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-out{from{transform:translateY(0)}to{transform:translateY(100%)}}";const U=class{constructor(i){t(this,i)}render(){return e(n,null,e("slot",null))}};U.style=":host{animation:fade-in 0.5s ease-in-out;background:rgba(0, 0, 0, 0.5);display:block;height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:9999}@keyframes fade-in{from{opacity:0.1}to{opacity:1}}";const $=class{constructor(e){t(this,e),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.hideBackButton=!1,this.widgetVersion=void 0,this.isFirstScreen=void 0}render(){return e(n,{class:{active:this.active}},e("vviinn-overlay",null,e("vviinn-modal",{resetState:this.resetState,active:this.active,buttonElementId:this.buttonElementId,hideBackButton:this.hideBackButton,widgetVersion:this.widgetVersion,isFirstScreen:this.isFirstScreen},e("slot",null,"CONTENT"))))}};$.style=":host{display:none}:host(.active){display:block}vviinn-overlay{align-items:center;display:grid;justify-items:center;cursor:default}vviinn-modal{margin-left:24px;margin-right:24px}@media (max-width: 768px){vviinn-modal{height:100vh;height:100svh;margin-top:64px;transform:translateY(100%);width:100vw;margin-left:0;margin-right:0}vviinn-overlay{align-items:end;display:grid;justify-items:center}}";const K=class{constructor(i){t(this,i),this.privacyBadgeText=void 0}componentWillLoad(){T(this,this.el)}render(){return e(n,null,e("slot",{name:"vviinn-privacy-badge-text"},e("div",null,this.privacyBadgeText)))}get el(){return s(this)}};K.style=":host{color:#525252;font-size:12px;line-height:16px;text-align:center}:host(.invisible){color:transparent}@media (max-width: 768px){:host(.invisible){display:none}}";const V=class{constructor(i){t(this,i),this.handler=void 0}render(){return e(n,null,e("vviinn-error",null,e(z,null),e("h4",{slot:"title"},j.t("serverErrorBlock.title")),e("button",{slot:"action",onClick:this.handler},j.t("serverErrorBlock.button"))))}},q=class{constructor(i){t(this,i)}render(){return e(n,null,e("slot",null))}};q.style=":host{display:grid;justify-items:center}";const Z=({kind:t,tabindex:i,disabled:n,onClick:s,onKeyDown:r})=>{return e("div",{class:(o={kind:t,disabled:n},{"arrow-wrapper":!0,[o.kind]:!0,disabled:o.disabled}),onClick:s,tabindex:i,onKeyDown:r},e(S,null));var o},G=class{constructor(i){t(this,i),this.elementsCount=0,this.internalPosition=0,this.swipeStartPosition=a.none,this.isRTL=!1,this.showBullets=!0,this.position=0,this.showArrows=!1}positionWatchHandler(t){this.internalPosition=t,this.el.style.setProperty("--position",`${this.calculatePosition(t)}`),this.setActiveCssClassToSlide(t)}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.handleDomContentChanges()}handleDomContentChanges(){const t=this.el.querySelectorAll("vviinn-slide");this.elementsCount=t.length,this.el.style.setProperty("--num-items",`${this.elementsCount}`),this.setActiveCssClassToSlide(0)}setActiveCssClassToSlide(t){const i=this.el.querySelectorAll("vviinn-slide");i.forEach((t=>t.classList.remove("active"))),i[t].classList.add("active")}goToSlide(t){this.internalPosition=t,this.el.style.setProperty("--position",`${t}`),this.setActiveCssClassToSlide(t)}renderBullets(){return this.showBullets?e("div",{class:"controls"},C.range(0,this.elementsCount-1).map((t=>e("div",{class:{bullet:!0,active:t==Math.abs(this.internalPosition)%this.elementsCount},onClick:()=>this.goToSlide(t)})))):null}nextSlide(){this.internalPosition++,this.renderSlidePosition()}prevSlide(){const t=this.internalPosition-1;this.internalPosition=t>-1?t:this.elementsCount-1,this.renderSlidePosition()}renderSlidePosition(){const t=this.internalPosition%this.elementsCount;requestAnimationFrame((()=>{this.el.style.setProperty("--position",`${this.calculatePosition(t)}`)}))}calculatePosition(t){return this.isRTL?-1*t:t}handleKeyDown(t){if("Space"===t.key||"Enter"===t.key)switch(t.target.className.includes("prev")?"prev":"next"){case"prev":this.prevSlide();break;case"next":this.nextSlide()}}handleTouchStart(t){this.showBullets&&(this.swipeStartPosition=o.pipe(t.touches[0],a.fromNullable,a.map((t=>t.clientX))))}handleTouchEnd(t){if(!this.showBullets)return;const i=o.pipe(t.changedTouches[0],a.fromNullable,a.map((t=>t.clientX)));o.pipe(x(this.swipeStartPosition,i),a.map((([t,i])=>{return(e=t)<(n=i)?-1:e>n?1:0;var e,n})),a.map((t=>{switch(t){case 1:return this.nextSlide();case-1:return this.prevSlide()}})))}render(){return e(n,null,e("div",{class:"items-wrapper"},e("div",{class:"items",onTouchStart:t=>this.handleTouchStart(t),onTouchEnd:t=>this.handleTouchEnd(t)},e("slot",null))),this.showArrows?[e(Z,{kind:"prev",onClick:()=>this.isRTL?this.nextSlide():this.prevSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:1,disabled:!1}),e(Z,{kind:"next",onClick:()=>this.isRTL?this.prevSlide():this.nextSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:0,disabled:!1})]:null,this.renderBullets())}get el(){return s(this)}static get watchers(){return{position:["positionWatchHandler"]}}};G.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{--num-items:0;--position:0;display:grid;grid-gap:20px;justify-items:center;position:relative}.items-wrapper{overflow:hidden;width:100%}.items{box-sizing:border-box;display:grid;grid-auto-flow:column;grid-template-columns:repeat(var(--num-items), 100%);transform:translateX(calc(-100% * var(--position)));transition:transform 0.33s ease-in-out}.controls{display:grid;grid-gap:16px;grid-template-columns:repeat(var(--num-items), min-content)}.bullet{background:#e0e0e0;border-radius:50%;box-sizing:border-box;cursor:pointer;height:8px;width:8px;transition:background 0.1s ease-in-out}.bullet:hover{background:#c6c6c6}.bullet.active{background:var(--color-primary, var(--color-primary-system))}.bullet:active{background:transparent;border:2px solid var(--color-primary, var(--color-primary-system))}.arrow-wrapper{align-items:center;cursor:pointer;background:white;border:2px solid white;bottom:0;box-sizing:border-box;display:grid;height:calc(var(--spacer) * 6);justify-items:center;margin:auto;position:absolute;top:0;transform:translate3d(0, -50%, 0);transition:border 0.25ms ease-in-out;width:calc(var(--spacer) * 4)}.arrow-wrapper:active{border-color:var(--color-primary, var(--color-primary-system));opacity:0.75}.arrow-wrapper:focus{border-color:var(--color-primary, var(--color-primary-system));opacity:0.5;outline:none}.prev{left:0}.next{right:0}.next>svg{transform:rotate3d(0, 1, 0, 180deg)}.arrow-wrapper>svg{transition:fill 0.25ms ease-in-out;fill:#a8a8a8}.arrow-wrapper:hover>svg{fill:#8d8d8d}";const J=class{constructor(i){t(this,i)}componentWillLoad(){T(this,this.el)}render(){return e(n,null,e("slot",null,e("span",{class:"vviinn-teaser-text"},e("slot",{name:"vviinn-teaser-text"},j.t("teaserText")))))}get el(){return s(this)}};J.style=":host{align-items:center;display:grid;justify-items:center;grid-gap:16px}.vviinn-teaser-text{font-size:22px;font-weight:600;line-height:28px;text-align:center;white-space:pre-line}";const Q=class{constructor(i){t(this,i),this.handler=void 0}render(){return e(n,null,e("vviinn-error",null,e(z,null),e("h4",{slot:"title"},j.t("wrongFormatBlock.title")),e("span",{slot:"text"},j.t("wrongFormatBlock.text")),e("button",{slot:"action",onClick:this.handler},j.t("wrongFormatBlock.button"))))}};export{F as search_filters,W as vviinn_detected_object,_ as vviinn_empty_results,R as vviinn_example_image,I as vviinn_image_selector,X as vviinn_image_view,H as vviinn_modal,U as vviinn_overlay,$ as vviinn_overlayed_modal,K as vviinn_privacy_badge,V as vviinn_server_error,q as vviinn_slide,G as vviinn_slider,J as vviinn_teaser,Q as vviinn_wrong_format}
11
+ t.exports=function(){function t(t,i){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);i&&(n=n.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),e.push.apply(e,n)}return e}function i(i){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(t){s(i,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(n,t))}))}return i}function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t,i){for(var e=0;e<i.length;e++){var n=i[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function s(t,i,e){return i in t?Object.defineProperty(t,i,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[i]=e,t}function r(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){if(t){if("string"==typeof t)return o(t,i);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?o(t,i):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,i){(null==i||i>t.length)&&(i=t.length);for(var e=0,n=new Array(i);e<i;e++)n[e]=t[e];return n}var a="undefined"!=typeof window&&void 0!==window.document,h=a?window:{},c=!(!a||!h.document.documentElement)&&"ontouchstart"in h.document.documentElement,l=!!a&&"PointerEvent"in h,d="cropper",p="all",u="crop",v="move",f="zoom",m="e",b="w",g="s",w="n",x="ne",y="nw",k="se",M="sw",C="".concat(d,"-crop"),j="".concat(d,"-disabled"),z="".concat(d,"-hidden"),O="".concat(d,"-hide"),E="".concat(d,"-invisible"),N="".concat(d,"-modal"),A="".concat(d,"-move"),D="".concat(d,"Action"),S="".concat(d,"Preview"),T="crop",B="move",_="none",F="crop",W="cropend",R="cropmove",I="cropstart",P="dblclick",Y=l?"pointerdown":c?"touchstart":"mousedown",L=l?"pointermove":c?"touchmove":"mousemove",H=l?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",X="ready",U="resize",$="wheel",K="zoom",V="image/jpeg",q=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,Z=/^data:/,G=/^data:image\/jpeg;base64,/,J=/^img|canvas$/i,Q={viewMode:0,dragMode:T,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},tt=Number.isNaN||h.isNaN;function it(t){return"number"==typeof t&&!tt(t)}var et=function(t){return t>0&&t<1/0};function nt(t){return void 0===t}function st(t){return"object"===e(t)&&null!==t}var rt=Object.prototype.hasOwnProperty;function ot(t){if(!st(t))return!1;try{var i=t.constructor,e=i.prototype;return i&&e&&rt.call(e,"isPrototypeOf")}catch(t){return!1}}function at(t){return"function"==typeof t}var ht=Array.prototype.slice;function ct(t){return Array.from?Array.from(t):ht.call(t)}function lt(t,i){return t&&at(i)&&(Array.isArray(t)||it(t.length)?ct(t).forEach((function(e,n){i.call(t,e,n,t)})):st(t)&&Object.keys(t).forEach((function(e){i.call(t,t[e],e,t)}))),t}var dt=Object.assign||function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return st(t)&&e.length>0&&e.forEach((function(i){st(i)&&Object.keys(i).forEach((function(e){t[e]=i[e]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ut(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*i)/i:t}var vt=/^width|height|left|top|marginLeft|marginTop$/;function ft(t,i){var e=t.style;lt(i,(function(t,i){vt.test(i)&&it(t)&&(t="".concat(t,"px")),e[i]=t}))}function mt(t,i){if(i)if(it(t.length))lt(t,(function(t){mt(t,i)}));else if(t.classList)t.classList.add(i);else{var e=t.className.trim();e?e.indexOf(i)<0&&(t.className="".concat(e," ").concat(i)):t.className=i}}function bt(t,i){i&&(it(t.length)?lt(t,(function(t){bt(t,i)})):t.classList?t.classList.remove(i):t.className.indexOf(i)>=0&&(t.className=t.className.replace(i,"")))}function gt(t,i,e){i&&(it(t.length)?lt(t,(function(t){gt(t,i,e)})):e?mt(t,i):bt(t,i))}var wt=/([a-z\d])([A-Z])/g;function xt(t){return t.replace(wt,"$1-$2").toLowerCase()}function yt(t,i){return st(t[i])?t[i]:t.dataset?t.dataset[i]:t.getAttribute("data-".concat(xt(i)))}function kt(t,i,e){st(e)?t[i]=e:t.dataset?t.dataset[i]=e:t.setAttribute("data-".concat(xt(i)),e)}var Mt=/\s\s*/,Ct=function(){var t=!1;if(a){var i=!1,e=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,i},set:function(t){i=t}});h.addEventListener("test",e,n),h.removeEventListener("test",e,n)}return t}();function jt(t,i,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=e;i.trim().split(Mt).forEach((function(i){if(!Ct){var r=t.listeners;r&&r[i]&&r[i][e]&&(s=r[i][e],delete r[i][e],0===Object.keys(r[i]).length&&delete r[i],0===Object.keys(r).length&&delete t.listeners)}t.removeEventListener(i,s,n)}))}function zt(t,i,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=e;i.trim().split(Mt).forEach((function(i){if(n.once&&!Ct){var r=t.listeners,o=void 0===r?{}:r;s=function(){delete o[i][e],t.removeEventListener(i,s,n);for(var r=arguments.length,a=new Array(r),h=0;h<r;h++)a[h]=arguments[h];e.apply(t,a)},o[i]||(o[i]={}),o[i][e]&&t.removeEventListener(i,o[i][e],n),o[i][e]=s,t.listeners=o}t.addEventListener(i,s,n)}))}function Ot(t,i,e){var n;return at(Event)&&at(CustomEvent)?n=new CustomEvent(i,{detail:e,bubbles:!0,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(i,!0,!0,e),t.dispatchEvent(n)}function Et(t){var i=t.getBoundingClientRect();return{left:i.left+(window.pageXOffset-document.documentElement.clientLeft),top:i.top+(window.pageYOffset-document.documentElement.clientTop)}}var Nt=h.location,At=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Dt(t){var i=t.match(At);return null!==i&&(i[1]!==Nt.protocol||i[2]!==Nt.hostname||i[3]!==Nt.port)}function St(t){var i="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+i}function Tt(t){var i=t.rotate,e=t.scaleX,n=t.scaleY,s=t.translateX,r=t.translateY,o=[];it(s)&&0!==s&&o.push("translateX(".concat(s,"px)")),it(r)&&0!==r&&o.push("translateY(".concat(r,"px)")),it(i)&&0!==i&&o.push("rotate(".concat(i,"deg)")),it(e)&&1!==e&&o.push("scaleX(".concat(e,")")),it(n)&&1!==n&&o.push("scaleY(".concat(n,")"));var a=o.length?o.join(" "):"none";return{WebkitTransform:a,msTransform:a,transform:a}}function Bt(t,e){var n=t.pageX,s=t.pageY,r={endX:n,endY:s};return e?r:i({startX:n,startY:s},r)}function _t(t){var i=t.aspectRatio,e=t.height,n=t.width,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",r=et(n),o=et(e);if(r&&o){var a=e*i;"contain"===s&&a>n||"cover"===s&&a<n?e=n/i:n=e*i}else r?e=n/i:o&&(n=e*i);return{width:n,height:e}}var Ft=String.fromCharCode;var Wt=/^data:.*,/;function Rt(t){var i,e=new DataView(t);try{var n,s,r;if(255===e.getUint8(0)&&216===e.getUint8(1))for(var o=e.byteLength,a=2;a+1<o;){if(255===e.getUint8(a)&&225===e.getUint8(a+1)){s=a;break}a+=1}if(s){var h=s+10;if("Exif"===function(t,i,e){var n="";e+=i;for(var s=i;s<e;s+=1)n+=Ft(t.getUint8(s));return n}(e,s+4,4)){var c=e.getUint16(h);if(((n=18761===c)||19789===c)&&42===e.getUint16(h+2,n)){var l=e.getUint32(h+4,n);l>=8&&(r=h+l)}}}if(r){var d,p,u=e.getUint16(r,n);for(p=0;p<u;p+=1)if(274===e.getUint16(d=r+12*p+2,n)){i=e.getUint16(d+=8,n),e.setUint16(d,1,n);break}}}catch(t){i=1}return i}var It={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,i=this.options,e=this.container,n=this.cropper,s=Number(i.minContainerWidth),r=Number(i.minContainerHeight);mt(n,z),bt(t,z);var o={width:Math.max(e.offsetWidth,s>=0?s:200),height:Math.max(e.offsetHeight,r>=0?r:100)};this.containerData=o,ft(n,{width:o.width,height:o.height}),mt(t,z),bt(n,z)},initCanvas:function(){var t=this.containerData,i=this.imageData,e=this.options.viewMode,n=Math.abs(i.rotate)%180==90,s=n?i.naturalHeight:i.naturalWidth,r=n?i.naturalWidth:i.naturalHeight,o=s/r,a=t.width,h=t.height;t.height*o>t.width?3===e?a=t.height*o:h=t.width/o:3===e?h=t.width/o:a=t.height*o;var c={aspectRatio:o,naturalWidth:s,naturalHeight:r,width:a,height:h};this.canvasData=c,this.limited=1===e||2===e,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=dt({},c)},limitCanvas:function(t,i){var e=this.options,n=this.containerData,s=this.canvasData,r=this.cropBoxData,o=e.viewMode,a=s.aspectRatio,h=this.cropped&&r;if(t){var c=Number(e.minCanvasWidth)||0,l=Number(e.minCanvasHeight)||0;o>1?(c=Math.max(c,n.width),l=Math.max(l,n.height),3===o&&(l*a>c?c=l*a:l=c/a)):o>0&&(c?c=Math.max(c,h?r.width:0):l?l=Math.max(l,h?r.height:0):h&&((l=r.height)*a>(c=r.width)?c=l*a:l=c/a));var d=_t({aspectRatio:a,width:c,height:l});l=d.height,s.minWidth=c=d.width,s.minHeight=l,s.maxWidth=1/0,s.maxHeight=1/0}if(i)if(o>(h?0:1)){var p=n.width-s.width,u=n.height-s.height;s.minLeft=Math.min(0,p),s.minTop=Math.min(0,u),s.maxLeft=Math.max(0,p),s.maxTop=Math.max(0,u),h&&this.limited&&(s.minLeft=Math.min(r.left,r.left+(r.width-s.width)),s.minTop=Math.min(r.top,r.top+(r.height-s.height)),s.maxLeft=r.left,s.maxTop=r.top,2===o&&(s.width>=n.width&&(s.minLeft=Math.min(0,p),s.maxLeft=Math.max(0,p)),s.height>=n.height&&(s.minTop=Math.min(0,u),s.maxTop=Math.max(0,u))))}else s.minLeft=-s.width,s.minTop=-s.height,s.maxLeft=n.width,s.maxTop=n.height},renderCanvas:function(t,i){var e=this.canvasData,n=this.imageData;if(i){var s=function(t){var i=t.width,e=t.height,n=t.degree;if(90==(n=Math.abs(n)%180))return{width:e,height:i};var s=n%90*Math.PI/180,r=Math.sin(s),o=Math.cos(s),a=i*o+e*r,h=i*r+e*o;return n>90?{width:h,height:a}:{width:a,height:h}}({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),r=s.width,o=s.height,a=e.width*(r/e.naturalWidth),h=e.height*(o/e.naturalHeight);e.left-=(a-e.width)/2,e.top-=(h-e.height)/2,e.width=a,e.height=h,e.aspectRatio=r/o,e.naturalWidth=r,e.naturalHeight=o,this.limitCanvas(!0,!1)}(e.width>e.maxWidth||e.width<e.minWidth)&&(e.left=e.oldLeft),(e.height>e.maxHeight||e.height<e.minHeight)&&(e.top=e.oldTop),e.width=Math.min(Math.max(e.width,e.minWidth),e.maxWidth),e.height=Math.min(Math.max(e.height,e.minHeight),e.maxHeight),this.limitCanvas(!1,!0),e.left=Math.min(Math.max(e.left,e.minLeft),e.maxLeft),e.top=Math.min(Math.max(e.top,e.minTop),e.maxTop),e.oldLeft=e.left,e.oldTop=e.top,ft(this.canvas,dt({width:e.width,height:e.height},Tt({translateX:e.left,translateY:e.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var i=this.canvasData,e=this.imageData,n=e.naturalWidth*(i.width/i.naturalWidth),s=e.naturalHeight*(i.height/i.naturalHeight);dt(e,{width:n,height:s,left:(i.width-n)/2,top:(i.height-s)/2}),ft(this.image,dt({width:e.width,height:e.height},Tt(dt({translateX:e.left,translateY:e.top},e)))),t&&this.output()},initCropBox:function(){var t=this.options,i=this.canvasData,e=t.aspectRatio||t.initialAspectRatio,n=Number(t.autoCropArea)||.8,s={width:i.width,height:i.height};e&&(i.height*e>i.width?s.height=s.width/e:s.width=s.height*e),this.cropBoxData=s,this.limitCropBox(!0,!0),s.width=Math.min(Math.max(s.width,s.minWidth),s.maxWidth),s.height=Math.min(Math.max(s.height,s.minHeight),s.maxHeight),s.width=Math.max(s.minWidth,s.width*n),s.height=Math.max(s.minHeight,s.height*n),s.left=i.left+(i.width-s.width)/2,s.top=i.top+(i.height-s.height)/2,s.oldLeft=s.left,s.oldTop=s.top,this.initialCropBoxData=dt({},s)},limitCropBox:function(t,i){var e=this.options,n=this.containerData,s=this.canvasData,r=this.cropBoxData,o=this.limited,a=e.aspectRatio;if(t){var h=Number(e.minCropBoxWidth)||0,c=Number(e.minCropBoxHeight)||0,l=o?Math.min(n.width,s.width,s.width+s.left,n.width-s.left):n.width,d=o?Math.min(n.height,s.height,s.height+s.top,n.height-s.top):n.height;h=Math.min(h,n.width),c=Math.min(c,n.height),a&&(h&&c?c*a>h?c=h/a:h=c*a:h?c=h/a:c&&(h=c*a),d*a>l?d=l/a:l=d*a),r.minWidth=Math.min(h,l),r.minHeight=Math.min(c,d),r.maxWidth=l,r.maxHeight=d}i&&(o?(r.minLeft=Math.max(0,s.left),r.minTop=Math.max(0,s.top),r.maxLeft=Math.min(n.width,s.left+s.width)-r.width,r.maxTop=Math.min(n.height,s.top+s.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=n.width-r.width,r.maxTop=n.height-r.height))},renderCropBox:function(){var t=this.options,i=this.containerData,e=this.cropBoxData;(e.width>e.maxWidth||e.width<e.minWidth)&&(e.left=e.oldLeft),(e.height>e.maxHeight||e.height<e.minHeight)&&(e.top=e.oldTop),e.width=Math.min(Math.max(e.width,e.minWidth),e.maxWidth),e.height=Math.min(Math.max(e.height,e.minHeight),e.maxHeight),this.limitCropBox(!1,!0),e.left=Math.min(Math.max(e.left,e.minLeft),e.maxLeft),e.top=Math.min(Math.max(e.top,e.minTop),e.maxTop),e.oldLeft=e.left,e.oldTop=e.top,t.movable&&t.cropBoxMovable&&kt(this.face,D,e.width>=i.width&&e.height>=i.height?v:p),ft(this.cropBox,dt({width:e.width,height:e.height},Tt({translateX:e.left,translateY:e.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Ot(this.element,F,this.getData())}},Pt={initPreview:function(){var t=this.element,i=this.crossOrigin,e=this.options.preview,n=i?this.crossOriginUrl:this.url,s=t.alt||"The image to preview",r=document.createElement("img");if(i&&(r.crossOrigin=i),r.src=n,r.alt=s,this.viewBox.appendChild(r),this.viewBoxImage=r,e){var o=e;"string"==typeof e?o=t.ownerDocument.querySelectorAll(e):e.querySelector&&(o=[e]),this.previews=o,lt(o,(function(t){var e=document.createElement("img");kt(t,S,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),i&&(e.crossOrigin=i),e.src=n,e.alt=s,e.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(e)}))}},resetPreview:function(){lt(this.previews,(function(t){var i=yt(t,S);ft(t,{width:i.width,height:i.height}),t.innerHTML=i.html,function(t,i){if(st(t[i]))try{delete t[i]}catch(e){t[i]=void 0}else if(t.dataset)try{delete t.dataset[i]}catch(e){t.dataset[i]=void 0}else t.removeAttribute("data-".concat(xt(i)))}(t,S)}))},preview:function(){var t=this.imageData,i=this.canvasData,e=this.cropBoxData,n=e.width,s=e.height,r=t.width,o=t.height,a=e.left-i.left-t.left,h=e.top-i.top-t.top;this.cropped&&!this.disabled&&(ft(this.viewBoxImage,dt({width:r,height:o},Tt(dt({translateX:-a,translateY:-h},t)))),lt(this.previews,(function(i){var e=yt(i,S),c=e.width,l=e.height,d=c,p=l,u=1;n&&(p=s*(u=c/n)),s&&p>l&&(d=n*(u=l/s),p=l),ft(i,{width:d,height:p}),ft(i.getElementsByTagName("img")[0],dt({width:r*u,height:o*u},Tt(dt({translateX:-a*u,translateY:-h*u},t))))})))}},Yt={bind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&zt(t,I,i.cropstart),at(i.cropmove)&&zt(t,R,i.cropmove),at(i.cropend)&&zt(t,W,i.cropend),at(i.crop)&&zt(t,F,i.crop),at(i.zoom)&&zt(t,K,i.zoom),zt(e,Y,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&zt(e,$,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&zt(e,P,this.onDblclick=this.dblclick.bind(this)),zt(t.ownerDocument,L,this.onCropMove=this.cropMove.bind(this)),zt(t.ownerDocument,H,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&zt(window,U,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&jt(t,I,i.cropstart),at(i.cropmove)&&jt(t,R,i.cropmove),at(i.cropend)&&jt(t,W,i.cropend),at(i.crop)&&jt(t,F,i.crop),at(i.zoom)&&jt(t,K,i.zoom),jt(e,Y,this.onCropStart),i.zoomable&&i.zoomOnWheel&&jt(e,$,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&jt(e,P,this.onDblclick),jt(t.ownerDocument,L,this.onCropMove),jt(t.ownerDocument,H,this.onCropEnd),i.responsive&&jt(window,U,this.onResize)}},Lt={resize:function(){if(!this.disabled){var t,i,e=this.options,n=this.container,s=this.containerData,r=n.offsetWidth/s.width,o=n.offsetHeight/s.height,a=Math.abs(r-1)>Math.abs(o-1)?r:o;1!==a&&(e.restore&&(t=this.getCanvasData(),i=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(lt(t,(function(i,e){t[e]=i*a}))),this.setCropBoxData(lt(i,(function(t,e){i[e]=t*a})))))}},dblclick:function(){var t,i;this.disabled||this.options.dragMode===_||this.setDragMode((i=C,((t=this.dragBox).classList?t.classList.contains(i):t.className.indexOf(i)>-1)?B:T))},wheel:function(t){var i=this,e=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){i.wheeling=!1}),50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*e,t)))},cropStart:function(t){var i=t.buttons,e=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(it(i)&&1!==i||it(e)&&0!==e||t.ctrlKey))){var n,s=this.options,r=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){r[t.identifier]=Bt(t)})):r[t.pointerId||0]=Bt(t),n=Object.keys(r).length>1&&s.zoomable&&s.zoomOnTouch?f:yt(t.target,D),q.test(n)&&!1!==Ot(this.element,I,{originalEvent:t,action:n})&&(t.preventDefault(),this.action=n,this.cropping=!1,n===u&&(this.cropping=!0,mt(this.dragBox,N)))}},cropMove:function(t){var i=this.action;if(!this.disabled&&i){var e=this.pointers;t.preventDefault(),!1!==Ot(this.element,R,{originalEvent:t,action:i})&&(t.changedTouches?lt(t.changedTouches,(function(t){dt(e[t.identifier]||{},Bt(t,!0))})):dt(e[t.pointerId||0]||{},Bt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,e=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){delete e[t.identifier]})):delete e[t.pointerId||0],i&&(t.preventDefault(),Object.keys(e).length||(this.action=""),this.cropping&&(this.cropping=!1,gt(this.dragBox,N,this.cropped&&this.options.modal)),Ot(this.element,W,{originalEvent:t,action:i}))}}},Ht={change:function(t){var e,n=this.canvasData,s=this.containerData,r=this.cropBoxData,o=this.pointers,a=this.action,h=this.options.aspectRatio,c=r.left,l=r.top,d=r.width,C=r.height,j=c+d,O=l+C,E=0,N=0,A=s.width,D=s.height,S=!0;!h&&t.shiftKey&&(h=d&&C?d/C:1),this.limited&&(N=r.minTop,A=(E=r.minLeft)+Math.min(s.width,n.width,n.left+n.width),D=N+Math.min(s.height,n.height,n.top+n.height));var T=o[Object.keys(o)[0]],B={x:T.endX-T.startX,y:T.endY-T.startY},_=function(t){switch(t){case m:j+B.x>A&&(B.x=A-j);break;case b:c+B.x<E&&(B.x=E-c);break;case w:l+B.y<N&&(B.y=N-l);break;case g:O+B.y>D&&(B.y=D-O)}};switch(a){case p:c+=B.x,l+=B.y;break;case m:if(B.x>=0&&(j>=A||h&&(l<=N||O>=D))){S=!1;break}_(m),(d+=B.x)<0&&(a=b,c-=d=-d),h&&(l+=(r.height-(C=d/h))/2);break;case w:if(B.y<=0&&(l<=N||h&&(c<=E||j>=A))){S=!1;break}_(w),l+=B.y,(C-=B.y)<0&&(a=g,l-=C=-C),h&&(c+=(r.width-(d=C*h))/2);break;case b:if(B.x<=0&&(c<=E||h&&(l<=N||O>=D))){S=!1;break}_(b),c+=B.x,(d-=B.x)<0&&(a=m,c-=d=-d),h&&(l+=(r.height-(C=d/h))/2);break;case g:if(B.y>=0&&(O>=D||h&&(c<=E||j>=A))){S=!1;break}_(g),(C+=B.y)<0&&(a=w,l-=C=-C),h&&(c+=(r.width-(d=C*h))/2);break;case x:if(h){if(B.y<=0&&(l<=N||j>=A)){S=!1;break}_(w),l+=B.y,d=(C-=B.y)*h}else _(w),_(m),B.x>=0?j<A?d+=B.x:B.y<=0&&l<=N&&(S=!1):d+=B.x,B.y<=0?l>N&&(C-=B.y,l+=B.y):(C-=B.y,l+=B.y);d<0&&C<0?(a=M,l-=C=-C,c-=d=-d):d<0?(a=y,c-=d=-d):C<0&&(a=k,l-=C=-C);break;case y:if(h){if(B.y<=0&&(l<=N||c<=E)){S=!1;break}_(w),l+=B.y,c+=r.width-(d=(C-=B.y)*h)}else _(w),_(b),B.x<=0?c>E?(d-=B.x,c+=B.x):B.y<=0&&l<=N&&(S=!1):(d-=B.x,c+=B.x),B.y<=0?l>N&&(C-=B.y,l+=B.y):(C-=B.y,l+=B.y);d<0&&C<0?(a=k,l-=C=-C,c-=d=-d):d<0?(a=x,c-=d=-d):C<0&&(a=M,l-=C=-C);break;case M:if(h){if(B.x<=0&&(c<=E||O>=D)){S=!1;break}_(b),c+=B.x,C=(d-=B.x)/h}else _(g),_(b),B.x<=0?c>E?(d-=B.x,c+=B.x):B.y>=0&&O>=D&&(S=!1):(d-=B.x,c+=B.x),B.y>=0?O<D&&(C+=B.y):C+=B.y;d<0&&C<0?(a=x,l-=C=-C,c-=d=-d):d<0?(a=k,c-=d=-d):C<0&&(a=y,l-=C=-C);break;case k:if(h){if(B.x>=0&&(j>=A||O>=D)){S=!1;break}_(m),C=(d+=B.x)/h}else _(g),_(m),B.x>=0?j<A?d+=B.x:B.y>=0&&O>=D&&(S=!1):d+=B.x,B.y>=0?O<D&&(C+=B.y):C+=B.y;d<0&&C<0?(a=y,l-=C=-C,c-=d=-d):d<0?(a=M,c-=d=-d):C<0&&(a=x,l-=C=-C);break;case v:this.move(B.x,B.y),S=!1;break;case f:this.zoom(function(t){var e=i({},t),n=0;return lt(t,(function(t,i){delete e[i],lt(e,(function(i){var e=Math.abs(t.startX-i.startX),s=Math.abs(t.startY-i.startY),r=Math.abs(t.endX-i.endX),o=Math.abs(t.endY-i.endY),a=Math.sqrt(e*e+s*s),h=(Math.sqrt(r*r+o*o)-a)/a;Math.abs(h)>Math.abs(n)&&(n=h)}))})),n}(o),t),S=!1;break;case u:if(!B.x||!B.y){S=!1;break}e=Et(this.cropper),c=T.startX-e.left,l=T.startY-e.top,d=r.minWidth,C=r.minHeight,B.x>0?a=B.y>0?k:x:B.x<0&&(c-=d,a=B.y>0?M:y),B.y<0&&(l-=C),this.cropped||(bt(this.cropBox,z),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}S&&(r.width=d,r.height=C,r.left=c,r.top=l,this.action=a,this.renderCropBox()),lt(o,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Xt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&mt(this.dragBox,N),bt(this.cropBox,z),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=dt({},this.initialImageData),this.canvasData=dt({},this.initialCanvasData),this.cropBoxData=dt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(dt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),bt(this.dragBox,N),mt(this.cropBox,z)),this},replace:function(t){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),i?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,lt(this.previews,(function(i){i.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,bt(this.cropper,j)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,mt(this.cropper,j)),this},destroy:function(){var t=this.element;return t[d]?(t[d]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.canvasData,n=e.left,s=e.top;return this.moveTo(nt(t)?t:n+Number(t),nt(i)?i:s+Number(i))},moveTo:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(it(t)&&(e.left=t,n=!0),it(i)&&(e.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,i){var e=this.canvasData;return t=Number(t),this.zoomTo(e.width*(t=t<0?1/(1-t):1+t)/e.naturalWidth,null,i)},zoomTo:function(t,i,e){var n=this.options,s=this.canvasData,r=s.width,o=s.height,a=s.naturalWidth,h=s.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&n.zoomable){var c=a*t,l=h*t;if(!1===Ot(this.element,K,{ratio:t,oldRatio:r/a,originalEvent:e}))return this;if(e){var d=this.pointers,p=Et(this.cropper),u=d&&Object.keys(d).length?function(t){var i=0,e=0,n=0;return lt(t,(function(t){i+=t.startX,e+=t.startY,n+=1})),{pageX:i/=n,pageY:e/=n}}(d):{pageX:e.pageX,pageY:e.pageY};s.left-=(u.pageX-p.left-s.left)/r*(c-r),s.top-=(u.pageY-p.top-s.top)/o*(l-o)}else ot(i)&&it(i.x)&&it(i.y)?(s.left-=(i.x-s.left)/r*(c-r),s.top-=(i.y-s.top)/o*(l-o)):(s.left-=(c-r)/2,s.top-=(l-o)/2);s.width=c,s.height=l,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return it(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var i=this.imageData.scaleY;return this.scale(t,it(i)?i:1)},scaleY:function(t){var i=this.imageData.scaleX;return this.scale(it(i)?i:1,t)},scale:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(it(t)&&(e.scaleX=t,n=!0),it(i)&&(e.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.options,n=this.imageData,s=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){var o=n.width/n.naturalWidth;if(lt(t={x:r.left-s.left,y:r.top-s.top,width:r.width,height:r.height},(function(i,e){t[e]=i/o})),i){var a=Math.round(t.y+t.height),h=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=h-t.x,t.height=a-t.y}}else t={x:0,y:0,width:0,height:0};return e.rotatable&&(t.rotate=n.rotate||0),e.scalable&&(t.scaleX=n.scaleX||1,t.scaleY=n.scaleY||1),t},setData:function(t){var i=this.options,e=this.imageData,n=this.canvasData,s={};if(this.ready&&!this.disabled&&ot(t)){var r=!1;i.rotatable&&it(t.rotate)&&t.rotate!==e.rotate&&(e.rotate=t.rotate,r=!0),i.scalable&&(it(t.scaleX)&&t.scaleX!==e.scaleX&&(e.scaleX=t.scaleX,r=!0),it(t.scaleY)&&t.scaleY!==e.scaleY&&(e.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var o=e.width/e.naturalWidth;it(t.x)&&(s.left=t.x*o+n.left),it(t.y)&&(s.top=t.y*o+n.top),it(t.width)&&(s.width=t.width*o),it(t.height)&&(s.height=t.height*o),this.setCropBoxData(s)}return this},getContainerData:function(){return this.ready?dt({},this.containerData):{}},getImageData:function(){return this.sized?dt({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&lt(["left","top","width","height","naturalWidth","naturalHeight"],(function(e){i[e]=t[e]})),i},setCanvasData:function(t){var i=this.canvasData,e=i.aspectRatio;return this.ready&&!this.disabled&&ot(t)&&(it(t.left)&&(i.left=t.left),it(t.top)&&(i.top=t.top),it(t.width)?(i.width=t.width,i.height=t.width/e):it(t.height)&&(i.height=t.height,i.width=t.height*e),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,i=this.cropBoxData;return this.ready&&this.cropped&&(t={left:i.left,top:i.top,width:i.width,height:i.height}),t||{}},setCropBoxData:function(t){var i,e,n=this.cropBoxData,s=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&ot(t)&&(it(t.left)&&(n.left=t.left),it(t.top)&&(n.top=t.top),it(t.width)&&t.width!==n.width&&(i=!0,n.width=t.width),it(t.height)&&t.height!==n.height&&(e=!0,n.height=t.height),s&&(i?n.height=n.width/s:e&&(n.width=n.height*s)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i=this.canvasData,e=function(t,i,e,n){var s=i.aspectRatio,o=i.naturalWidth,a=i.naturalHeight,h=i.rotate,c=void 0===h?0:h,l=i.scaleX,d=void 0===l?1:l,p=i.scaleY,u=void 0===p?1:p,v=e.aspectRatio,f=e.naturalWidth,m=e.naturalHeight,b=n.fillColor,g=void 0===b?"transparent":b,w=n.imageSmoothingEnabled,x=void 0===w||w,y=n.imageSmoothingQuality,k=void 0===y?"low":y,M=n.maxWidth,C=void 0===M?1/0:M,j=n.maxHeight,z=void 0===j?1/0:j,O=n.minWidth,E=void 0===O?0:O,N=n.minHeight,A=void 0===N?0:N,D=document.createElement("canvas"),S=D.getContext("2d"),T=_t({aspectRatio:v,width:C,height:z}),B=_t({aspectRatio:v,width:E,height:A},"cover"),_=Math.min(T.width,Math.max(B.width,f)),F=Math.min(T.height,Math.max(B.height,m)),W=_t({aspectRatio:s,width:C,height:z}),R=_t({aspectRatio:s,width:E,height:A},"cover"),I=Math.min(W.width,Math.max(R.width,o)),P=Math.min(W.height,Math.max(R.height,a)),Y=[-I/2,-P/2,I,P];return D.width=ut(_),D.height=ut(F),S.fillStyle=g,S.fillRect(0,0,_,F),S.save(),S.translate(_/2,F/2),S.rotate(c*Math.PI/180),S.scale(d,u),S.imageSmoothingEnabled=x,S.imageSmoothingQuality=k,S.drawImage.apply(S,[t].concat(r(Y.map((function(t){return Math.floor(ut(t))}))))),S.restore(),D}(this.image,this.imageData,i,t);if(!this.cropped)return e;var n=this.getData(),s=n.x,o=n.y,a=n.width,h=n.height,c=e.width/Math.floor(i.naturalWidth);1!==c&&(s*=c,o*=c,a*=c,h*=c);var l=a/h,d=_t({aspectRatio:l,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=_t({aspectRatio:l,width:t.minWidth||0,height:t.minHeight||0},"cover"),u=_t({aspectRatio:l,width:t.width||(1!==c?e.width:a),height:t.height||(1!==c?e.height:h)}),v=u.width,f=u.height;v=Math.min(d.width,Math.max(p.width,v)),f=Math.min(d.height,Math.max(p.height,f));var m=document.createElement("canvas"),b=m.getContext("2d");m.width=ut(v),m.height=ut(f),b.fillStyle=t.fillColor||"transparent",b.fillRect(0,0,v,f);var g=t.imageSmoothingEnabled,w=t.imageSmoothingQuality;b.imageSmoothingEnabled=void 0===g||g,w&&(b.imageSmoothingQuality=w);var x,y,k,M,C,j,z=e.width,O=e.height,E=s,N=o;E<=-a||E>z?(E=0,x=0,k=0,C=0):E<=0?(k=-E,E=0,C=x=Math.min(z,a+E)):E<=z&&(k=0,C=x=Math.min(a,z-E)),x<=0||N<=-h||N>O?(N=0,y=0,M=0,j=0):N<=0?(M=-N,N=0,j=y=Math.min(O,h+N)):N<=O&&(M=0,j=y=Math.min(h,O-N));var A=[E,N,x,y];if(C>0&&j>0){var D=v/a;A.push(k*D,M*D,C*D,j*D)}return b.drawImage.apply(b,[e].concat(r(A.map((function(t){return Math.floor(ut(t))}))))),m},setAspectRatio:function(t){var i=this.options;return this.disabled||nt(t)||(i.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var i=this.options,e=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var s=t===T,r=i.movable&&t===B;i.dragMode=t=s||r?t:_,kt(e,D,t),gt(e,C,s),gt(e,A,r),i.cropBoxMovable||(kt(n,D,t),gt(n,C,s),gt(n,A,r))}return this}},Ut=h.Cropper,$t=function(){function t(i){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t),!i||!J.test(i.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=i,this.options=dt({},Q,ot(e)&&e),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return i=t,e=[{key:"init",value:function(){var t,i=this.element,e=i.tagName.toLowerCase();if(!i[d]){if(i[d]=this,"img"===e){if(this.isImg=!0,t=i.getAttribute("src")||"",this.originalUrl=t,!t)return;t=i.src}else"canvas"===e&&window.HTMLCanvasElement&&(t=i.toDataURL());this.load(t)}}},{key:"load",value:function(t){var i,e,n,s,r=this;if(t){this.url=t,this.imageData={};var o=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),a.checkOrientation&&window.ArrayBuffer)if(Z.test(t))G.test(t)?this.read((i=t.replace(Wt,""),e=atob(i),n=new ArrayBuffer(e.length),lt(s=new Uint8Array(n),(function(t,i){s[i]=e.charCodeAt(i)})),n)):this.clone();else{var h=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=h,h.onabort=c,h.onerror=c,h.ontimeout=c,h.onprogress=function(){h.getResponseHeader("content-type")!==V&&h.abort()},h.onload=function(){r.read(h.response)},h.onloadend=function(){r.reloading=!1,r.xhr=null},a.checkCrossOrigin&&Dt(t)&&o.crossOrigin&&(t=St(t)),h.open("GET",t,!0),h.responseType="arraybuffer",h.withCredentials="use-credentials"===o.crossOrigin,h.send()}else this.clone()}}},{key:"read",value:function(t){var i=this.options,e=this.imageData,n=Rt(t),s=0,r=1,o=1;if(n>1){this.url=function(t,i){for(var e=[],n=new Uint8Array(t);n.length>0;)e.push(Ft.apply(null,ct(n.subarray(0,8192)))),n=n.subarray(8192);return"data:".concat(i,";base64,").concat(btoa(e.join("")))}(t,V);var a=function(t){var i=0,e=1,n=1;switch(t){case 2:e=-1;break;case 3:i=-180;break;case 4:n=-1;break;case 5:i=90,n=-1;break;case 6:i=90;break;case 7:i=90,e=-1;break;case 8:i=-90}return{rotate:i,scaleX:e,scaleY:n}}(n);s=a.rotate,r=a.scaleX,o=a.scaleY}i.rotatable&&(e.rotate=s),i.scalable&&(e.scaleX=r,e.scaleY=o),this.clone()}},{key:"clone",value:function(){var t=this.element,i=this.url,e=t.crossOrigin,n=i;this.options.checkCrossOrigin&&Dt(i)&&(e||(e="anonymous"),n=St(i)),this.crossOrigin=e,this.crossOriginUrl=n;var s=document.createElement("img");e&&(s.crossOrigin=e),s.src=n||i,s.alt=t.alt||"The image to crop",this.image=s,s.onload=this.start.bind(this),s.onerror=this.stop.bind(this),mt(s,O),t.parentNode.insertBefore(s,t.nextSibling)}},{key:"start",value:function(){var t=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var e=h.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(h.navigator.userAgent),n=function(i,e){dt(t.imageData,{naturalWidth:i,naturalHeight:e,aspectRatio:i/e}),t.initialImageData=dt({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!i.naturalWidth||e){var s=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=s,s.onload=function(){n(s.width,s.height),e||r.removeChild(s)},s.src=i.src,e||(s.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(s))}else n(i.naturalWidth,i.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,i=this.options,e=this.image,n=t.parentNode,s=document.createElement("div");s.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var r=s.querySelector(".".concat(d,"-container")),o=r.querySelector(".".concat(d,"-canvas")),a=r.querySelector(".".concat(d,"-drag-box")),h=r.querySelector(".".concat(d,"-crop-box")),c=h.querySelector(".".concat(d,"-face"));this.container=n,this.cropper=r,this.canvas=o,this.dragBox=a,this.cropBox=h,this.viewBox=r.querySelector(".".concat(d,"-view-box")),this.face=c,o.appendChild(e),mt(t,z),n.insertBefore(r,t.nextSibling),bt(e,O),this.initPreview(),this.bind(),i.initialAspectRatio=Math.max(0,i.initialAspectRatio)||NaN,i.aspectRatio=Math.max(0,i.aspectRatio)||NaN,i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0,mt(h,z),i.guides||mt(h.getElementsByClassName("".concat(d,"-dashed")),z),i.center||mt(h.getElementsByClassName("".concat(d,"-center")),z),i.background&&mt(r,"".concat(d,"-bg")),i.highlight||mt(c,E),i.cropBoxMovable&&(mt(c,A),kt(c,D,p)),i.cropBoxResizable||(mt(h.getElementsByClassName("".concat(d,"-line")),z),mt(h.getElementsByClassName("".concat(d,"-point")),z)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),at(i.ready)&&zt(t,X,i.ready,{once:!0}),Ot(t,X)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),bt(this.element,z)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],s=[{key:"noConflict",value:function(){return window.Cropper=Ut,t}},{key:"setDefaults",value:function(t){dt(Q,ot(t)&&t)}}],e&&n(i.prototype,e),s&&n(i,s),Object.defineProperty(i,"prototype",{writable:!1}),t;var i,e,s}();return dt($t.prototype,It,Pt,Yt,Lt,Ht,Xt),$t}()}));const Y=1-.9,L={autoCropArea:.9,minCropBoxHeight:82,minCropBoxWidth:82,minContainerWidth:90,minContainerHeight:90,movable:!1,zoomable:!1,rotatable:!1,scalable:!1,zoomOnTouch:!1,zoomOnWheel:!1,toggleDragModeOnDblclick:!1,viewMode:1},H=class{constructor(e){t(this,e),this.vviinnImageCrop=i(this,"vviinnImageCrop",7),this.cropEnd=()=>{r.searchArea=a.some(this.getCropboxData()),p(),r.detectedObject=void 0,this.vviinnImageCrop.emit(this.basicEventData)},this.basicEventData=void 0,this.setShowAspectRatioError=void 0,this.showAspectRatioError=void 0,this.cropper=null,this.hidePreloader=!1}disconnectedCallback(){this.cropper&&this.cropper.destroy()}selectDetectedObject({detail:t}){const{top:i,left:e,width:n,height:s}=t.detectedObject.value.rectangle,r=this.cropper.getImageData();this.cropper.setCropBoxData((t=>{const{width:i,height:e,left:n,top:s}=t,r=82;let o={width:i,height:e,left:n,top:s};return i<r&&(o.width=r,o.left=n-(r-i)/2),e<r&&(o.height=r,o.top=s-(r-e)/2),o})({left:e*r.width,top:i*r.height,width:n*r.width,height:s*r.height}))}getCropboxData(){const{left:t,top:i,width:e,height:n}=this.cropper.getCropBoxData();return{x:t,y:i,width:e,height:n}}loadImage(){const t=this.el.shadowRoot.querySelector("img");if(t){let i={};this.cropper&&(i=this.cropper.getData(!0),this.cropper.destroy());const e=y(t),{x:n,y:s,width:o,height:h}=e,c={x:n,y:s,width:o-o*Y,height:h-h*Y};if(r.imageBounds=a.some(e),r.searchArea=a.some(c),o/h<.1||h/o<.1)return this.setShowAspectRatioError(!0),void this.el.classList.add("bordered");if(o<90||h<90)return this.el.classList.add("bordered"),void(this.hidePreloader=!0);this.cropper=new P(t,Object.assign(Object.assign({},L),{cropend:this.cropEnd,data:i}))}}renderDetectedObject(t){return e("vviinn-detected-object",{detectedObject:t,basicEventData:this.basicEventData})}renderImage(){return o.pipe(x(r.imageUrl,r.image),a.map((([t,i])=>{const[n,s]=(t=>{const i=k(t),e=M(288)(i).map((t=>t.size));return[e[0],e[1]]})(i);return e("img",{decoding:"async",width:n,height:s,src:t,draggable:!1,onLoad:()=>this.loadImage()})})),a.getOrElse((()=>null)))}render(){return e(n,null,e("div",{class:"container"},e("div",{class:"image-container"},this.renderImage(),r.detectedObjects.map((t=>this.renderDetectedObject(t)))),!r.loading&&!r.objectDetectionInProgress||this.showAspectRatioError||this.hidePreloader?null:e("div",{class:"image-preloader"},e("vviinn-preloader",null))))}get el(){return s(this)}};H.style=":host {\n min-height: 160px;\n display: flex;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.32);\n}\n\n:host(.bordered) {\n background-color: transparent;\n border: 1px solid #eaeaea;\n margin-top: 40px;\n}\n\n@media (max-width: 768px) {\n :host {\n min-height: unset;\n }\n\n :host(.bordered) {\n border: none;\n margin-top: 48px;\n }\n}\n\n.container {\n max-width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.image-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n}\n\n.image-container > img {\n display: block;\n max-width: 100%;\n}\n\n.image-preloader {\n background: rgba(0, 0, 0, 0.25);\n border-radius: 4px;\n bottom: 18px;\n right: 18px;\n padding: 4px;\n pointer-events: none;\n color: white;\n position: absolute;\n z-index: 4;\n}\n\nvviinn-preloader {\n --preloader-size: 12px;\n}\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n\n & img {\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.4;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-view-box,\n.cropper-face {\n border-radius: 5px;\n}\n\n.cropper-face,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n left: 0;\n top: 0;\n}\n\n.cropper-point {\n --cropper-point-width: 44px;\n height: var(--cropper-point-width);\n width: var(--cropper-point-width);\n opacity: 1;\n}\n\n.point-e,\n.point-s,\n.point-w,\n.point-n {\n display: none;\n}\n\n.point-ne,\n.point-nw,\n.point-sw,\n.point-se {\n --delta: -9px;\n}\n\n.point-ne {\n cursor: nesw-resize;\n right: var(--delta);\n top: var(--delta);\n}\n\n.point-nw {\n cursor: nwse-resize;\n left: var(--delta);\n top: var(--delta);\n}\n\n.point-sw {\n cursor: nesw-resize;\n bottom: var(--delta);\n left: var(--delta);\n}\n\n.point-se {\n cursor: nwse-resize;\n bottom: var(--delta);\n right: var(--delta);\n}\n\n.cropper-point::before {\n position: absolute;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' fill='none'%3E%3Cpath d='M3 35H23C29.6274 35 35 29.6274 35 23V3' stroke='white' stroke-width='6' stroke-linecap='square'/%3E%3C/svg%3E\");\n display: block;\n pointer-events: none;\n}\n\n.point-ne::before {\n transform: rotate(-90deg);\n left: 0px;\n top: 6px;\n}\n\n.point-nw::before {\n transform: rotate(180deg);\n left: 6px;\n top: 6px;\n}\n\n.point-sw::before {\n transform: rotate(90deg);\n left: 6px;\n top: 0px;\n}\n\n.point-se::before {\n left: 0px;\n top: 0px;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n";const X=class{constructor(e){t(this,e),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.hideBackButton=!1,this.isFirstScreen=void 0,this.slider=!1}componentWillLoad(){S(this,this.el)}resetTopScroll(){this.el.shadowRoot.querySelector(".body").scroll({top:0})}close(){this.active=!1,setTimeout((()=>{this.vviinnWidgetClose.emit({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:T.VPS,widgetId:this.buttonElementId,widgetVersion:this.widgetVersion})}),this.slider?500:0)}handleAnimationEnd(t){"fade-in"===t.animationName&&(this.slider=!0)}renderImage(){return o.pipe(x(r.imageUrl,r.image),a.map((([t])=>e("img",{width:"28",height:"28",src:t,class:"title-image"}))),a.getOrElse((()=>null)))}render(){return e(n,{exportparts:"secondary-action, title, close-button",class:{closed:!this.active,"first-screen":this.isFirstScreen},onAnimationEnd:t=>this.handleAnimationEnd(t)},e("div",{class:"head"},!this.hideBackButton&&e("button",{part:"secondary-action",onClick:()=>{this.resetState(),this.resetTopScroll()}},e(A,null)),e("div",{class:"title",part:"title"},this.renderImage(),e("slot",{name:"vviinn-image-search-modal-title"},j.t("imageSearchModalTitle"))),e("button",{onClick:()=>this.close(),class:"close-button",part:"close-button"},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},e("path",{d:"M12 13.3892L6.91958 18.4696C6.72248 18.6667 6.49095 18.7653 6.225 18.7653C5.95905 18.7653 5.72753 18.6667 5.53043 18.4696C5.33333 18.2725 5.23478 18.041 5.23478 17.775C5.23478 17.5091 5.33333 17.2776 5.53043 17.0805L10.6109 12L5.53043 6.9196C5.33333 6.7225 5.23478 6.49098 5.23478 6.22503C5.23478 5.95908 5.33333 5.72755 5.53043 5.53045C5.72753 5.33335 5.95905 5.2348 6.225 5.2348C6.49095 5.2348 6.72248 5.33335 6.91958 5.53045L12 10.6109L17.0804 5.53045C17.2775 5.33335 17.5091 5.2348 17.775 5.2348C18.041 5.2348 18.2725 5.33335 18.4696 5.53045C18.6667 5.72755 18.7652 5.95908 18.7652 6.22503C18.7652 6.49098 18.6667 6.7225 18.4696 6.9196L13.3892 12L18.4696 17.0805C18.6667 17.2776 18.7652 17.5091 18.7652 17.775C18.7652 18.041 18.6667 18.2725 18.4696 18.4696C18.2725 18.6667 18.041 18.7653 17.775 18.7653C17.5091 18.7653 17.2775 18.6667 17.0804 18.4696L12 13.3892Z",fill:"currentColor"})))),e("div",{class:"body"},e("slot",null)))}get el(){return s(this)}};X.style=":host{background:white;border-radius:24px;box-sizing:border-box;display:grid;grid-template-rows:min-content auto;max-width:960px;overflow:auto;position:relative}.head{position:absolute;width:100%;box-sizing:border-box;display:flex;align-items:center;z-index:1;padding:16px}.title{display:flex;align-items:center;transform:translateX(-6px);font-weight:600;font-size:18px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;padding:6px;color:#8d8d8d}button:hover{color:#000}@media (max-width: 768px){:host{animation-name:fade-in;animation-duration:0.5s;animation-fill-mode:forwards;border-radius:24px 24px 0 0}:host(.closed){animation-name:fade-out;animation-fill-mode:none}.head{z-index:1}:host(:not(.first-screen)) .head{position:sticky;background:#ffffff}.body{overflow-y:auto}:host(:not(.first-screen)) .body{padding-bottom:64px}.title{color:#161616;display:flex;align-items:center;font-weight:500;font-size:16px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;color:#6f6f6f;padding:0}button:hover{color:#000}:host(.first-screen) button,:host(.first-screen) button:hover{color:white}}@keyframes fade-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-out{from{transform:translateY(0)}to{transform:translateY(100%)}}";const U=class{constructor(i){t(this,i)}render(){return e(n,null,e("slot",null))}};U.style=":host{animation:fade-in 0.5s ease-in-out;background:rgba(0, 0, 0, 0.5);display:block;height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:9999}@keyframes fade-in{from{opacity:0.1}to{opacity:1}}";const $=class{constructor(e){t(this,e),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.hideBackButton=!1,this.widgetVersion=void 0,this.isFirstScreen=void 0}render(){return e(n,{class:{active:this.active}},e("vviinn-overlay",null,e("vviinn-modal",{resetState:this.resetState,active:this.active,buttonElementId:this.buttonElementId,hideBackButton:this.hideBackButton,widgetVersion:this.widgetVersion,isFirstScreen:this.isFirstScreen},e("slot",null,"CONTENT"))))}};$.style=":host{display:none}:host(.active){display:block}vviinn-overlay{align-items:center;display:grid;justify-items:center;cursor:default}vviinn-modal{margin-left:24px;margin-right:24px}@media (max-width: 768px){vviinn-modal{height:100vh;height:100svh;margin-top:64px;transform:translateY(100%);width:100vw;margin-left:0;margin-right:0}vviinn-overlay{align-items:end;display:grid;justify-items:center}}";const K=class{constructor(i){t(this,i),this.privacyBadgeText=void 0}componentWillLoad(){S(this,this.el)}render(){return e(n,null,e("slot",{name:"vviinn-privacy-badge-text"},e("div",null,this.privacyBadgeText)))}get el(){return s(this)}};K.style=":host{color:#525252;font-size:12px;line-height:16px;text-align:center}:host(.invisible){color:transparent}@media (max-width: 768px){:host(.invisible){display:none}}";const V=class{constructor(i){t(this,i),this.handler=void 0}render(){return e(n,null,e("vviinn-error",null,e(z,null),e("h4",{slot:"title"},j.t("serverErrorBlock.title")),e("button",{slot:"action",onClick:this.handler},j.t("serverErrorBlock.button"))))}},q=class{constructor(i){t(this,i)}render(){return e(n,null,e("slot",null))}};q.style=":host{display:grid;justify-items:center}";const Z=({kind:t,tabindex:i,disabled:n,onClick:s,onKeyDown:r})=>{return e("div",{class:(o={kind:t,disabled:n},{"arrow-wrapper":!0,[o.kind]:!0,disabled:o.disabled}),onClick:s,tabindex:i,onKeyDown:r},e(D,null));var o},G=class{constructor(i){t(this,i),this.elementsCount=0,this.internalPosition=0,this.swipeStartPosition=a.none,this.isRTL=!1,this.showBullets=!0,this.position=0,this.showArrows=!1}positionWatchHandler(t){this.internalPosition=t,this.el.style.setProperty("--position",`${this.calculatePosition(t)}`),this.setActiveCssClassToSlide(t)}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.handleDomContentChanges()}handleDomContentChanges(){const t=this.el.querySelectorAll("vviinn-slide");this.elementsCount=t.length,this.el.style.setProperty("--num-items",`${this.elementsCount}`),this.setActiveCssClassToSlide(0)}setActiveCssClassToSlide(t){const i=this.el.querySelectorAll("vviinn-slide");i.forEach((t=>t.classList.remove("active"))),i[t].classList.add("active")}goToSlide(t){this.internalPosition=t,this.el.style.setProperty("--position",`${t}`),this.setActiveCssClassToSlide(t)}renderBullets(){return this.showBullets?e("div",{class:"controls"},C.range(0,this.elementsCount-1).map((t=>e("div",{class:{bullet:!0,active:t==Math.abs(this.internalPosition)%this.elementsCount},onClick:()=>this.goToSlide(t)})))):null}nextSlide(){this.internalPosition++,this.renderSlidePosition()}prevSlide(){const t=this.internalPosition-1;this.internalPosition=t>-1?t:this.elementsCount-1,this.renderSlidePosition()}renderSlidePosition(){const t=this.internalPosition%this.elementsCount;requestAnimationFrame((()=>{this.el.style.setProperty("--position",`${this.calculatePosition(t)}`)}))}calculatePosition(t){return this.isRTL?-1*t:t}handleKeyDown(t){if("Space"===t.key||"Enter"===t.key)switch(t.target.className.includes("prev")?"prev":"next"){case"prev":this.prevSlide();break;case"next":this.nextSlide()}}handleTouchStart(t){this.showBullets&&(this.swipeStartPosition=o.pipe(t.touches[0],a.fromNullable,a.map((t=>t.clientX))))}handleTouchEnd(t){if(!this.showBullets)return;const i=o.pipe(t.changedTouches[0],a.fromNullable,a.map((t=>t.clientX)));o.pipe(x(this.swipeStartPosition,i),a.map((([t,i])=>{return(e=t)<(n=i)?-1:e>n?1:0;var e,n})),a.map((t=>{switch(t){case 1:return this.nextSlide();case-1:return this.prevSlide()}})))}render(){return e(n,null,e("div",{class:"items-wrapper"},e("div",{class:"items",onTouchStart:t=>this.handleTouchStart(t),onTouchEnd:t=>this.handleTouchEnd(t)},e("slot",null))),this.showArrows?[e(Z,{kind:"prev",onClick:()=>this.isRTL?this.nextSlide():this.prevSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:1,disabled:!1}),e(Z,{kind:"next",onClick:()=>this.isRTL?this.prevSlide():this.nextSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:0,disabled:!1})]:null,this.renderBullets())}get el(){return s(this)}static get watchers(){return{position:["positionWatchHandler"]}}};G.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{--num-items:0;--position:0;display:grid;grid-gap:20px;justify-items:center;position:relative}.items-wrapper{overflow:hidden;width:100%}.items{box-sizing:border-box;display:grid;grid-auto-flow:column;grid-template-columns:repeat(var(--num-items), 100%);transform:translateX(calc(-100% * var(--position)));transition:transform 0.33s ease-in-out}.controls{display:grid;grid-gap:16px;grid-template-columns:repeat(var(--num-items), min-content)}.bullet{background:#e0e0e0;border-radius:50%;box-sizing:border-box;cursor:pointer;height:8px;width:8px;transition:background 0.1s ease-in-out}.bullet:hover{background:#c6c6c6}.bullet.active{background:var(--color-primary, var(--color-primary-system))}.bullet:active{background:transparent;border:2px solid var(--color-primary, var(--color-primary-system))}.arrow-wrapper{align-items:center;cursor:pointer;background:white;border:2px solid white;bottom:0;box-sizing:border-box;display:grid;height:calc(var(--spacer) * 6);justify-items:center;margin:auto;position:absolute;top:0;transform:translate3d(0, -50%, 0);transition:border 0.25ms ease-in-out;width:calc(var(--spacer) * 4)}.arrow-wrapper:active{border-color:var(--color-primary, var(--color-primary-system));opacity:0.75}.arrow-wrapper:focus{border-color:var(--color-primary, var(--color-primary-system));opacity:0.5;outline:none}.prev{left:0}.next{right:0}.next>svg{transform:rotate3d(0, 1, 0, 180deg)}.arrow-wrapper>svg{transition:fill 0.25ms ease-in-out;fill:#a8a8a8}.arrow-wrapper:hover>svg{fill:#8d8d8d}";const J=class{constructor(i){t(this,i)}componentWillLoad(){S(this,this.el)}render(){return e(n,null,e("slot",null,e("span",{class:"vviinn-teaser-text"},e("slot",{name:"vviinn-teaser-text"},j.t("teaserText")))))}get el(){return s(this)}};J.style=":host{align-items:center;display:grid;justify-items:center;grid-gap:16px}.vviinn-teaser-text{font-size:22px;font-weight:600;line-height:28px;text-align:center;white-space:pre-line}";const Q=class{constructor(i){t(this,i),this.handler=void 0}render(){return e(n,null,e("vviinn-error",null,e(z,null),e("h4",{slot:"title"},j.t("wrongAspectRatioBlock.title")),e("button",{slot:"action",onClick:this.handler},j.t("wrongAspectRatioBlock.button"))))}},tt=class{constructor(i){t(this,i),this.handler=void 0}render(){return e(n,null,e("vviinn-error",null,e(z,null),e("h4",{slot:"title"},j.t("wrongFormatBlock.title")),e("span",{slot:"text"},j.t("wrongFormatBlock.text")),e("button",{slot:"action",onClick:this.handler},j.t("wrongFormatBlock.button"))))}};export{_ as search_filters,F as vviinn_detected_object,W as vviinn_empty_results,R as vviinn_example_image,I as vviinn_image_selector,H as vviinn_image_view,X as vviinn_modal,U as vviinn_overlay,$ as vviinn_overlayed_modal,K as vviinn_privacy_badge,V as vviinn_server_error,q as vviinn_slide,G as vviinn_slider,J as vviinn_teaser,Q as vviinn_wrong_aspect_ratio,tt as vviinn_wrong_format}
@@ -1 +1 @@
1
- import{r as i,c as t,h as s,H as h,g as n}from"./p-1e83e6ba.js";import{v as o}from"./p-8b0f06e7.js";import{V as e}from"./p-7f19baa1.js";const v=class{constructor(s){i(this,s),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnResultLoad=t(this,"vviinnResultLoad",7),this.vviinnResultView=t(this,"vviinnResultView",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.vviinnAddToBasket=t(this,"vviinnAddToBasket",7),this.sidebar=null,this.sidebarCloseListener=()=>{document.body.removeChild(this.sidebar)},this.token=void 0,this.productId=void 0,this.position="bottom",this.sourceImage=null,this.sidebarTitle="Visually similar products",this.modalScrollbar=!1,this.campaigns="",this.campaignType="VPR",this.locale="de-DE",this.color="",this.addStyle=!0,this.mode="continuity",this.imageWidth=300,this.currencySign="€",this.noResultText="",this.noResultShow=!0,this.gridArrowsDynamic=!1,this.excluded="",this.productDetailNewTab=!1,this.addToBasketShow=!1,this.apiPath="https://api.vviinn.com"}render(){return s(h,{onClick:()=>{this.handleClick()},role:"button",tabindex:"0"},s("vviinn-button",{addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(e,null))))}handleClick(){const i=document.createElement("vviinn-recommendations-sidebar");i.sidebarTitle=this.sidebarTitle,i.productId=this.productId,i.token=this.token,i.position=this.position,i.sourceImage=this.sourceImage,i.widgetScrollbar=this.modalScrollbar,i.campaigns=this.campaigns,i.campaignType=this.campaignType,i.color=this.color,i.locale=this.locale,i.mode="right"===this.position?"grid":this.mode,i.imageWidth=this.imageWidth,i.currencySign=this.currencySign,i.apiPath=this.apiPath,i.buttonElementId=this.el.id,i.noResultText=this.noResultText,i.noResultShow=this.noResultShow,i.gridArrowsDynamic=this.gridArrowsDynamic,i.productDetailNewTab=this.productDetailNewTab,i.widgetVersion=o,i.showingInButton=!0,i.excluded=this.excluded,i.addToBasketShow=this.addToBasketShow,i.buttonChildren=this.el.children,this.sidebar=i,i.addEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.append(this.sidebar)}disconnectedCallback(){this.sidebar&&this.sidebar.removeEventListener("vviinnWidgetClose",this.sidebarCloseListener)}get el(){return n(this)}};v.style=":host{display:block}";export{v as vviinn_vpr_button}
1
+ import{r as i,c as t,h as s,H as h,g as n}from"./p-1e83e6ba.js";import{v as o}from"./p-726774f9.js";import{V as v}from"./p-7f19baa1.js";const e=class{constructor(s){i(this,s),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnResultLoad=t(this,"vviinnResultLoad",7),this.vviinnResultView=t(this,"vviinnResultView",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.vviinnAddToBasket=t(this,"vviinnAddToBasket",7),this.sidebar=null,this.sidebarCloseListener=()=>{document.body.removeChild(this.sidebar)},this.token=void 0,this.productId=void 0,this.position="bottom",this.sourceImage=null,this.sidebarTitle="Visually similar products",this.modalScrollbar=!1,this.campaigns="",this.campaignType="VPR",this.locale="de-DE",this.color="",this.addStyle=!0,this.mode="continuity",this.imageWidth=300,this.currencySign="€",this.noResultText="",this.noResultShow=!0,this.gridArrowsDynamic=!1,this.excluded="",this.productDetailNewTab=!1,this.addToBasketShow=!1,this.apiPath="https://api.vviinn.com"}render(){return s(h,{onClick:()=>{this.handleClick()},role:"button",tabindex:"0"},s("vviinn-button",{addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(v,null))))}handleClick(){const i=document.createElement("vviinn-recommendations-sidebar");i.sidebarTitle=this.sidebarTitle,i.productId=this.productId,i.token=this.token,i.position=this.position,i.sourceImage=this.sourceImage,i.widgetScrollbar=this.modalScrollbar,i.campaigns=this.campaigns,i.campaignType=this.campaignType,i.color=this.color,i.locale=this.locale,i.mode="right"===this.position?"grid":this.mode,i.imageWidth=this.imageWidth,i.currencySign=this.currencySign,i.apiPath=this.apiPath,i.buttonElementId=this.el.id,i.noResultText=this.noResultText,i.noResultShow=this.noResultShow,i.gridArrowsDynamic=this.gridArrowsDynamic,i.productDetailNewTab=this.productDetailNewTab,i.widgetVersion=o,i.showingInButton=!0,i.excluded=this.excluded,i.addToBasketShow=this.addToBasketShow,i.buttonChildren=this.el.children,this.sidebar=i,i.addEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.append(this.sidebar)}disconnectedCallback(){this.sidebar&&this.sidebar.removeEventListener("vviinnWidgetClose",this.sidebarCloseListener)}get el(){return n(this)}};e.style=":host{display:block}";export{e as vviinn_vpr_button}
@@ -1 +1 @@
1
- import{p as e,b as t}from"./p-1e83e6ba.js";export{s as setNonce}from"./p-1e83e6ba.js";(()=>{const t=import.meta.url,i={};return""!==t&&(i.resourcesUrl=new URL(".",t).href),e(i)})().then((e=>t([["p-7f2c9319",[[1,"vviinn-button",{addStyle:[4,"add-style"]}]]],["p-010b4979",[[1,"vviinn-preloader"]]],["p-872a4ee9",[[1,"vviinn-error"]]],["p-32938807",[[1,"vviinn-vpr-widget",{blockTitle:[1,"block-title"],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],productId:[1,"product-id"],token:[1],currencySign:[1,"currency-sign"],pricePrefix:[1,"price-prefix"],mode:[1],campaignType:[1,"campaign-type"],locale:[1],campaigns:[1],color:[1],gridArrowsDynamic:[4,"grid-arrows-dynamic"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],showScroll:[4,"show-scroll"],cssUrl:[1,"css-url"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],addToBasketShow:[4,"add-to-basket-show"],updateButtonLocation:[1,"update-button-location"],apiPath:[1,"api-path"],useCarousel:[4,"use-carousel"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],closed:[4],opened:[4],recommendations:[32],trackingDeactivated:[32],hasErrorOnLoad:[32],updatingAllCards:[32]},[[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnAddToBasket","trackAddToBasket"],[0,"vviinnUpdatingAllCardsFinished","updatingAllCardsFinishedListener"]]],[0,"vviinn-carousel",{mode:[1],imageWidth:[2,"image-width"],showScroll:[4,"show-scroll"],campaignTypeId:[1,"campaign-type-id"],widgetElementId:[1,"widget-element-id"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],recommendations:[16],widgetVersion:[1,"widget-version"],addToBasketShow:[4,"add-to-basket-show"],updatingAllCards:[4,"updating-all-cards"],updateButtonLocation:[1,"update-button-location"],moveDirection:[32],contentGroups:[32],activeContentGroup:[32],isRTL:[32],crossSellingRecommendations:[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-product-card",{brand:[1],currency:[1],deeplink:[1],image:[1],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],locale:[1],price:[2],pricePrefix:[1,"price-prefix"],productId:[1,"product-id"],productTitle:[1,"product-title"],productType:[1,"product-type"],salePrice:[2,"sale-price"],responsive:[4],dimmedBackground:[4,"dimmed-background"],mode:[1],addToBasketShow:[4,"add-to-basket-show"],updateButtonLocation:[1,"update-button-location"],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"],imageLoaded:[32],isTransitioning:[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-skeleton",{height:[2],halfWidth:[4,"half-width"]}]]],["p-da0b001f",[[1,"vviinn-image-view",{basicEventData:[16],cropper:[32]},[[0,"vviinnSelectObject","selectDetectedObject"]]],[1,"vviinn-overlayed-modal",{active:[4],resetState:[16],buttonElementId:[1,"button-element-id"],hideBackButton:[4,"hide-back-button"],widgetVersion:[1,"widget-version"],isFirstScreen:[4,"is-first-screen"]}],[1,"vviinn-empty-results",{handler:[16]}],[1,"vviinn-image-selector",{basicEventData:[16],startUpload:[4,"start-upload"],loading:[4],accept:[1],resetVpsButton:[16],capture:[1]}],[1,"vviinn-server-error",{handler:[16]}],[1,"vviinn-wrong-format",{handler:[16]}],[1,"search-filters",{filter:[16],basicEventData:[16],selectedFilter:[32],hideFilters:[32]}],[1,"vviinn-example-image",{exampleImageSource:[1,"example-image-source"],width:[2],height:[2],basicEventData:[16],srcObject:[16],cameraButtonClicked:[4,"camera-button-clicked"],selected:[32],videoInitialized:[32],zoomCapabilities:[32]}],[1,"vviinn-privacy-badge",{privacyBadgeText:[1,"privacy-badge-text"]}],[1,"vviinn-slide"],[1,"vviinn-slider",{showBullets:[4,"show-bullets"],position:[514],showArrows:[4,"show-arrows"],elementsCount:[32],internalPosition:[32],swipeStartPosition:[32],isRTL:[32]}],[1,"vviinn-teaser"],[1,"vviinn-detected-object",{detectedObject:[16],basicEventData:[16],position:[32]}],[1,"vviinn-modal",{active:[1540],resetState:[16],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],hideBackButton:[4,"hide-back-button"],isFirstScreen:[4,"is-first-screen"],slider:[32]}],[1,"vviinn-overlay"]]],["p-8c681088",[[1,"vviinn-vps-widget",{token:[1],active:[1028],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],imageResolutionWidth:[2,"image-resolution-width"],exampleImageSource:[1,"example-image-source"],apiPath:[1,"api-path"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],buttonPressed:[4,"button-pressed"],mode:[1],resetVpsButton:[16],slidePosition:[32],width:[32],wrongImageFormat:[32],trackingDeactivated:[32],stream:[32],cameraEnabled:[32],cameraButtonClicked:[32],uploadSource:[32]},[[0,"vviinnCameraEnabled","trackCameraEnabled"],[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["p-0d37441f",[[1,"vviinn-vps-button",{token:[1],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],addStyle:[4,"add-style"],mode:[1],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],imageResolutionWidth:[2,"image-resolution-width"],exampleImageSource:[1,"example-image-source"],apiPath:[1,"api-path"],buttonPressed:[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["p-ab938400",[[1,"vviinn-recommendations-sidebar",{sidebarTitle:[1,"sidebar-title"],token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],widgetScrollbar:[4,"widget-scrollbar"],mode:[1],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],locale:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],addToBasketShow:[4,"add-to-basket-show"],buttonChildren:[16],apiPath:[1,"api-path"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],showingInButton:[4,"showing-in-button"],state:[32]},[[16,"click","bodyClickListener"]]]]],["p-40e2fb73",[[1,"vviinn-vpr-button",{token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],sidebarTitle:[1,"sidebar-title"],modalScrollbar:[4,"modal-scrollbar"],campaigns:[1],campaignType:[1,"campaign-type"],locale:[1],color:[1],addStyle:[4,"add-style"],mode:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],addToBasketShow:[4,"add-to-basket-show"],apiPath:[1,"api-path"]}]]]],e)));
1
+ import{p as e,b as t}from"./p-1e83e6ba.js";export{s as setNonce}from"./p-1e83e6ba.js";(()=>{const t=import.meta.url,i={};return""!==t&&(i.resourcesUrl=new URL(".",t).href),e(i)})().then((e=>t([["p-7f2c9319",[[1,"vviinn-button",{addStyle:[4,"add-style"]}]]],["p-010b4979",[[1,"vviinn-preloader"]]],["p-872a4ee9",[[1,"vviinn-error"]]],["p-b1e9dd46",[[1,"vviinn-vpr-widget",{blockTitle:[1,"block-title"],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],productId:[1,"product-id"],token:[1],currencySign:[1,"currency-sign"],pricePrefix:[1,"price-prefix"],mode:[1],campaignType:[1,"campaign-type"],locale:[1],campaigns:[1],color:[1],gridArrowsDynamic:[4,"grid-arrows-dynamic"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],showScroll:[4,"show-scroll"],cssUrl:[1,"css-url"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],addToBasketShow:[4,"add-to-basket-show"],updateButtonLocation:[1,"update-button-location"],apiPath:[1,"api-path"],useCarousel:[4,"use-carousel"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],closed:[4],opened:[4],recommendations:[32],trackingDeactivated:[32],hasErrorOnLoad:[32],updatingAllCards:[32]},[[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnAddToBasket","trackAddToBasket"],[0,"vviinnUpdatingAllCardsFinished","updatingAllCardsFinishedListener"]]],[0,"vviinn-carousel",{mode:[1],imageWidth:[2,"image-width"],showScroll:[4,"show-scroll"],campaignTypeId:[1,"campaign-type-id"],widgetElementId:[1,"widget-element-id"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],recommendations:[16],widgetVersion:[1,"widget-version"],addToBasketShow:[4,"add-to-basket-show"],updatingAllCards:[4,"updating-all-cards"],updateButtonLocation:[1,"update-button-location"],moveDirection:[32],contentGroups:[32],activeContentGroup:[32],isRTL:[32],crossSellingRecommendations:[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-product-card",{brand:[1],currency:[1],deeplink:[1],image:[1],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],locale:[1],price:[2],pricePrefix:[1,"price-prefix"],productId:[1,"product-id"],productTitle:[1,"product-title"],productType:[1,"product-type"],salePrice:[2,"sale-price"],responsive:[4],dimmedBackground:[4,"dimmed-background"],mode:[1],addToBasketShow:[4,"add-to-basket-show"],updateButtonLocation:[1,"update-button-location"],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"],imageLoaded:[32],isTransitioning:[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-skeleton",{height:[2],halfWidth:[4,"half-width"]}]]],["p-ecd1c141",[[1,"vviinn-image-view",{basicEventData:[16],setShowAspectRatioError:[16],showAspectRatioError:[4,"show-aspect-ratio-error"],cropper:[32],hidePreloader:[32]},[[0,"vviinnSelectObject","selectDetectedObject"]]],[1,"vviinn-overlayed-modal",{active:[4],resetState:[16],buttonElementId:[1,"button-element-id"],hideBackButton:[4,"hide-back-button"],widgetVersion:[1,"widget-version"],isFirstScreen:[4,"is-first-screen"]}],[1,"vviinn-empty-results",{handler:[16]}],[1,"vviinn-image-selector",{basicEventData:[16],startUpload:[4,"start-upload"],loading:[4],accept:[1],resetVpsButton:[16],capture:[1]}],[1,"vviinn-server-error",{handler:[16]}],[1,"vviinn-wrong-aspect-ratio",{handler:[16]}],[1,"vviinn-wrong-format",{handler:[16]}],[1,"search-filters",{filter:[16],basicEventData:[16],selectedFilter:[32],hideFilters:[32]}],[1,"vviinn-example-image",{exampleImageSource:[1,"example-image-source"],width:[2],height:[2],basicEventData:[16],srcObject:[16],cameraButtonClicked:[4,"camera-button-clicked"],selected:[32],videoInitialized:[32],zoomCapabilities:[32]}],[1,"vviinn-privacy-badge",{privacyBadgeText:[1,"privacy-badge-text"]}],[1,"vviinn-slide"],[1,"vviinn-slider",{showBullets:[4,"show-bullets"],position:[514],showArrows:[4,"show-arrows"],elementsCount:[32],internalPosition:[32],swipeStartPosition:[32],isRTL:[32]}],[1,"vviinn-teaser"],[1,"vviinn-detected-object",{detectedObject:[16],basicEventData:[16],position:[32]}],[1,"vviinn-modal",{active:[1540],resetState:[16],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],hideBackButton:[4,"hide-back-button"],isFirstScreen:[4,"is-first-screen"],slider:[32]}],[1,"vviinn-overlay"]]],["p-044c5f45",[[1,"vviinn-vps-widget",{token:[1],active:[1028],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],imageResolutionWidth:[2,"image-resolution-width"],exampleImageSource:[1,"example-image-source"],apiPath:[1,"api-path"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],buttonPressed:[4,"button-pressed"],mode:[1],resetVpsButton:[16],slidePosition:[32],width:[32],wrongImageFormat:[32],trackingDeactivated:[32],stream:[32],cameraEnabled:[32],cameraButtonClicked:[32],uploadSource:[32],showAspectRatioError:[32]},[[0,"vviinnCameraEnabled","trackCameraEnabled"],[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["p-a7cc44b3",[[1,"vviinn-vps-button",{token:[1],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],addStyle:[4,"add-style"],mode:[1],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],imageResolutionWidth:[2,"image-resolution-width"],exampleImageSource:[1,"example-image-source"],apiPath:[1,"api-path"],buttonPressed:[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["p-ab938400",[[1,"vviinn-recommendations-sidebar",{sidebarTitle:[1,"sidebar-title"],token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],widgetScrollbar:[4,"widget-scrollbar"],mode:[1],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],locale:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],addToBasketShow:[4,"add-to-basket-show"],buttonChildren:[16],apiPath:[1,"api-path"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],showingInButton:[4,"showing-in-button"],state:[32]},[[16,"click","bodyClickListener"]]]]],["p-ed082ecf",[[1,"vviinn-vpr-button",{token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],sidebarTitle:[1,"sidebar-title"],modalScrollbar:[4,"modal-scrollbar"],campaigns:[1],campaignType:[1,"campaign-type"],locale:[1],color:[1],addStyle:[4,"add-style"],mode:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],excluded:[1],productDetailNewTab:[4,"product-detail-new-tab"],addToBasketShow:[4,"add-to-basket-show"],apiPath:[1,"api-path"]}]]]],e)));
@@ -1 +0,0 @@
1
- const o="2.44.0";export{o as v}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-1e83e6ba.js";import{i as n,s as r,a as o,O as d,k as l,q as c}from"./p-987a8e9f.js";import{i as h}from"./p-2e76a5c3.js";import{v as p}from"./p-8b0f06e7.js";import{c as u,s as v,S as g}from"./p-c8ef8d6c.js";import{j as m,k as b,v as f,c as x,l as y,m as w,n as k}from"./p-da7273ce.js";import{c as T,d as B}from"./p-7f19baa1.js";import{D as j}from"./p-cc013cd2.js";const S={de:{translation:{exampleImagesTitle:"Mit den Beispielbildern die Suche direkt ausprobieren",imageUploadButtonText:"Bild hochladen",cameraButtonTextStart:"Kamera starten",cameraButtonTextStop:"Kamera stoppen",privacyBadgeText:"Durch das Hochladen eines Bildes willigst Du in die Verarbeitung durch unseren Partner Vviinn ein. Das Bild wird nach einer Stunde Inaktivität gelöscht.",teaserText:"Finde Produkte auf \n einem Foto",imageSearchModalTitle:"Bildsuche",emptyResultsBlock:{title:"Leider nichts gefunden",button:"Neues Bild hochladen"},serverErrorBlock:{title:"Keine Verbindung",button:"Erneut versuchen"},wrongFormatBlock:{title:"Dateityp wird nicht unterstützt",text:"Bitte laden Sie eine .jpg, .png oder .webp Bilddatei hoch.",button:"Neues Bild hochladen"}}},en:{translation:{exampleImagesTitle:"Try out the search with the example images",imageUploadButtonText:"Upload Photo",cameraButtonTextStart:"Start Camera",cameraButtonTextStop:"Stop Camera",privacyBadgeText:"By uploading a picture you agree to the processing by our partner Vviinn. The image will be deleted after one hour of inactivity.",teaserText:"Find Product by Photo",imageSearchModalTitle:"Visual Search",emptyResultsBlock:{title:"Sorry, nothing found",button:"Upload another image"},serverErrorBlock:{title:"Something went wrong",button:"Try again"},wrongFormatBlock:{title:"Wrong file format",text:"Please upload a .jpg, .png or .webp image file.",button:"Upload another file"}}}},I={facingMode:"environment",width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}};var _=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(s=Object.getOwnPropertySymbols(t);a<s.length;a++)i.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(t,s[a])&&(e[s[a]]=t[s[a]])}return e};const E=t=>/^[-+]?(\d+|Infinity)$/.test(t)?Number(t):NaN,P=t=>!c(t),V=t=>!isNaN(t),C=class{constructor(e){t(this,e),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=i(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=i(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnResultLoad=i(this,"vviinnResultLoad",7),this.vviinnResultView=i(this,"vviinnResultView",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageCrop=i(this,"vviinnImageCrop",7),this.vviinnSelectObject=i(this,"vviinnSelectObject",7),this.vviinnSelectFilter=i(this,"vviinnSelectFilter",7),this.imageSource=null,this.resultLoaded=!1,this.resultViewed=!1,this.cameraAvailable=!1,this.isDesktop=!1,this.videoTrack=null,this.handleVviinnImageUpload=t=>{this.trackInitialSearch(),this.uploadSource=t},this.handleVviinnImageUploadFinished=()=>{this.handleImageSelection(),"upload"===this.mode&&this.showingInButton&&(this.active=!0)},this.handleVviinnNoResult=t=>{"client"===t.reason&&(this.wrongImageFormat=!0)},this.adjustCameraSettings=async()=>{if(!this.videoTrack)return;const t=this.videoTrack.getCapabilities();if("focusMode"in t)try{await this.videoTrack.applyConstraints({advanced:[{focusMode:"continuous"}]})}catch(t){console.error("Failed to apply focus mode constraints",t)}if("focusMode"in t)try{await this.videoTrack.applyConstraints({advanced:[{exposureMode:"continuous"}]})}catch(t){console.error("Failed to apply exposure mode constraints",t)}if("whiteBalanceMode"in t)try{await this.videoTrack.applyConstraints({advanced:[{whiteBalanceMode:"continuous"}]})}catch(t){console.error("Failed to apply white balance mode constraints",t)}},this.handleStartCameraClick=async()=>{if(this.stream)this.resetState();else{this.cameraButtonClicked=!0;try{const t=await navigator.mediaDevices.getUserMedia({video:I});this.videoTrack=t.getVideoTracks()[0],this.adjustCameraSettings(),this.stream=t}catch(t){console.log("Error accessing camera: ",t.message),this.resetState()}}},this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var t;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:u.VPS,widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.id,widgetVersion:p}},this.token=void 0,this.active=!0,this.currencySign="€",this.locale="de-DE",this.campaignId="",this.excluded="",this.productDetailNewTab=!0,this.imageResolutionWidth=250,this.exampleImageSource=j,this.apiPath="https://api.vviinn.com",this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1,this.stream=null,this.cameraEnabled=!1,this.cameraButtonClicked=!1,this.uploadSource=void 0}initResultEvents(){this.resultLoaded=!1,this.resultViewed=!1}stopStreamTracks(){var t;null===(t=this.stream)||void 0===t||t.getTracks().forEach((t=>{t.stop()}))}isOnboardingSlide(){return 0===this.slidePosition}isResultSlide(){return 1===this.slidePosition}handleOpenLink(t,i){if(this.productDetailNewTab||i.ctrlKey||i.metaKey){let i=window.open();i?i.location.href=t:window.location.href=t}else window.location.href=t}componentDidLoad(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(t))}activeWatcher(t){t?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.vviinnWidgetOpen.emit(this.getBasicEventData()),this.trackWidgetEvent("open")):(document.body.style.overflow=this.overflow,this.initResultEvents())}buttonPressedWatcher(t){t&&"modal"===this.mode&&(this.active=!0)}trackCameraEnabled({detail:t}){this.cameraEnabled=t}trackProductLoad({detail:t}){const i=this.getProductTrackEvent(t,"load");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackProductView({detail:t}){this.resultViewed||(this.resultViewed=!0,this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"));const i=this.getProductTrackEvent(t,"view");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:i,clickEvent:e}=t,s=this.getProductTrackEvent(t,"click"),a=n.results.find((t=>t.productId===i));a&&a.deeplink&&(this.trackingDeactivated?this.handleOpenLink(a.deeplink,e):await this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(a.deeplink,e)})))}async trackAuxClick({detail:t}){const{productId:i}=t,e=this.getProductTrackEvent(t,"click"),s=n.results.find((t=>t.productId===i));s&&s.deeplink&&(this.trackingDeactivated||await this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated))}trachSearchAreaChanges(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=_(t,["campaignTypeId"]),e=m(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"},i));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=_(t,["campaignTypeId"]),e=m(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"},i));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackFilter({detail:t}){if(this.initResultEvents(),this.trackingDeactivated)return;const i=this.getBasicEventData(),e=_(i,["campaignTypeId"]),s=b(Object.assign({session_id:this.uiSessionId,source:this.imageSource,kind:t.kind,action:t.action},e));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}connectedCallback(){this.isDesktop="desktop"===(()=>{const t=navigator.userAgent;return/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(t)?"tablet":/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(t)?"mobile":"desktop"})(),r.apiPath=this.apiPath,r.currencySign=this.currencySign,r.locale=this.locale,this.cameraAvailable=!!navigator.mediaDevices&&!!navigator.mediaDevices.getUserMedia,n.token=this.token,n.campaignId=o.pipe(this.campaignId,d.fromNullable,d.chain(d.fromPredicate(P)),d.map(E),d.chain(d.fromPredicate(V)),d.map((t=>`${t}`))),this.excluded&&(this.excluded=l(this.excluded)),n.excluded=this.excluded,this.uiSessionId=f(),this.trackingApi=x(this.apiPath,this.token),this.id=this.el.id}async componentWillLoad(){await h.init({lng:this.locale,fallbackLng:"de-DE",resources:S}),v(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load")}trackWidgetEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),e=_(i,["campaignTypeId","widgetType"]),s=Object.assign({action:t,session_id:this.uiSessionId},e),a=y(s);this.trackingApi.trackEvent(a).then(this.setTrackingDeactivated)}getProductTrackEvent(t,i){if(this.trackingDeactivated)return null;const{productRank:e,productId:s}=t,a=_(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]),n=Object.assign({session_id:this.uiSessionId,rank:e,product:s},a);return w(i)(n)}trackResultEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),e=_(i,["campaignTypeId","widgetType"]);let s=k(t)(Object.assign({session_id:this.uiSessionId},e));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}trackInitialSearch(){if(this.trackingDeactivated)return;const t=this.getBasicEventData(),i=_(t,["campaignTypeId","widgetType"]),e=m(Object.assign({session_id:this.uiSessionId,search_area:"full",source:"upload"},i));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}handleImageSelection(){this.imageSource="upload",this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.stopStreamTracks()}renderButtons(){const t=[this.cameraAvailable&&e("button",{class:"action-button",part:"start-camera_button",onClick:()=>{this.handleStartCameraClick(),this.uploadSource="startCamera"}},n.loading&&"startCamera"===this.uploadSource?e("vviinn-preloader",null):e("span",{class:"action-button-content"},e("slot",{name:"vviinn-camera-icon"},e(T,null)),this.cameraEnabled?e("slot",{name:"vviinn-camera-button-text-stop"},e("span",null,h.t("cameraButtonTextStop"))):e("slot",{name:"vviinn-camera-button-text-start"},e("span",null,h.t("cameraButtonTextStart"))))),e("vviinn-image-selector",{class:"action-button",onClick:()=>this.uploadSource="uploadPhoto",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("uploadPhoto")},onVviinnNoResult:({detail:t})=>this.handleVviinnNoResult(t),resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"upload-photo_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode,loading:n.loading&&"uploadPhoto"===this.uploadSource},e("span",{slot:"upload-button-text",class:"action-button-content"},e("slot",{name:"vviinn-image-upload-icon"},e(B,null)),e("slot",{name:"vviinn-image-upload-button-text"},e("span",null,h.t("imageUploadButtonText")))))];return this.isDesktop?t.reverse():t}renderResults(){return 0===n.results.length?null:(this.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.resultLoaded=!0),n.results.map(((t,i)=>{var s;return e("vviinn-product-card",{key:t.productId,hidden:!0,productTitle:t.title,productId:t.productId,productType:t.productType,brand:t.brand,deeplink:t.deeplink,price:t.price.actual,salePrice:t.price.sale,responsive:!0,imageWidth:this.imageResolutionWidth,image:null!==(s=t.image.thumbnail)&&void 0!==s?s:t.image.original,part:"product-card",campaignTypeId:"VPS",index:i,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:p})})))}resetState(){this.resetScroll("start-page_block"),this.slidePosition=0,n.resetCategoryLink=void 0,n.activeIonLink=void 0,n.image=d.none,n.imageUrl=d.none,n.imageBounds=d.none,n.searchArea=d.none,n.results=[],n.filters=[],n.detectedObjects=[],n.rectangleSearchForm=void 0,n.loading=!1,n.serverError=!1,this.wrongImageFormat=!1,this.resetScroll("results-block"),this.stopStreamTracks(),this.initResultEvents(),this.stream=null,this.cameraEnabled=!1,this.cameraButtonClicked=!1}haveErrors(){return this.wrongImageFormat||n.serverError}resetScroll(t,i="auto"){this.el.shadowRoot.getElementById(t).scroll({top:0,left:0,behavior:i})}handleModalClose(){this.active=!1,this.resetState(),["start-page_block","results-block"].forEach((t=>this.resetScroll(t))),this.trackWidgetEvent("close")}render(){var t;return e(s,null,!this.showingInButton&&e(g,null),e("vviinn-overlayed-modal",{class:{"first-screen":this.isOnboardingSlide()},isFirstScreen:this.isOnboardingSlide(),active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.id,widgetVersion:p,hideBackButton:"upload"===this.mode&&this.showingInButton||!this.cameraEnabled&&this.isOnboardingSlide(),exportparts:"secondary-action, title, close-button"},e("vviinn-slider",{showBullets:!1,position:this.slidePosition},e("vviinn-slide",{class:{"start-page":!0,"camera-enabled":this.cameraEnabled}},e("vviinn-example-image",{onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("startCamera")},basicEventData:this.getBasicEventData(),srcObject:this.stream,cameraButtonClicked:this.cameraButtonClicked,exampleImageSource:this.exampleImageSource}),e("div",{class:{error:this.haveErrors()},id:"start-page_block"},e("div",{class:"start-page_main-content"},e("div",{class:{"start-page_errors-block":!0,hidden:!this.wrongImageFormat&&!n.serverError}},e("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.resetState()}),e("vviinn-server-error",{class:{hidden:!n.serverError},handler:()=>this.resetState()})),!this.haveErrors()&&e("vviinn-teaser",null),!this.haveErrors()&&e("div",{class:"buttons-group"},this.renderButtons())),e("vviinn-privacy-badge",{privacyBadgeText:h.t("privacyBadgeText"),class:{invisible:this.haveErrors()}}))),e("vviinn-slide",{class:{"results-page":!0,active:this.isResultSlide()}},e("div",{class:"image-wrapper"},this.isResultSlide()&&e("vviinn-image-view",{basicEventData:this.getBasicEventData()}),e("div",{class:"filters-wrapper"},e("div",{class:"filters"},n.filters.map((t=>e("search-filters",{filter:t,basicEventData:this.getBasicEventData()})))))),e("div",{id:"results-block",class:"products-wrapper"},e("div",{class:{"nothing-found":!0,hidden:n.results.length>0}},e("vviinn-empty-results",{handler:()=>this.resetState()}),e("vviinn-onboarding",null)),e("div",{class:{hidden:n.results.length<=0,products:!0}},this.active&&this.renderResults()))))))}get el(){return a(this)}static get watchers(){return{active:["activeWatcher"],buttonPressed:["buttonPressedWatcher"]}}};C.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);height:640px}#start-page_block{box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center;padding:42px 62px}#start-page_block.error{align-content:center}.start-page_main-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.start-page_errors-block{display:flex;flex-direction:column;justify-content:center;gap:12px}.buttons-group{display:flex;flex-direction:column;gap:12px;margin:24px 0}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;transition:background 0.1s ease-in-out;color:#525252;background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:8px}.results-page{margin-top:60px;display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));justify-items:center;padding:24px;position:absolute}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{display:grid;grid-template-rows:min-content 1fr;grid-gap:24px;min-width:100%}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:8px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:400;line-height:20px}search-filters::part(show-more-filters){display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #f4f4f4;min-width:40px;height:40px;border-radius:100px;box-sizing:border-box;color:#161616}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter active){background:var(--color-primary, var(--color-primary-system));color:white}.filters-wrapper{overflow-x:auto;transform:translateX(-24px);min-width:calc(100% + 48px)}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}@media (max-width: 1080px){#start-page_block{padding:24px 36px}}@media (max-width: 768px){.start-page{display:flex;flex-direction:column;height:100%}vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:visible}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{margin-top:0}.results-page>*{box-sizing:border-box;padding:0 24px 24px}.filters-wrapper{min-width:calc(100% + 40px)}.results-page{grid-template-rows:min-content;grid-template-columns:unset}#start-page_block{overflow-y:unset;min-height:-moz-fit-content;min-height:fit-content;padding:24px 20px}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}@media (max-width: 380px){.results-page>*{padding:12px}.products{grid-gap:24px 10px}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";export{C as vviinn_vps_widget}
@@ -1 +0,0 @@
1
- const o="2.44.0";export{o as v}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-1e83e6ba.js";import{i as n,s as r,a as o,O as d,k as l,q as c}from"./p-987a8e9f.js";import{i as h}from"./p-2e76a5c3.js";import{v as p}from"./p-8b0f06e7.js";import{c as u,s as v,S as g}from"./p-c8ef8d6c.js";import{j as m,k as b,v as f,c as x,l as y,m as w,n as k}from"./p-da7273ce.js";import{c as T,d as B}from"./p-7f19baa1.js";import{D as j}from"./p-cc013cd2.js";const S={de:{translation:{exampleImagesTitle:"Mit den Beispielbildern die Suche direkt ausprobieren",imageUploadButtonText:"Bild hochladen",cameraButtonTextStart:"Kamera starten",cameraButtonTextStop:"Kamera stoppen",privacyBadgeText:"Durch das Hochladen eines Bildes willigst Du in die Verarbeitung durch unseren Partner Vviinn ein. Das Bild wird nach einer Stunde Inaktivität gelöscht.",teaserText:"Finde Produkte auf \n einem Foto",imageSearchModalTitle:"Bildsuche",emptyResultsBlock:{title:"Leider nichts gefunden",button:"Neues Bild hochladen"},serverErrorBlock:{title:"Keine Verbindung",button:"Erneut versuchen"},wrongFormatBlock:{title:"Dateityp wird nicht unterstützt",text:"Bitte laden Sie eine .jpg, .png oder .webp Bilddatei hoch.",button:"Neues Bild hochladen"}}},en:{translation:{exampleImagesTitle:"Try out the search with the example images",imageUploadButtonText:"Upload Photo",cameraButtonTextStart:"Start Camera",cameraButtonTextStop:"Stop Camera",privacyBadgeText:"By uploading a picture you agree to the processing by our partner Vviinn. The image will be deleted after one hour of inactivity.",teaserText:"Find Product by Photo",imageSearchModalTitle:"Visual Search",emptyResultsBlock:{title:"Sorry, nothing found",button:"Upload another image"},serverErrorBlock:{title:"Something went wrong",button:"Try again"},wrongFormatBlock:{title:"Wrong file format",text:"Please upload a .jpg, .png or .webp image file.",button:"Upload another file"}}}},I={facingMode:"environment",width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}};var _=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(s=Object.getOwnPropertySymbols(t);a<s.length;a++)i.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(t,s[a])&&(e[s[a]]=t[s[a]])}return e};const E=t=>/^[-+]?(\d+|Infinity)$/.test(t)?Number(t):NaN,P=t=>!c(t),V=t=>!isNaN(t),C=class{constructor(e){t(this,e),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=i(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=i(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnResultLoad=i(this,"vviinnResultLoad",7),this.vviinnResultView=i(this,"vviinnResultView",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageCrop=i(this,"vviinnImageCrop",7),this.vviinnSelectObject=i(this,"vviinnSelectObject",7),this.vviinnSelectFilter=i(this,"vviinnSelectFilter",7),this.imageSource=null,this.resultLoaded=!1,this.resultViewed=!1,this.cameraAvailable=!1,this.isDesktop=!1,this.videoTrack=null,this.handleVviinnImageUpload=t=>{this.trackInitialSearch(),this.uploadSource=t},this.handleVviinnImageUploadFinished=()=>{this.handleImageSelection(),"upload"===this.mode&&this.showingInButton&&(this.active=!0)},this.handleVviinnNoResult=t=>{"client"===t.reason&&(this.wrongImageFormat=!0)},this.adjustCameraSettings=async()=>{if(!this.videoTrack)return;const t=this.videoTrack.getCapabilities();if("focusMode"in t)try{await this.videoTrack.applyConstraints({advanced:[{focusMode:"continuous"}]})}catch(t){console.error("Failed to apply focus mode constraints",t)}if("focusMode"in t)try{await this.videoTrack.applyConstraints({advanced:[{exposureMode:"continuous"}]})}catch(t){console.error("Failed to apply exposure mode constraints",t)}if("whiteBalanceMode"in t)try{await this.videoTrack.applyConstraints({advanced:[{whiteBalanceMode:"continuous"}]})}catch(t){console.error("Failed to apply white balance mode constraints",t)}},this.handleStartCameraClick=async()=>{if(this.stream)this.resetState();else{this.cameraButtonClicked=!0;try{const t=await navigator.mediaDevices.getUserMedia({video:I});this.videoTrack=t.getVideoTracks()[0],this.adjustCameraSettings(),this.stream=t}catch(t){console.log("Error accessing camera: ",t.message),this.resetState()}}},this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var t;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:u.VPS,widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.id,widgetVersion:p}},this.token=void 0,this.active=!0,this.currencySign="€",this.locale="de-DE",this.campaignId="",this.excluded="",this.productDetailNewTab=!0,this.imageResolutionWidth=250,this.exampleImageSource=j,this.apiPath="https://api.vviinn.com",this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1,this.stream=null,this.cameraEnabled=!1,this.cameraButtonClicked=!1,this.uploadSource=void 0}initResultEvents(){this.resultLoaded=!1,this.resultViewed=!1}stopStreamTracks(){var t;null===(t=this.stream)||void 0===t||t.getTracks().forEach((t=>{t.stop()}))}isOnboardingSlide(){return 0===this.slidePosition}isResultSlide(){return 1===this.slidePosition}handleOpenLink(t,i){if(this.productDetailNewTab||i.ctrlKey||i.metaKey){let i=window.open();i?i.location.href=t:window.location.href=t}else window.location.href=t}componentDidLoad(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(t))}activeWatcher(t){t?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.vviinnWidgetOpen.emit(this.getBasicEventData()),this.trackWidgetEvent("open")):(document.body.style.overflow=this.overflow,this.initResultEvents())}buttonPressedWatcher(t){t&&"modal"===this.mode&&(this.active=!0)}trackCameraEnabled({detail:t}){this.cameraEnabled=t}trackProductLoad({detail:t}){const i=this.getProductTrackEvent(t,"load");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackProductView({detail:t}){this.resultViewed||(this.resultViewed=!0,this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"));const i=this.getProductTrackEvent(t,"view");i&&this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:i,clickEvent:e}=t,s=this.getProductTrackEvent(t,"click"),a=n.results.find((t=>t.productId===i));a&&a.deeplink&&(this.trackingDeactivated?this.handleOpenLink(a.deeplink,e):await this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(a.deeplink,e)})))}async trackAuxClick({detail:t}){const{productId:i}=t,e=this.getProductTrackEvent(t,"click"),s=n.results.find((t=>t.productId===i));s&&s.deeplink&&(this.trackingDeactivated||await this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated))}trachSearchAreaChanges(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=_(t,["campaignTypeId"]),e=m(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"},i));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.initResultEvents(),this.trackingDeactivated)return;const t=this.getBasicEventData(),i=_(t,["campaignTypeId"]),e=m(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"},i));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackFilter({detail:t}){if(this.initResultEvents(),this.trackingDeactivated)return;const i=this.getBasicEventData(),e=_(i,["campaignTypeId"]),s=b(Object.assign({session_id:this.uiSessionId,source:this.imageSource,kind:t.kind,action:t.action},e));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}connectedCallback(){this.isDesktop="desktop"===(()=>{const t=navigator.userAgent;return/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(t)?"tablet":/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(t)?"mobile":"desktop"})(),r.apiPath=this.apiPath,r.currencySign=this.currencySign,r.locale=this.locale,this.cameraAvailable=!!navigator.mediaDevices&&!!navigator.mediaDevices.getUserMedia,n.token=this.token,n.campaignId=o.pipe(this.campaignId,d.fromNullable,d.chain(d.fromPredicate(P)),d.map(E),d.chain(d.fromPredicate(V)),d.map((t=>`${t}`))),this.excluded&&(this.excluded=l(this.excluded)),n.excluded=this.excluded,this.uiSessionId=f(),this.trackingApi=x(this.apiPath,this.token),this.id=this.el.id}async componentWillLoad(){await h.init({lng:this.locale,fallbackLng:"de-DE",resources:S}),v(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load")}trackWidgetEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),e=_(i,["campaignTypeId","widgetType"]),s=Object.assign({action:t,session_id:this.uiSessionId},e),a=y(s);this.trackingApi.trackEvent(a).then(this.setTrackingDeactivated)}getProductTrackEvent(t,i){if(this.trackingDeactivated)return null;const{productRank:e,productId:s}=t,a=_(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]),n=Object.assign({session_id:this.uiSessionId,rank:e,product:s},a);return w(i)(n)}trackResultEvent(t){if(this.trackingDeactivated)return;const i=this.getBasicEventData(),e=_(i,["campaignTypeId","widgetType"]);let s=k(t)(Object.assign({session_id:this.uiSessionId},e));this.trackingApi.trackEvent(s).then(this.setTrackingDeactivated)}trackInitialSearch(){if(this.trackingDeactivated)return;const t=this.getBasicEventData(),i=_(t,["campaignTypeId","widgetType"]),e=m(Object.assign({session_id:this.uiSessionId,search_area:"full",source:"upload"},i));this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}handleImageSelection(){this.imageSource="upload",this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.stopStreamTracks()}renderButtons(){const t=[this.cameraAvailable&&e("button",{class:"action-button",part:"start-camera_button",onClick:()=>{this.handleStartCameraClick(),this.uploadSource="startCamera"}},n.loading&&"startCamera"===this.uploadSource?e("vviinn-preloader",null):e("span",{class:"action-button-content"},e("slot",{name:"vviinn-camera-icon"},e(T,null)),this.cameraEnabled?e("slot",{name:"vviinn-camera-button-text-stop"},e("span",null,h.t("cameraButtonTextStop"))):e("slot",{name:"vviinn-camera-button-text-start"},e("span",null,h.t("cameraButtonTextStart"))))),e("vviinn-image-selector",{class:"action-button",onClick:()=>this.uploadSource="uploadPhoto",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("uploadPhoto")},onVviinnNoResult:({detail:t})=>this.handleVviinnNoResult(t),resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"upload-photo_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode,loading:n.loading&&"uploadPhoto"===this.uploadSource},e("span",{slot:"upload-button-text",class:"action-button-content"},e("slot",{name:"vviinn-image-upload-icon"},e(B,null)),e("slot",{name:"vviinn-image-upload-button-text"},e("span",null,h.t("imageUploadButtonText")))))];return this.isDesktop?t.reverse():t}renderResults(){return 0===n.results.length?null:(this.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.resultLoaded=!0),n.results.map(((t,i)=>{var s;return e("vviinn-product-card",{key:t.productId,hidden:!0,productTitle:t.title,productId:t.productId,productType:t.productType,brand:t.brand,deeplink:t.deeplink,price:t.price.actual,salePrice:t.price.sale,responsive:!0,imageWidth:this.imageResolutionWidth,image:null!==(s=t.image.thumbnail)&&void 0!==s?s:t.image.original,part:"product-card",campaignTypeId:"VPS",index:i,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:p})})))}resetState(){this.resetScroll("start-page_block"),this.slidePosition=0,n.resetCategoryLink=void 0,n.activeIonLink=void 0,n.image=d.none,n.imageUrl=d.none,n.imageBounds=d.none,n.searchArea=d.none,n.results=[],n.filters=[],n.detectedObjects=[],n.rectangleSearchForm=void 0,n.loading=!1,n.serverError=!1,this.wrongImageFormat=!1,this.resetScroll("results-block"),this.stopStreamTracks(),this.initResultEvents(),this.stream=null,this.cameraEnabled=!1,this.cameraButtonClicked=!1}haveErrors(){return this.wrongImageFormat||n.serverError}resetScroll(t,i="auto"){this.el.shadowRoot.getElementById(t).scroll({top:0,left:0,behavior:i})}handleModalClose(){this.active=!1,this.resetState(),["start-page_block","results-block"].forEach((t=>this.resetScroll(t))),this.trackWidgetEvent("close")}render(){var t;return e(s,null,!this.showingInButton&&e(g,null),e("vviinn-overlayed-modal",{class:{"first-screen":this.isOnboardingSlide()},isFirstScreen:this.isOnboardingSlide(),active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.id,widgetVersion:p,hideBackButton:"upload"===this.mode&&this.showingInButton||!this.cameraEnabled&&this.isOnboardingSlide(),exportparts:"secondary-action, title, close-button"},e("vviinn-slider",{showBullets:!1,position:this.slidePosition},e("vviinn-slide",{class:{"start-page":!0,"camera-enabled":this.cameraEnabled}},e("vviinn-example-image",{onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUpload:()=>{this.handleVviinnImageUpload("startCamera")},basicEventData:this.getBasicEventData(),srcObject:this.stream,cameraButtonClicked:this.cameraButtonClicked,exampleImageSource:this.exampleImageSource}),e("div",{class:{error:this.haveErrors()},id:"start-page_block"},e("div",{class:"start-page_main-content"},e("div",{class:{"start-page_errors-block":!0,hidden:!this.wrongImageFormat&&!n.serverError}},e("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.resetState()}),e("vviinn-server-error",{class:{hidden:!n.serverError},handler:()=>this.resetState()})),!this.haveErrors()&&e("vviinn-teaser",null),!this.haveErrors()&&e("div",{class:"buttons-group"},this.renderButtons())),e("vviinn-privacy-badge",{privacyBadgeText:h.t("privacyBadgeText"),class:{invisible:this.haveErrors()}}))),e("vviinn-slide",{class:{"results-page":!0,active:this.isResultSlide()}},e("div",{class:"image-wrapper"},this.isResultSlide()&&e("vviinn-image-view",{basicEventData:this.getBasicEventData()}),e("div",{class:"filters-wrapper"},e("div",{class:"filters"},n.filters.map((t=>e("search-filters",{filter:t,basicEventData:this.getBasicEventData()})))))),e("div",{id:"results-block",class:"products-wrapper"},e("div",{class:{"nothing-found":!0,hidden:n.results.length>0}},e("vviinn-empty-results",{handler:()=>this.resetState()}),e("vviinn-onboarding",null)),e("div",{class:{hidden:n.results.length<=0,products:!0}},this.active&&this.renderResults()))))))}get el(){return a(this)}static get watchers(){return{active:["activeWatcher"],buttonPressed:["buttonPressedWatcher"]}}};C.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);height:640px}#start-page_block{box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center;padding:42px 62px}#start-page_block.error{align-content:center}.start-page_main-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.start-page_errors-block{display:flex;flex-direction:column;justify-content:center;gap:12px}.buttons-group{display:flex;flex-direction:column;gap:12px;margin:24px 0}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;transition:background 0.1s ease-in-out;color:#525252;background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:8px}.results-page{margin-top:60px;display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));justify-items:center;padding:24px;position:absolute}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{display:grid;grid-template-rows:min-content 1fr;grid-gap:24px;min-width:100%}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:8px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:400;line-height:20px}search-filters::part(show-more-filters){display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #f4f4f4;min-width:40px;height:40px;border-radius:100px;box-sizing:border-box;color:#161616}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter active){background:var(--color-primary, var(--color-primary-system));color:white}.filters-wrapper{overflow-x:auto;transform:translateX(-24px);min-width:calc(100% + 48px)}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}@media (max-width: 1080px){#start-page_block{padding:24px 36px}}@media (max-width: 768px){.start-page{display:flex;flex-direction:column;height:100%}vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:visible}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{margin-top:0}.results-page>*{box-sizing:border-box;padding:0 24px 24px}.filters-wrapper{min-width:calc(100% + 40px)}.results-page{grid-template-rows:min-content;grid-template-columns:unset}#start-page_block{overflow-y:unset;min-height:-moz-fit-content;min-height:fit-content;padding:24px 20px}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}@media (max-width: 380px){.results-page>*{padding:12px}.products{grid-gap:24px 10px}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";export{C as vviinn_vps_widget}