vviinn-widgets 2.166.0 → 2.167.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-B9ytLPxZ.js → index-DYvhURIh.js} +12 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{package-cwS3_cup.js → package-CTmKiTyO.js} +1 -1
- package/dist/cjs/vviinn-button_2.cjs.entry.js +2 -2
- package/dist/cjs/vviinn-camera_12.cjs.entry.js +16 -16
- package/dist/cjs/vviinn-carousel_10.cjs.entry.js +77 -32
- package/dist/cjs/vviinn-detected-object_7.cjs.entry.js +7 -7
- package/dist/cjs/vviinn-text-search.cjs.entry.js +3 -3
- package/dist/cjs/vviinn-vps-button.cjs.entry.js +2 -2
- package/dist/cjs/vviinn-widgets.cjs.js +1 -1
- package/dist/collection/Image/renderTitleImage.js +2 -0
- package/dist/collection/components/vviinn-modal/vviinn-modal.js +3 -3
- package/dist/collection/components/vviinn-product-card/render-helpers.js +29 -9
- package/dist/collection/components/vviinn-product-card/vviinn-energy-label/vviinn-energy-label.js +2 -2
- package/dist/collection/components/vviinn-product-card/vviinn-product-card.css +42 -0
- package/dist/collection/components/vviinn-product-card/vviinn-product-card.js +79 -16
- package/dist/collection/components/vviinn-results/vviinn-results.js +3 -3
- package/dist/collection/components/vviinn-skeleton/vviinn-skeleton.js +1 -1
- package/dist/collection/components/vviinn-slider/vviinn-slide/vviinn-slide.js +1 -1
- package/dist/collection/components/vviinn-slider/vviinn-slider.js +1 -1
- package/dist/collection/components/vviinn-teaser/vviinn-teaser.js +1 -1
- package/dist/collection/components/vviinn-text-search/vviinn-text-search.js +2 -2
- package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +1 -1
- package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.js +2 -2
- package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.css +1 -1
- package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +2 -2
- package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +9 -9
- package/dist/collection/cssParts/index.js +2 -1
- package/dist/collection/cssParts/product.js +10 -0
- package/dist/collection/helpers/url/getLastUrlPath.js +14 -0
- package/dist/collection/helpers/url/getLastUrlPath.test.js +23 -0
- package/dist/collection/store/search.store.js +1 -1
- package/dist/collection/utils/string/joinTruthy.js +3 -0
- package/dist/collection/utils/string/joinTruthy.test.js +17 -0
- package/dist/esm/{index-DJLLuTh-.js → index-CYUAT3RF.js} +12 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{package-BRkye-3Y.js → package-Ds0qJGAs.js} +1 -1
- package/dist/esm/vviinn-button_2.entry.js +2 -2
- package/dist/esm/vviinn-camera_12.entry.js +16 -16
- package/dist/esm/vviinn-carousel_10.entry.js +77 -32
- package/dist/esm/vviinn-detected-object_7.entry.js +7 -7
- package/dist/esm/vviinn-text-search.entry.js +3 -3
- package/dist/esm/vviinn-vps-button.entry.js +2 -2
- package/dist/esm/vviinn-widgets.js +1 -1
- package/dist/types/Image/renderTitleImage.d.ts +1 -0
- package/dist/types/components/vviinn-product-card/render-helpers.d.ts +10 -2
- package/dist/types/components/vviinn-product-card/vviinn-product-card.d.ts +8 -1
- package/dist/types/components.d.ts +24 -0
- package/dist/types/cssParts/index.d.ts +1 -0
- package/dist/types/cssParts/product.d.ts +1 -0
- package/dist/types/helpers/url/getLastUrlPath.d.ts +1 -0
- package/dist/types/helpers/url/getLastUrlPath.test.d.ts +1 -0
- package/dist/types/utils/string/joinTruthy.d.ts +1 -0
- package/dist/types/utils/string/joinTruthy.test.d.ts +1 -0
- package/dist/vviinn-widgets/p-08c03082.entry.js +1 -0
- package/{www/build/p-f97aa42e.entry.js → dist/vviinn-widgets/p-177e130c.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-d06c3d98.entry.js → p-53347933.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-e70adb2f.entry.js → p-6e0b7760.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-464d7e0c.entry.js → p-7d12f926.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-DJLLuTh-.js → p-CYUAT3RF.js} +1 -1
- package/dist/vviinn-widgets/{p-BRkye-3Y.js → p-Ds0qJGAs.js} +1 -1
- package/dist/vviinn-widgets/{p-f4a75f92.entry.js → p-bb74e1b1.entry.js} +2 -2
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/www/build/p-08c03082.entry.js +1 -0
- package/{dist/vviinn-widgets/p-f97aa42e.entry.js → www/build/p-177e130c.entry.js} +1 -1
- package/www/build/{p-d06c3d98.entry.js → p-53347933.entry.js} +1 -1
- package/www/build/{p-e70adb2f.entry.js → p-6e0b7760.entry.js} +1 -1
- package/www/build/{p-464d7e0c.entry.js → p-7d12f926.entry.js} +1 -1
- package/www/build/p-9fa69445.js +1 -0
- package/www/build/{p-DJLLuTh-.js → p-CYUAT3RF.js} +1 -1
- package/www/build/{p-BRkye-3Y.js → p-Ds0qJGAs.js} +1 -1
- package/www/build/{p-f4a75f92.entry.js → p-bb74e1b1.entry.js} +2 -2
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/www/index.html +1 -1
- package/dist/collection/Image/renderImage.js +0 -2
- package/dist/collection/helpers/index.js +0 -1
- package/dist/collection/utils/string/index.js +0 -1
- package/dist/types/Image/renderImage.d.ts +0 -1
- package/dist/types/helpers/index.d.ts +0 -1
- package/dist/types/utils/string/index.d.ts +0 -1
- package/dist/vviinn-widgets/p-d6ea882d.entry.js +0 -1
- package/www/build/p-ca47d016.js +0 -1
- package/www/build/p-d6ea882d.entry.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as t,r as i,c as e,H as o,g as r,F as s}from"./p-BcMtFp89.js";import{t as n,_ as a,e as c,E as h,f as d,h as l,i as p,a as f,u,j as b,k as v,l as g,r as m,c as x,g as w,m as y,b as k,n as C,O as M,p as j}from"./p-HTOQ7YPT.js";import{s as S,p as z,v as I,S as T}from"./p-etuZ8m3J.js";import{P as O,R as B,c as W,a as P,v as R,b as E,d as V,e as N,f as _,g as H,h as D}from"./p-B4krhe3H.js";import{s as L,g as A,c as F}from"./p-C5MrXMjM.js";import{f as U,i as X}from"./p-Blhy9XN1.js";import{v as $,c as Y}from"./p-BRkye-3Y.js";import{r as Z}from"./p-DcA7Zxs5.js";import{a as Q,p as q,m as K,e as J,f as G,s as tt,b as it,d as et}from"./p-DJLLuTh-.js";import{f as ot,g as rt,D as st}from"./p-BPu6OLhB.js";import{R as nt,S as at}from"./p-CR1-OmNa.js";import{W as ct}from"./p-Da89HZrn.js";const ht=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 17.5C13.25 17.5 14.3125 17.0625 15.1875 16.1875C16.0625 15.3125 16.5 14.25 16.5 13C16.5 11.75 16.0625 10.6875 15.1875 9.8125C14.3125 8.9375 13.25 8.5 12 8.5C10.75 8.5 9.6875 8.9375 8.8125 9.8125C7.9375 10.6875 7.5 11.75 7.5 13C7.5 14.25 7.9375 15.3125 8.8125 16.1875C9.6875 17.0625 10.75 17.5 12 17.5ZM12 15.5C11.3 15.5 10.7083 15.2583 10.225 14.775C9.74167 14.2917 9.5 13.7 9.5 13C9.5 12.3 9.74167 11.7083 10.225 11.225C10.7083 10.7417 11.3 10.5 12 10.5C12.7 10.5 13.2917 10.7417 13.775 11.225C14.2583 11.7083 14.5 12.3 14.5 13C14.5 13.7 14.2583 14.2917 13.775 14.775C13.2917 15.2583 12.7 15.5 12 15.5ZM4 21C3.45 21 2.97917 20.8042 2.5875 20.4125C2.19583 20.0208 2 19.55 2 19V7C2 6.45 2.19583 5.97917 2.5875 5.5875C2.97917 5.19583 3.45 5 4 5H7.15L8.4 3.65C8.58333 3.45 8.80417 3.29167 9.0625 3.175C9.32083 3.05833 9.59167 3 9.875 3H14.125C14.4083 3 14.6792 3.05833 14.9375 3.175C15.1958 3.29167 15.4167 3.45 15.6 3.65L16.85 5H20C20.55 5 21.0208 5.19583 21.4125 5.5875C21.8042 5.97917 22 6.45 22 7V19C22 19.55 21.8042 20.0208 21.4125 20.4125C21.0208 20.8042 20.55 21 20 21H4Z",fill:"currentColor"})),dt=()=>t("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M8.00001 17.3333C7.62223 17.3333 7.30556 17.2056 7.05001 16.95C6.79445 16.6944 6.66667 16.3778 6.66667 16C6.66667 15.6222 6.79445 15.3056 7.05001 15.05C7.30556 14.7944 7.62223 14.6667 8.00001 14.6667H24C24.3778 14.6667 24.6944 14.7944 24.95 15.05C25.2056 15.3056 25.3333 15.6222 25.3333 16C25.3333 16.3778 25.2056 16.6944 24.95 16.95C24.6944 17.2056 24.3778 17.3333 24 17.3333H8.00001Z",fill:"currentColor"})),lt=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80",height:"80",viewBox:"0 0 80 80",fill:"none"},t("circle",{cx:"40",cy:"40",r:"36",fill:"white"}),t("circle",{cx:"40",cy:"40",r:"39",fill:"white","fill-opacity":"0.16",stroke:"white","stroke-width":"2"}),t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M48 29.3333H50.6667C53.6133 29.3333 56 31.72 56 34.6667V45.3333H53.3333V34.6667C53.3333 33.2 52.1333 32 50.6667 32H46.5733L45.7867 30.8133L43.9067 28H36.0933L34.2133 30.8133L33.4267 32H29.3333C27.8667 32 26.6667 33.2 26.6667 34.6667V48C26.6667 49.4667 27.8667 50.6667 29.3333 50.6667H36V53.3333H29.3333C26.3867 53.3333 24 50.9467 24 48V34.6667C24 31.72 26.3867 29.3333 29.3333 29.3333H32L34.6667 25.3333H45.3333L48 29.3333ZM40 34.6667C43.68 34.6667 46.6667 37.6533 46.6667 41.3333L46.6533 41.3467C46.6533 42.6933 46.24 43.96 45.5467 45.0133L51.6 51.0667L49.72 52.9467L43.6667 46.8933C42.6133 47.5867 41.36 48 40 48C36.32 48 33.3333 45.0133 33.3333 41.3333C33.3333 37.6533 36.32 34.6667 40 34.6667ZM36 41.3333C36 43.5333 37.8 45.3333 40 45.3333C42.2 45.3333 44 43.5333 44 41.3333C44 39.1333 42.2 37.3333 40 37.3333C37.8 37.3333 36 39.1333 36 41.3333Z",fill:"#161616"})),pt=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M4.5 21C4.1 21 3.75 20.85 3.45 20.55C3.15 20.25 3 19.9 3 19.5V4.5C3 4.1 3.15 3.75 3.45 3.45C3.75 3.15 4.1 3 4.5 3H19.5C19.9 3 20.25 3.15 20.55 3.45C20.85 3.75 21 4.1 21 4.5V19.5C21 19.9 20.85 20.25 20.55 20.55C20.25 20.85 19.9 21 19.5 21H4.5ZM6.65 17.075H17.375C17.525 17.075 17.6333 17.0083 17.7 16.875C17.7667 16.7417 17.7583 16.6083 17.675 16.475L14.75 12.575C14.6667 12.475 14.5667 12.425 14.45 12.425C14.3333 12.425 14.2333 12.475 14.15 12.575L11.15 16.45L9.125 13.675C9.04167 13.575 8.94167 13.525 8.825 13.525C8.70833 13.525 8.60833 13.575 8.525 13.675L6.375 16.475C6.275 16.6083 6.25833 16.7417 6.325 16.875C6.39167 17.0083 6.5 17.075 6.65 17.075Z",fill:"currentColor"})),ft=({className:i})=>t("svg",{width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:i},t("path",{d:"M31 3H15C8.37258 3 3 8.37258 3 15V31",stroke:"white","stroke-width":"6","stroke-linecap":"square"})),ut=class{constructor(t){i(this,t),this.vviinnImageUploadStarted=e(this,"vviinnImageUploadStarted"),this.vviinnNoResult=e(this,"vviinnNoResult"),this.vviinnImageUploadFinished=e(this,"vviinnImageUploadFinished"),this.vviinnCameraEnabled=e(this,"vviinnCameraEnabled"),this.width=0,this.height=0,this.cameraButtonClicked=!1,this.selected=!1,this.videoInitialized=!1,this.zoomCapabilities=null,this.videoTrack=null,this.initializeZoom=async()=>{var t;if(!this.videoTrack)return;const i=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};"zoom"in i&&(this.zoomCapabilities=i.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:o}=this.zoomCapabilities,r=null!==(i=this.videoTrack.getSettings().zoom)&&void 0!==i?i:o,s=Math.round((e-o)/5*10)/10;let n;n="in"===t?r+s:r-s,n="in"===t&&r<1?1:n,n<o&&(n=o),n>e&&(n=e),await this.videoTrack.applyConstraints({advanced:[{zoom:n}]})}}componentWillLoad(){S(this,this.el)}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:o}=i,r=document.createElement("canvas");r.width=e,r.height=o,r.getContext("2d").drawImage(i,0,0,r.width,r.height);const s=r.toDataURL("image/jpeg");t.src=s}async selectImage(){if(!this.srcObject)return;let t;this.vviinnImageUploadStarted.emit(this.basicEventData);const i=this.el.shadowRoot.getElementById("photo-frame"),e=this.videoElement,o=i.getBoundingClientRect(),r=e.getBoundingClientRect(),{videoWidth:s,videoHeight:d}=e,l=document.createElement("canvas");this.selected=!0,this.videoElement.pause(),this.createPlaceholderImageCanvas();const p=s/r.width,f=d/r.height,u=Math.min(o.width*p,o.height*f);l.width=u,l.height=u;const b=(o.left-r.left+(o.width-u/p)/2)*p,v=(o.top-r.top+(o.height-u/f)/2)*f;l.getContext("2d").drawImage(e,b,v,u,u,0,0,l.width,l.height);const g=l.toDataURL("image/jpeg");t=await n(g),a.pipe(await c(this.storeName)(t),h.match((()=>{this.vviinnNoResult.emit(this.basicEventData)}),(t=>{var i;this.showInWidget||L(null===(i=this.state.image)||void 0===i?void 0:i.src,this.state.detectedObjects),this.vviinnImageUploadFinished.emit({searchId:t.requestId,isTriggeredByVpsWidget:"widget"===this.storeName})}))),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 t(o,{key:"64809402a71a95255925c0866138779e5c917e50",onKeyUp:t=>this.handleKeyPress(t),class:{"video-expanded":this.cameraButtonClicked}},t("video",{key:"d58ddd07b98d74cbb54df386357989e96a574649",id:"camera-preview",class:{hidden:!this.videoInitialized||this.selected},autoplay:!0,playsinline:!0,muted:!0}),t("img",{key:"30fc832aa0385cfc3b03f6890faa1ceabbc58eb1",src:this.exampleImageSource,width:this.width,height:this.height,tabindex:1,class:{hidden:this.videoInitialized||this.selected}}),t("img",{key:"7c758da205ab947b251f738a60929c4ad7d5b2ae",id:"captured-image-placeholder",class:{hidden:!this.selected}}),t("div",{key:"012ce35255e7b0f554100471f6a9e83ffaa62510",class:{container:!0,hidden:!this.videoInitialized}},t("div",{key:"2207f75b720bb8704db78d5b9075dff241411c28",class:"photo-frame-container"},t("div",{key:"22362193a347adeaa63670cd89a8c9ea1f9aaa57",id:"photo-frame"},t(ft,{key:"ab04e12d0a25bf18ae031e6d04efc325f3603729",className:"photo-frame-corner top-left"}),t(ft,{key:"1a14814bcf41e79313c817c0d85e7bb98acbe95b",className:"photo-frame-corner top-right"}),t(ft,{key:"d4ace38974922c630c56d12feb884162d18e8b6a",className:"photo-frame-corner bottom-left"}),t(ft,{key:"aaec8f0ea7cb8bc844eb218b8ccc2f93cfa8658d",className:"photo-frame-corner bottom-right"})),t("div",{key:"74863c8e3caada7b699648094411f0ae98654112",class:{"zoom-buttons":!0,hidden:!this.zoomCapabilities}},t("button",{key:"eeda9b81bb41fd31facaf8929dc4825a596d9be4",onClick:()=>this.onZoom("out")},t(dt,{key:"234de4f34a9926daf0e3c11f67d7a450fa35b9fd"})),t("button",{key:"b38ad496e151e1fe95c83519268ea462213fb050",onClick:()=>this.onZoom("in")},t(O,{key:"76e00cb624ca3568299a313f96e65d19dccbee7d"})))),t("div",{key:"4dd6b60f7d9d8f60f0db71aea64ba719de50609e",class:"photo-button-container"},t("button",{key:"0089ed411a0bdc2e7319a0c0e71f2fcb5329e92d",class:"photo-button",onClick:()=>this.selectImage()},t(lt,{key:"fb02fbdd282af75254cf8172bc7017192047c4f0"})))))}get el(){return r(this)}static get watchers(){return{srcObject:["handleSrcObjectChange"]}}};ut.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:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:68px 0 48px;justify-content:space-around;align-content:center;box-sizing:border-box}.photo-frame-container{width:100%;height:100%;display:flex;flex-direction:column;gap:12px}#photo-frame{position:relative;aspect-ratio:1/1;border-radius:16px;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;height:auto;max-width:80%;margin:0 auto}@media (max-width: 960px){.photo-frame-container{width:auto;height:auto}}@media (max-width: 380px){#photo-frame{max-width:70%}}.photo-frame-corner{position:absolute;--delta:-3px}.photo-frame-corner.top-left{top:var(--delta);left:var(--delta)}.photo-frame-corner.top-right{top:var(--delta);right:var(--delta);transform:rotate(90deg)}.photo-frame-corner.bottom-left{bottom:var(--delta);left:var(--delta);transform:rotate(-90deg)}.photo-frame-corner.bottom-right{bottom:var(--delta);right:var(--delta);transform:rotate(180deg)}.photo-button-container{display:flex;width:100%;align-items:center;justify-self:flex-end}.photo-button{cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{display:flex;position:relative;justify-content:center;gap:12px}.zoom-buttons button{color:white;display:flex;width:48px;height:48px;justify-content:center;align-items:center;border-radius:var(--border-radius-100, 8px);background-color:rgba(0, 0, 0, 0.48);border:none;cursor:pointer}.hidden{display:none}";var bt,vt={exports:{}},gt=(bt||(bt=1,vt.exports=function(){function t(t,i){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);i&&(o=o.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),e.push.apply(e,o)}return e}function i(i){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?t(Object(r),!0).forEach((function(t){var o,s,n;o=i,n=r[t],(s=e(s=t))in o?Object.defineProperty(o,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):o[s]=n})):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(r,t))}))}return i}function e(t){var i=function(t,i){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,i);if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===i?String:Number)(t)}(t,"string");return"symbol"==typeof i?i:i+""}function o(t){return o="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},o(t)}function r(t,i){for(var o=0;o<i.length;o++){var r=i[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,e(r.key),r)}}function s(t){return function(t){if(Array.isArray(t))return n(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 n(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)?n(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 n(t,i){(null==i||i>t.length)&&(i=t.length);for(var e=0,o=new Array(i);e<i;e++)o[e]=t[e];return o}var a="undefined"!=typeof window&&void 0!==window.document,c=a?window:{},h=!(!a||!c.document.documentElement)&&"ontouchstart"in c.document.documentElement,d=!!a&&"PointerEvent"in c,l="cropper",p="all",f="crop",u="move",b="zoom",v="e",g="w",m="s",x="n",w="ne",y="nw",k="se",C="sw",M="".concat(l,"-crop"),j="".concat(l,"-disabled"),S="".concat(l,"-hidden"),z="".concat(l,"-hide"),I="".concat(l,"-invisible"),T="".concat(l,"-modal"),O="".concat(l,"-move"),B="".concat(l,"Action"),W="".concat(l,"Preview"),P="crop",R="move",E="none",V="crop",N="cropend",_="cropmove",H="cropstart",D="dblclick",L=d?"pointerdown":h?"touchstart":"mousedown",A=d?"pointermove":h?"touchmove":"mousemove",F=d?"pointerup pointercancel":h?"touchend touchcancel":"mouseup",U="ready",X="resize",$="wheel",Y="zoom",Z="image/jpeg",Q=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,q=/^data:/,K=/^data:image\/jpeg;base64,/,J=/^img|canvas$/i,G={viewMode:0,dragMode:P,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||c.isNaN;function it(t){return"number"==typeof t&&!tt(t)}var et=function(t){return t>0&&t<1/0};function ot(t){return void 0===t}function rt(t){return"object"===o(t)&&null!==t}var st=Object.prototype.hasOwnProperty;function nt(t){if(!rt(t))return!1;try{var i=t.constructor,e=i.prototype;return i&&e&&st.call(e,"isPrototypeOf")}catch(t){return!1}}function at(t){return"function"==typeof t}var ct=Array.prototype.slice;function ht(t){return Array.from?Array.from(t):ct.call(t)}function dt(t,i){return t&&at(i)&&(Array.isArray(t)||it(t.length)?ht(t).forEach((function(e,o){i.call(t,e,o,t)})):rt(t)&&Object.keys(t).forEach((function(e){i.call(t,t[e],e,t)}))),t}var lt=Object.assign||function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];return rt(t)&&e.length>0&&e.forEach((function(i){rt(i)&&Object.keys(i).forEach((function(e){t[e]=i[e]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ft(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*i)/i:t}var ut=/^width|height|left|top|marginLeft|marginTop$/;function bt(t,i){var e=t.style;dt(i,(function(t,i){ut.test(i)&&it(t)&&(t="".concat(t,"px")),e[i]=t}))}function vt(t,i){if(i)if(it(t.length))dt(t,(function(t){vt(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 gt(t,i){i&&(it(t.length)?dt(t,(function(t){gt(t,i)})):t.classList?t.classList.remove(i):t.className.indexOf(i)>=0&&(t.className=t.className.replace(i,"")))}function mt(t,i,e){i&&(it(t.length)?dt(t,(function(t){mt(t,i,e)})):e?vt(t,i):gt(t,i))}var xt=/([a-z\d])([A-Z])/g;function wt(t){return t.replace(xt,"$1-$2").toLowerCase()}function yt(t,i){return rt(t[i])?t[i]:t.dataset?t.dataset[i]:t.getAttribute("data-".concat(wt(i)))}function kt(t,i,e){rt(e)?t[i]=e:t.dataset?t.dataset[i]=e:t.setAttribute("data-".concat(wt(i)),e)}var Ct=/\s\s*/,Mt=function(){var t=!1;if(a){var i=!1,e=function(){},o=Object.defineProperty({},"once",{get:function(){return t=!0,i},set:function(t){i=t}});c.addEventListener("test",e,o),c.removeEventListener("test",e,o)}return t}();function jt(t,i,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=e;i.trim().split(Ct).forEach((function(i){if(!Mt){var s=t.listeners;s&&s[i]&&s[i][e]&&(r=s[i][e],delete s[i][e],0===Object.keys(s[i]).length&&delete s[i],0===Object.keys(s).length&&delete t.listeners)}t.removeEventListener(i,r,o)}))}function St(t,i,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=e;i.trim().split(Ct).forEach((function(i){if(o.once&&!Mt){var s=t.listeners,n=void 0===s?{}:s;r=function(){delete n[i][e],t.removeEventListener(i,r,o);for(var s=arguments.length,a=new Array(s),c=0;c<s;c++)a[c]=arguments[c];e.apply(t,a)},n[i]||(n[i]={}),n[i][e]&&t.removeEventListener(i,n[i][e],o),n[i][e]=r,t.listeners=n}t.addEventListener(i,r,o)}))}function zt(t,i,e){var o;return at(Event)&&at(CustomEvent)?o=new CustomEvent(i,{detail:e,bubbles:!0,cancelable:!0}):(o=document.createEvent("CustomEvent")).initCustomEvent(i,!0,!0,e),t.dispatchEvent(o)}function It(t){var i=t.getBoundingClientRect();return{left:i.left+(window.pageXOffset-document.documentElement.clientLeft),top:i.top+(window.pageYOffset-document.documentElement.clientTop)}}var Tt=c.location,Ot=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Bt(t){var i=t.match(Ot);return null!==i&&(i[1]!==Tt.protocol||i[2]!==Tt.hostname||i[3]!==Tt.port)}function Wt(t){var i="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+i}function Pt(t){var i=t.rotate,e=t.scaleX,o=t.scaleY,r=t.translateX,s=t.translateY,n=[];it(r)&&0!==r&&n.push("translateX(".concat(r,"px)")),it(s)&&0!==s&&n.push("translateY(".concat(s,"px)")),it(i)&&0!==i&&n.push("rotate(".concat(i,"deg)")),it(e)&&1!==e&&n.push("scaleX(".concat(e,")")),it(o)&&1!==o&&n.push("scaleY(".concat(o,")"));var a=n.length?n.join(" "):"none";return{WebkitTransform:a,msTransform:a,transform:a}}function Rt(t,e){var o=t.pageX,r=t.pageY,s={endX:o,endY:r};return e?s:i({startX:o,startY:r},s)}function Et(t){var i=t.aspectRatio,e=t.height,o=t.width,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",s=et(o),n=et(e);if(s&&n){var a=e*i;"contain"===r&&a>o||"cover"===r&&a<o?e=o/i:o=e*i}else s?e=o/i:n&&(o=e*i);return{width:o,height:e}}var Vt=String.fromCharCode;var Nt=/^data:.*,/;function _t(t){var i,e=new DataView(t);try{var o,r,s;if(255===e.getUint8(0)&&216===e.getUint8(1))for(var n=e.byteLength,a=2;a+1<n;){if(255===e.getUint8(a)&&225===e.getUint8(a+1)){r=a;break}a+=1}if(r){var c=r+10;if("Exif"===function(t,i,e){var o="";e+=i;for(var r=i;r<e;r+=1)o+=Vt(t.getUint8(r));return o}(e,r+4,4)){var h=e.getUint16(c);if(((o=18761===h)||19789===h)&&42===e.getUint16(c+2,o)){var d=e.getUint32(c+4,o);d>=8&&(s=c+d)}}}if(s){var l,p,f=e.getUint16(s,o);for(p=0;p<f;p+=1)if(274===e.getUint16(l=s+12*p+2,o)){i=e.getUint16(l+=8,o),e.setUint16(l,1,o);break}}}catch(t){i=1}return i}var Ht={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,o=this.cropper,r=Number(i.minContainerWidth),s=Number(i.minContainerHeight);vt(o,S),gt(t,S);var n={width:Math.max(e.offsetWidth,r>=0?r:200),height:Math.max(e.offsetHeight,s>=0?s:100)};this.containerData=n,bt(o,{width:n.width,height:n.height}),vt(t,S),gt(o,S)},initCanvas:function(){var t=this.containerData,i=this.imageData,e=this.options.viewMode,o=Math.abs(i.rotate)%180==90,r=o?i.naturalHeight:i.naturalWidth,s=o?i.naturalWidth:i.naturalHeight,n=r/s,a=t.width,c=t.height;t.height*n>t.width?3===e?a=t.height*n:c=t.width/n:3===e?c=t.width/n:a=t.height*n;var h={aspectRatio:n,naturalWidth:r,naturalHeight:s,width:a,height:c};this.canvasData=h,this.limited=1===e||2===e,this.limitCanvas(!0,!0),h.width=Math.min(Math.max(h.width,h.minWidth),h.maxWidth),h.height=Math.min(Math.max(h.height,h.minHeight),h.maxHeight),h.left=(t.width-h.width)/2,h.top=(t.height-h.height)/2,h.oldLeft=h.left,h.oldTop=h.top,this.initialCanvasData=lt({},h)},limitCanvas:function(t,i){var e=this.options,o=this.containerData,r=this.canvasData,s=this.cropBoxData,n=e.viewMode,a=r.aspectRatio,c=this.cropped&&s;if(t){var h=Number(e.minCanvasWidth)||0,d=Number(e.minCanvasHeight)||0;n>1?(h=Math.max(h,o.width),d=Math.max(d,o.height),3===n&&(d*a>h?h=d*a:d=h/a)):n>0&&(h?h=Math.max(h,c?s.width:0):d?d=Math.max(d,c?s.height:0):c&&((d=s.height)*a>(h=s.width)?h=d*a:d=h/a));var l=Et({aspectRatio:a,width:h,height:d});d=l.height,r.minWidth=h=l.width,r.minHeight=d,r.maxWidth=1/0,r.maxHeight=1/0}if(i)if(n>(c?0:1)){var p=o.width-r.width,f=o.height-r.height;r.minLeft=Math.min(0,p),r.minTop=Math.min(0,f),r.maxLeft=Math.max(0,p),r.maxTop=Math.max(0,f),c&&this.limited&&(r.minLeft=Math.min(s.left,s.left+(s.width-r.width)),r.minTop=Math.min(s.top,s.top+(s.height-r.height)),r.maxLeft=s.left,r.maxTop=s.top,2===n&&(r.width>=o.width&&(r.minLeft=Math.min(0,p),r.maxLeft=Math.max(0,p)),r.height>=o.height&&(r.minTop=Math.min(0,f),r.maxTop=Math.max(0,f))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=o.width,r.maxTop=o.height},renderCanvas:function(t,i){var e=this.canvasData,o=this.imageData;if(i){var r=function(t){var i=t.width,e=t.height,o=t.degree;if(90==(o=Math.abs(o)%180))return{width:e,height:i};var r=o%90*Math.PI/180,s=Math.sin(r),n=Math.cos(r),a=i*n+e*s,c=i*s+e*n;return o>90?{width:c,height:a}:{width:a,height:c}}({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),s=r.width,n=r.height,a=e.width*(s/e.naturalWidth),c=e.height*(n/e.naturalHeight);e.left-=(a-e.width)/2,e.top-=(c-e.height)/2,e.width=a,e.height=c,e.aspectRatio=s/n,e.naturalWidth=s,e.naturalHeight=n,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,bt(this.canvas,lt({width:e.width,height:e.height},Pt({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,o=e.naturalWidth*(i.width/i.naturalWidth),r=e.naturalHeight*(i.height/i.naturalHeight);lt(e,{width:o,height:r,left:(i.width-o)/2,top:(i.height-r)/2}),bt(this.image,lt({width:e.width,height:e.height},Pt(lt({translateX:e.left,translateY:e.top},e)))),t&&this.output()},initCropBox:function(){var t=this.options,i=this.canvasData,e=t.aspectRatio||t.initialAspectRatio,o=Number(t.autoCropArea)||.8,r={width:i.width,height:i.height};e&&(i.height*e>i.width?r.height=r.width/e:r.width=r.height*e),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*o),r.height=Math.max(r.minHeight,r.height*o),r.left=i.left+(i.width-r.width)/2,r.top=i.top+(i.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=lt({},r)},limitCropBox:function(t,i){var e=this.options,o=this.containerData,r=this.canvasData,s=this.cropBoxData,n=this.limited,a=e.aspectRatio;if(t){var c=Number(e.minCropBoxWidth)||0,h=Number(e.minCropBoxHeight)||0,d=n?Math.min(o.width,r.width,r.width+r.left,o.width-r.left):o.width,l=n?Math.min(o.height,r.height,r.height+r.top,o.height-r.top):o.height;c=Math.min(c,o.width),h=Math.min(h,o.height),a&&(c&&h?h*a>c?h=c/a:c=h*a:c?h=c/a:h&&(c=h*a),l*a>d?l=d/a:d=l*a),s.minWidth=Math.min(c,d),s.minHeight=Math.min(h,l),s.maxWidth=d,s.maxHeight=l}i&&(n?(s.minLeft=Math.max(0,r.left),s.minTop=Math.max(0,r.top),s.maxLeft=Math.min(o.width,r.left+r.width)-s.width,s.maxTop=Math.min(o.height,r.top+r.height)-s.height):(s.minLeft=0,s.minTop=0,s.maxLeft=o.width-s.width,s.maxTop=o.height-s.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,B,e.width>=i.width&&e.height>=i.height?u:p),bt(this.cropBox,lt({width:e.width,height:e.height},Pt({translateX:e.left,translateY:e.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),zt(this.element,V,this.getData())}},Dt={initPreview:function(){var t=this.element,i=this.crossOrigin,e=this.options.preview,o=i?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",s=document.createElement("img");if(i&&(s.crossOrigin=i),s.src=o,s.alt=r,this.viewBox.appendChild(s),this.viewBoxImage=s,e){var n=e;"string"==typeof e?n=t.ownerDocument.querySelectorAll(e):e.querySelector&&(n=[e]),this.previews=n,dt(n,(function(t){var e=document.createElement("img");kt(t,W,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),i&&(e.crossOrigin=i),e.src=o,e.alt=r,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(){dt(this.previews,(function(t){var i=yt(t,W);bt(t,{width:i.width,height:i.height}),t.innerHTML=i.html,function(t,i){if(rt(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(wt(i)))}(t,W)}))},preview:function(){var t=this.imageData,i=this.canvasData,e=this.cropBoxData,o=e.width,r=e.height,s=t.width,n=t.height,a=e.left-i.left-t.left,c=e.top-i.top-t.top;this.cropped&&!this.disabled&&(bt(this.viewBoxImage,lt({width:s,height:n},Pt(lt({translateX:-a,translateY:-c},t)))),dt(this.previews,(function(i){var e=yt(i,W),h=e.width,d=e.height,l=h,p=d,f=1;o&&(p=r*(f=h/o)),r&&p>d&&(l=o*(f=d/r),p=d),bt(i,{width:l,height:p}),bt(i.getElementsByTagName("img")[0],lt({width:s*f,height:n*f},Pt(lt({translateX:-a*f,translateY:-c*f},t))))})))}},Lt={bind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&St(t,H,i.cropstart),at(i.cropmove)&&St(t,_,i.cropmove),at(i.cropend)&&St(t,N,i.cropend),at(i.crop)&&St(t,V,i.crop),at(i.zoom)&&St(t,Y,i.zoom),St(e,L,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&St(e,$,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&St(e,D,this.onDblclick=this.dblclick.bind(this)),St(t.ownerDocument,A,this.onCropMove=this.cropMove.bind(this)),St(t.ownerDocument,F,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&St(window,X,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&jt(t,H,i.cropstart),at(i.cropmove)&&jt(t,_,i.cropmove),at(i.cropend)&&jt(t,N,i.cropend),at(i.crop)&&jt(t,V,i.crop),at(i.zoom)&&jt(t,Y,i.zoom),jt(e,L,this.onCropStart),i.zoomable&&i.zoomOnWheel&&jt(e,$,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&jt(e,D,this.onDblclick),jt(t.ownerDocument,A,this.onCropMove),jt(t.ownerDocument,F,this.onCropEnd),i.responsive&&jt(window,X,this.onResize)}},At={resize:function(){if(!this.disabled){var t,i,e=this.options,o=this.container,r=this.containerData,s=o.offsetWidth/r.width,n=o.offsetHeight/r.height,a=Math.abs(s-1)>Math.abs(n-1)?s:n;1!==a&&(e.restore&&(t=this.getCanvasData(),i=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(dt(t,(function(i,e){t[e]=i*a}))),this.setCropBoxData(dt(i,(function(t,e){i[e]=t*a})))))}},dblclick:function(){var t,i;this.disabled||this.options.dragMode===E||this.setDragMode((i=M,((t=this.dragBox).classList?t.classList.contains(i):t.className.indexOf(i)>-1)?R:P))},wheel:function(t){var i=this,e=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){i.wheeling=!1}),50),t.deltaY?o=t.deltaY>0?1:-1:t.wheelDelta?o=-t.wheelDelta/120:t.detail&&(o=t.detail>0?1:-1),this.zoom(-o*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 o,r=this.options,s=this.pointers;t.changedTouches?dt(t.changedTouches,(function(t){s[t.identifier]=Rt(t)})):s[t.pointerId||0]=Rt(t),o=Object.keys(s).length>1&&r.zoomable&&r.zoomOnTouch?b:yt(t.target,B),Q.test(o)&&!1!==zt(this.element,H,{originalEvent:t,action:o})&&(t.preventDefault(),this.action=o,this.cropping=!1,o===f&&(this.cropping=!0,vt(this.dragBox,T)))}},cropMove:function(t){var i=this.action;if(!this.disabled&&i){var e=this.pointers;t.preventDefault(),!1!==zt(this.element,_,{originalEvent:t,action:i})&&(t.changedTouches?dt(t.changedTouches,(function(t){lt(e[t.identifier]||{},Rt(t,!0))})):lt(e[t.pointerId||0]||{},Rt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,e=this.pointers;t.changedTouches?dt(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,mt(this.dragBox,T,this.cropped&&this.options.modal)),zt(this.element,N,{originalEvent:t,action:i}))}}},Ft={change:function(t){var e,o=this.canvasData,r=this.containerData,s=this.cropBoxData,n=this.pointers,a=this.action,c=this.options.aspectRatio,h=s.left,d=s.top,l=s.width,M=s.height,j=h+l,z=d+M,I=0,T=0,O=r.width,B=r.height,W=!0;!c&&t.shiftKey&&(c=l&&M?l/M:1),this.limited&&(T=s.minTop,O=(I=s.minLeft)+Math.min(r.width,o.width,o.left+o.width),B=T+Math.min(r.height,o.height,o.top+o.height));var P=n[Object.keys(n)[0]],R={x:P.endX-P.startX,y:P.endY-P.startY},E=function(t){switch(t){case v:j+R.x>O&&(R.x=O-j);break;case g:h+R.x<I&&(R.x=I-h);break;case x:d+R.y<T&&(R.y=T-d);break;case m:z+R.y>B&&(R.y=B-z)}};switch(a){case p:h+=R.x,d+=R.y;break;case v:if(R.x>=0&&(j>=O||c&&(d<=T||z>=B))){W=!1;break}E(v),(l+=R.x)<0&&(a=g,h-=l=-l),c&&(d+=(s.height-(M=l/c))/2);break;case x:if(R.y<=0&&(d<=T||c&&(h<=I||j>=O))){W=!1;break}E(x),d+=R.y,(M-=R.y)<0&&(a=m,d-=M=-M),c&&(h+=(s.width-(l=M*c))/2);break;case g:if(R.x<=0&&(h<=I||c&&(d<=T||z>=B))){W=!1;break}E(g),h+=R.x,(l-=R.x)<0&&(a=v,h-=l=-l),c&&(d+=(s.height-(M=l/c))/2);break;case m:if(R.y>=0&&(z>=B||c&&(h<=I||j>=O))){W=!1;break}E(m),(M+=R.y)<0&&(a=x,d-=M=-M),c&&(h+=(s.width-(l=M*c))/2);break;case w:if(c){if(R.y<=0&&(d<=T||j>=O)){W=!1;break}E(x),d+=R.y,l=(M-=R.y)*c}else E(x),E(v),R.x>=0?j<O?l+=R.x:R.y<=0&&d<=T&&(W=!1):l+=R.x,R.y<=0?d>T&&(M-=R.y,d+=R.y):(M-=R.y,d+=R.y);l<0&&M<0?(a=C,d-=M=-M,h-=l=-l):l<0?(a=y,h-=l=-l):M<0&&(a=k,d-=M=-M);break;case y:if(c){if(R.y<=0&&(d<=T||h<=I)){W=!1;break}E(x),d+=R.y,h+=s.width-(l=(M-=R.y)*c)}else E(x),E(g),R.x<=0?h>I?(l-=R.x,h+=R.x):R.y<=0&&d<=T&&(W=!1):(l-=R.x,h+=R.x),R.y<=0?d>T&&(M-=R.y,d+=R.y):(M-=R.y,d+=R.y);l<0&&M<0?(a=k,d-=M=-M,h-=l=-l):l<0?(a=w,h-=l=-l):M<0&&(a=C,d-=M=-M);break;case C:if(c){if(R.x<=0&&(h<=I||z>=B)){W=!1;break}E(g),h+=R.x,M=(l-=R.x)/c}else E(m),E(g),R.x<=0?h>I?(l-=R.x,h+=R.x):R.y>=0&&z>=B&&(W=!1):(l-=R.x,h+=R.x),R.y>=0?z<B&&(M+=R.y):M+=R.y;l<0&&M<0?(a=w,d-=M=-M,h-=l=-l):l<0?(a=k,h-=l=-l):M<0&&(a=y,d-=M=-M);break;case k:if(c){if(R.x>=0&&(j>=O||z>=B)){W=!1;break}E(v),M=(l+=R.x)/c}else E(m),E(v),R.x>=0?j<O?l+=R.x:R.y>=0&&z>=B&&(W=!1):l+=R.x,R.y>=0?z<B&&(M+=R.y):M+=R.y;l<0&&M<0?(a=y,d-=M=-M,h-=l=-l):l<0?(a=C,h-=l=-l):M<0&&(a=w,d-=M=-M);break;case u:this.move(R.x,R.y),W=!1;break;case b:this.zoom(function(t){var e=i({},t),o=0;return dt(t,(function(t,i){delete e[i],dt(e,(function(i){var e=Math.abs(t.startX-i.startX),r=Math.abs(t.startY-i.startY),s=Math.abs(t.endX-i.endX),n=Math.abs(t.endY-i.endY),a=Math.sqrt(e*e+r*r),c=(Math.sqrt(s*s+n*n)-a)/a;Math.abs(c)>Math.abs(o)&&(o=c)}))})),o}(n),t),W=!1;break;case f:if(!R.x||!R.y){W=!1;break}e=It(this.cropper),h=P.startX-e.left,d=P.startY-e.top,l=s.minWidth,M=s.minHeight,R.x>0?a=R.y>0?k:w:R.x<0&&(h-=l,a=R.y>0?C:y),R.y<0&&(d-=M),this.cropped||(gt(this.cropBox,S),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}W&&(s.width=l,s.height=M,s.left=h,s.top=d,this.action=a,this.renderCropBox()),dt(n,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Ut={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&vt(this.dragBox,T),gt(this.cropBox,S),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=lt({},this.initialImageData),this.canvasData=lt({},this.initialCanvasData),this.cropBoxData=lt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(lt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),gt(this.dragBox,T),vt(this.cropBox,S)),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,dt(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,gt(this.cropper,j)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,vt(this.cropper,j)),this},destroy:function(){var t=this.element;return t[l]?(t[l]=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,o=e.left,r=e.top;return this.moveTo(ot(t)?t:o+Number(t),ot(i)?i:r+Number(i))},moveTo:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.canvasData,o=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(it(t)&&(e.left=t,o=!0),it(i)&&(e.top=i,o=!0),o&&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 o=this.options,r=this.canvasData,s=r.width,n=r.height,a=r.naturalWidth,c=r.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&o.zoomable){var h=a*t,d=c*t;if(!1===zt(this.element,Y,{ratio:t,oldRatio:s/a,originalEvent:e}))return this;if(e){var l=this.pointers,p=It(this.cropper),f=l&&Object.keys(l).length?function(t){var i=0,e=0,o=0;return dt(t,(function(t){i+=t.startX,e+=t.startY,o+=1})),{pageX:i/=o,pageY:e/=o}}(l):{pageX:e.pageX,pageY:e.pageY};r.left-=(f.pageX-p.left-r.left)/s*(h-s),r.top-=(f.pageY-p.top-r.top)/n*(d-n)}else nt(i)&&it(i.x)&&it(i.y)?(r.left-=(i.x-r.left)/s*(h-s),r.top-=(i.y-r.top)/n*(d-n)):(r.left-=(h-s)/2,r.top-=(d-n)/2);r.width=h,r.height=d,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,o=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(it(t)&&(e.scaleX=t,o=!0),it(i)&&(e.scaleY=i,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var t,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.options,o=this.imageData,r=this.canvasData,s=this.cropBoxData;if(this.ready&&this.cropped){var n=o.width/o.naturalWidth;if(dt(t={x:s.left-r.left,y:s.top-r.top,width:s.width,height:s.height},(function(i,e){t[e]=i/n})),i){var a=Math.round(t.y+t.height),c=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=c-t.x,t.height=a-t.y}}else t={x:0,y:0,width:0,height:0};return e.rotatable&&(t.rotate=o.rotate||0),e.scalable&&(t.scaleX=o.scaleX||1,t.scaleY=o.scaleY||1),t},setData:function(t){var i=this.options,e=this.imageData,o=this.canvasData,r={};if(this.ready&&!this.disabled&&nt(t)){var s=!1;i.rotatable&&it(t.rotate)&&t.rotate!==e.rotate&&(e.rotate=t.rotate,s=!0),i.scalable&&(it(t.scaleX)&&t.scaleX!==e.scaleX&&(e.scaleX=t.scaleX,s=!0),it(t.scaleY)&&t.scaleY!==e.scaleY&&(e.scaleY=t.scaleY,s=!0)),s&&this.renderCanvas(!0,!0);var n=e.width/e.naturalWidth;it(t.x)&&(r.left=t.x*n+o.left),it(t.y)&&(r.top=t.y*n+o.top),it(t.width)&&(r.width=t.width*n),it(t.height)&&(r.height=t.height*n),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?lt({},this.containerData):{}},getImageData:function(){return this.sized?lt({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&dt(["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&&nt(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,o=this.cropBoxData,r=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&nt(t)&&(it(t.left)&&(o.left=t.left),it(t.top)&&(o.top=t.top),it(t.width)&&t.width!==o.width&&(i=!0,o.width=t.width),it(t.height)&&t.height!==o.height&&(e=!0,o.height=t.height),r&&(i?o.height=o.width/r:e&&(o.width=o.height*r)),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,o){var r=i.aspectRatio,n=i.naturalWidth,a=i.naturalHeight,c=i.rotate,h=void 0===c?0:c,d=i.scaleX,l=void 0===d?1:d,p=i.scaleY,f=void 0===p?1:p,u=e.aspectRatio,b=e.naturalWidth,v=e.naturalHeight,g=o.fillColor,m=void 0===g?"transparent":g,x=o.imageSmoothingEnabled,w=void 0===x||x,y=o.imageSmoothingQuality,k=void 0===y?"low":y,C=o.maxWidth,M=void 0===C?1/0:C,j=o.maxHeight,S=void 0===j?1/0:j,z=o.minWidth,I=void 0===z?0:z,T=o.minHeight,O=void 0===T?0:T,B=document.createElement("canvas"),W=B.getContext("2d"),P=Et({aspectRatio:u,width:M,height:S}),R=Et({aspectRatio:u,width:I,height:O},"cover"),E=Math.min(P.width,Math.max(R.width,b)),V=Math.min(P.height,Math.max(R.height,v)),N=Et({aspectRatio:r,width:M,height:S}),_=Et({aspectRatio:r,width:I,height:O},"cover"),H=Math.min(N.width,Math.max(_.width,n)),D=Math.min(N.height,Math.max(_.height,a)),L=[-H/2,-D/2,H,D];return B.width=ft(E),B.height=ft(V),W.fillStyle=m,W.fillRect(0,0,E,V),W.save(),W.translate(E/2,V/2),W.rotate(h*Math.PI/180),W.scale(l,f),W.imageSmoothingEnabled=w,W.imageSmoothingQuality=k,W.drawImage.apply(W,[t].concat(s(L.map((function(t){return Math.floor(ft(t))}))))),W.restore(),B}(this.image,this.imageData,i,t);if(!this.cropped)return e;var o=this.getData(t.rounded),r=o.x,n=o.y,a=o.width,c=o.height,h=e.width/Math.floor(i.naturalWidth);1!==h&&(r*=h,n*=h,a*=h,c*=h);var d=a/c,l=Et({aspectRatio:d,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=Et({aspectRatio:d,width:t.minWidth||0,height:t.minHeight||0},"cover"),f=Et({aspectRatio:d,width:t.width||(1!==h?e.width:a),height:t.height||(1!==h?e.height:c)}),u=f.width,b=f.height;u=Math.min(l.width,Math.max(p.width,u)),b=Math.min(l.height,Math.max(p.height,b));var v=document.createElement("canvas"),g=v.getContext("2d");v.width=ft(u),v.height=ft(b),g.fillStyle=t.fillColor||"transparent",g.fillRect(0,0,u,b);var m=t.imageSmoothingEnabled,x=t.imageSmoothingQuality;g.imageSmoothingEnabled=void 0===m||m,x&&(g.imageSmoothingQuality=x);var w,y,k,C,M,j,S=e.width,z=e.height,I=r,T=n;I<=-a||I>S?(I=0,w=0,k=0,M=0):I<=0?(k=-I,I=0,M=w=Math.min(S,a+I)):I<=S&&(k=0,M=w=Math.min(a,S-I)),w<=0||T<=-c||T>z?(T=0,y=0,C=0,j=0):T<=0?(C=-T,T=0,j=y=Math.min(z,c+T)):T<=z&&(C=0,j=y=Math.min(c,z-T));var O=[I,T,w,y];if(M>0&&j>0){var B=u/a;O.push(k*B,C*B,M*B,j*B)}return g.drawImage.apply(g,[e].concat(s(O.map((function(t){return Math.floor(ft(t))}))))),v},setAspectRatio:function(t){var i=this.options;return this.disabled||ot(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,o=this.face;if(this.ready&&!this.disabled){var r=t===P,s=i.movable&&t===R;i.dragMode=t=r||s?t:E,kt(e,B,t),mt(e,M,r),mt(e,O,s),i.cropBoxMovable||(kt(o,B,t),mt(o,M,r),mt(o,O,s))}return this}},Xt=c.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=lt({},G,nt(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,o=[{key:"noConflict",value:function(){return window.Cropper=Xt,t}},{key:"setDefaults",value:function(t){lt(G,nt(t)&&t)}}],(e=[{key:"init",value:function(){var t,i=this.element,e=i.tagName.toLowerCase();if(!i[l]){if(i[l]=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,o,r,s=this;if(t){this.url=t,this.imageData={};var n=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),a.checkOrientation&&window.ArrayBuffer)if(q.test(t))K.test(t)?this.read((i=t.replace(Nt,""),e=atob(i),o=new ArrayBuffer(e.length),dt(r=new Uint8Array(o),(function(t,i){r[i]=e.charCodeAt(i)})),o)):this.clone();else{var c=new XMLHttpRequest,h=this.clone.bind(this);this.reloading=!0,this.xhr=c,c.onabort=h,c.onerror=h,c.ontimeout=h,c.onprogress=function(){c.getResponseHeader("content-type")!==Z&&c.abort()},c.onload=function(){s.read(c.response)},c.onloadend=function(){s.reloading=!1,s.xhr=null},a.checkCrossOrigin&&Bt(t)&&n.crossOrigin&&(t=Wt(t)),c.open("GET",t,!0),c.responseType="arraybuffer",c.withCredentials="use-credentials"===n.crossOrigin,c.send()}else this.clone()}}},{key:"read",value:function(t){var i=this.options,e=this.imageData,o=_t(t),r=0,s=1,n=1;if(o>1){this.url=function(t,i){for(var e=[],o=new Uint8Array(t);o.length>0;)e.push(Vt.apply(null,ht(o.subarray(0,8192)))),o=o.subarray(8192);return"data:".concat(i,";base64,").concat(btoa(e.join("")))}(t,Z);var a=function(t){var i=0,e=1,o=1;switch(t){case 2:e=-1;break;case 3:i=-180;break;case 4:o=-1;break;case 5:i=90,o=-1;break;case 6:i=90;break;case 7:i=90,e=-1;break;case 8:i=-90}return{rotate:i,scaleX:e,scaleY:o}}(o);r=a.rotate,s=a.scaleX,n=a.scaleY}i.rotatable&&(e.rotate=r),i.scalable&&(e.scaleX=s,e.scaleY=n),this.clone()}},{key:"clone",value:function(){var t=this.element,i=this.url,e=t.crossOrigin,o=i;this.options.checkCrossOrigin&&Bt(i)&&(e||(e="anonymous"),o=Wt(i)),this.crossOrigin=e,this.crossOriginUrl=o;var r=document.createElement("img");e&&(r.crossOrigin=e),r.src=o||i,r.alt=t.alt||"The image to crop",this.image=r,r.onload=this.start.bind(this),r.onerror=this.stop.bind(this),vt(r,z),t.parentNode.insertBefore(r,t.nextSibling)}},{key:"start",value:function(){var t=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var e=c.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(c.navigator.userAgent),o=function(i,e){lt(t.imageData,{naturalWidth:i,naturalHeight:e,aspectRatio:i/e}),t.initialImageData=lt({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!i.naturalWidth||e){var r=document.createElement("img"),s=document.body||document.documentElement;this.sizingImage=r,r.onload=function(){o(r.width,r.height),e||s.removeChild(r)},r.src=i.src,e||(r.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;",s.appendChild(r))}else o(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,o=t.parentNode,r=document.createElement("div");r.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 s=r.querySelector(".".concat(l,"-container")),n=s.querySelector(".".concat(l,"-canvas")),a=s.querySelector(".".concat(l,"-drag-box")),c=s.querySelector(".".concat(l,"-crop-box")),h=c.querySelector(".".concat(l,"-face"));this.container=o,this.cropper=s,this.canvas=n,this.dragBox=a,this.cropBox=c,this.viewBox=s.querySelector(".".concat(l,"-view-box")),this.face=h,n.appendChild(e),vt(t,S),o.insertBefore(s,t.nextSibling),gt(e,z),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,vt(c,S),i.guides||vt(c.getElementsByClassName("".concat(l,"-dashed")),S),i.center||vt(c.getElementsByClassName("".concat(l,"-center")),S),i.background&&vt(s,"".concat(l,"-bg")),i.highlight||vt(h,I),i.cropBoxMovable&&(vt(h,O),kt(h,B,p)),i.cropBoxResizable||(vt(c.getElementsByClassName("".concat(l,"-line")),S),vt(c.getElementsByClassName("".concat(l,"-point")),S)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),at(i.ready)&&St(t,U,i.ready,{once:!0}),zt(t,U)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),gt(this.element,S)}}},{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()}}])&&r(i.prototype,e),o&&r(i,o),Object.defineProperty(i,"prototype",{writable:!1}),i;var i,e,o}();return lt($t.prototype,Ht,Dt,Lt,At,Ft,Ut),$t}()),vt.exports),mt=d(gt);
|
|
1
|
+
import{h as t,r as i,c as e,H as o,g as r,F as s}from"./p-BcMtFp89.js";import{t as n,_ as a,e as c,E as h,f as d,h as l,i as p,a as f,u,j as b,k as v,l as g,r as m,c as x,g as w,m as y,b as k,n as C,O as M,p as j}from"./p-HTOQ7YPT.js";import{s as S,p as z,v as I,S as T}from"./p-etuZ8m3J.js";import{P as O,R as B,c as W,a as P,v as R,b as E,d as V,e as N,f as _,g as A,h as H}from"./p-B4krhe3H.js";import{s as D,g as L,c as F}from"./p-C5MrXMjM.js";import{f as U,i as X}from"./p-Blhy9XN1.js";import{v as $,c as Y}from"./p-Ds0qJGAs.js";import{r as Z}from"./p-DcA7Zxs5.js";import{a as Q,p as q,m as K,e as G,f as J,s as tt,b as it,d as et}from"./p-CYUAT3RF.js";import{f as ot,g as rt,D as st}from"./p-BPu6OLhB.js";import{R as nt,S as at}from"./p-CR1-OmNa.js";import{W as ct}from"./p-Da89HZrn.js";const ht=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 17.5C13.25 17.5 14.3125 17.0625 15.1875 16.1875C16.0625 15.3125 16.5 14.25 16.5 13C16.5 11.75 16.0625 10.6875 15.1875 9.8125C14.3125 8.9375 13.25 8.5 12 8.5C10.75 8.5 9.6875 8.9375 8.8125 9.8125C7.9375 10.6875 7.5 11.75 7.5 13C7.5 14.25 7.9375 15.3125 8.8125 16.1875C9.6875 17.0625 10.75 17.5 12 17.5ZM12 15.5C11.3 15.5 10.7083 15.2583 10.225 14.775C9.74167 14.2917 9.5 13.7 9.5 13C9.5 12.3 9.74167 11.7083 10.225 11.225C10.7083 10.7417 11.3 10.5 12 10.5C12.7 10.5 13.2917 10.7417 13.775 11.225C14.2583 11.7083 14.5 12.3 14.5 13C14.5 13.7 14.2583 14.2917 13.775 14.775C13.2917 15.2583 12.7 15.5 12 15.5ZM4 21C3.45 21 2.97917 20.8042 2.5875 20.4125C2.19583 20.0208 2 19.55 2 19V7C2 6.45 2.19583 5.97917 2.5875 5.5875C2.97917 5.19583 3.45 5 4 5H7.15L8.4 3.65C8.58333 3.45 8.80417 3.29167 9.0625 3.175C9.32083 3.05833 9.59167 3 9.875 3H14.125C14.4083 3 14.6792 3.05833 14.9375 3.175C15.1958 3.29167 15.4167 3.45 15.6 3.65L16.85 5H20C20.55 5 21.0208 5.19583 21.4125 5.5875C21.8042 5.97917 22 6.45 22 7V19C22 19.55 21.8042 20.0208 21.4125 20.4125C21.0208 20.8042 20.55 21 20 21H4Z",fill:"currentColor"})),dt=()=>t("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M8.00001 17.3333C7.62223 17.3333 7.30556 17.2056 7.05001 16.95C6.79445 16.6944 6.66667 16.3778 6.66667 16C6.66667 15.6222 6.79445 15.3056 7.05001 15.05C7.30556 14.7944 7.62223 14.6667 8.00001 14.6667H24C24.3778 14.6667 24.6944 14.7944 24.95 15.05C25.2056 15.3056 25.3333 15.6222 25.3333 16C25.3333 16.3778 25.2056 16.6944 24.95 16.95C24.6944 17.2056 24.3778 17.3333 24 17.3333H8.00001Z",fill:"currentColor"})),lt=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80",height:"80",viewBox:"0 0 80 80",fill:"none"},t("circle",{cx:"40",cy:"40",r:"36",fill:"white"}),t("circle",{cx:"40",cy:"40",r:"39",fill:"white","fill-opacity":"0.16",stroke:"white","stroke-width":"2"}),t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M48 29.3333H50.6667C53.6133 29.3333 56 31.72 56 34.6667V45.3333H53.3333V34.6667C53.3333 33.2 52.1333 32 50.6667 32H46.5733L45.7867 30.8133L43.9067 28H36.0933L34.2133 30.8133L33.4267 32H29.3333C27.8667 32 26.6667 33.2 26.6667 34.6667V48C26.6667 49.4667 27.8667 50.6667 29.3333 50.6667H36V53.3333H29.3333C26.3867 53.3333 24 50.9467 24 48V34.6667C24 31.72 26.3867 29.3333 29.3333 29.3333H32L34.6667 25.3333H45.3333L48 29.3333ZM40 34.6667C43.68 34.6667 46.6667 37.6533 46.6667 41.3333L46.6533 41.3467C46.6533 42.6933 46.24 43.96 45.5467 45.0133L51.6 51.0667L49.72 52.9467L43.6667 46.8933C42.6133 47.5867 41.36 48 40 48C36.32 48 33.3333 45.0133 33.3333 41.3333C33.3333 37.6533 36.32 34.6667 40 34.6667ZM36 41.3333C36 43.5333 37.8 45.3333 40 45.3333C42.2 45.3333 44 43.5333 44 41.3333C44 39.1333 42.2 37.3333 40 37.3333C37.8 37.3333 36 39.1333 36 41.3333Z",fill:"#161616"})),pt=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M4.5 21C4.1 21 3.75 20.85 3.45 20.55C3.15 20.25 3 19.9 3 19.5V4.5C3 4.1 3.15 3.75 3.45 3.45C3.75 3.15 4.1 3 4.5 3H19.5C19.9 3 20.25 3.15 20.55 3.45C20.85 3.75 21 4.1 21 4.5V19.5C21 19.9 20.85 20.25 20.55 20.55C20.25 20.85 19.9 21 19.5 21H4.5ZM6.65 17.075H17.375C17.525 17.075 17.6333 17.0083 17.7 16.875C17.7667 16.7417 17.7583 16.6083 17.675 16.475L14.75 12.575C14.6667 12.475 14.5667 12.425 14.45 12.425C14.3333 12.425 14.2333 12.475 14.15 12.575L11.15 16.45L9.125 13.675C9.04167 13.575 8.94167 13.525 8.825 13.525C8.70833 13.525 8.60833 13.575 8.525 13.675L6.375 16.475C6.275 16.6083 6.25833 16.7417 6.325 16.875C6.39167 17.0083 6.5 17.075 6.65 17.075Z",fill:"currentColor"})),ft=({className:i})=>t("svg",{width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:i},t("path",{d:"M31 3H15C8.37258 3 3 8.37258 3 15V31",stroke:"white","stroke-width":"6","stroke-linecap":"square"})),ut=class{constructor(t){i(this,t),this.vviinnImageUploadStarted=e(this,"vviinnImageUploadStarted"),this.vviinnNoResult=e(this,"vviinnNoResult"),this.vviinnImageUploadFinished=e(this,"vviinnImageUploadFinished"),this.vviinnCameraEnabled=e(this,"vviinnCameraEnabled"),this.width=0,this.height=0,this.cameraButtonClicked=!1,this.selected=!1,this.videoInitialized=!1,this.zoomCapabilities=null,this.videoTrack=null,this.initializeZoom=async()=>{var t;if(!this.videoTrack)return;const i=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};"zoom"in i&&(this.zoomCapabilities=i.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:o}=this.zoomCapabilities,r=null!==(i=this.videoTrack.getSettings().zoom)&&void 0!==i?i:o,s=Math.round((e-o)/5*10)/10;let n;n="in"===t?r+s:r-s,n="in"===t&&r<1?1:n,n<o&&(n=o),n>e&&(n=e),await this.videoTrack.applyConstraints({advanced:[{zoom:n}]})}}componentWillLoad(){S(this,this.el)}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:o}=i,r=document.createElement("canvas");r.width=e,r.height=o,r.getContext("2d").drawImage(i,0,0,r.width,r.height);const s=r.toDataURL("image/jpeg");t.src=s}async selectImage(){if(!this.srcObject)return;let t;this.vviinnImageUploadStarted.emit(this.basicEventData);const i=this.el.shadowRoot.getElementById("photo-frame"),e=this.videoElement,o=i.getBoundingClientRect(),r=e.getBoundingClientRect(),{videoWidth:s,videoHeight:d}=e,l=document.createElement("canvas");this.selected=!0,this.videoElement.pause(),this.createPlaceholderImageCanvas();const p=s/r.width,f=d/r.height,u=Math.min(o.width*p,o.height*f);l.width=u,l.height=u;const b=(o.left-r.left+(o.width-u/p)/2)*p,v=(o.top-r.top+(o.height-u/f)/2)*f;l.getContext("2d").drawImage(e,b,v,u,u,0,0,l.width,l.height);const g=l.toDataURL("image/jpeg");t=await n(g),a.pipe(await c(this.storeName)(t),h.match((()=>{this.vviinnNoResult.emit(this.basicEventData)}),(t=>{var i;this.showInWidget||D(null===(i=this.state.image)||void 0===i?void 0:i.src,this.state.detectedObjects),this.vviinnImageUploadFinished.emit({searchId:t.requestId,isTriggeredByVpsWidget:"widget"===this.storeName})}))),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 t(o,{key:"64809402a71a95255925c0866138779e5c917e50",onKeyUp:t=>this.handleKeyPress(t),class:{"video-expanded":this.cameraButtonClicked}},t("video",{key:"d58ddd07b98d74cbb54df386357989e96a574649",id:"camera-preview",class:{hidden:!this.videoInitialized||this.selected},autoplay:!0,playsinline:!0,muted:!0}),t("img",{key:"30fc832aa0385cfc3b03f6890faa1ceabbc58eb1",src:this.exampleImageSource,width:this.width,height:this.height,tabindex:1,class:{hidden:this.videoInitialized||this.selected}}),t("img",{key:"7c758da205ab947b251f738a60929c4ad7d5b2ae",id:"captured-image-placeholder",class:{hidden:!this.selected}}),t("div",{key:"012ce35255e7b0f554100471f6a9e83ffaa62510",class:{container:!0,hidden:!this.videoInitialized}},t("div",{key:"2207f75b720bb8704db78d5b9075dff241411c28",class:"photo-frame-container"},t("div",{key:"22362193a347adeaa63670cd89a8c9ea1f9aaa57",id:"photo-frame"},t(ft,{key:"ab04e12d0a25bf18ae031e6d04efc325f3603729",className:"photo-frame-corner top-left"}),t(ft,{key:"1a14814bcf41e79313c817c0d85e7bb98acbe95b",className:"photo-frame-corner top-right"}),t(ft,{key:"d4ace38974922c630c56d12feb884162d18e8b6a",className:"photo-frame-corner bottom-left"}),t(ft,{key:"aaec8f0ea7cb8bc844eb218b8ccc2f93cfa8658d",className:"photo-frame-corner bottom-right"})),t("div",{key:"74863c8e3caada7b699648094411f0ae98654112",class:{"zoom-buttons":!0,hidden:!this.zoomCapabilities}},t("button",{key:"eeda9b81bb41fd31facaf8929dc4825a596d9be4",onClick:()=>this.onZoom("out")},t(dt,{key:"234de4f34a9926daf0e3c11f67d7a450fa35b9fd"})),t("button",{key:"b38ad496e151e1fe95c83519268ea462213fb050",onClick:()=>this.onZoom("in")},t(O,{key:"76e00cb624ca3568299a313f96e65d19dccbee7d"})))),t("div",{key:"4dd6b60f7d9d8f60f0db71aea64ba719de50609e",class:"photo-button-container"},t("button",{key:"0089ed411a0bdc2e7319a0c0e71f2fcb5329e92d",class:"photo-button",onClick:()=>this.selectImage()},t(lt,{key:"fb02fbdd282af75254cf8172bc7017192047c4f0"})))))}get el(){return r(this)}static get watchers(){return{srcObject:["handleSrcObjectChange"]}}};ut.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:100%;left:0;top:0;display:flex;flex-direction:column;gap:12px;padding:68px 0 48px;justify-content:space-around;align-content:center;box-sizing:border-box}.photo-frame-container{width:100%;height:100%;display:flex;flex-direction:column;gap:12px}#photo-frame{position:relative;aspect-ratio:1/1;border-radius:16px;box-shadow:0 0 0 100vmax rgba(0, 0, 0, 0.32);width:100%;height:auto;max-width:80%;margin:0 auto}@media (max-width: 960px){.photo-frame-container{width:auto;height:auto}}@media (max-width: 380px){#photo-frame{max-width:70%}}.photo-frame-corner{position:absolute;--delta:-3px}.photo-frame-corner.top-left{top:var(--delta);left:var(--delta)}.photo-frame-corner.top-right{top:var(--delta);right:var(--delta);transform:rotate(90deg)}.photo-frame-corner.bottom-left{bottom:var(--delta);left:var(--delta);transform:rotate(-90deg)}.photo-frame-corner.bottom-right{bottom:var(--delta);right:var(--delta);transform:rotate(180deg)}.photo-button-container{display:flex;width:100%;align-items:center;justify-self:flex-end}.photo-button{cursor:pointer;border:none;position:relative;z-index:1;padding:0;color:#6f6f6f;background-color:transparent;-webkit-tap-highlight-color:transparent;line-height:0;margin:0 auto}.zoom-buttons{display:flex;position:relative;justify-content:center;gap:12px}.zoom-buttons button{color:white;display:flex;width:48px;height:48px;justify-content:center;align-items:center;border-radius:var(--border-radius-100, 8px);background-color:rgba(0, 0, 0, 0.48);border:none;cursor:pointer}.hidden{display:none}";var bt,vt={exports:{}},gt=(bt||(bt=1,vt.exports=function(){function t(t,i){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);i&&(o=o.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),e.push.apply(e,o)}return e}function i(i){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?t(Object(r),!0).forEach((function(t){var o,s,n;o=i,n=r[t],(s=e(s=t))in o?Object.defineProperty(o,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):o[s]=n})):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(r,t))}))}return i}function e(t){var i=function(t,i){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,i);if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===i?String:Number)(t)}(t,"string");return"symbol"==typeof i?i:i+""}function o(t){return o="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},o(t)}function r(t,i){for(var o=0;o<i.length;o++){var r=i[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,e(r.key),r)}}function s(t){return function(t){if(Array.isArray(t))return n(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 n(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)?n(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 n(t,i){(null==i||i>t.length)&&(i=t.length);for(var e=0,o=new Array(i);e<i;e++)o[e]=t[e];return o}var a="undefined"!=typeof window&&void 0!==window.document,c=a?window:{},h=!(!a||!c.document.documentElement)&&"ontouchstart"in c.document.documentElement,d=!!a&&"PointerEvent"in c,l="cropper",p="all",f="crop",u="move",b="zoom",v="e",g="w",m="s",x="n",w="ne",y="nw",k="se",C="sw",M="".concat(l,"-crop"),j="".concat(l,"-disabled"),S="".concat(l,"-hidden"),z="".concat(l,"-hide"),I="".concat(l,"-invisible"),T="".concat(l,"-modal"),O="".concat(l,"-move"),B="".concat(l,"Action"),W="".concat(l,"Preview"),P="crop",R="move",E="none",V="crop",N="cropend",_="cropmove",A="cropstart",H="dblclick",D=d?"pointerdown":h?"touchstart":"mousedown",L=d?"pointermove":h?"touchmove":"mousemove",F=d?"pointerup pointercancel":h?"touchend touchcancel":"mouseup",U="ready",X="resize",$="wheel",Y="zoom",Z="image/jpeg",Q=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,q=/^data:/,K=/^data:image\/jpeg;base64,/,G=/^img|canvas$/i,J={viewMode:0,dragMode:P,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||c.isNaN;function it(t){return"number"==typeof t&&!tt(t)}var et=function(t){return t>0&&t<1/0};function ot(t){return void 0===t}function rt(t){return"object"===o(t)&&null!==t}var st=Object.prototype.hasOwnProperty;function nt(t){if(!rt(t))return!1;try{var i=t.constructor,e=i.prototype;return i&&e&&st.call(e,"isPrototypeOf")}catch(t){return!1}}function at(t){return"function"==typeof t}var ct=Array.prototype.slice;function ht(t){return Array.from?Array.from(t):ct.call(t)}function dt(t,i){return t&&at(i)&&(Array.isArray(t)||it(t.length)?ht(t).forEach((function(e,o){i.call(t,e,o,t)})):rt(t)&&Object.keys(t).forEach((function(e){i.call(t,t[e],e,t)}))),t}var lt=Object.assign||function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];return rt(t)&&e.length>0&&e.forEach((function(i){rt(i)&&Object.keys(i).forEach((function(e){t[e]=i[e]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ft(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*i)/i:t}var ut=/^width|height|left|top|marginLeft|marginTop$/;function bt(t,i){var e=t.style;dt(i,(function(t,i){ut.test(i)&&it(t)&&(t="".concat(t,"px")),e[i]=t}))}function vt(t,i){if(i)if(it(t.length))dt(t,(function(t){vt(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 gt(t,i){i&&(it(t.length)?dt(t,(function(t){gt(t,i)})):t.classList?t.classList.remove(i):t.className.indexOf(i)>=0&&(t.className=t.className.replace(i,"")))}function mt(t,i,e){i&&(it(t.length)?dt(t,(function(t){mt(t,i,e)})):e?vt(t,i):gt(t,i))}var xt=/([a-z\d])([A-Z])/g;function wt(t){return t.replace(xt,"$1-$2").toLowerCase()}function yt(t,i){return rt(t[i])?t[i]:t.dataset?t.dataset[i]:t.getAttribute("data-".concat(wt(i)))}function kt(t,i,e){rt(e)?t[i]=e:t.dataset?t.dataset[i]=e:t.setAttribute("data-".concat(wt(i)),e)}var Ct=/\s\s*/,Mt=function(){var t=!1;if(a){var i=!1,e=function(){},o=Object.defineProperty({},"once",{get:function(){return t=!0,i},set:function(t){i=t}});c.addEventListener("test",e,o),c.removeEventListener("test",e,o)}return t}();function jt(t,i,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=e;i.trim().split(Ct).forEach((function(i){if(!Mt){var s=t.listeners;s&&s[i]&&s[i][e]&&(r=s[i][e],delete s[i][e],0===Object.keys(s[i]).length&&delete s[i],0===Object.keys(s).length&&delete t.listeners)}t.removeEventListener(i,r,o)}))}function St(t,i,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=e;i.trim().split(Ct).forEach((function(i){if(o.once&&!Mt){var s=t.listeners,n=void 0===s?{}:s;r=function(){delete n[i][e],t.removeEventListener(i,r,o);for(var s=arguments.length,a=new Array(s),c=0;c<s;c++)a[c]=arguments[c];e.apply(t,a)},n[i]||(n[i]={}),n[i][e]&&t.removeEventListener(i,n[i][e],o),n[i][e]=r,t.listeners=n}t.addEventListener(i,r,o)}))}function zt(t,i,e){var o;return at(Event)&&at(CustomEvent)?o=new CustomEvent(i,{detail:e,bubbles:!0,cancelable:!0}):(o=document.createEvent("CustomEvent")).initCustomEvent(i,!0,!0,e),t.dispatchEvent(o)}function It(t){var i=t.getBoundingClientRect();return{left:i.left+(window.pageXOffset-document.documentElement.clientLeft),top:i.top+(window.pageYOffset-document.documentElement.clientTop)}}var Tt=c.location,Ot=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Bt(t){var i=t.match(Ot);return null!==i&&(i[1]!==Tt.protocol||i[2]!==Tt.hostname||i[3]!==Tt.port)}function Wt(t){var i="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+i}function Pt(t){var i=t.rotate,e=t.scaleX,o=t.scaleY,r=t.translateX,s=t.translateY,n=[];it(r)&&0!==r&&n.push("translateX(".concat(r,"px)")),it(s)&&0!==s&&n.push("translateY(".concat(s,"px)")),it(i)&&0!==i&&n.push("rotate(".concat(i,"deg)")),it(e)&&1!==e&&n.push("scaleX(".concat(e,")")),it(o)&&1!==o&&n.push("scaleY(".concat(o,")"));var a=n.length?n.join(" "):"none";return{WebkitTransform:a,msTransform:a,transform:a}}function Rt(t,e){var o=t.pageX,r=t.pageY,s={endX:o,endY:r};return e?s:i({startX:o,startY:r},s)}function Et(t){var i=t.aspectRatio,e=t.height,o=t.width,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",s=et(o),n=et(e);if(s&&n){var a=e*i;"contain"===r&&a>o||"cover"===r&&a<o?e=o/i:o=e*i}else s?e=o/i:n&&(o=e*i);return{width:o,height:e}}var Vt=String.fromCharCode;var Nt=/^data:.*,/;function _t(t){var i,e=new DataView(t);try{var o,r,s;if(255===e.getUint8(0)&&216===e.getUint8(1))for(var n=e.byteLength,a=2;a+1<n;){if(255===e.getUint8(a)&&225===e.getUint8(a+1)){r=a;break}a+=1}if(r){var c=r+10;if("Exif"===function(t,i,e){var o="";e+=i;for(var r=i;r<e;r+=1)o+=Vt(t.getUint8(r));return o}(e,r+4,4)){var h=e.getUint16(c);if(((o=18761===h)||19789===h)&&42===e.getUint16(c+2,o)){var d=e.getUint32(c+4,o);d>=8&&(s=c+d)}}}if(s){var l,p,f=e.getUint16(s,o);for(p=0;p<f;p+=1)if(274===e.getUint16(l=s+12*p+2,o)){i=e.getUint16(l+=8,o),e.setUint16(l,1,o);break}}}catch(t){i=1}return i}var At={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,o=this.cropper,r=Number(i.minContainerWidth),s=Number(i.minContainerHeight);vt(o,S),gt(t,S);var n={width:Math.max(e.offsetWidth,r>=0?r:200),height:Math.max(e.offsetHeight,s>=0?s:100)};this.containerData=n,bt(o,{width:n.width,height:n.height}),vt(t,S),gt(o,S)},initCanvas:function(){var t=this.containerData,i=this.imageData,e=this.options.viewMode,o=Math.abs(i.rotate)%180==90,r=o?i.naturalHeight:i.naturalWidth,s=o?i.naturalWidth:i.naturalHeight,n=r/s,a=t.width,c=t.height;t.height*n>t.width?3===e?a=t.height*n:c=t.width/n:3===e?c=t.width/n:a=t.height*n;var h={aspectRatio:n,naturalWidth:r,naturalHeight:s,width:a,height:c};this.canvasData=h,this.limited=1===e||2===e,this.limitCanvas(!0,!0),h.width=Math.min(Math.max(h.width,h.minWidth),h.maxWidth),h.height=Math.min(Math.max(h.height,h.minHeight),h.maxHeight),h.left=(t.width-h.width)/2,h.top=(t.height-h.height)/2,h.oldLeft=h.left,h.oldTop=h.top,this.initialCanvasData=lt({},h)},limitCanvas:function(t,i){var e=this.options,o=this.containerData,r=this.canvasData,s=this.cropBoxData,n=e.viewMode,a=r.aspectRatio,c=this.cropped&&s;if(t){var h=Number(e.minCanvasWidth)||0,d=Number(e.minCanvasHeight)||0;n>1?(h=Math.max(h,o.width),d=Math.max(d,o.height),3===n&&(d*a>h?h=d*a:d=h/a)):n>0&&(h?h=Math.max(h,c?s.width:0):d?d=Math.max(d,c?s.height:0):c&&((d=s.height)*a>(h=s.width)?h=d*a:d=h/a));var l=Et({aspectRatio:a,width:h,height:d});d=l.height,r.minWidth=h=l.width,r.minHeight=d,r.maxWidth=1/0,r.maxHeight=1/0}if(i)if(n>(c?0:1)){var p=o.width-r.width,f=o.height-r.height;r.minLeft=Math.min(0,p),r.minTop=Math.min(0,f),r.maxLeft=Math.max(0,p),r.maxTop=Math.max(0,f),c&&this.limited&&(r.minLeft=Math.min(s.left,s.left+(s.width-r.width)),r.minTop=Math.min(s.top,s.top+(s.height-r.height)),r.maxLeft=s.left,r.maxTop=s.top,2===n&&(r.width>=o.width&&(r.minLeft=Math.min(0,p),r.maxLeft=Math.max(0,p)),r.height>=o.height&&(r.minTop=Math.min(0,f),r.maxTop=Math.max(0,f))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=o.width,r.maxTop=o.height},renderCanvas:function(t,i){var e=this.canvasData,o=this.imageData;if(i){var r=function(t){var i=t.width,e=t.height,o=t.degree;if(90==(o=Math.abs(o)%180))return{width:e,height:i};var r=o%90*Math.PI/180,s=Math.sin(r),n=Math.cos(r),a=i*n+e*s,c=i*s+e*n;return o>90?{width:c,height:a}:{width:a,height:c}}({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),s=r.width,n=r.height,a=e.width*(s/e.naturalWidth),c=e.height*(n/e.naturalHeight);e.left-=(a-e.width)/2,e.top-=(c-e.height)/2,e.width=a,e.height=c,e.aspectRatio=s/n,e.naturalWidth=s,e.naturalHeight=n,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,bt(this.canvas,lt({width:e.width,height:e.height},Pt({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,o=e.naturalWidth*(i.width/i.naturalWidth),r=e.naturalHeight*(i.height/i.naturalHeight);lt(e,{width:o,height:r,left:(i.width-o)/2,top:(i.height-r)/2}),bt(this.image,lt({width:e.width,height:e.height},Pt(lt({translateX:e.left,translateY:e.top},e)))),t&&this.output()},initCropBox:function(){var t=this.options,i=this.canvasData,e=t.aspectRatio||t.initialAspectRatio,o=Number(t.autoCropArea)||.8,r={width:i.width,height:i.height};e&&(i.height*e>i.width?r.height=r.width/e:r.width=r.height*e),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*o),r.height=Math.max(r.minHeight,r.height*o),r.left=i.left+(i.width-r.width)/2,r.top=i.top+(i.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=lt({},r)},limitCropBox:function(t,i){var e=this.options,o=this.containerData,r=this.canvasData,s=this.cropBoxData,n=this.limited,a=e.aspectRatio;if(t){var c=Number(e.minCropBoxWidth)||0,h=Number(e.minCropBoxHeight)||0,d=n?Math.min(o.width,r.width,r.width+r.left,o.width-r.left):o.width,l=n?Math.min(o.height,r.height,r.height+r.top,o.height-r.top):o.height;c=Math.min(c,o.width),h=Math.min(h,o.height),a&&(c&&h?h*a>c?h=c/a:c=h*a:c?h=c/a:h&&(c=h*a),l*a>d?l=d/a:d=l*a),s.minWidth=Math.min(c,d),s.minHeight=Math.min(h,l),s.maxWidth=d,s.maxHeight=l}i&&(n?(s.minLeft=Math.max(0,r.left),s.minTop=Math.max(0,r.top),s.maxLeft=Math.min(o.width,r.left+r.width)-s.width,s.maxTop=Math.min(o.height,r.top+r.height)-s.height):(s.minLeft=0,s.minTop=0,s.maxLeft=o.width-s.width,s.maxTop=o.height-s.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,B,e.width>=i.width&&e.height>=i.height?u:p),bt(this.cropBox,lt({width:e.width,height:e.height},Pt({translateX:e.left,translateY:e.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),zt(this.element,V,this.getData())}},Ht={initPreview:function(){var t=this.element,i=this.crossOrigin,e=this.options.preview,o=i?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",s=document.createElement("img");if(i&&(s.crossOrigin=i),s.src=o,s.alt=r,this.viewBox.appendChild(s),this.viewBoxImage=s,e){var n=e;"string"==typeof e?n=t.ownerDocument.querySelectorAll(e):e.querySelector&&(n=[e]),this.previews=n,dt(n,(function(t){var e=document.createElement("img");kt(t,W,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),i&&(e.crossOrigin=i),e.src=o,e.alt=r,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(){dt(this.previews,(function(t){var i=yt(t,W);bt(t,{width:i.width,height:i.height}),t.innerHTML=i.html,function(t,i){if(rt(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(wt(i)))}(t,W)}))},preview:function(){var t=this.imageData,i=this.canvasData,e=this.cropBoxData,o=e.width,r=e.height,s=t.width,n=t.height,a=e.left-i.left-t.left,c=e.top-i.top-t.top;this.cropped&&!this.disabled&&(bt(this.viewBoxImage,lt({width:s,height:n},Pt(lt({translateX:-a,translateY:-c},t)))),dt(this.previews,(function(i){var e=yt(i,W),h=e.width,d=e.height,l=h,p=d,f=1;o&&(p=r*(f=h/o)),r&&p>d&&(l=o*(f=d/r),p=d),bt(i,{width:l,height:p}),bt(i.getElementsByTagName("img")[0],lt({width:s*f,height:n*f},Pt(lt({translateX:-a*f,translateY:-c*f},t))))})))}},Dt={bind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&St(t,A,i.cropstart),at(i.cropmove)&&St(t,_,i.cropmove),at(i.cropend)&&St(t,N,i.cropend),at(i.crop)&&St(t,V,i.crop),at(i.zoom)&&St(t,Y,i.zoom),St(e,D,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&St(e,$,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&St(e,H,this.onDblclick=this.dblclick.bind(this)),St(t.ownerDocument,L,this.onCropMove=this.cropMove.bind(this)),St(t.ownerDocument,F,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&St(window,X,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,e=this.cropper;at(i.cropstart)&&jt(t,A,i.cropstart),at(i.cropmove)&&jt(t,_,i.cropmove),at(i.cropend)&&jt(t,N,i.cropend),at(i.crop)&&jt(t,V,i.crop),at(i.zoom)&&jt(t,Y,i.zoom),jt(e,D,this.onCropStart),i.zoomable&&i.zoomOnWheel&&jt(e,$,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&jt(e,H,this.onDblclick),jt(t.ownerDocument,L,this.onCropMove),jt(t.ownerDocument,F,this.onCropEnd),i.responsive&&jt(window,X,this.onResize)}},Lt={resize:function(){if(!this.disabled){var t,i,e=this.options,o=this.container,r=this.containerData,s=o.offsetWidth/r.width,n=o.offsetHeight/r.height,a=Math.abs(s-1)>Math.abs(n-1)?s:n;1!==a&&(e.restore&&(t=this.getCanvasData(),i=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(dt(t,(function(i,e){t[e]=i*a}))),this.setCropBoxData(dt(i,(function(t,e){i[e]=t*a})))))}},dblclick:function(){var t,i;this.disabled||this.options.dragMode===E||this.setDragMode((i=M,((t=this.dragBox).classList?t.classList.contains(i):t.className.indexOf(i)>-1)?R:P))},wheel:function(t){var i=this,e=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){i.wheeling=!1}),50),t.deltaY?o=t.deltaY>0?1:-1:t.wheelDelta?o=-t.wheelDelta/120:t.detail&&(o=t.detail>0?1:-1),this.zoom(-o*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 o,r=this.options,s=this.pointers;t.changedTouches?dt(t.changedTouches,(function(t){s[t.identifier]=Rt(t)})):s[t.pointerId||0]=Rt(t),o=Object.keys(s).length>1&&r.zoomable&&r.zoomOnTouch?b:yt(t.target,B),Q.test(o)&&!1!==zt(this.element,A,{originalEvent:t,action:o})&&(t.preventDefault(),this.action=o,this.cropping=!1,o===f&&(this.cropping=!0,vt(this.dragBox,T)))}},cropMove:function(t){var i=this.action;if(!this.disabled&&i){var e=this.pointers;t.preventDefault(),!1!==zt(this.element,_,{originalEvent:t,action:i})&&(t.changedTouches?dt(t.changedTouches,(function(t){lt(e[t.identifier]||{},Rt(t,!0))})):lt(e[t.pointerId||0]||{},Rt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,e=this.pointers;t.changedTouches?dt(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,mt(this.dragBox,T,this.cropped&&this.options.modal)),zt(this.element,N,{originalEvent:t,action:i}))}}},Ft={change:function(t){var e,o=this.canvasData,r=this.containerData,s=this.cropBoxData,n=this.pointers,a=this.action,c=this.options.aspectRatio,h=s.left,d=s.top,l=s.width,M=s.height,j=h+l,z=d+M,I=0,T=0,O=r.width,B=r.height,W=!0;!c&&t.shiftKey&&(c=l&&M?l/M:1),this.limited&&(T=s.minTop,O=(I=s.minLeft)+Math.min(r.width,o.width,o.left+o.width),B=T+Math.min(r.height,o.height,o.top+o.height));var P=n[Object.keys(n)[0]],R={x:P.endX-P.startX,y:P.endY-P.startY},E=function(t){switch(t){case v:j+R.x>O&&(R.x=O-j);break;case g:h+R.x<I&&(R.x=I-h);break;case x:d+R.y<T&&(R.y=T-d);break;case m:z+R.y>B&&(R.y=B-z)}};switch(a){case p:h+=R.x,d+=R.y;break;case v:if(R.x>=0&&(j>=O||c&&(d<=T||z>=B))){W=!1;break}E(v),(l+=R.x)<0&&(a=g,h-=l=-l),c&&(d+=(s.height-(M=l/c))/2);break;case x:if(R.y<=0&&(d<=T||c&&(h<=I||j>=O))){W=!1;break}E(x),d+=R.y,(M-=R.y)<0&&(a=m,d-=M=-M),c&&(h+=(s.width-(l=M*c))/2);break;case g:if(R.x<=0&&(h<=I||c&&(d<=T||z>=B))){W=!1;break}E(g),h+=R.x,(l-=R.x)<0&&(a=v,h-=l=-l),c&&(d+=(s.height-(M=l/c))/2);break;case m:if(R.y>=0&&(z>=B||c&&(h<=I||j>=O))){W=!1;break}E(m),(M+=R.y)<0&&(a=x,d-=M=-M),c&&(h+=(s.width-(l=M*c))/2);break;case w:if(c){if(R.y<=0&&(d<=T||j>=O)){W=!1;break}E(x),d+=R.y,l=(M-=R.y)*c}else E(x),E(v),R.x>=0?j<O?l+=R.x:R.y<=0&&d<=T&&(W=!1):l+=R.x,R.y<=0?d>T&&(M-=R.y,d+=R.y):(M-=R.y,d+=R.y);l<0&&M<0?(a=C,d-=M=-M,h-=l=-l):l<0?(a=y,h-=l=-l):M<0&&(a=k,d-=M=-M);break;case y:if(c){if(R.y<=0&&(d<=T||h<=I)){W=!1;break}E(x),d+=R.y,h+=s.width-(l=(M-=R.y)*c)}else E(x),E(g),R.x<=0?h>I?(l-=R.x,h+=R.x):R.y<=0&&d<=T&&(W=!1):(l-=R.x,h+=R.x),R.y<=0?d>T&&(M-=R.y,d+=R.y):(M-=R.y,d+=R.y);l<0&&M<0?(a=k,d-=M=-M,h-=l=-l):l<0?(a=w,h-=l=-l):M<0&&(a=C,d-=M=-M);break;case C:if(c){if(R.x<=0&&(h<=I||z>=B)){W=!1;break}E(g),h+=R.x,M=(l-=R.x)/c}else E(m),E(g),R.x<=0?h>I?(l-=R.x,h+=R.x):R.y>=0&&z>=B&&(W=!1):(l-=R.x,h+=R.x),R.y>=0?z<B&&(M+=R.y):M+=R.y;l<0&&M<0?(a=w,d-=M=-M,h-=l=-l):l<0?(a=k,h-=l=-l):M<0&&(a=y,d-=M=-M);break;case k:if(c){if(R.x>=0&&(j>=O||z>=B)){W=!1;break}E(v),M=(l+=R.x)/c}else E(m),E(v),R.x>=0?j<O?l+=R.x:R.y>=0&&z>=B&&(W=!1):l+=R.x,R.y>=0?z<B&&(M+=R.y):M+=R.y;l<0&&M<0?(a=y,d-=M=-M,h-=l=-l):l<0?(a=C,h-=l=-l):M<0&&(a=w,d-=M=-M);break;case u:this.move(R.x,R.y),W=!1;break;case b:this.zoom(function(t){var e=i({},t),o=0;return dt(t,(function(t,i){delete e[i],dt(e,(function(i){var e=Math.abs(t.startX-i.startX),r=Math.abs(t.startY-i.startY),s=Math.abs(t.endX-i.endX),n=Math.abs(t.endY-i.endY),a=Math.sqrt(e*e+r*r),c=(Math.sqrt(s*s+n*n)-a)/a;Math.abs(c)>Math.abs(o)&&(o=c)}))})),o}(n),t),W=!1;break;case f:if(!R.x||!R.y){W=!1;break}e=It(this.cropper),h=P.startX-e.left,d=P.startY-e.top,l=s.minWidth,M=s.minHeight,R.x>0?a=R.y>0?k:w:R.x<0&&(h-=l,a=R.y>0?C:y),R.y<0&&(d-=M),this.cropped||(gt(this.cropBox,S),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}W&&(s.width=l,s.height=M,s.left=h,s.top=d,this.action=a,this.renderCropBox()),dt(n,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Ut={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&vt(this.dragBox,T),gt(this.cropBox,S),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=lt({},this.initialImageData),this.canvasData=lt({},this.initialCanvasData),this.cropBoxData=lt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(lt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),gt(this.dragBox,T),vt(this.cropBox,S)),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,dt(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,gt(this.cropper,j)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,vt(this.cropper,j)),this},destroy:function(){var t=this.element;return t[l]?(t[l]=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,o=e.left,r=e.top;return this.moveTo(ot(t)?t:o+Number(t),ot(i)?i:r+Number(i))},moveTo:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,e=this.canvasData,o=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(it(t)&&(e.left=t,o=!0),it(i)&&(e.top=i,o=!0),o&&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 o=this.options,r=this.canvasData,s=r.width,n=r.height,a=r.naturalWidth,c=r.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&o.zoomable){var h=a*t,d=c*t;if(!1===zt(this.element,Y,{ratio:t,oldRatio:s/a,originalEvent:e}))return this;if(e){var l=this.pointers,p=It(this.cropper),f=l&&Object.keys(l).length?function(t){var i=0,e=0,o=0;return dt(t,(function(t){i+=t.startX,e+=t.startY,o+=1})),{pageX:i/=o,pageY:e/=o}}(l):{pageX:e.pageX,pageY:e.pageY};r.left-=(f.pageX-p.left-r.left)/s*(h-s),r.top-=(f.pageY-p.top-r.top)/n*(d-n)}else nt(i)&&it(i.x)&&it(i.y)?(r.left-=(i.x-r.left)/s*(h-s),r.top-=(i.y-r.top)/n*(d-n)):(r.left-=(h-s)/2,r.top-=(d-n)/2);r.width=h,r.height=d,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,o=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(it(t)&&(e.scaleX=t,o=!0),it(i)&&(e.scaleY=i,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var t,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.options,o=this.imageData,r=this.canvasData,s=this.cropBoxData;if(this.ready&&this.cropped){var n=o.width/o.naturalWidth;if(dt(t={x:s.left-r.left,y:s.top-r.top,width:s.width,height:s.height},(function(i,e){t[e]=i/n})),i){var a=Math.round(t.y+t.height),c=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=c-t.x,t.height=a-t.y}}else t={x:0,y:0,width:0,height:0};return e.rotatable&&(t.rotate=o.rotate||0),e.scalable&&(t.scaleX=o.scaleX||1,t.scaleY=o.scaleY||1),t},setData:function(t){var i=this.options,e=this.imageData,o=this.canvasData,r={};if(this.ready&&!this.disabled&&nt(t)){var s=!1;i.rotatable&&it(t.rotate)&&t.rotate!==e.rotate&&(e.rotate=t.rotate,s=!0),i.scalable&&(it(t.scaleX)&&t.scaleX!==e.scaleX&&(e.scaleX=t.scaleX,s=!0),it(t.scaleY)&&t.scaleY!==e.scaleY&&(e.scaleY=t.scaleY,s=!0)),s&&this.renderCanvas(!0,!0);var n=e.width/e.naturalWidth;it(t.x)&&(r.left=t.x*n+o.left),it(t.y)&&(r.top=t.y*n+o.top),it(t.width)&&(r.width=t.width*n),it(t.height)&&(r.height=t.height*n),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?lt({},this.containerData):{}},getImageData:function(){return this.sized?lt({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&dt(["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&&nt(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,o=this.cropBoxData,r=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&nt(t)&&(it(t.left)&&(o.left=t.left),it(t.top)&&(o.top=t.top),it(t.width)&&t.width!==o.width&&(i=!0,o.width=t.width),it(t.height)&&t.height!==o.height&&(e=!0,o.height=t.height),r&&(i?o.height=o.width/r:e&&(o.width=o.height*r)),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,o){var r=i.aspectRatio,n=i.naturalWidth,a=i.naturalHeight,c=i.rotate,h=void 0===c?0:c,d=i.scaleX,l=void 0===d?1:d,p=i.scaleY,f=void 0===p?1:p,u=e.aspectRatio,b=e.naturalWidth,v=e.naturalHeight,g=o.fillColor,m=void 0===g?"transparent":g,x=o.imageSmoothingEnabled,w=void 0===x||x,y=o.imageSmoothingQuality,k=void 0===y?"low":y,C=o.maxWidth,M=void 0===C?1/0:C,j=o.maxHeight,S=void 0===j?1/0:j,z=o.minWidth,I=void 0===z?0:z,T=o.minHeight,O=void 0===T?0:T,B=document.createElement("canvas"),W=B.getContext("2d"),P=Et({aspectRatio:u,width:M,height:S}),R=Et({aspectRatio:u,width:I,height:O},"cover"),E=Math.min(P.width,Math.max(R.width,b)),V=Math.min(P.height,Math.max(R.height,v)),N=Et({aspectRatio:r,width:M,height:S}),_=Et({aspectRatio:r,width:I,height:O},"cover"),A=Math.min(N.width,Math.max(_.width,n)),H=Math.min(N.height,Math.max(_.height,a)),D=[-A/2,-H/2,A,H];return B.width=ft(E),B.height=ft(V),W.fillStyle=m,W.fillRect(0,0,E,V),W.save(),W.translate(E/2,V/2),W.rotate(h*Math.PI/180),W.scale(l,f),W.imageSmoothingEnabled=w,W.imageSmoothingQuality=k,W.drawImage.apply(W,[t].concat(s(D.map((function(t){return Math.floor(ft(t))}))))),W.restore(),B}(this.image,this.imageData,i,t);if(!this.cropped)return e;var o=this.getData(t.rounded),r=o.x,n=o.y,a=o.width,c=o.height,h=e.width/Math.floor(i.naturalWidth);1!==h&&(r*=h,n*=h,a*=h,c*=h);var d=a/c,l=Et({aspectRatio:d,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=Et({aspectRatio:d,width:t.minWidth||0,height:t.minHeight||0},"cover"),f=Et({aspectRatio:d,width:t.width||(1!==h?e.width:a),height:t.height||(1!==h?e.height:c)}),u=f.width,b=f.height;u=Math.min(l.width,Math.max(p.width,u)),b=Math.min(l.height,Math.max(p.height,b));var v=document.createElement("canvas"),g=v.getContext("2d");v.width=ft(u),v.height=ft(b),g.fillStyle=t.fillColor||"transparent",g.fillRect(0,0,u,b);var m=t.imageSmoothingEnabled,x=t.imageSmoothingQuality;g.imageSmoothingEnabled=void 0===m||m,x&&(g.imageSmoothingQuality=x);var w,y,k,C,M,j,S=e.width,z=e.height,I=r,T=n;I<=-a||I>S?(I=0,w=0,k=0,M=0):I<=0?(k=-I,I=0,M=w=Math.min(S,a+I)):I<=S&&(k=0,M=w=Math.min(a,S-I)),w<=0||T<=-c||T>z?(T=0,y=0,C=0,j=0):T<=0?(C=-T,T=0,j=y=Math.min(z,c+T)):T<=z&&(C=0,j=y=Math.min(c,z-T));var O=[I,T,w,y];if(M>0&&j>0){var B=u/a;O.push(k*B,C*B,M*B,j*B)}return g.drawImage.apply(g,[e].concat(s(O.map((function(t){return Math.floor(ft(t))}))))),v},setAspectRatio:function(t){var i=this.options;return this.disabled||ot(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,o=this.face;if(this.ready&&!this.disabled){var r=t===P,s=i.movable&&t===R;i.dragMode=t=r||s?t:E,kt(e,B,t),mt(e,M,r),mt(e,O,s),i.cropBoxMovable||(kt(o,B,t),mt(o,M,r),mt(o,O,s))}return this}},Xt=c.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||!G.test(i.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=i,this.options=lt({},J,nt(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,o=[{key:"noConflict",value:function(){return window.Cropper=Xt,t}},{key:"setDefaults",value:function(t){lt(J,nt(t)&&t)}}],(e=[{key:"init",value:function(){var t,i=this.element,e=i.tagName.toLowerCase();if(!i[l]){if(i[l]=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,o,r,s=this;if(t){this.url=t,this.imageData={};var n=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),a.checkOrientation&&window.ArrayBuffer)if(q.test(t))K.test(t)?this.read((i=t.replace(Nt,""),e=atob(i),o=new ArrayBuffer(e.length),dt(r=new Uint8Array(o),(function(t,i){r[i]=e.charCodeAt(i)})),o)):this.clone();else{var c=new XMLHttpRequest,h=this.clone.bind(this);this.reloading=!0,this.xhr=c,c.onabort=h,c.onerror=h,c.ontimeout=h,c.onprogress=function(){c.getResponseHeader("content-type")!==Z&&c.abort()},c.onload=function(){s.read(c.response)},c.onloadend=function(){s.reloading=!1,s.xhr=null},a.checkCrossOrigin&&Bt(t)&&n.crossOrigin&&(t=Wt(t)),c.open("GET",t,!0),c.responseType="arraybuffer",c.withCredentials="use-credentials"===n.crossOrigin,c.send()}else this.clone()}}},{key:"read",value:function(t){var i=this.options,e=this.imageData,o=_t(t),r=0,s=1,n=1;if(o>1){this.url=function(t,i){for(var e=[],o=new Uint8Array(t);o.length>0;)e.push(Vt.apply(null,ht(o.subarray(0,8192)))),o=o.subarray(8192);return"data:".concat(i,";base64,").concat(btoa(e.join("")))}(t,Z);var a=function(t){var i=0,e=1,o=1;switch(t){case 2:e=-1;break;case 3:i=-180;break;case 4:o=-1;break;case 5:i=90,o=-1;break;case 6:i=90;break;case 7:i=90,e=-1;break;case 8:i=-90}return{rotate:i,scaleX:e,scaleY:o}}(o);r=a.rotate,s=a.scaleX,n=a.scaleY}i.rotatable&&(e.rotate=r),i.scalable&&(e.scaleX=s,e.scaleY=n),this.clone()}},{key:"clone",value:function(){var t=this.element,i=this.url,e=t.crossOrigin,o=i;this.options.checkCrossOrigin&&Bt(i)&&(e||(e="anonymous"),o=Wt(i)),this.crossOrigin=e,this.crossOriginUrl=o;var r=document.createElement("img");e&&(r.crossOrigin=e),r.src=o||i,r.alt=t.alt||"The image to crop",this.image=r,r.onload=this.start.bind(this),r.onerror=this.stop.bind(this),vt(r,z),t.parentNode.insertBefore(r,t.nextSibling)}},{key:"start",value:function(){var t=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var e=c.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(c.navigator.userAgent),o=function(i,e){lt(t.imageData,{naturalWidth:i,naturalHeight:e,aspectRatio:i/e}),t.initialImageData=lt({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!i.naturalWidth||e){var r=document.createElement("img"),s=document.body||document.documentElement;this.sizingImage=r,r.onload=function(){o(r.width,r.height),e||s.removeChild(r)},r.src=i.src,e||(r.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;",s.appendChild(r))}else o(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,o=t.parentNode,r=document.createElement("div");r.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 s=r.querySelector(".".concat(l,"-container")),n=s.querySelector(".".concat(l,"-canvas")),a=s.querySelector(".".concat(l,"-drag-box")),c=s.querySelector(".".concat(l,"-crop-box")),h=c.querySelector(".".concat(l,"-face"));this.container=o,this.cropper=s,this.canvas=n,this.dragBox=a,this.cropBox=c,this.viewBox=s.querySelector(".".concat(l,"-view-box")),this.face=h,n.appendChild(e),vt(t,S),o.insertBefore(s,t.nextSibling),gt(e,z),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,vt(c,S),i.guides||vt(c.getElementsByClassName("".concat(l,"-dashed")),S),i.center||vt(c.getElementsByClassName("".concat(l,"-center")),S),i.background&&vt(s,"".concat(l,"-bg")),i.highlight||vt(h,I),i.cropBoxMovable&&(vt(h,O),kt(h,B,p)),i.cropBoxResizable||(vt(c.getElementsByClassName("".concat(l,"-line")),S),vt(c.getElementsByClassName("".concat(l,"-point")),S)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),at(i.ready)&&St(t,U,i.ready,{once:!0}),zt(t,U)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),gt(this.element,S)}}},{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()}}])&&r(i.prototype,e),o&&r(i,o),Object.defineProperty(i,"prototype",{writable:!1}),i;var i,e,o}();return lt($t.prototype,At,Ht,Dt,Lt,Ft,Ut),$t}()),vt.exports),mt=d(gt);
|
|
2
2
|
/*!
|
|
3
3
|
* Cropper.js v1.6.2
|
|
4
4
|
* https://fengyuanchen.github.io/cropperjs
|
|
@@ -7,4 +7,4 @@ import{h as t,r as i,c as e,H as o,g as r,F as s}from"./p-BcMtFp89.js";import{t
|
|
|
7
7
|
* Released under the MIT license
|
|
8
8
|
*
|
|
9
9
|
* Date: 2024-04-21T07:43:05.335Z
|
|
10
|
-
*/const xt={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},wt=class{constructor(t){i(this,t),this.vviinnImageCrop=e(this,"vviinnImageCrop"),this.vviinnCropperLoadImage=e(this,"vviinnCropperLoadImage"),this.vviinnCropperCropEnd=e(this,"vviinnCropperCropEnd"),this.vviinnCropperAspectRatioError=e(this,"vviinnCropperAspectRatioError"),this.vviinnCropperResetState=e(this,"vviinnCropperResetState"),this.vviinnResetCropArea=e(this,"vviinnResetCropArea"),this.vviinnSelectedFiltersReset=e(this,"vviinnSelectedFiltersReset"),this.saveImageMode="once",this.width=288,this.showInWidget=!1,this.cropper=null,this.selectedDetectedObject=null,this.initPreloadedImage=()=>{var t;if(this.showInWidget){const[t,i]=l(this.state.image,288);this.width=t,this.height=i}if("never"===this.saveImageMode)return;this.state.image=null;const{imageSrc:i,detectedObjects:e}=A();if(!i)return;const o=document.createElement("img");o.src=i,this.state.image=o,0===(null===(t=this.state.detectedObjects)||void 0===t?void 0:t.length)&&(this.state.detectedObjects=e),"once"===this.saveImageMode&&F()},this.resetStateHandler=({detail:t})=>{var i,e;this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.selectedDetectedObject=null,null===(i=this.state.image)||void 0===i||i.setAttribute("src",""),this.state.detectedObjects=[],this.state.image=null,null===(e=this.cropper)||void 0===e||e.destroy(),F())},this.resetCropAreaHandler=({detail:t})=>{var i;this.skipStateChanges(t.isTriggeredByVpsWidget)||(null===(i=this.cropper)||void 0===i||i.reset(),this.state.searchArea=null,this.state.croppedImageUrl=null,this.selectedDetectedObject=null,this.vviinnImageCrop.emit({isTriggeredByVpsWidget:this.showInWidget}),p(this.storeName,null))},this.skipStateChanges=t=>this.showInWidget!==t,this.imageUploadFinishedHandler=({detail:t})=>{var i;this.skipStateChanges(t.isTriggeredByVpsWidget)||("never"===this.saveImageMode&&F(),this.cropper&&(null===(i=this.state.image)||void 0===i?void 0:i.src)&&this.cropper.replace(this.state.image.src))},this.loadImage=()=>{const t=this.el.shadowRoot.querySelector("img");if(this.state.image){let i={};this.cropper&&(i=this.cropper.getData(!0),this.cropper.destroy());const e=U(t),{width:o,height:r}=e;if(this.vviinnCropperLoadImage.emit({imageBounds:e}),this.state.imageBounds=e,o/r<.1||r/o<.1)return void this.vviinnCropperAspectRatioError.emit(!0);if(o<90||r<90)return;this.cropper=new mt(t,Object.assign(Object.assign({},xt),{cropstart:this.cropStart,cropend:this.cropEnd,ready:()=>this.cropper.reset(),data:i}))}},this.cropStart=()=>{this.startEndCropBoxData=this.getCropboxData()},this.cropEnd=()=>{const t=this.getCropboxData();((t,i,e=.5)=>{const{left:o,top:r,width:s,height:n}=t,{left:a,top:c,width:h,height:d}=i,l=Math.abs(o-a),p=Math.abs(r-c),f=Math.abs(s-h),u=Math.abs(n-d);return l<=e&&p<=e&&f<=e&&u<=e})(this.startEndCropBoxData,t)||(this.vviinnCropperCropEnd.emit(t),this.state.searchArea=t,this.selectedDetectedObject=null,this.vviinnImageCrop.emit({isTriggeredByVpsWidget:this.showInWidget}),p(this.storeName,null))},this.showPreloader=()=>this.state.loading&&"image"===this.state.searchType&&!this.showAspectRatioError}connectedCallback(){f(this);const{state:t,storeName:i}=u(this.showInWidget);this.state=t,this.storeName=i,this.initPreloadedImage(),document.addEventListener("vviinnImageUploadFinished",this.imageUploadFinishedHandler),document.addEventListener("vviinnCropperResetState",this.resetStateHandler),document.addEventListener("vviinnResetCropArea",this.resetCropAreaHandler)}disconnectedCallback(){var t,i;document.removeEventListener("vviinnImageUploadFinished",this.imageUploadFinishedHandler),document.removeEventListener("vviinnCropperResetState",this.resetStateHandler),document.removeEventListener("vviinnResetCropArea",this.resetCropAreaHandler),null===(i=null===(t=this.cropper)||void 0===t?void 0:t.destroy)||void 0===i||i.call(t),b.image=null}selectDetectedObject({detail:t}){this.selectedDetectedObject=t.detectedObject,this.state.searchArea=t.searchArea;const{top:i,left:e,width:o,height:r}=t.detectedObject;if(this.cropper){const{width:t,height:s}=this.cropper.getImageData();this.cropper.setCropBoxData((t=>{const{width:i,height:e,left:o,top:r}=t,s=82;let n={width:i,height:e,left:o,top:r};return i<s&&(n.width=s,n.left=o-(s-i)/2),e<s&&(n.height=s,n.top=r-(s-e)/2),n})({left:e*t,top:i*s,width:o*t,height:r*s})),this.vviinnImageCrop.emit({isTriggeredByVpsWidget:this.showInWidget})}p(this.storeName,null)}imageCropHandler({detail:t}){var i,e,o,r;this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.cropper&&(this.state.croppedImageUrl=null===(r=null===(e=(i=this.cropper).getCroppedCanvas)||void 0===e?void 0:(o=e.call(i)).toDataURL)||void 0===r?void 0:r.call(o)),this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget}))}getCropboxData(){const{left:t,top:i,width:e,height:o}=this.cropper.getCropBoxData();return{left:t,top:i,width:e,height:o}}render(){var i,e;return t(o,{key:"f1bae6a9564dad26b93047f5e700c1e317450fa2",class:{"show-in-widget":this.showInWidget,active:!!this.state.image}},t("div",{key:"0659c8029d8aa2201380815837bd3e6fb0d2b7bd",class:"container"},t("div",{key:"5a9f6e3f8aeb13ac5301dfbadff733099aaec475",class:"image-container",style:{width:`${this.width.toString()}px`,overflow:"hidden"}},t("img",{key:"d6480a6de6b161ec8c4bcdf3a54e83d87ae97b01",decoding:"async",width:this.width,height:this.height,src:null===(i=this.state.image)||void 0===i?void 0:i.src,draggable:!1,onLoad:this.loadImage}),null===(e=this.state.detectedObjects)||void 0===e?void 0:e.map((i=>t("vviinn-detected-object",{detectedObject:i,selectedDetectedObject:this.selectedDetectedObject,basicEventData:this.basicEventData,imageBounds:this.state.imageBounds,showInWidget:this.showInWidget})))),this.showPreloader()&&t("div",{key:"80a31f0c2a6291b63acd9fe7958f7dde2c776aed",class:"image-preloader"},t("vviinn-preloader",{key:"e7d207bde456762ec438c5659e2f6921809b9f50"}))))}get el(){return r(this)}};wt.style=":host {\n display: flex;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.32);\n}\n\n:host(.show-in-widget) {\n min-height: 160px;\n}\n\n:host(.bordered) {\n background-color: transparent;\n border: 1px solid #eaeaea;\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-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.image-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.image-container > img {\n display: block;\n max-width: 100%;\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 yt=class{constructor(t){i(this,t),this.vviinnImageUploadStarted=e(this,"vviinnImageUploadStarted"),this.vviinnNoResult=e(this,"vviinnNoResult"),this.vviinnImageUploadFinished=e(this,"vviinnImageUploadFinished"),this.loading=!1,this.accept="image"}async handleInputChange(t){this.vviinnImageUploadStarted.emit(Object.assign(Object.assign({},this.basicEventData),{isTriggeredByVpsWidget:"widget"===this.storeName}));const i=t.target,e=await c(this.storeName)(i.files[0]);a.pipe(e,v((({kind:t})=>{this.vviinnNoResult.emit(Object.assign(Object.assign({},this.basicEventData),{reason:t}))}),(t=>{var i;this.showInWidget||L(null===(i=this.state.image)||void 0===i?void 0:i.src,this.state.detectedObjects),this.vviinnImageUploadFinished.emit({searchId:t.requestId,isTriggeredByVpsWidget:"widget"===this.storeName})}))),i.value=null}startUploadWatcher(t){t&&(this.fileInput.click(),this.resetVpsButton())}render(){return t(o,{key:"9369294081d85cffa37b6586822f45f2472ef044",exportparts:"button"},this.loading?t("vviinn-preloader",null):t("label",{htmlFor:"fileInput",part:"button"},t("slot",{name:"upload-button-text"},"Upload image")),t("input",{key:"20179729997d6a942ae4774e8ba2a912ce327852",id:"fileInput",class:"visually-hidden",type:"file",accept:"image"===this.accept?"image/*":"application/octet-stream",onChange:t=>this.handleInputChange(t),ref:t=>this.fileInput=t}))}static get watchers(){return{startUpload:["startUploadWatcher"]}}};yt.style=".visually-hidden{clip:rect(0 0 0 0);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}";const kt=class{constructor(t){i(this,t),this.vviinnWidgetClose=e(this,"vviinnWidgetClose"),this.active=!1,this.hideBackButton=!1}render(){return t(o,{key:"2b7e0f3c9fcf718e4010488946f2363cc969a467",class:{active:this.active}},t("vviinn-overlay",{key:"592bf41755d0726ee154805a24f21e6a5b658bc9"},t("vviinn-modal",{key:"8cd3ee16c771a3226abc74b7acbb40c044787e49",resetState:this.resetState,active:this.active,buttonElementId:this.buttonElementId,hideBackButton:this.hideBackButton,widgetVersion:this.widgetVersion,isFirstScreen:this.isFirstScreen},t("slot",{key:"02746a6c4a244926920ecc32cebf9b256e5deeb8"},"CONTENT"))))}};kt.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;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 Ct=class{constructor(t){i(this,t)}componentWillLoad(){S(this,this.el)}render(){return t(o,{key:"b5975caf7d9a8a6df8cd6a477e8851c0e136e50a"},t("slot",{key:"7397a16b267f5601cce48d240f8cedefcb16295f",name:"vviinn-privacy-badge-text"},t("div",{key:"c35d8ee26f6c829aad1ed3cb5c3d35030f6fea8a",innerHTML:this.privacyBadgeText})))}get el(){return r(this)}};Ct.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{color:#525252;font-size:12px;font-family:var(--font-family, var(--font-family-base));line-height:16px;text-align:center;margin-top:24px}:host a{color:inherit;text-decoration:underline}:host(.invisible){color:transparent}@media (max-width: 768px){:host(.invisible){display:none}}";var Mt=function(t,i){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)i.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(e[o[r]]=t[o[r]])}return e};const jt=class{constructor(o){var r;i(this,o),this.vviinnProductLoad=e(this,"vviinnProductLoad"),this.vviinnProductView=e(this,"vviinnProductView"),this.vviinnProductClick=e(this,"vviinnProductClick"),this.vviinnResultLoad=e(this,"vviinnResultLoad"),this.vviinnResultView=e(this,"vviinnResultView"),this.vviinnTextSearchStarted=e(this,"vviinnTextSearchStarted"),this.vviinnFiltersChanged=e(this,"vviinnFiltersChanged"),this.vviinnCropperResetState=e(this,"vviinnCropperResetState"),this.globalSlotsChanged=e(this,"globalSlotsChanged"),this.vviinnSelectedFiltersReset=e(this,"vviinnSelectedFiltersReset"),this.campaignIdTextSearch="",this.campaignIdVisualSearch="",this.imageResolutionWidth=nt,this.productDetailsNewTab=!1,this.productDetailsRedirect=!0,this.addToBasketShow=!1,this.favoriteShow=!1,this.filterColumn="product_type",this.addPriceContainer=!1,this.oneClickDiscoveryCampaigns="",this.showInWidget=!1,this.parentSlots=[],this.useInnerState=!1,this.isTextSearch=!!(null===(r=this.textSearchQuery)||void 0===r?void 0:r.length),this.innerResults=[],this.passedSlotNames=[],this.slots=[],this.resizeObserver=new ResizeObserver((()=>{this.calculateColumns(),this.calculateCardHeight()})),this.setTextSearch=(t,i=!1)=>{this.showInWidget===!!i&&(this.isTextSearch=t)},this.initResultEvents=()=>{this.state.resultLoaded=!1,this.state.resultViewed=!1},this.updateCampaignIds=()=>{this.state.campaignIdTextSearch=this.campaignIdTextSearch,this.state.campaignIdVisualSearch=this.campaignIdVisualSearch},this.calculateColumns=()=>{var t;const i=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(".products");if(!i)return 0;const e=Array.from(i.querySelectorAll("vviinn-product-card"));if(0===e.length)return 0;const o=e[0].offsetTop,r=e.filter((t=>t.offsetTop===o)).length;this.el.style.setProperty(B,r.toString())},this.calculateCardHeight=()=>{const t=this.el.shadowRoot.querySelector("vviinn-product-card");if(t){const i=t.getBoundingClientRect().height;this.el.style.setProperty("--product-card-calculated-height",`${i}px`)}},this.isSlotPassedToComponent=t=>this.passedSlotNames.includes(t),this.renderProductCardSlots=()=>z.filter(this.isSlotPassedToComponent).map((i=>t("span",{slot:i},t("slot",{name:i})))),this.renderVprIconSlot=()=>this.isSlotPassedToComponent(I)?t("slot",{name:I}):null,this.resetDiscoveryAppendIndexes=()=>{this.oneClickDiscoveryAppendIndex=void 0,this.oneClickDiscoverySelectedIndex=void 0},this.skipStateChanges=t=>this.showInWidget!==t,this.textSearchStartedHandler=async({detail:t})=>{const{isTriggeredByVpsWidget:i}=t;if(this.skipStateChanges(i))return;this.innerTextSearchQuery=t.query,this.setTextSearch(!0,i);const e=this.getBasicEventData(),o=Mt(e,["campaignTypeId"]),r=W("TPS")(Object.assign({action:"search",session_id:this.uiSessionId},o));g(r),this.getTextSearchResults()},this.filtersChangedHandler=async({detail:t})=>{const{filters:i,isTriggeredByVpsWidget:e}=t;this.skipStateChanges(e)||(this.filterColumn&&this.filterValue?this.getResultsByCategory(i):(this.state.requestFilters=i,this.isTextSearch?this.getTextSearchResults(this.state.textSearchId):p(this.storeName,this.searchId)))},this.filterTriggeredHandler=({detail:t})=>{if(this.skipStateChanges(t.isTriggeredByVpsWidget))return;const{action:i,kind:e,customTrigger:o,isTriggeredByVpsWidget:r}=t,s=this.getBasicEventData(o),n=Mt(s,["campaignTypeId"]);if("select"!==i&&"deselect"!==i&&"reset"!==i||this.initResultEvents(),"TPS"===o)return void this.setTextSearch(!0,r);const a=Object.assign({session_id:this.uiSessionId,typ:"filter_event",action:i,kind:e},n),c=P(this.isTextSearch?"TPS":"VPS")(a);g(c)},this.imageUploadStartedHandler=({detail:t})=>{this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget}),this.setTextSearch(!1,t.isTriggeredByVpsWidget),m(this.storeName,"appStateOnly"),this.updateCampaignIds())},this.imageCropHandler=({detail:t})=>{this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.isTextSearch&&this.setTextSearch(!1,t.isTriggeredByVpsWidget),this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget}),this.state.requestFilters=[])},this.oneClickDiscoveryClosedHandler=({detail:t})=>{this.skipStateChanges(t.isTriggeredByVpsWidget)||this.resetDiscoveryAppendIndexes()},this.productCardEventDataToEventBody=t=>{const{productRank:i,productId:e}=t,o=Mt(t,["productRank","productId","campaignTypeId","clickEvent"]);return Object.assign({session_id:this.uiSessionId,rank:i,product:e},o)},this.getBasicEventData=t=>{const i=this.isTextSearch||"TPS"===t?"TPS":"VPS";return Object.assign({campaignTypeId:i,campaignTypeName:Y[i],widgetVersion:$,widget:i},x("widgetId",this.widgetElementId))}}getResults(){var t;return null!==(t=this.useInnerState?this.innerResults:this.state.results)&&void 0!==t?t:[]}replaceSlotsContent(){this.globalSlotsChanged.emit({slots:this.slots,element:this.el})}async componentWillLoad(){S(this,this.el),this.slots=ot(this.el),this.passedSlotNames=rt([...this.parentSlots,...this.slots]),this.showInWidget||await X.init({lng:w.locale,fallbackLng:"en",resources:Z})}componentDidRender(){this.replaceSlotsContentInButton?this.replaceSlotsContentInButton(this.el):this.showInWidget?this.replaceSlotsContentInWidget(this.el):this.replaceSlotsContent()}componentDidLoad(){this.resizeObserver.observe(this.el),this.calculateColumns(),this.calculateCardHeight()}async getTextSearchResults(t){if(this.innerTextSearchQuery)return this.setTextSearch(!0),(null==t?void 0:t.length)||(m(this.storeName,"appStateOnly"),this.updateCampaignIds(),this.vviinnCropperResetState.emit({isTriggeredByVpsWidget:this.showInWidget}),this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget})),a.pipe(await y(this.storeName,this.innerTextSearchQuery,t,this.resultsCount),k((()=>null)))}async getResultsByCategory(t){this.filterColumn&&this.filterValue&&!this.showInWidget&&a.pipe(await C(this.filterColumn,this.filterValue,this.resultsCount,t,this.useInnerState),k((()=>null)),(t=>{this.useInnerState&&(this.innerResults=t.data.products)}))}connectedCallback(){f(this);const{state:t,storeName:i,onChange:e}=u(this.showInWidget);this.state=t,this.storeName=i,this.disposeStoreListener=e("loading",(t=>{t&&this.resetDiscoveryAppendIndexes()})),this.el.id&&(this.widgetElementId=this.el.id),this.uiSessionId||(this.uiSessionId=R()),document.addEventListener("vviinnImageUploadStarted",this.imageUploadStartedHandler),document.addEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.addEventListener("vviinnFiltersChanged",this.filtersChangedHandler),document.addEventListener("vviinnFilterTriggered",this.filterTriggeredHandler),document.addEventListener("vviinnImageCrop",this.imageCropHandler),document.addEventListener("vviinnOneClickDiscoveryClosed",this.oneClickDiscoveryClosedHandler),this.searchId&&p(this.storeName,this.searchId),this.getResultsByCategory(),this.innerTextSearchQuery=this.textSearchQuery,!this.showInWidget&&this.getTextSearchResults()}disconnectedCallback(){var t;m(this.storeName,"all"),document.removeEventListener("vviinnImageUploadStarted",this.imageUploadStartedHandler),document.removeEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.removeEventListener("vviinnFiltersChanged",this.filtersChangedHandler),document.removeEventListener("vviinnFilterTriggered",this.filterTriggeredHandler),document.removeEventListener("vviinnImageCrop",this.imageCropHandler),document.removeEventListener("vviinnOneClickDiscoveryClosed",this.oneClickDiscoveryClosedHandler),null===(t=this.disposeStoreListener)||void 0===t||t.call(this),this.resizeObserver.disconnect()}watchTextSearchQuery(t){this.showInWidget||(this.innerTextSearchQuery=t,this.getTextSearchResults())}watchSearchId(t){this.showInWidget||t&&p(this.storeName,t)}trackProductLoad({detail:t}){const i=this.getProductTrackEvent(t,"load");g(i)}trackProductView({detail:t}){this.state.resultViewed||(this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"),this.state.resultViewed=!0);const i=this.getProductTrackEvent(t,"view");g(i)}async trackProductClick({detail:t}){const{productId:i,clickEvent:e}=t,o=this.getProductTrackEvent(t,"click"),r=this.findProductById(i);r&&r.deeplink&&await g(o).finally((()=>{this.handleOpenLink(r.deeplink,e)}))}async trackAuxClick({detail:t}){const{productId:i}=t,e=this.getProductTrackEvent(t,"click"),o=this.findProductById(i);o&&o.deeplink&&await g(e)}trackAddToBasket({detail:t}){delete t.discount;const i=this.productCardEventDataToEventBody(t),e=E(this.isTextSearch?"TPS":"VPS")(i);g(e)}trackAddToFavorite({detail:t}){const i=this.productCardEventDataToEventBody(t),e=V(this.isTextSearch?"TPS":"VPS")(i);g(e)}trackResultEvent(t){const i=this.getBasicEventData(),{campaignTypeId:e}=i,o=Mt(i,["campaignTypeId"]);let r=N(t,e)(Object.assign({session_id:this.uiSessionId},o));g(r)}findProductById(t){return this.getResults().find((i=>i.productId===t))}handleOpenLink(t,i){if(this.productDetailsRedirect)if(this.productDetailsNewTab||i.ctrlKey||i.metaKey){let i=window.open();i?i.location.href=t:window.location.href=t}else window.location.href=t}getProductTrackEvent(t,i){if(!w.trackingEnabled)return null;const e=this.productCardEventDataToEventBody(t);return _(i,"VCS"===t.campaignTypeId?"VPC":t.campaignTypeId)(e)}renderResults(){var i;const e=this.getBasicEventData();this.state.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.state.resultLoaded=!0);const o=null===(i=this.oneClickDiscoveryMode)||void 0===i?void 0:i.startsWith("append"),r=t=>{if(!o)return;const i=window.getComputedStyle(this.el.shadowRoot.getElementById("vviinn-results-products")).getPropertyValue("grid-template-columns").replace(" 0px","").split(" ").length;this.oneClickDiscoveryAppendIndex=t+(i-(t%i+1)),this.oneClickDiscoverySelectedIndex=t,requestAnimationFrame((()=>{const t=this.el.shadowRoot.getElementById("one-click-discovery-append"),i=window.matchMedia("(max-width: 768px)").matches;(this.showInWidget?i?this.scrollableModalBody:this.el:window).scrollTo({top:t.offsetTop,behavior:"smooth"})}))};return this.getResults().map(((i,s)=>{var n,a;return t("vviinn-product-card",{pricePrefix:w.pricePrefix,currency:w.currencySign,locale:w.locale,key:i.productId,index:s,productTitle:i.title,productId:i.productId,productType:i.productType,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,basePrice:null===(n=i.basePrice)||void 0===n?void 0:n.actual,baseSalePrice:null===(a=i.basePrice)||void 0===a?void 0:a.sale,responsive:!0,imageWidth:this.imageResolutionWidth,imageResolutionWidth:this.imageResolutionWidth,image:i.image.thumbnail||i.image.original,energyCertifications:i.energyCertifications,part:"product-card",campaignTypeId:e.campaignTypeId,widgetElementId:this.widgetElementId,buttonElementId:this.buttonElementId,widgetVersion:$,customLabels:H(i),addToBasketShow:this.addToBasketShow,favoriteShow:this.favoriteShow,addPriceContainer:this.addPriceContainer,isResultsWidget:!0,style:{order:s.toString()},showFooterArrow:this.oneClickDiscoverySelectedIndex===s},!!this.oneClickDiscoveryMode&&t("div",{slot:"vviinn-product-card-actions",class:"vviinn-results-product-card-actions"},t("vviinn-vpr-button",{onClick:()=>r(s),productId:i.productId,addStyle:!1,sidebarTitle:"",appendSidebarToId:o?"one-click-discovery-append":void 0,appendSidebarToElement:o?this.el.shadowRoot.getElementById("one-click-discovery-append"):void 0,oneClickDiscoveryMode:this.oneClickDiscoveryMode,addToBasketShow:this.addToBasketShow,favoriteShow:this.favoriteShow,campaigns:this.oneClickDiscoveryCampaigns,showInWidget:this.showInWidget},this.renderProductCardSlots(),this.renderVprIconSlot())))}))}render(){var i;const e=this.getResults().length;return t(o,{key:"2f0bdae6dafeae327f730209f7d7280c05130b76",id:"results-block",class:{"show-in-widget":this.showInWidget,"matching-discovery":"append-slider"===this.oneClickDiscoveryMode},exportparts:`${q}, ${Q}`},t("div",{key:"43174873687c99458e3c7da39c380e3c2d6a26b8",class:"nothing-found"},0===e&&this.showInWidget&&t("vviinn-empty-results",{key:"e8b7df4b9dc5a2f95fcce9ef5c076852c17ba299",handler:()=>null==this?void 0:this.resetWidgetState()}),this.showAspectRatioError&&this.showInWidget&&t("vviinn-wrong-aspect-ratio",{key:"bf1abb1fa0a174b6b73d8cb7ac37a81ee260ee38",handler:()=>null==this?void 0:this.resetWidgetState()})),t("div",{key:"80de29f0df1f95f89c10ace7e9a9f34f34a8b23e",class:{hidden:this.showAspectRatioError||0===e,products:!0},part:Q,id:"vviinn-results-products"},e>0&&this.renderResults(),t("div",{key:"bd7a0fea2ccf3b9ce2322c2508e88e7847f0af00",id:"one-click-discovery-append",style:{order:(null!==(i=this.oneClickDiscoveryAppendIndex)&&void 0!==i?i:e).toString()}})))}get el(){return r(this)}static get watchers(){return{textSearchQuery:["watchTextSearchQuery"],searchId:["watchSearchId"]}}};jt.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block}:host(.show-in-widget){display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}:host::part(product-card){width:100%;height:100%}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(\n auto-fill,\n minmax(\n var(--product-card-width, var(--product-card-results-min-width)),\n 1fr\n )\n );justify-items:center;padding:0 24px 24px 12px;position:absolute}:host(.show-in-widget) .products{grid-template-columns:repeat(\n auto-fill,\n minmax(var(--product-card-width, var(--product-card-widget-min-width)), 1fr)\n )}:host(:not(.show-in-widget)) .products{position:static;padding:0}.hidden{visibility:hidden;height:1px}products.hidden{display:none}.vviinn-results-product-card-actions vviinn-vpr-button::part(button){position:relative;display:flex;justify-content:center;align-items:center;color:var(--color-icon-inverse);padding:var(--spacing-50);gap:var(--spacing-50);border-radius:var(--border-radius-100);background:var(--button-bg-color-frosted);-webkit-backdrop-filter:blur(calc(var(--filter-blur-150, 12px) / 2));backdrop-filter:blur(calc(var(--filter-blur-150, 12px) / 2))}.vviinn-results-product-card-actions vviinn-vpr-button::part(button)::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(1.55)}.vviinn-results-product-card-actions vviinn-vpr-button::part(button):hover{background:var(--button-bg-color-frosted-hover)}#one-click-discovery-append{width:100%;grid-column:1 / -1}vviinn-recommendations-sidebar::part(body){border:1px solid var(--color-border-02);border-left:none;border-right:none;margin-top:-9px;max-height:unset}@media screen and (max-width: 768px){vviinn-recommendations-sidebar::part(body){margin-top:-1px}}vviinn-recommendations-sidebar::part(source-image){display:none}vviinn-recommendations-sidebar::part(sidebar-header){padding:0;min-height:40px;margin-bottom:24px;align-items:center;justify-items:left;text-align:left}vviinn-recommendations-sidebar::part(sidebar-content){padding:0}:host(.matching-discovery) vviinn-recommendations-sidebar::part(items-group){grid-template-columns:repeat(\n auto-fill,\n minmax(\n var(--product-card-width, var(--product-card-results-min-width)),\n 1fr\n )\n )}:host(.show-in-widget) vviinn-recommendations-sidebar::part(recommendations-results),:host(.show-in-widget) vviinn-recommendations-sidebar::part(items-group){grid-template-columns:repeat(\n auto-fill,\n minmax(var(--product-card-widget-min-width), 1fr)\n )}@media (max-width: 768px){:host(.show-in-widget){align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0;margin-top:24px}.products{position:static;padding:0;width:unset;row-gap:24px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 380px){.products{-moz-column-gap:10px;column-gap:10px}}';const St=class{constructor(t){i(this,t)}render(){return t(o,{key:"0bdd6f539c2cfcf0b6c61a64e28ef3dad3864d02"},t("vviinn-error",{key:"e647f3fc6c4e80fdeea523beb103ad7fc084cea9"},t(ct,{key:"507831f7678b3f01548f7f94fee1d6253ac01fa1"}),t("h4",{key:"e7259f3536acc660e3e3d19fa5743595f4db3680",slot:"title"},X.t("serverErrorBlock.title")),t("button",{key:"44ef0d0a3cf3d5079eb7a9108b46852ad55c01f4",slot:"action",onClick:this.handler},X.t("serverErrorBlock.button"))))}};St.style=":host{width:100%}";const zt=class{constructor(t){i(this,t)}render(){return t(o,{key:"874edf4c00fe5abb143cd45258242c7921ba9db6"},t("slot",{key:"82b8e83b67119c310cabcac3d8a43c608edfd484"}))}};zt.style=":host{display:grid;justify-items:center}";const It=class{constructor(t){i(this,t),this.elementsCount=0,this.internalPosition=0,this.swipeStartPosition=M.none,this.isRTL=!1,this.position=0}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")}calculatePosition(t){return this.isRTL?-1*t:t}render(){return t(o,{key:"d35901ea48c63c7c1ff955e64e6677efef160fbb"},t("div",{key:"ab6b420eba1087b1af4574e84b73e2ad75a91786",class:"items-wrapper"},t("div",{key:"49c710066c568b72030c8a0e9466259466675c11",class:"items"},t("slot",{key:"b0b0ef1167e256788b0529881afb971fc99883de"}))))}get el(){return r(this)}static get watchers(){return{position:["positionWatchHandler"]}}};It.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}: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(--button-bg-color-primary))}.bullet:active{background:transparent;border:2px solid var(--color-primary, var(--button-bg-color-primary))}.arrow-wrapper{align-items:center;cursor:pointer;background:white;border:2px solid white;bottom:0;box-sizing:border-box;display:grid;height:calc(var(--spacing-100) * 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(--spacing-100) * 4)}.arrow-wrapper:active{border-color:var(--color-primary, var(--button-bg-color-primary));opacity:0.75}.arrow-wrapper:focus{border-color:var(--color-primary, var(--button-bg-color-primary));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 Tt=class{constructor(t){i(this,t)}componentWillLoad(){S(this,this.el)}render(){return t(o,{key:"d38f9d6b8bffc2fe77c6cc219b86b30c6f328a85"},t("slot",{key:"cd1709188d72273236b5856ec304676aaeb1ef87"},t("span",{key:"3704865abd33c1a83511dfa5bc884e4faf3d4341",class:"vviinn-teaser-text"},t("slot",{key:"5c7caa1f911466d3d712b44ecb11bb9536e33175",name:"vviinn-teaser-text"},X.t("teaserText")))))}get el(){return r(this)}};Tt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{align-items:center;display:grid;justify-items:center;grid-gap:16px}.vviinn-teaser-text{font-family:var(--font-family, var(--font-family-base));font-size:22px;font-weight:600;line-height:28px;text-align:center;white-space:pre-line}";const Ot={facingMode:"environment",width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}};var Bt=function(t,i){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)i.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(e[o[r]]=t[o[r]])}return e};const Wt=class{constructor(t){i(this,t),this.globalSlotsChanged=e(this,"globalSlotsChanged"),this.vviinnWidgetLoad=e(this,"vviinnWidgetLoad"),this.vviinnWidgetOpen=e(this,"vviinnWidgetOpen"),this.vviinnWidgetClose=e(this,"vviinnWidgetClose"),this.vviinnImageCrop=e(this,"vviinnImageCrop"),this.vviinnSelectObject=e(this,"vviinnSelectObject"),this.vviinnSelectFilter=e(this,"vviinnSelectFilter"),this.vviinnImageUploadStarted=e(this,"vviinnImageUploadStarted"),this.vviinnNoResult=e(this,"vviinnNoResult"),this.active=!0,this.campaignId="",this.campaignIdTextSearch="",this.campaignIdVisualSearch="",this.excluded="",this.productDetailsNewTab=!0,this.productDetailsRedirect=!0,this.imageResolutionWidth=at,this.exampleImageSource=st,this.textSearchShow=!1,this.addToBasketShow=!1,this.favoriteShow=!1,this.oneClickDiscoveryShow=!1,this.oneClickDiscoveryCampaigns="",this.addPriceContainer=!1,this.showingInButton=!1,this.mode="modal",this.parentSlots=[],this.showInWidget=!0,this.slidePosition=0,this.stream=null,this.products=[],this.textSearchQuery="",this.isCameraInitializing=!1,this.isCameraEnabled=!1,this.isCameraButtonClicked=!1,this.showAspectRatioError=!1,this.wrongImageFormat=!1,this.imageSource="upload",this.cameraAvailable=!1,this.isDesktop=!1,this.videoTrack=null,this.isTextSearch=!1,this.slots=[],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()=>{var t;if(!this.videoTrack)return;const i=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};if("focusMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{focusMode:"continuous"}]})}catch(t){console.error("Failed to apply focus mode constraints",t)}if("exposureMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{exposureMode:"continuous"}]})}catch(t){console.error("Failed to apply exposure mode constraints",t)}if("whiteBalanceMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{whiteBalanceMode:"continuous"}]})}catch(t){console.error("Failed to apply white balance mode constraints",t)}},this.handleStartCameraClick=async()=>{this.stream?this.resetState():(this.isCameraInitializing=!0,setTimeout((async()=>{this.isCameraButtonClicked=!0;try{const t=await navigator.mediaDevices.getUserMedia({video:Ot});this.videoTrack=t.getVideoTracks()[0],this.adjustCameraSettings(),this.stream=t,this.uploadSource="startCamera"}catch(t){console.error("Error accessing camera: ",t.message),this.resetState(),this.isCameraInitializing=!1}}),500))},this.setShowAspectRatioError=t=>{this.showAspectRatioError=t},this.getBasicEventData=t=>{var i;const e=this.isTextSearch||t?"TPS":"VPS";return Object.assign({campaignTypeId:e,campaignTypeName:Y[e],widgetVersion:$},x("widgetId",null!==(i=this.buttonElementId)&&void 0!==i?i:this.widgetElementId))},this.handleAspectRatioError=({detail:t})=>{this.setShowAspectRatioError(t),this.el.classList.add("bordered")},this.resetInnerState=()=>{this.textSearchQuery="",this.wrongImageFormat=!1,this.resetScroll("results-block"),this.stopStreamTracks(),this.initResultEvents(),this.stream=null,this.isCameraEnabled=!1,this.isCameraButtonClicked=!1,this.isCameraInitializing=!1,this.setShowAspectRatioError(!1),this.isTextSearch=!1,this.slidePosition=0,this.resetScroll("start-page_block")},this.resetState=()=>{this.resetInnerState(),this.state.loading=!1,this.state.serverError=!1,this.showInWidget&&(this.state.image=null,this.state.results=[],this.state.dynamicFilters=[],this.state.requestFilters=[],this.state.detectedObjects=[],this.state.searchType=void 0)}}initResultEvents(){this.state.resultLoaded=!1,this.state.resultViewed=!1}replaceSlotsContent(t){this.globalSlotsChanged.emit({slots:this.slots,element:this.el}),t&&this.globalSlotsChanged.emit({slots:this.slots,element:t})}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}async componentWillLoad(){await X.init({lng:w.locale,fallbackLng:"en",resources:Z}),this.slots=ot(this.el),S(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load")}componentDidLoad(){this.replaceSlotsContent()}activeWatcher(t){t?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.vviinnWidgetOpen.emit(this.getBasicEventData()),"camera"===this.mode&&this.handleStartCameraClick(),this.trackWidgetEvent("open")):(document.body.style.overflow=this.overflow,this.initResultEvents())}slidePositionWatcher(){if(1===this.slidePosition){const t=this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal");this.modalBody=t.shadowRoot.querySelector(".body"),this.modalBody.scrollTop=0,this.stopStreamTracks()}}textSearchFinishedHandler({detail:t}){this.isTextSearch=!0,this.textSearchQuery=t.query,this.slidePosition=1}resultLoadHandler(){this.state.resultLoaded=!0}resultViewHandler(){this.state.resultViewed=!0}trackCameraEnabled({detail:t}){this.isCameraEnabled=t,this.isCameraInitializing=!1}cropAreaChanges(){this.initResultEvents();const t=this.getBasicEventData(),i=Bt(t,["campaignTypeId"]),e=D(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"},i));g(e)}trackDetectedObject(){this.initResultEvents();const t=this.getBasicEventData(),i=Bt(t,["campaignTypeId"]),e=D(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"},i));g(e)}trackImageSearchFilterSelected({detail:t}){this.initResultEvents();const i=this.getBasicEventData(),e=Bt(i,["campaignTypeId"]),o=P("VPS")(Object.assign({session_id:this.uiSessionId,source:this.imageSource,kind:t.kind,action:t.action},e));g(o)}connectedCallback(){f(this),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"})();const{state:t,storeName:i}=u(this.showInWidget);this.storeName=i,this.state=t,this.cameraAvailable=!!navigator.mediaDevices&&!!navigator.mediaDevices.getUserMedia,this.state.campaignId=this.campaignId,this.state.campaignIdTextSearch=this.campaignIdTextSearch,this.state.campaignIdVisualSearch=this.campaignIdVisualSearch,this.state.excluded=j(this.excluded),this.uiSessionId=R(),this.widgetElementId=this.el.id,document.addEventListener("vviinnCropperAspectRatioError",this.handleAspectRatioError)}disconnectedCallback(){document.removeEventListener("vviinnCropperAspectRatioError",this.handleAspectRatioError)}trackWidgetEvent(t){const i=this.getBasicEventData(),e=Bt(i,["campaignTypeId"]),o=Object.assign({action:t,session_id:this.uiSessionId},e),r=W("VPS")(o);g(r)}trackInitialSearch(){const t=this.getBasicEventData(),i=Bt(t,["campaignTypeId"]),e=D(Object.assign({session_id:this.uiSessionId,search_area:"full",source:"upload"},i));g(e)}handleImageSelection(){this.showInWidget?this.slidePosition=1:(this.resetVpsButton&&this.resetVpsButton(),this.resetState())}renderButtons(){const i=this.state.loading&&"image"===this.state.searchType&&"startCamera"===this.uploadSource||this.isCameraInitializing,e=[this.cameraAvailable&&t("button",{class:"action-button",part:"start-camera_button",onClick:()=>{this.handleStartCameraClick()}},i&&t("vviinn-preloader",null),t("span",{class:{"action-button-content":!0,hidden:i}},t("slot",{name:"vviinn-camera-icon"},t(ht,null)),t("span",{class:{hidden:!this.isCameraEnabled}},t("slot",{name:"vviinn-camera-button-text-stop"},X.t("cameraButtonTextStop"))),t("span",{class:{hidden:this.isCameraEnabled}},t("slot",{name:"vviinn-camera-button-text-start"},X.t("cameraButtonTextStart"))))),t("vviinn-image-selector",{class:"action-button",onClick:()=>this.uploadSource="uploadPhoto",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUploadStarted:()=>{this.handleVviinnImageUpload("uploadPhoto")},storeName:this.storeName,state:this.state,onVviinnNoResult:({detail:t})=>this.handleVviinnNoResult(t),resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"upload-photo_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode,showInWidget:this.showInWidget,loading:this.state.loading&&"image"===this.state.searchType&&"uploadPhoto"===this.uploadSource},t("span",{slot:"upload-button-text",class:"action-button-content"},t("slot",{name:"vviinn-image-upload-icon"},t(pt,null)),t("slot",{name:"vviinn-image-upload-button-text"},t("span",null,X.t("imageUploadButtonText")))))];return this.isDesktop?e.reverse():e}haveErrors(){return this.wrongImageFormat||this.state.serverError}resetScroll(t,i="auto"){const e=this.el.shadowRoot.getElementById(t);null==e||e.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 i,e,r,n;return t(o,{key:"b1c08795538d6493076bc0dc50fb610b21db6c0a",exportparts:`${K}, ${q}, ${tt}, ${it}, ${et}, ${Q}`},!this.showingInButton&&T("search"),t("vviinn-overlayed-modal",{key:"31b977bfed662c08ca7355d1763554b6d3473345",class:{"first-screen":this.isOnboardingSlide()},isFirstScreen:this.isOnboardingSlide(),active:this.active,resetState:this.resetState,onVviinnWidgetClose:({detail:t})=>{"VPR"!==t.campaignTypeId&&this.handleModalClose()},buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.widgetElementId,widgetVersion:$,hideBackButton:"upload"===this.mode&&this.showingInButton||!this.isCameraEnabled&&this.isOnboardingSlide(),exportparts:K},t("vviinn-slider",{key:"164527b850ebd1f97dc6438ab4551e86cdcfdb5d",position:this.slidePosition},t("vviinn-slide",{key:"43e12b4d810b1ac09418699b3f49fd0220132944",class:{"start-page":!0,"camera-enabled":this.isCameraEnabled}},t("vviinn-camera",{key:"744daaa048f0e9a09bb44a5423305a5824d6a89b",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUploadStarted:()=>{this.handleVviinnImageUpload("startCamera")},basicEventData:this.getBasicEventData(),srcObject:this.stream,cameraButtonClicked:this.isCameraButtonClicked,exampleImageSource:this.exampleImageSource,showInWidget:this.showInWidget,storeName:this.storeName,state:this.state}),t("div",{key:"cdb509ae8c882e72b2fb9e8e51a604c93219d0da",class:{error:this.haveErrors()},id:"start-page_block"},t("div",{key:"28d69996d4b1bf599c77f129172679506a6f8dae",class:"start-page_main-content"},(this.wrongImageFormat||this.state.serverError)&&t("div",{key:"d818a2b7945c09d9325bc16e096ee531e29c560a",class:"start-page_errors-block"},t("vviinn-wrong-format",{key:"443e853056db2614cace9ab986ab1fac98a0ffc7",class:{hidden:!this.wrongImageFormat},handler:()=>this.resetState()}),t("vviinn-server-error",{key:"3dcbf108f95f4242f0d3b3fe60f51c0f35583c0c",class:{hidden:!this.state.serverError},handler:()=>this.resetState()})),!this.haveErrors()&&t(s,{key:"5b0727b99e8868b010a04192673644f3668e2937"},t("vviinn-teaser",{key:"e8cbca43a450bee025125a2c2bed6e98998a8f54"}),t("div",{key:"021fb3bf23740649a5adbda8bb8eb1a793a2004f",class:"buttons-group"},this.renderButtons()),this.textSearchShow&&t("vviinn-text-search",{key:"97cd6410ebffe7a7a8f7754a333808f9790e2d0b",token:w.token,apiPath:w.apiPath,locale:w.locale,showInWidget:!0,showOnFirstScreen:!0,searchQuery:this.textSearchQuery,uiSessionId:this.uiSessionId,basicEventData:this.getBasicEventData(!0),"save-image-mode":"never"}))),t("vviinn-privacy-badge",{key:"f8fbd40950e2948ee626ae32d54c38ff6064d6f7",privacyBadgeText:X.t("privacyBadgeText",{interpolation:{escapeValue:!1}}),class:{invisible:this.haveErrors()}}))),t("vviinn-slide",{key:"bf315dcb344b45ceb3cf20bb44cf2bb6ba2e1587",class:{"results-page":!0,active:this.isResultSlide()}},this.isResultSlide()&&t("div",{key:"2fead95b1f9821c0f264938bb1b025374877d57e",class:"source-wrapper"},"text"===this.state.searchType?t("vviinn-text-search",{token:this.token,showInWidget:!0,searchQuery:this.textSearchQuery,apiPath:this.apiPath,locale:this.locale,uiSessionId:this.uiSessionId,basicEventData:this.getBasicEventData(!0),"save-image-mode":"never"}):t("vviinn-cropper",{basicEventData:this.getBasicEventData(),showAspectRatioError:this.showAspectRatioError,apiPath:this.apiPath,showInWidget:!0,"save-image-mode":"never"}),(null===(e=this.state.dynamicFilters)||void 0===e?void 0:e.length)>0&&t("div",{key:"2aecc10d91b088aaeb91b872ad7b3d13073efb6f",class:{"filters-wrapper":!0,hidden:this.showAspectRatioError}},t("vviinn-filters",{key:"c99ab340485f15a5f5aa79b69a14bf4be337c32f",class:"preview-filters",showInWidget:!0,exportparts:G}),t("vviinn-extended-filters",{key:"c339aafc4ef7fcef7ddb2158e24d18dd56222519",class:"preview-extended-filters",mode:"preview",showHeader:!1,exportparts:J,showInWidget:!0}),t("vviinn-extended-filters-button",{key:"da463d602d31f31d40de42f73bf16b2e5f6deaec",class:"extended-filters-button",exportparts:"extended-filters-button",showInWidget:!0}))),this.isResultSlide()&&t("vviinn-results",{key:"fa9163168922068ba7443a97d7c866165f181ffb",token:w.token,locale:w.locale,pricePrefix:w.pricePrefix,"currency-sign":w.currencySign,apiPath:w.apiPath,campaignIdTextSearch:this.campaignIdTextSearch,campaignIdVisualSearch:this.campaignIdVisualSearch,uiSessionId:this.uiSessionId,widgetElementId:null!==(r=this.buttonElementId)&&void 0!==r?r:this.widgetElementId,showInWidget:!0,buttonElementId:this.buttonElementId,imageResolutionWidth:this.imageResolutionWidth,productDetailsNewTab:this.productDetailsNewTab,productDetailsRedirect:this.productDetailsRedirect,addToBasketShow:this.addToBasketShow,favoriteShow:this.favoriteShow,showAspectRatioError:this.showAspectRatioError,resetWidgetState:this.resetState,replaceSlotsContentInWidget:this.replaceSlotsContent.bind(this),replaceSlotsContentInButton:this.replaceSlotsContentInButton,textSearchQuery:this.textSearchQuery,addPriceContainer:this.addPriceContainer,oneClickDiscoveryMode:null!==(n=this.oneClickDiscoveryMode)&&void 0!==n?n:this.oneClickDiscoveryShow?"append-grid":void 0,oneClickDiscoveryCampaigns:this.oneClickDiscoveryCampaigns,parentSlots:[...this.parentSlots,...this.slots],scrollableModalBody:this.modalBody}))),t("vviinn-extended-filters",{key:"2ba7020d0459d5ba843f1b88c44649ef3379f1a3",class:"modal-extended-filters",mode:"modal",exportparts:J,showInWidget:!0})))}get el(){return r(this)}static get watchers(){return{active:["activeWatcher"],slidePosition:["slidePositionWatcher"]}}};Wt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(results-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{width:100%;padding:40px 62px;box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center}#start-page_block.error{align-content:center}#start-page_block vviinn-text-search{margin-top:var(--spacing-150)}.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;align-items:center;gap:var(--spacing-150)}.buttons-group{display:flex;flex-direction:column;gap:var(--spacing-150);margin-top:24px}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;font-family:var(--font-family, var(--font-family-base));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(--button-bg-color-primary));border-color:var(--color-primary, var(--button-bg-color-primary));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--button-bg-color-primary-hover));border-color:var(\n --color-primary-hover,\n var(--button-bg-color-primary-hover)\n )}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;font-family:var(--font-family, var(--font-family-base));grid-template-columns:max-content auto;grid-gap:8px}.action-button .hidden{display:none}.results-page{padding-top:64px;display:grid;grid-template-columns:336px auto;height:640px;box-sizing:border-box}.results-page>*{box-sizing:border-box}.source-wrapper{display:grid;position:relative;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;grid-template-rows:min-content 1fr;padding:0 12px 12px 24px;scrollbar-width:thin}.filters-wrapper{margin-top:12px;transform:translateX(-24px);min-width:calc(100% + 24px)}@supports (scrollbar-color: unset){.source-wrapper{scrollbar-color:transparent transparent}.source-wrapper:hover{scrollbar-color:initial}}vviinn-filters,vviinn-extended-filters.modal-extended-filters{display:none}vviinn-extended-filters.preview-extended-filters{display:block;width:100%}.extended-filters-button{display:none}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(--button-bg-color-primary));color:white}.results-page:not(.active){display:none}vviinn-preloader{--preloader-size:24px;display:flex}@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}.results-page vviinn-text-search{width:calc(100% - 48px);transform:translateX(24px)}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{height:auto;padding-top:0}.results-page>*{box-sizing:border-box;padding:12px 24px 24px}.source-wrapper{scrollbar-gutter:initial;grid-template-rows:min-content auto;width:100%;padding:0}.filters-wrapper{min-width:100%;min-height:40px;margin-top:24px;padding-left:24px}vviinn-filters{padding:0 24px}vviinn-filters,vviinn-extended-filters.modal-extended-filters{display:block;overflow:hidden}vviinn-extended-filters.preview-extended-filters{display:none}.extended-filters-button{display:block;position:absolute;right:24px;top:0}.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 20px}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";const Pt=class{constructor(t){i(this,t)}render(){return t(o,{key:"93280db42a576825c4419ea96d0ef67f0386c1db"},t("vviinn-error",{key:"2b98e1de8b734e63cb8aef3d9da463d061261846"},t(ct,{key:"3268cd96f4c6cc62d91125633a99b584dddf3dcd"}),t("h4",{key:"f97df68b5ba99742f10f2352b571a46b15a84537",slot:"title"},X.t("wrongFormatBlock.title")),t("span",{key:"06592aec59b5dfb1b58bb974cf2c020809bb91c4",slot:"text"},X.t("wrongFormatBlock.text")),t("button",{key:"fda7f9aa046b1e9aeee49a9cebc3972f0e39a845",slot:"action",onClick:this.handler},X.t("wrongFormatBlock.button"))))}};Pt.style=":host{width:100%}";export{ut as vviinn_camera,wt as vviinn_cropper,yt as vviinn_image_selector,kt as vviinn_overlayed_modal,Ct as vviinn_privacy_badge,jt as vviinn_results,St as vviinn_server_error,zt as vviinn_slide,It as vviinn_slider,Tt as vviinn_teaser,Wt as vviinn_vps_widget,Pt as vviinn_wrong_format}
|
|
10
|
+
*/const xt={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},wt=class{constructor(t){i(this,t),this.vviinnImageCrop=e(this,"vviinnImageCrop"),this.vviinnCropperLoadImage=e(this,"vviinnCropperLoadImage"),this.vviinnCropperCropEnd=e(this,"vviinnCropperCropEnd"),this.vviinnCropperAspectRatioError=e(this,"vviinnCropperAspectRatioError"),this.vviinnCropperResetState=e(this,"vviinnCropperResetState"),this.vviinnResetCropArea=e(this,"vviinnResetCropArea"),this.vviinnSelectedFiltersReset=e(this,"vviinnSelectedFiltersReset"),this.saveImageMode="once",this.width=288,this.showInWidget=!1,this.cropper=null,this.selectedDetectedObject=null,this.initPreloadedImage=()=>{var t;if(this.showInWidget){const[t,i]=l(this.state.image,288);this.width=t,this.height=i}if("never"===this.saveImageMode)return;this.state.image=null;const{imageSrc:i,detectedObjects:e}=L();if(!i)return;const o=document.createElement("img");o.src=i,this.state.image=o,0===(null===(t=this.state.detectedObjects)||void 0===t?void 0:t.length)&&(this.state.detectedObjects=e),"once"===this.saveImageMode&&F()},this.resetStateHandler=({detail:t})=>{var i,e;this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.selectedDetectedObject=null,null===(i=this.state.image)||void 0===i||i.setAttribute("src",""),this.state.detectedObjects=[],this.state.image=null,null===(e=this.cropper)||void 0===e||e.destroy(),F())},this.resetCropAreaHandler=({detail:t})=>{var i;this.skipStateChanges(t.isTriggeredByVpsWidget)||(null===(i=this.cropper)||void 0===i||i.reset(),this.state.searchArea=null,this.state.croppedImageUrl=null,this.selectedDetectedObject=null,this.vviinnImageCrop.emit({isTriggeredByVpsWidget:this.showInWidget}),p(this.storeName,null))},this.skipStateChanges=t=>this.showInWidget!==t,this.imageUploadFinishedHandler=({detail:t})=>{var i;this.skipStateChanges(t.isTriggeredByVpsWidget)||("never"===this.saveImageMode&&F(),this.cropper&&(null===(i=this.state.image)||void 0===i?void 0:i.src)&&this.cropper.replace(this.state.image.src))},this.loadImage=()=>{const t=this.el.shadowRoot.querySelector("img");if(this.state.image){let i={};this.cropper&&(i=this.cropper.getData(!0),this.cropper.destroy());const e=U(t),{width:o,height:r}=e;if(this.vviinnCropperLoadImage.emit({imageBounds:e}),this.state.imageBounds=e,o/r<.1||r/o<.1)return void this.vviinnCropperAspectRatioError.emit(!0);if(o<90||r<90)return;this.cropper=new mt(t,Object.assign(Object.assign({},xt),{cropstart:this.cropStart,cropend:this.cropEnd,ready:()=>this.cropper.reset(),data:i}))}},this.cropStart=()=>{this.startEndCropBoxData=this.getCropboxData()},this.cropEnd=()=>{const t=this.getCropboxData();((t,i,e=.5)=>{const{left:o,top:r,width:s,height:n}=t,{left:a,top:c,width:h,height:d}=i,l=Math.abs(o-a),p=Math.abs(r-c),f=Math.abs(s-h),u=Math.abs(n-d);return l<=e&&p<=e&&f<=e&&u<=e})(this.startEndCropBoxData,t)||(this.vviinnCropperCropEnd.emit(t),this.state.searchArea=t,this.selectedDetectedObject=null,this.vviinnImageCrop.emit({isTriggeredByVpsWidget:this.showInWidget}),p(this.storeName,null))},this.showPreloader=()=>this.state.loading&&"image"===this.state.searchType&&!this.showAspectRatioError}connectedCallback(){f(this);const{state:t,storeName:i}=u(this.showInWidget);this.state=t,this.storeName=i,this.initPreloadedImage(),document.addEventListener("vviinnImageUploadFinished",this.imageUploadFinishedHandler),document.addEventListener("vviinnCropperResetState",this.resetStateHandler),document.addEventListener("vviinnResetCropArea",this.resetCropAreaHandler)}disconnectedCallback(){var t,i;document.removeEventListener("vviinnImageUploadFinished",this.imageUploadFinishedHandler),document.removeEventListener("vviinnCropperResetState",this.resetStateHandler),document.removeEventListener("vviinnResetCropArea",this.resetCropAreaHandler),null===(i=null===(t=this.cropper)||void 0===t?void 0:t.destroy)||void 0===i||i.call(t),b.image=null}selectDetectedObject({detail:t}){this.selectedDetectedObject=t.detectedObject,this.state.searchArea=t.searchArea;const{top:i,left:e,width:o,height:r}=t.detectedObject;if(this.cropper){const{width:t,height:s}=this.cropper.getImageData();this.cropper.setCropBoxData((t=>{const{width:i,height:e,left:o,top:r}=t,s=82;let n={width:i,height:e,left:o,top:r};return i<s&&(n.width=s,n.left=o-(s-i)/2),e<s&&(n.height=s,n.top=r-(s-e)/2),n})({left:e*t,top:i*s,width:o*t,height:r*s})),this.vviinnImageCrop.emit({isTriggeredByVpsWidget:this.showInWidget})}p(this.storeName,null)}imageCropHandler({detail:t}){var i,e,o,r;this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.cropper&&(this.state.croppedImageUrl=null===(r=null===(e=(i=this.cropper).getCroppedCanvas)||void 0===e?void 0:(o=e.call(i)).toDataURL)||void 0===r?void 0:r.call(o)),this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget}))}getCropboxData(){const{left:t,top:i,width:e,height:o}=this.cropper.getCropBoxData();return{left:t,top:i,width:e,height:o}}render(){var i,e;return t(o,{key:"f1bae6a9564dad26b93047f5e700c1e317450fa2",class:{"show-in-widget":this.showInWidget,active:!!this.state.image}},t("div",{key:"0659c8029d8aa2201380815837bd3e6fb0d2b7bd",class:"container"},t("div",{key:"5a9f6e3f8aeb13ac5301dfbadff733099aaec475",class:"image-container",style:{width:`${this.width.toString()}px`,overflow:"hidden"}},t("img",{key:"d6480a6de6b161ec8c4bcdf3a54e83d87ae97b01",decoding:"async",width:this.width,height:this.height,src:null===(i=this.state.image)||void 0===i?void 0:i.src,draggable:!1,onLoad:this.loadImage}),null===(e=this.state.detectedObjects)||void 0===e?void 0:e.map((i=>t("vviinn-detected-object",{detectedObject:i,selectedDetectedObject:this.selectedDetectedObject,basicEventData:this.basicEventData,imageBounds:this.state.imageBounds,showInWidget:this.showInWidget})))),this.showPreloader()&&t("div",{key:"80a31f0c2a6291b63acd9fe7958f7dde2c776aed",class:"image-preloader"},t("vviinn-preloader",{key:"e7d207bde456762ec438c5659e2f6921809b9f50"}))))}get el(){return r(this)}};wt.style=":host {\n display: flex;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.32);\n}\n\n:host(.show-in-widget) {\n min-height: 160px;\n}\n\n:host(.bordered) {\n background-color: transparent;\n border: 1px solid #eaeaea;\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-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.image-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.image-container > img {\n display: block;\n max-width: 100%;\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 yt=class{constructor(t){i(this,t),this.vviinnImageUploadStarted=e(this,"vviinnImageUploadStarted"),this.vviinnNoResult=e(this,"vviinnNoResult"),this.vviinnImageUploadFinished=e(this,"vviinnImageUploadFinished"),this.loading=!1,this.accept="image"}async handleInputChange(t){this.vviinnImageUploadStarted.emit(Object.assign(Object.assign({},this.basicEventData),{isTriggeredByVpsWidget:"widget"===this.storeName}));const i=t.target,e=await c(this.storeName)(i.files[0]);a.pipe(e,v((({kind:t})=>{this.vviinnNoResult.emit(Object.assign(Object.assign({},this.basicEventData),{reason:t}))}),(t=>{var i;this.showInWidget||D(null===(i=this.state.image)||void 0===i?void 0:i.src,this.state.detectedObjects),this.vviinnImageUploadFinished.emit({searchId:t.requestId,isTriggeredByVpsWidget:"widget"===this.storeName})}))),i.value=null}startUploadWatcher(t){t&&(this.fileInput.click(),this.resetVpsButton())}render(){return t(o,{key:"9369294081d85cffa37b6586822f45f2472ef044",exportparts:"button"},this.loading?t("vviinn-preloader",null):t("label",{htmlFor:"fileInput",part:"button"},t("slot",{name:"upload-button-text"},"Upload image")),t("input",{key:"20179729997d6a942ae4774e8ba2a912ce327852",id:"fileInput",class:"visually-hidden",type:"file",accept:"image"===this.accept?"image/*":"application/octet-stream",onChange:t=>this.handleInputChange(t),ref:t=>this.fileInput=t}))}static get watchers(){return{startUpload:["startUploadWatcher"]}}};yt.style=".visually-hidden{clip:rect(0 0 0 0);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}";const kt=class{constructor(t){i(this,t),this.vviinnWidgetClose=e(this,"vviinnWidgetClose"),this.active=!1,this.hideBackButton=!1}render(){return t(o,{key:"2b7e0f3c9fcf718e4010488946f2363cc969a467",class:{active:this.active}},t("vviinn-overlay",{key:"592bf41755d0726ee154805a24f21e6a5b658bc9"},t("vviinn-modal",{key:"8cd3ee16c771a3226abc74b7acbb40c044787e49",resetState:this.resetState,active:this.active,buttonElementId:this.buttonElementId,hideBackButton:this.hideBackButton,widgetVersion:this.widgetVersion,isFirstScreen:this.isFirstScreen},t("slot",{key:"02746a6c4a244926920ecc32cebf9b256e5deeb8"},"CONTENT"))))}};kt.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;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 Ct=class{constructor(t){i(this,t)}componentWillLoad(){S(this,this.el)}render(){return t(o,{key:"b5975caf7d9a8a6df8cd6a477e8851c0e136e50a"},t("slot",{key:"7397a16b267f5601cce48d240f8cedefcb16295f",name:"vviinn-privacy-badge-text"},t("div",{key:"c35d8ee26f6c829aad1ed3cb5c3d35030f6fea8a",innerHTML:this.privacyBadgeText})))}get el(){return r(this)}};Ct.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{color:#525252;font-size:12px;font-family:var(--font-family, var(--font-family-base));line-height:16px;text-align:center;margin-top:24px}:host a{color:inherit;text-decoration:underline}:host(.invisible){color:transparent}@media (max-width: 768px){:host(.invisible){display:none}}";var Mt=function(t,i){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)i.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(e[o[r]]=t[o[r]])}return e};const jt=class{constructor(o){var r;i(this,o),this.vviinnProductLoad=e(this,"vviinnProductLoad"),this.vviinnProductView=e(this,"vviinnProductView"),this.vviinnProductClick=e(this,"vviinnProductClick"),this.vviinnResultLoad=e(this,"vviinnResultLoad"),this.vviinnResultView=e(this,"vviinnResultView"),this.vviinnTextSearchStarted=e(this,"vviinnTextSearchStarted"),this.vviinnFiltersChanged=e(this,"vviinnFiltersChanged"),this.vviinnCropperResetState=e(this,"vviinnCropperResetState"),this.globalSlotsChanged=e(this,"globalSlotsChanged"),this.vviinnSelectedFiltersReset=e(this,"vviinnSelectedFiltersReset"),this.campaignIdTextSearch="",this.campaignIdVisualSearch="",this.imageResolutionWidth=nt,this.productDetailsNewTab=!1,this.productDetailsRedirect=!0,this.addToBasketShow=!1,this.favoriteShow=!1,this.filterColumn="product_type",this.addPriceContainer=!1,this.oneClickDiscoveryCampaigns="",this.showInWidget=!1,this.parentSlots=[],this.useInnerState=!1,this.isTextSearch=!!(null===(r=this.textSearchQuery)||void 0===r?void 0:r.length),this.innerResults=[],this.passedSlotNames=[],this.slots=[],this.resizeObserver=new ResizeObserver((()=>{this.calculateColumns(),this.calculateCardHeight()})),this.setTextSearch=(t,i=!1)=>{this.showInWidget===!!i&&(this.isTextSearch=t)},this.initResultEvents=()=>{this.state.resultLoaded=!1,this.state.resultViewed=!1},this.updateCampaignIds=()=>{this.state.campaignIdTextSearch=this.campaignIdTextSearch,this.state.campaignIdVisualSearch=this.campaignIdVisualSearch},this.calculateColumns=()=>{var t;const i=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(".products");if(!i)return 0;const e=Array.from(i.querySelectorAll("vviinn-product-card"));if(0===e.length)return 0;const o=e[0].offsetTop,r=e.filter((t=>t.offsetTop===o)).length;this.el.style.setProperty(B,r.toString())},this.calculateCardHeight=()=>{const t=this.el.shadowRoot.querySelector("vviinn-product-card");if(t){const i=t.getBoundingClientRect().height;this.el.style.setProperty("--product-card-calculated-height",`${i}px`)}},this.isSlotPassedToComponent=t=>this.passedSlotNames.includes(t),this.renderProductCardSlots=()=>z.filter(this.isSlotPassedToComponent).map((i=>t("span",{slot:i},t("slot",{name:i})))),this.renderVprIconSlot=()=>this.isSlotPassedToComponent(I)?t("slot",{name:I}):null,this.resetDiscoveryAppendIndexes=()=>{this.oneClickDiscoveryAppendIndex=void 0,this.oneClickDiscoverySelectedIndex=void 0},this.skipStateChanges=t=>this.showInWidget!==t,this.textSearchStartedHandler=async({detail:t})=>{const{isTriggeredByVpsWidget:i}=t;if(this.skipStateChanges(i))return;this.innerTextSearchQuery=t.query,this.setTextSearch(!0,i);const e=this.getBasicEventData(),o=Mt(e,["campaignTypeId"]),r=W("TPS")(Object.assign({action:"search",session_id:this.uiSessionId},o));g(r),this.getTextSearchResults()},this.filtersChangedHandler=async({detail:t})=>{const{filters:i,isTriggeredByVpsWidget:e}=t;this.skipStateChanges(e)||(this.filterColumn&&this.filterValue?this.getResultsByCategory(i):(this.state.requestFilters=i,this.isTextSearch?this.getTextSearchResults(this.state.textSearchId):p(this.storeName,this.searchId)))},this.filterTriggeredHandler=({detail:t})=>{if(this.skipStateChanges(t.isTriggeredByVpsWidget))return;const{action:i,kind:e,customTrigger:o,isTriggeredByVpsWidget:r}=t,s=this.getBasicEventData(o),n=Mt(s,["campaignTypeId"]);if("select"!==i&&"deselect"!==i&&"reset"!==i||this.initResultEvents(),"TPS"===o)return void this.setTextSearch(!0,r);const a=Object.assign({session_id:this.uiSessionId,typ:"filter_event",action:i,kind:e},n),c=P(this.isTextSearch?"TPS":"VPS")(a);g(c)},this.imageUploadStartedHandler=({detail:t})=>{this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget}),this.setTextSearch(!1,t.isTriggeredByVpsWidget),m(this.storeName,"appStateOnly"),this.updateCampaignIds())},this.imageCropHandler=({detail:t})=>{this.skipStateChanges(t.isTriggeredByVpsWidget)||(this.isTextSearch&&this.setTextSearch(!1,t.isTriggeredByVpsWidget),this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget}),this.state.requestFilters=[])},this.oneClickDiscoveryClosedHandler=({detail:t})=>{this.skipStateChanges(t.isTriggeredByVpsWidget)||this.resetDiscoveryAppendIndexes()},this.productCardEventDataToEventBody=t=>{const{productRank:i,productId:e}=t,o=Mt(t,["productRank","productId","campaignTypeId","clickEvent"]);return Object.assign({session_id:this.uiSessionId,rank:i,product:e},o)},this.getBasicEventData=t=>{const i=this.isTextSearch||"TPS"===t?"TPS":"VPS";return Object.assign({campaignTypeId:i,campaignTypeName:Y[i],widgetVersion:$,widget:i},x("widgetId",this.widgetElementId))}}getResults(){var t;return null!==(t=this.useInnerState?this.innerResults:this.state.results)&&void 0!==t?t:[]}replaceSlotsContent(){this.globalSlotsChanged.emit({slots:this.slots,element:this.el})}async componentWillLoad(){S(this,this.el),this.slots=ot(this.el),this.passedSlotNames=rt([...this.parentSlots,...this.slots]),this.showInWidget||await X.init({lng:w.locale,fallbackLng:"en",resources:Z})}componentDidRender(){this.replaceSlotsContentInButton?this.replaceSlotsContentInButton(this.el):this.showInWidget?this.replaceSlotsContentInWidget(this.el):this.replaceSlotsContent()}componentDidLoad(){this.resizeObserver.observe(this.el),this.calculateColumns(),this.calculateCardHeight()}async getTextSearchResults(t){if(this.innerTextSearchQuery)return this.setTextSearch(!0),(null==t?void 0:t.length)||(m(this.storeName,"appStateOnly"),this.updateCampaignIds(),this.vviinnCropperResetState.emit({isTriggeredByVpsWidget:this.showInWidget}),this.vviinnSelectedFiltersReset.emit({isTriggeredByVpsWidget:this.showInWidget})),a.pipe(await y(this.storeName,this.innerTextSearchQuery,t,this.resultsCount),k((()=>null)))}async getResultsByCategory(t){this.filterColumn&&this.filterValue&&!this.showInWidget&&a.pipe(await C(this.filterColumn,this.filterValue,this.resultsCount,t,this.useInnerState),k((()=>null)),(t=>{this.useInnerState&&(this.innerResults=t.data.products)}))}connectedCallback(){f(this);const{state:t,storeName:i,onChange:e}=u(this.showInWidget);this.state=t,this.storeName=i,this.disposeStoreListener=e("loading",(t=>{t&&this.resetDiscoveryAppendIndexes()})),this.el.id&&(this.widgetElementId=this.el.id),this.uiSessionId||(this.uiSessionId=R()),document.addEventListener("vviinnImageUploadStarted",this.imageUploadStartedHandler),document.addEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.addEventListener("vviinnFiltersChanged",this.filtersChangedHandler),document.addEventListener("vviinnFilterTriggered",this.filterTriggeredHandler),document.addEventListener("vviinnImageCrop",this.imageCropHandler),document.addEventListener("vviinnOneClickDiscoveryClosed",this.oneClickDiscoveryClosedHandler),this.searchId&&p(this.storeName,this.searchId),this.getResultsByCategory(),this.innerTextSearchQuery=this.textSearchQuery,!this.showInWidget&&this.getTextSearchResults()}disconnectedCallback(){var t;m(this.storeName,"all"),document.removeEventListener("vviinnImageUploadStarted",this.imageUploadStartedHandler),document.removeEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.removeEventListener("vviinnFiltersChanged",this.filtersChangedHandler),document.removeEventListener("vviinnFilterTriggered",this.filterTriggeredHandler),document.removeEventListener("vviinnImageCrop",this.imageCropHandler),document.removeEventListener("vviinnOneClickDiscoveryClosed",this.oneClickDiscoveryClosedHandler),null===(t=this.disposeStoreListener)||void 0===t||t.call(this),this.resizeObserver.disconnect()}watchTextSearchQuery(t){this.showInWidget||(this.innerTextSearchQuery=t,this.getTextSearchResults())}watchSearchId(t){this.showInWidget||t&&p(this.storeName,t)}trackProductLoad({detail:t}){const i=this.getProductTrackEvent(t,"load");g(i)}trackProductView({detail:t}){this.state.resultViewed||(this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"),this.state.resultViewed=!0);const i=this.getProductTrackEvent(t,"view");g(i)}async trackProductClick({detail:t}){const{productId:i,clickEvent:e}=t,o=this.getProductTrackEvent(t,"click"),r=this.findProductById(i);r&&r.deeplink&&await g(o).finally((()=>{this.handleOpenLink(r.deeplink,e)}))}async trackAuxClick({detail:t}){const{productId:i}=t,e=this.getProductTrackEvent(t,"click"),o=this.findProductById(i);o&&o.deeplink&&await g(e)}trackAddToBasket({detail:t}){delete t.discount;const i=this.productCardEventDataToEventBody(t),e=E(this.isTextSearch?"TPS":"VPS")(i);g(e)}trackAddToFavorite({detail:t}){const i=this.productCardEventDataToEventBody(t),e=V(this.isTextSearch?"TPS":"VPS")(i);g(e)}trackResultEvent(t){const i=this.getBasicEventData(),{campaignTypeId:e}=i,o=Mt(i,["campaignTypeId"]);let r=N(t,e)(Object.assign({session_id:this.uiSessionId},o));g(r)}findProductById(t){return this.getResults().find((i=>i.productId===t))}handleOpenLink(t,i){if(this.productDetailsRedirect)if(this.productDetailsNewTab||i.ctrlKey||i.metaKey){let i=window.open();i?i.location.href=t:window.location.href=t}else window.location.href=t}getProductTrackEvent(t,i){if(!w.trackingEnabled)return null;const e=this.productCardEventDataToEventBody(t);return _(i,"VCS"===t.campaignTypeId?"VPC":t.campaignTypeId)(e)}renderResults(){var i;const e=this.getBasicEventData();this.state.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.state.resultLoaded=!0);const o=null===(i=this.oneClickDiscoveryMode)||void 0===i?void 0:i.startsWith("append"),r=t=>{if(!o)return;const i=window.getComputedStyle(this.el.shadowRoot.getElementById("vviinn-results-products")).getPropertyValue("grid-template-columns").replace(" 0px","").split(" ").length;this.oneClickDiscoveryAppendIndex=t+(i-(t%i+1)),this.oneClickDiscoverySelectedIndex=t,requestAnimationFrame((()=>{const t=this.el.shadowRoot.getElementById("one-click-discovery-append"),i=window.matchMedia("(max-width: 768px)").matches;(this.showInWidget?i?this.scrollableModalBody:this.el:window).scrollTo({top:t.offsetTop,behavior:"smooth"})}))};return this.getResults().map(((i,s)=>{var n,a;return t("vviinn-product-card",{pricePrefix:w.pricePrefix,currency:w.currencySign,locale:w.locale,key:i.productId,index:s,productTitle:i.title,productId:i.productId,productType:i.productType,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,basePrice:null===(n=i.basePrice)||void 0===n?void 0:n.actual,baseSalePrice:null===(a=i.basePrice)||void 0===a?void 0:a.sale,responsive:!0,imageWidth:this.imageResolutionWidth,imageResolutionWidth:this.imageResolutionWidth,image:i.image.thumbnail||i.image.original,energyCertifications:i.energyCertifications,part:"product-card",campaignTypeId:e.campaignTypeId,widgetElementId:this.widgetElementId,buttonElementId:this.buttonElementId,widgetVersion:$,customLabels:A(i),addToBasketShow:this.addToBasketShow,favoriteShow:this.favoriteShow,addPriceContainer:this.addPriceContainer,isResultsWidget:!0,style:{order:s.toString()},showFooterArrow:this.oneClickDiscoverySelectedIndex===s},!!this.oneClickDiscoveryMode&&t("div",{slot:"vviinn-product-card-actions",class:"vviinn-results-product-card-actions"},t("vviinn-vpr-button",{onClick:()=>r(s),productId:i.productId,addStyle:!1,sidebarTitle:"",appendSidebarToId:o?"one-click-discovery-append":void 0,appendSidebarToElement:o?this.el.shadowRoot.getElementById("one-click-discovery-append"):void 0,oneClickDiscoveryMode:this.oneClickDiscoveryMode,addToBasketShow:this.addToBasketShow,favoriteShow:this.favoriteShow,campaigns:this.oneClickDiscoveryCampaigns,showInWidget:this.showInWidget},this.renderProductCardSlots(),this.renderVprIconSlot())))}))}render(){var i;const e=this.getResults().length;return t(o,{key:"01c3147ae6603cf1c353afb3d234c7b4952d3a8d",id:"results-block",class:{"show-in-widget":this.showInWidget,"matching-discovery":"append-slider"===this.oneClickDiscoveryMode},exportparts:`${q}, ${Q}`},t("div",{key:"f11e370143ecee3aa4c433ca5cb9c44544705e8a",class:"nothing-found"},0===e&&this.showInWidget&&t("vviinn-empty-results",{key:"8e0c25a09e22f03ff2ccd9b08448579095b3f734",handler:()=>null==this?void 0:this.resetWidgetState()}),this.showAspectRatioError&&this.showInWidget&&t("vviinn-wrong-aspect-ratio",{key:"97fc821f704b24da0e5dc23a27c6748f192c9e25",handler:()=>null==this?void 0:this.resetWidgetState()})),t("div",{key:"bac7a906840e576e84961c5fbcff0ffebe2c677c",class:{hidden:this.showAspectRatioError||0===e,products:!0},part:Q,id:"vviinn-results-products"},e>0&&this.renderResults(),t("div",{key:"e9d7f969ab5a725e7798787405d211e700c74888",id:"one-click-discovery-append",style:{order:(null!==(i=this.oneClickDiscoveryAppendIndex)&&void 0!==i?i:e).toString()}})))}get el(){return r(this)}static get watchers(){return{textSearchQuery:["watchTextSearchQuery"],searchId:["watchSearchId"]}}};jt.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block}:host(.show-in-widget){display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}:host::part(product-card){width:100%;height:100%}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(\n auto-fill,\n minmax(\n var(--product-card-width, var(--product-card-results-min-width)),\n 1fr\n )\n );justify-items:center;padding:0 24px 24px 12px;position:absolute}:host(.show-in-widget) .products{grid-template-columns:repeat(\n auto-fill,\n minmax(var(--product-card-width, var(--product-card-widget-min-width)), 1fr)\n )}:host(:not(.show-in-widget)) .products{position:static;padding:0}.hidden{visibility:hidden;height:1px}products.hidden{display:none}.vviinn-results-product-card-actions vviinn-vpr-button::part(button){position:relative;display:flex;justify-content:center;align-items:center;color:var(--color-icon-inverse);padding:var(--spacing-50);gap:var(--spacing-50);border-radius:var(--border-radius-100);background:var(--button-bg-color-frosted);-webkit-backdrop-filter:blur(calc(var(--filter-blur-150, 12px) / 2));backdrop-filter:blur(calc(var(--filter-blur-150, 12px) / 2))}.vviinn-results-product-card-actions vviinn-vpr-button::part(button)::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(1.55)}.vviinn-results-product-card-actions vviinn-vpr-button::part(button):hover{background:var(--button-bg-color-frosted-hover)}#one-click-discovery-append{width:100%;grid-column:1 / -1}vviinn-recommendations-sidebar::part(body){border:1px solid var(--color-border-02);border-left:none;border-right:none;margin-top:-9px;max-height:unset}@media screen and (max-width: 768px){vviinn-recommendations-sidebar::part(body){margin-top:-1px}}vviinn-recommendations-sidebar::part(source-image){display:none}vviinn-recommendations-sidebar::part(sidebar-header){padding:0;min-height:40px;margin-bottom:24px;align-items:center;justify-items:left;text-align:left}vviinn-recommendations-sidebar::part(sidebar-content){padding:0}:host(.matching-discovery) vviinn-recommendations-sidebar::part(items-group){grid-template-columns:repeat(\n auto-fill,\n minmax(\n var(--product-card-width, var(--product-card-results-min-width)),\n 1fr\n )\n )}:host(.show-in-widget) vviinn-recommendations-sidebar::part(recommendations-results),:host(.show-in-widget) vviinn-recommendations-sidebar::part(items-group){grid-template-columns:repeat(\n auto-fill,\n minmax(var(--product-card-widget-min-width), 1fr)\n )}@media (max-width: 768px){:host(.show-in-widget){align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0;margin-top:24px}.products{position:static;padding:0;width:unset;row-gap:24px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 380px){.products{-moz-column-gap:10px;column-gap:10px}}';const St=class{constructor(t){i(this,t)}render(){return t(o,{key:"0bdd6f539c2cfcf0b6c61a64e28ef3dad3864d02"},t("vviinn-error",{key:"e647f3fc6c4e80fdeea523beb103ad7fc084cea9"},t(ct,{key:"507831f7678b3f01548f7f94fee1d6253ac01fa1"}),t("h4",{key:"e7259f3536acc660e3e3d19fa5743595f4db3680",slot:"title"},X.t("serverErrorBlock.title")),t("button",{key:"44ef0d0a3cf3d5079eb7a9108b46852ad55c01f4",slot:"action",onClick:this.handler},X.t("serverErrorBlock.button"))))}};St.style=":host{width:100%}";const zt=class{constructor(t){i(this,t)}render(){return t(o,{key:"69b59fca979bed410d652d3ca274d9d849efb1f0"},t("slot",{key:"7245c2d5fa77cb57782df8374e7db75ccd582b7f"}))}};zt.style=":host{display:grid;justify-items:center}";const It=class{constructor(t){i(this,t),this.elementsCount=0,this.internalPosition=0,this.swipeStartPosition=M.none,this.isRTL=!1,this.position=0}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")}calculatePosition(t){return this.isRTL?-1*t:t}render(){return t(o,{key:"31c25161ac3d7fd4c27d5da03b6c47915730b694"},t("div",{key:"4ea924a8a0a4e07d610afc1c9fc0d0d700980a9a",class:"items-wrapper"},t("div",{key:"bcd910407682b4e24db6cde666d5167afdf32029",class:"items"},t("slot",{key:"f46d287050238e137ababadae8b8eb1ffdb96c7b"}))))}get el(){return r(this)}static get watchers(){return{position:["positionWatchHandler"]}}};It.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}: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(--button-bg-color-primary))}.bullet:active{background:transparent;border:2px solid var(--color-primary, var(--button-bg-color-primary))}.arrow-wrapper{align-items:center;cursor:pointer;background:white;border:2px solid white;bottom:0;box-sizing:border-box;display:grid;height:calc(var(--spacing-100) * 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(--spacing-100) * 4)}.arrow-wrapper:active{border-color:var(--color-primary, var(--button-bg-color-primary));opacity:0.75}.arrow-wrapper:focus{border-color:var(--color-primary, var(--button-bg-color-primary));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 Tt=class{constructor(t){i(this,t)}componentWillLoad(){S(this,this.el)}render(){return t(o,{key:"4a9e002e10f369d67efc1fa03eb95a13143c9da6"},t("slot",{key:"5348b9579f736a40dd32ff9256b8d52091d487d4"},t("span",{key:"3be6496874a9b9d5205a8171f28aad1e40b94390",class:"vviinn-teaser-text"},t("slot",{key:"b8dbcc7c8f0262807487042cd20b32efc4541c77",name:"vviinn-teaser-text"},X.t("teaserText")))))}get el(){return r(this)}};Tt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{align-items:center;display:grid;justify-items:center;grid-gap:16px}.vviinn-teaser-text{font-family:var(--font-family, var(--font-family-base));font-size:22px;font-weight:600;line-height:28px;text-align:center;white-space:pre-line}";const Ot={facingMode:"environment",width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}};var Bt=function(t,i){var e={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0&&(e[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)i.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(e[o[r]]=t[o[r]])}return e};const Wt=class{constructor(t){i(this,t),this.globalSlotsChanged=e(this,"globalSlotsChanged"),this.vviinnWidgetLoad=e(this,"vviinnWidgetLoad"),this.vviinnWidgetOpen=e(this,"vviinnWidgetOpen"),this.vviinnWidgetClose=e(this,"vviinnWidgetClose"),this.vviinnImageCrop=e(this,"vviinnImageCrop"),this.vviinnSelectObject=e(this,"vviinnSelectObject"),this.vviinnSelectFilter=e(this,"vviinnSelectFilter"),this.vviinnImageUploadStarted=e(this,"vviinnImageUploadStarted"),this.vviinnNoResult=e(this,"vviinnNoResult"),this.active=!0,this.campaignId="",this.campaignIdTextSearch="",this.campaignIdVisualSearch="",this.excluded="",this.productDetailsNewTab=!0,this.productDetailsRedirect=!0,this.imageResolutionWidth=at,this.exampleImageSource=st,this.textSearchShow=!1,this.addToBasketShow=!1,this.favoriteShow=!1,this.oneClickDiscoveryShow=!1,this.oneClickDiscoveryCampaigns="",this.addPriceContainer=!1,this.showingInButton=!1,this.mode="modal",this.parentSlots=[],this.showInWidget=!0,this.slidePosition=0,this.stream=null,this.products=[],this.textSearchQuery="",this.isCameraInitializing=!1,this.isCameraEnabled=!1,this.isCameraButtonClicked=!1,this.showAspectRatioError=!1,this.wrongImageFormat=!1,this.imageSource="upload",this.cameraAvailable=!1,this.isDesktop=!1,this.videoTrack=null,this.isTextSearch=!1,this.slots=[],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()=>{var t;if(!this.videoTrack)return;const i=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};if("focusMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{focusMode:"continuous"}]})}catch(t){console.error("Failed to apply focus mode constraints",t)}if("exposureMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{exposureMode:"continuous"}]})}catch(t){console.error("Failed to apply exposure mode constraints",t)}if("whiteBalanceMode"in i)try{await this.videoTrack.applyConstraints({advanced:[{whiteBalanceMode:"continuous"}]})}catch(t){console.error("Failed to apply white balance mode constraints",t)}},this.handleStartCameraClick=async()=>{this.stream?this.resetState():(this.isCameraInitializing=!0,setTimeout((async()=>{this.isCameraButtonClicked=!0;try{const t=await navigator.mediaDevices.getUserMedia({video:Ot});this.videoTrack=t.getVideoTracks()[0],this.adjustCameraSettings(),this.stream=t,this.uploadSource="startCamera"}catch(t){console.error("Error accessing camera: ",t.message),this.resetState(),this.isCameraInitializing=!1}}),500))},this.setShowAspectRatioError=t=>{this.showAspectRatioError=t},this.getBasicEventData=t=>{var i;const e=this.isTextSearch||t?"TPS":"VPS";return Object.assign({campaignTypeId:e,campaignTypeName:Y[e],widgetVersion:$},x("widgetId",null!==(i=this.buttonElementId)&&void 0!==i?i:this.widgetElementId))},this.handleAspectRatioError=({detail:t})=>{this.setShowAspectRatioError(t),this.el.classList.add("bordered")},this.resetInnerState=()=>{this.textSearchQuery="",this.wrongImageFormat=!1,this.resetScroll("results-block"),this.stopStreamTracks(),this.initResultEvents(),this.stream=null,this.isCameraEnabled=!1,this.isCameraButtonClicked=!1,this.isCameraInitializing=!1,this.setShowAspectRatioError(!1),this.isTextSearch=!1,this.slidePosition=0,this.resetScroll("start-page_block")},this.resetState=()=>{this.resetInnerState(),this.state.loading=!1,this.state.serverError=!1,this.showInWidget&&(this.state.image=null,this.state.results=[],this.state.dynamicFilters=[],this.state.requestFilters=[],this.state.detectedObjects=[],this.state.searchType=void 0)}}initResultEvents(){this.state.resultLoaded=!1,this.state.resultViewed=!1}replaceSlotsContent(t){this.globalSlotsChanged.emit({slots:this.slots,element:this.el}),t&&this.globalSlotsChanged.emit({slots:this.slots,element:t})}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}async componentWillLoad(){await X.init({lng:w.locale,fallbackLng:"en",resources:Z}),this.slots=ot(this.el),S(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load")}componentDidLoad(){this.replaceSlotsContent()}activeWatcher(t){t?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.vviinnWidgetOpen.emit(this.getBasicEventData()),"camera"===this.mode&&this.handleStartCameraClick(),this.trackWidgetEvent("open")):(document.body.style.overflow=this.overflow,this.initResultEvents())}slidePositionWatcher(){if(1===this.slidePosition){const t=this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal");this.modalBody=t.shadowRoot.querySelector(".body"),this.modalBody.scrollTop=0,this.stopStreamTracks()}}textSearchFinishedHandler({detail:t}){this.isTextSearch=!0,this.textSearchQuery=t.query,this.slidePosition=1}resultLoadHandler(){this.state.resultLoaded=!0}resultViewHandler(){this.state.resultViewed=!0}trackCameraEnabled({detail:t}){this.isCameraEnabled=t,this.isCameraInitializing=!1}cropAreaChanges(){this.initResultEvents();const t=this.getBasicEventData(),i=Bt(t,["campaignTypeId"]),e=H(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"},i));g(e)}trackDetectedObject(){this.initResultEvents();const t=this.getBasicEventData(),i=Bt(t,["campaignTypeId"]),e=H(Object.assign({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"},i));g(e)}trackImageSearchFilterSelected({detail:t}){this.initResultEvents();const i=this.getBasicEventData(),e=Bt(i,["campaignTypeId"]),o=P("VPS")(Object.assign({session_id:this.uiSessionId,source:this.imageSource,kind:t.kind,action:t.action},e));g(o)}connectedCallback(){f(this),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"})();const{state:t,storeName:i}=u(this.showInWidget);this.storeName=i,this.state=t,this.cameraAvailable=!!navigator.mediaDevices&&!!navigator.mediaDevices.getUserMedia,this.state.campaignId=this.campaignId,this.state.campaignIdTextSearch=this.campaignIdTextSearch,this.state.campaignIdVisualSearch=this.campaignIdVisualSearch,this.state.excluded=j(this.excluded),this.uiSessionId=R(),this.widgetElementId=this.el.id,document.addEventListener("vviinnCropperAspectRatioError",this.handleAspectRatioError)}disconnectedCallback(){document.removeEventListener("vviinnCropperAspectRatioError",this.handleAspectRatioError)}trackWidgetEvent(t){const i=this.getBasicEventData(),e=Bt(i,["campaignTypeId"]),o=Object.assign({action:t,session_id:this.uiSessionId},e),r=W("VPS")(o);g(r)}trackInitialSearch(){const t=this.getBasicEventData(),i=Bt(t,["campaignTypeId"]),e=H(Object.assign({session_id:this.uiSessionId,search_area:"full",source:"upload"},i));g(e)}handleImageSelection(){this.showInWidget?this.slidePosition=1:(this.resetVpsButton&&this.resetVpsButton(),this.resetState())}renderButtons(){const i=this.state.loading&&"image"===this.state.searchType&&"startCamera"===this.uploadSource||this.isCameraInitializing,e=[this.cameraAvailable&&t("button",{class:"action-button",part:"start-camera_button",onClick:()=>{this.handleStartCameraClick()}},i&&t("vviinn-preloader",null),t("span",{class:{"action-button-content":!0,hidden:i}},t("slot",{name:"vviinn-camera-icon"},t(ht,null)),t("span",{class:{hidden:!this.isCameraEnabled}},t("slot",{name:"vviinn-camera-button-text-stop"},X.t("cameraButtonTextStop"))),t("span",{class:{hidden:this.isCameraEnabled}},t("slot",{name:"vviinn-camera-button-text-start"},X.t("cameraButtonTextStart"))))),t("vviinn-image-selector",{class:"action-button",onClick:()=>this.uploadSource="uploadPhoto",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUploadStarted:()=>{this.handleVviinnImageUpload("uploadPhoto")},storeName:this.storeName,state:this.state,onVviinnNoResult:({detail:t})=>this.handleVviinnNoResult(t),resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"upload-photo_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode,showInWidget:this.showInWidget,loading:this.state.loading&&"image"===this.state.searchType&&"uploadPhoto"===this.uploadSource},t("span",{slot:"upload-button-text",class:"action-button-content"},t("slot",{name:"vviinn-image-upload-icon"},t(pt,null)),t("slot",{name:"vviinn-image-upload-button-text"},t("span",null,X.t("imageUploadButtonText")))))];return this.isDesktop?e.reverse():e}haveErrors(){return this.wrongImageFormat||this.state.serverError}resetScroll(t,i="auto"){const e=this.el.shadowRoot.getElementById(t);null==e||e.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 i,e,r,n;return t(o,{key:"d4f54ba50a239b393e6e0d101f3c2c146f768f71",exportparts:`${K}, ${q}, ${tt}, ${it}, ${et}, ${Q}`},!this.showingInButton&&T("search"),t("vviinn-overlayed-modal",{key:"2c914b9aab31aaf076b0a92fdb2600de09a37b1f",class:{"first-screen":this.isOnboardingSlide()},isFirstScreen:this.isOnboardingSlide(),active:this.active,resetState:this.resetState,onVviinnWidgetClose:({detail:t})=>{"VPR"!==t.campaignTypeId&&this.handleModalClose()},buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.widgetElementId,widgetVersion:$,hideBackButton:"upload"===this.mode&&this.showingInButton||!this.isCameraEnabled&&this.isOnboardingSlide(),exportparts:K},t("vviinn-slider",{key:"e66cc061bb5d939bfa3774a4bb4c7b46fbdb7252",position:this.slidePosition},t("vviinn-slide",{key:"32cdf59d1bd01154012d7daf564139ac677e5ea4",class:{"start-page":!0,"camera-enabled":this.isCameraEnabled}},t("vviinn-camera",{key:"418143acc4fddea1288718d9f839d4a337506045",onVviinnImageUploadFinished:this.handleVviinnImageUploadFinished,onVviinnImageUploadStarted:()=>{this.handleVviinnImageUpload("startCamera")},basicEventData:this.getBasicEventData(),srcObject:this.stream,cameraButtonClicked:this.isCameraButtonClicked,exampleImageSource:this.exampleImageSource,showInWidget:this.showInWidget,storeName:this.storeName,state:this.state}),t("div",{key:"b0b15d1347137b169bdb0acda55e5da8fbea1a0b",class:{error:this.haveErrors()},id:"start-page_block"},t("div",{key:"3ea6ce99ca5c974544f47818ef24c5820f201515",class:"start-page_main-content"},(this.wrongImageFormat||this.state.serverError)&&t("div",{key:"4153c474b0bebb57d16f844881e509b1e12da553",class:"start-page_errors-block"},t("vviinn-wrong-format",{key:"eb3a12ccfe34b2c8355e0222be1207aa22ea9ac0",class:{hidden:!this.wrongImageFormat},handler:()=>this.resetState()}),t("vviinn-server-error",{key:"f14931c8e1d0b3808994cdc94e5b41bcd0f12896",class:{hidden:!this.state.serverError},handler:()=>this.resetState()})),!this.haveErrors()&&t(s,{key:"b57de4bb5c9cfd2425dec113584c9b9ed26bb5ac"},t("vviinn-teaser",{key:"25b5f5e51532f28901acdfae7e3b3b498e8f71e5"}),t("div",{key:"5635e68c3a6da9a234cdfd0cb89d302ccbc9ed3a",class:"buttons-group"},this.renderButtons()),this.textSearchShow&&t("vviinn-text-search",{key:"e1653def9f6829084e4671f56cac4c947f523548",token:w.token,apiPath:w.apiPath,locale:w.locale,showInWidget:!0,showOnFirstScreen:!0,searchQuery:this.textSearchQuery,uiSessionId:this.uiSessionId,basicEventData:this.getBasicEventData(!0),"save-image-mode":"never"}))),t("vviinn-privacy-badge",{key:"fef4ac05c2122274e1b9d8403c2cd4152301db4a",privacyBadgeText:X.t("privacyBadgeText",{interpolation:{escapeValue:!1}}),class:{invisible:this.haveErrors()}}))),t("vviinn-slide",{key:"fd15ce24bee0b78886145c3e3d9f4ad29d14b852",class:{"results-page":!0,active:this.isResultSlide()}},this.isResultSlide()&&t("div",{key:"6d8994850e600ef04072aec3dc88fe94fc94e194",class:"source-wrapper"},"text"===this.state.searchType?t("vviinn-text-search",{token:this.token,showInWidget:!0,searchQuery:this.textSearchQuery,apiPath:this.apiPath,locale:this.locale,uiSessionId:this.uiSessionId,basicEventData:this.getBasicEventData(!0),"save-image-mode":"never"}):t("vviinn-cropper",{basicEventData:this.getBasicEventData(),showAspectRatioError:this.showAspectRatioError,apiPath:this.apiPath,showInWidget:!0,"save-image-mode":"never"}),(null===(e=this.state.dynamicFilters)||void 0===e?void 0:e.length)>0&&t("div",{key:"465f732964bf517d95f86de3a180f057df8fbf22",class:{"filters-wrapper":!0,hidden:this.showAspectRatioError}},t("vviinn-filters",{key:"3c28d99c105d858503646b4266d1bcc1d7ae4473",class:"preview-filters",showInWidget:!0,exportparts:J}),t("vviinn-extended-filters",{key:"2df9ec5937f09f792b2323e84ffebba2fe9a04f7",class:"preview-extended-filters",mode:"preview",showHeader:!1,exportparts:G,showInWidget:!0}),t("vviinn-extended-filters-button",{key:"6c4d1308abd13e73a730488d2ef100ef5d04fe9b",class:"extended-filters-button",exportparts:"extended-filters-button",showInWidget:!0}))),this.isResultSlide()&&t("vviinn-results",{key:"024d97470e701ddc323f03d8c3d2c1c0a44626d8",token:w.token,locale:w.locale,pricePrefix:w.pricePrefix,"currency-sign":w.currencySign,apiPath:w.apiPath,campaignIdTextSearch:this.campaignIdTextSearch,campaignIdVisualSearch:this.campaignIdVisualSearch,uiSessionId:this.uiSessionId,widgetElementId:null!==(r=this.buttonElementId)&&void 0!==r?r:this.widgetElementId,showInWidget:!0,buttonElementId:this.buttonElementId,imageResolutionWidth:this.imageResolutionWidth,productDetailsNewTab:this.productDetailsNewTab,productDetailsRedirect:this.productDetailsRedirect,addToBasketShow:this.addToBasketShow,favoriteShow:this.favoriteShow,showAspectRatioError:this.showAspectRatioError,resetWidgetState:this.resetState,replaceSlotsContentInWidget:this.replaceSlotsContent.bind(this),replaceSlotsContentInButton:this.replaceSlotsContentInButton,textSearchQuery:this.textSearchQuery,addPriceContainer:this.addPriceContainer,oneClickDiscoveryMode:null!==(n=this.oneClickDiscoveryMode)&&void 0!==n?n:this.oneClickDiscoveryShow?"append-grid":void 0,oneClickDiscoveryCampaigns:this.oneClickDiscoveryCampaigns,parentSlots:[...this.parentSlots,...this.slots],scrollableModalBody:this.modalBody}))),t("vviinn-extended-filters",{key:"c927dfdeda2a4bdba3f6f5fb04d17db6f16e3019",class:"modal-extended-filters",mode:"modal",exportparts:G,showInWidget:!0})))}get el(){return r(this)}static get watchers(){return{active:["activeWatcher"],slidePosition:["slidePositionWatcher"]}}};Wt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(results-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{width:100%;padding:40px 62px;box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center}#start-page_block.error{align-content:center}#start-page_block vviinn-text-search{margin-top:var(--spacing-150)}.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;align-items:center;gap:var(--spacing-150)}.buttons-group{display:flex;flex-direction:column;gap:var(--spacing-150);margin-top:24px}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;font-family:var(--font-family, var(--font-family-base));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(--button-bg-color-primary));border-color:var(--color-primary, var(--button-bg-color-primary));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--button-bg-color-primary-hover));border-color:var(\n --color-primary-hover,\n var(--button-bg-color-primary-hover)\n )}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;font-family:var(--font-family, var(--font-family-base));grid-template-columns:max-content auto;grid-gap:8px}.action-button .hidden{display:none}.results-page{padding-top:64px;display:grid;grid-template-columns:336px auto;height:640px;box-sizing:border-box}.results-page>*{box-sizing:border-box}.source-wrapper{display:grid;position:relative;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;grid-template-rows:min-content 1fr;padding:0 12px 12px 24px;scrollbar-width:thin}.filters-wrapper{margin-top:12px;transform:translateX(-24px);min-width:calc(100% + 24px)}@supports (scrollbar-color: unset){.source-wrapper{scrollbar-color:transparent transparent}.source-wrapper:hover{scrollbar-color:initial}}vviinn-filters,vviinn-extended-filters.modal-extended-filters{display:none}vviinn-extended-filters.preview-extended-filters{display:block;width:100%}.extended-filters-button{display:none}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(--button-bg-color-primary));color:white}.results-page:not(.active){display:none}vviinn-preloader{--preloader-size:24px;display:flex}@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}.results-page vviinn-text-search{width:calc(100% - 48px);transform:translateX(24px)}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{height:auto;padding-top:0}.results-page>*{box-sizing:border-box;padding:12px 24px 24px}.source-wrapper{scrollbar-gutter:initial;grid-template-rows:min-content auto;width:100%;padding:0}.filters-wrapper{min-width:100%;min-height:40px;margin-top:24px;padding-left:24px}vviinn-filters{padding:0 24px}vviinn-filters,vviinn-extended-filters.modal-extended-filters{display:block;overflow:hidden}vviinn-extended-filters.preview-extended-filters{display:none}.extended-filters-button{display:block;position:absolute;right:24px;top:0}.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 20px}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";const Pt=class{constructor(t){i(this,t)}render(){return t(o,{key:"93280db42a576825c4419ea96d0ef67f0386c1db"},t("vviinn-error",{key:"2b98e1de8b734e63cb8aef3d9da463d061261846"},t(ct,{key:"3268cd96f4c6cc62d91125633a99b584dddf3dcd"}),t("h4",{key:"f97df68b5ba99742f10f2352b571a46b15a84537",slot:"title"},X.t("wrongFormatBlock.title")),t("span",{key:"06592aec59b5dfb1b58bb974cf2c020809bb91c4",slot:"text"},X.t("wrongFormatBlock.text")),t("button",{key:"fda7f9aa046b1e9aeee49a9cebc3972f0e39a845",slot:"action",onClick:this.handler},X.t("wrongFormatBlock.button"))))}};Pt.style=":host{width:100%}";export{ut as vviinn_camera,wt as vviinn_cropper,yt as vviinn_image_selector,kt as vviinn_overlayed_modal,Ct as vviinn_privacy_badge,jt as vviinn_results,St as vviinn_server_error,zt as vviinn_slide,It as vviinn_slider,Tt as vviinn_teaser,Wt as vviinn_vps_widget,Pt as vviinn_wrong_format}
|