vviinn-widgets 2.95.2 → 2.95.3
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/{package-ddca40d7.js → package-f89ab7be.js} +1 -1
- package/dist/cjs/search-filters_19.cjs.entry.js +2 -2
- package/dist/cjs/vviinn-carousel_8.cjs.entry.js +3 -3
- package/dist/cjs/vviinn-recommendations-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vpr-button.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vps-widget.cjs.entry.js +2 -2
- package/dist/collection/components/vviinn-product-card/vviinn-energy-label/vviinn-energy-label.css +1 -1
- package/dist/collection/components/vviinn-product-card/vviinn-energy-label/vviinn-energy-label.js +1 -1
- package/dist/collection/components/vviinn-results/vviinn-results.js +5 -1
- 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 +4 -0
- package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-widget.js +4 -0
- package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +4 -1
- package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +5 -2
- package/dist/esm/{package-63e182dc.js → package-ef4daa6e.js} +1 -1
- package/dist/esm/search-filters_19.entry.js +2 -2
- package/dist/esm/vviinn-carousel_8.entry.js +3 -3
- package/dist/esm/vviinn-recommendations-sidebar.entry.js +1 -1
- package/dist/esm/vviinn-vpr-button.entry.js +1 -1
- package/dist/esm/vviinn-vps-button.entry.js +1 -1
- package/dist/esm/vviinn-vps-widget.entry.js +2 -2
- package/dist/types/components/vviinn-results/vviinn-results.d.ts +4 -0
- package/dist/types/components/vviinn-vpr-button/vviinn-vpr-button.d.ts +4 -0
- package/dist/types/components/vviinn-vpr-widget/vviinn-vpr-widget.d.ts +4 -0
- package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +4 -1
- package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +4 -1
- package/{www/build/p-2d96b041.entry.js → dist/vviinn-widgets/p-0fe05289.entry.js} +1 -1
- package/dist/vviinn-widgets/p-355874d5.entry.js +1 -0
- package/dist/vviinn-widgets/p-44ab34d0.js +1 -0
- package/dist/vviinn-widgets/{p-4432fd8e.entry.js → p-73b4a223.entry.js} +2 -2
- package/dist/vviinn-widgets/p-84995f53.entry.js +1 -0
- package/dist/vviinn-widgets/{p-4f2ba200.entry.js → p-cbd8b7e6.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-9401e8ef.entry.js → p-fe6932a5.entry.js} +1 -1
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/{dist/vviinn-widgets/p-2d96b041.entry.js → www/build/p-0fe05289.entry.js} +1 -1
- package/www/build/p-355874d5.entry.js +1 -0
- package/www/build/p-44ab34d0.js +1 -0
- package/www/build/{p-4432fd8e.entry.js → p-73b4a223.entry.js} +2 -2
- package/www/build/p-84995f53.entry.js +1 -0
- package/www/build/{p-4f2ba200.entry.js → p-cbd8b7e6.entry.js} +1 -1
- package/www/build/{p-9401e8ef.entry.js → p-fe6932a5.entry.js} +1 -1
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/dist/vviinn-widgets/p-11a523db.entry.js +0 -1
- package/dist/vviinn-widgets/p-c63ce47d.entry.js +0 -1
- package/dist/vviinn-widgets/p-d1fb7e12.js +0 -1
- package/www/build/p-11a523db.entry.js +0 -1
- package/www/build/p-c63ce47d.entry.js +0 -1
- package/www/build/p-d1fb7e12.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as t,r as e,c as i,H as o,g as r}from"./p-1c863deb.js";import{s as n,_ as s,O as a,k as l,l as c,n as h,o as d,q as p,r as f,u,v as b,E as g,w as v,i as x,e as m,x as w,y,z as k,B as C,d as M,C as z,D as j,F as O,G as S,H as T,N as I}from"./p-042b091b.js";import{i as L,r as E,c as N,v as A,n as R,o as _}from"./p-707f4189.js";import{s as B,c as H}from"./p-499b1c72.js";import{d as P,c as D,s as F,e as W,a as V,R as Z}from"./p-422424ef.js";import{v as Y}from"./p-d1fb7e12.js";const X=()=>t("svg",{width:"12",height:"20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M0 10 10 0l1.4 1.4L2.8 10l8.6 8.6L10 20 0 10Z"})),U=()=>t("svg",{width:"22",height:"20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M16.567 3H19A3.01 3.01 0 0 1 22 6v7.69h-2V6c0-.55-.451-1-1.001-1h-3.502l-2.03-3H8.543L6.603 5H3.001c-.55 0-1 .45-1 1v11c0 .55.45 1 1 1h5.933v2H3.001A3.01 3.01 0 0 1 0 17V6c0-1.65 1.35-3 3.001-3h2.522l1.94-3h7.074l2.03 3Zm-5.562 3c1.28 0 2.561.48 3.542 1.46h-.01a4.992 4.992 0 0 1 .64 6.29l3.051 3.05-1.41 1.41-3.052-3.05c-.84.55-1.8.83-2.76.83-1.282 0-2.562-.48-3.543-1.46a5.002 5.002 0 0 1 0-7.07A5.026 5.026 0 0 1 11.005 6Zm-2.771 5a2.763 2.763 0 0 0 2.771 2.77A2.763 2.763 0 0 0 13.776 11a2.763 2.763 0 0 0-2.771-2.77A2.763 2.763 0 0 0 8.234 11Z",fill:"#161616"})),K=()=>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"})),$=()=>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"})),q=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M7.82499 13L12.725 17.9C12.925 18.1 13.0208 18.3333 13.0125 18.6C13.0042 18.8667 12.9 19.1 12.7 19.3C12.5 19.4833 12.2667 19.5792 12 19.5875C11.7333 19.5958 11.5 19.5 11.3 19.3L4.69999 12.7C4.59999 12.6 4.52915 12.4917 4.48749 12.375C4.44582 12.2583 4.42499 12.1333 4.42499 12C4.42499 11.8667 4.44582 11.7417 4.48749 11.625C4.52915 11.5083 4.59999 11.4 4.69999 11.3L11.3 4.69999C11.4833 4.51665 11.7125 4.42499 11.9875 4.42499C12.2625 4.42499 12.5 4.51665 12.7 4.69999C12.9 4.89999 13 5.13749 13 5.41249C13 5.68749 12.9 5.92499 12.7 6.12499L7.82499 11H19C19.2833 11 19.5208 11.0958 19.7125 11.2875C19.9042 11.4792 20 11.7167 20 12C20 12.2833 19.9042 12.5208 19.7125 12.7125C19.5208 12.9042 19.2833 13 19 13H7.82499Z",fill:"currentColor"})),Q=()=>t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M20.6 4.57C17.39 4.19 16.88 3.68 16.42 0.37C16.38 0.15 16.22 0 16.01 0C15.8 0 15.63 0.15 15.59 0.37C15.12 3.66 14.63 4.13 11.41 4.57C11.17 4.61 11.01 4.77 11.01 5C11.01 5.23 11.17 5.39 11.41 5.42C14.63 5.81 15.14 6.31 15.59 9.62C15.63 9.84 15.8 10 16.01 10C16.22 10 16.39 9.84 16.42 9.62C16.89 6.31 17.39 5.81 20.6 5.42C20.84 5.38 21 5.22 21 5C21 4.78 20.83 4.6 20.6 4.57Z",fill:"#525252"}),t("path",{d:"M14 12C14 9.24 11.76 7 9 7C6.24 7 4 9.24 4 12C4 14.76 6.24 17 9 17C10.02 17 10.96 16.69 11.75 16.17L16.29 20.71L17.7 19.3L13.16 14.76C13.68 13.97 13.99 13.02 13.99 12.01L14 12ZM9 15C7.35 15 6 13.65 6 12C6 10.35 7.35 9 9 9C10.65 9 12 10.35 12 12C12 13.65 10.65 15 9 15Z",fill:"#525252"})),G=()=>t("svg",{slot:"icon",class:"icon",width:"32",height:"32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M16 2a14 14 0 1 0 0 28 14 14 0 0 0 0-28Zm0 26a12 12 0 1 1 0-24 12 12 0 0 1 0 24Z",fill:"#525252"}),t("path",{d:"M17 8h-2v11h2V8Zm-1 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z",fill:"#525252"})),J=({className:e})=>t("svg",{width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:e},t("path",{d:"M31 3H15C8.37258 3 3 8.37258 3 15V31",stroke:"white","stroke-width":"6","stroke-linecap":"square"}));const tt=(t,e)=>{var i;if(!t)return"";const o={};return t.href.split("?")[1].split("included[]=").join("").split("&").forEach((t=>{const[e,i]=t.split("%3A");o[e]=i})),"categories"===e?null!==(i=o.product_type)&&void 0!==i?i:o.google_product_category:o[e]},et=class{constructor(t){var o;e(this,t),this.vviinnSelectFilter=i(this,"vviinnSelectFilter",7),this.filterType=null===(o=this.filter)||void 0===o?void 0:o.name,this.filter=null,this.basicEventData=void 0,this.selectedFilter="",this.hideFilters=!0}isCategoriesFilterType(){return"categories"===this.filterType}getFilterKind(){return this.isCategoriesFilterType()?"category":this.filterType}handleFilterSelection(t){return this.isFilterSelected(t)?this.clearSelectedFilter(t):this.selectFilter(t)}selectFilter(t){n.activeIonLink=t,this.selectedFilter=tt(t,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"select",kind:this.getFilterKind()}))}clearSelectedFilter(t){n.activeIonLink=t.clear,this.selectedFilter=tt(t.clear,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"deselect",kind:this.getFilterKind()}))}toggleFilters(){this.hideFilters=!this.hideFilters}handleEnter(t,e){"Enter"===t.key&&this.handleFilterSelection(e)}isFilterSelected(t){return this.isCategoriesFilterType()?this.selectedFilter===tt(t,"categories"):this.selectedFilter===t.name}render(){var e;const i=(null===(e=this.filter)||void 0===e?void 0:e.filters)||[];return t(o,{exportparts:"filter, show-more-filters"},t("div",{class:{filters:!0,"no-scrollbar-mobile":this.isCategoriesFilterType(),"no-scrollbar":!this.isCategoriesFilterType()}},!!i.length&&i.filter(((t,e)=>!this.hideFilters||e<4)).map(((e,i)=>{const o="categories"===this.filter.name?this.selectedFilter===tt(e,"categories"):this.selectedFilter===e.name;return t("div",{role:"button",tabindex:"0",key:i,part:o?"filter active":"filter",class:{filter:!0,active:o},style:{"animation-delay":10*i+"ms"},onPointerUp:t=>{n.loading||(t.stopPropagation(),this.handleFilterSelection(e))},onKeyPress:t=>{n.loading||this.handleEnter(t,e)}},e.name)})),this.hideFilters&&t("div",{class:{"show-more":!0,hidden:i.length<=4,active:!this.hideFilters},role:"button",tabindex:"0","aria-role":"button",onClick:()=>{setTimeout((()=>this.toggleFilters()),300)},onKeyPress:t=>{"Enter"===t.key&&this.toggleFilters()},part:"show-more-filters"})))}get el(){return r(this)}};et.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;}.filters{display:flex;flex-direction:row;overflow-x:auto;padding:0 12px 6px 24px;scrollbar-width:thin}:host(:not(:first-child)) .filters{margin-top:6px}.filter{align-items:center;color:#525252;cursor:pointer;display:flex;margin-right:12px;height:-moz-max-content;height:max-content;min-width:-moz-max-content;min-width:max-content;transition-property:background;transition-duration:0.5s;transition-timing-function:ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 12px}.show-more{display:flex}.show-more.hidden{display:none !important}.show-more::after{position:relative;content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12.2l-6-6L3.2 5 8 9.8 12.8 5 14 6.2l-6 6z' fill='%23525252'/%3E%3C/svg%3E\");display:block;transform:rotate(-90deg);left:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 640px){.no-scrollbar-mobile{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar-mobile::-webkit-scrollbar{display:none}}";const it=class{constructor(t){e(this,t),this.vviinnSelectObject=i(this,"vviinnSelectObject",7),this.detectedObject=void 0,this.basicEventData=void 0,this.position=["0","0"]}getObjectPosition(){return s.pipe(n.imageBounds,a.map((t=>{const e=l(c(this.detectedObject).rectangle),{x:i,y:o}=s.pipe(e,h(t),d);return[`${i}px`,`${o}px`]})),a.getOrElse((()=>["0","0"])))}selectDetectedObject(){s.pipe(n.imageBounds,a.map((t=>{const e=c(this.detectedObject).rectangle,i=l(e),o=h(t)(i);n.detectedObject=this.detectedObject,n.searchArea=a.some(o)}))),p(),this.vviinnSelectObject.emit(Object.assign(Object.assign({},this.basicEventData),{detectedObject:this.detectedObject}))}isActive(){if(!this.detectedObject)return!1;if(!n.detectedObject)return!1;const t=c(this.detectedObject),e=c(n.detectedObject);return f.equals(t,e)}render(){return t(o,{class:{active:this.isActive()},onClick:()=>this.selectDetectedObject(),style:{"--x-position":this.getObjectPosition()[0],"--y-position":this.getObjectPosition()[1]}})}};it.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;position:absolute;left:calc(var(--x-position));top:calc(var(--y-position));z-index:2}:host::before,:host::after{content:"";cursor:pointer;position:absolute;height:var(--size);width:var(--size);left:calc(-1 * var(--size) / 2);top:calc(-1 * var(--size) / 2)}:host::before{--size:36px;border-radius:50%;z-index:0;background:rgba(0, 0, 0, 0.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform 0.07s ease-in-out}:host::after{--size:13px;border-radius:50%;z-index:1;background:white;box-shadow:0px 2px 2px 0px rgba(0, 0, 0, 0.15);transition:transform 0.07s ease-in-out}:host(.active)::before{transform:scale(0.88);background:rgba(0, 0, 0, 0.4)}:host(.active)::after{transform:scale(0.67)}@media (min-width: 768px){:host(:not(.active):hover)::before{transform:scale(1.08);background:rgba(0, 0, 0, 0.32)}}';const ot=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("emptyResultsBlock.title")),"image"===n.searchType&&t("button",{slot:"action",onClick:this.handler},L.t("emptyResultsBlock.button"))))}},rt=class{constructor(t){e(this,t),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.vviinnCameraEnabled=i(this,"vviinnCameraEnabled",7),this.videoTrack=null,this.initializeZoom=async()=>{var t;if(!this.videoTrack)return;const e=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};"zoom"in e&&(this.zoomCapabilities=e.zoom,await this.videoTrack.applyConstraints({advanced:[{zoom:this.zoomCapabilities.min}]}))},this.onZoom=async t=>{var e;if(!this.videoTrack||!this.zoomCapabilities)return;const{max:i,min:o}=this.zoomCapabilities,r=null!==(e=this.videoTrack.getSettings().zoom)&&void 0!==e?e:o,n=Math.round((i-o)/3*10)/10;let s;s="in"===t?r+n:r-n,s<o&&(s=o),s>i&&(s=i),await this.videoTrack.applyConstraints({advanced:[{zoom:s}]})},this.exampleImageSource=void 0,this.width=0,this.height=0,this.basicEventData=void 0,this.srcObject=void 0,this.cameraButtonClicked=!1,this.selected=!1,this.videoInitialized=!1,this.zoomCapabilities=null}componentWillLoad(){B(this,this.el)}componentDidLoad(){this.videoElement=this.el.shadowRoot.getElementById("camera-preview")}createPlaceholderImageCanvas(){const t=this.el.shadowRoot.getElementById("captured-image-placeholder"),e=this.videoElement,{videoWidth:i,videoHeight:o}=e,r=document.createElement("canvas");r.width=i,r.height=o,r.getContext("2d").drawImage(e,0,0,r.width,r.height);const n=r.toDataURL("image/jpeg");t.src=n}async selectImage(){if(!this.srcObject)return;let t;this.vviinnImageUpload.emit(this.basicEventData);const e=this.el.shadowRoot.getElementById("photo-frame"),i=this.videoElement,o=e.getBoundingClientRect(),r=i.getBoundingClientRect(),{videoWidth:n,videoHeight:a}=i,l=document.createElement("canvas");this.selected=!0,this.videoElement.pause(),this.createPlaceholderImageCanvas();const c=n/r.width,h=a/r.height,d=Math.min(o.width*c,o.height*h);l.width=d,l.height=d;const p=(o.left-r.left+(o.width-d/c)/2)*c,f=(o.top-r.top+(o.height-d/h)/2)*h;l.getContext("2d").drawImage(i,p,f,d,d,0,0,l.width,l.height);const v=l.toDataURL("image/jpeg");t=await u(v),s.pipe(await b(t),g.match((()=>this.vviinnNoResult.emit(this.basicEventData)),(()=>this.vviinnImageUploadFinished.emit()))),this.selected=!1,this.videoInitialized=!1,this.vviinnCameraEnabled.emit(!1)}handleKeyPress({key:t}){"Enter"!==t&&" "!==t||this.selectImage()}handleSrcObjectChange(){this.srcObject?(this.videoElement.srcObject=this.srcObject,this.videoTrack=this.srcObject.getVideoTracks()[0],this.initializeZoom(),this.videoElement.onloadedmetadata=()=>{this.vviinnCameraEnabled.emit(!0),this.videoInitialized=!0}):this.videoInitialized=!1}render(){return t(o,{onKeyUp:t=>this.handleKeyPress(t),class:{"video-expanded":this.cameraButtonClicked}},t("video",{id:"camera-preview",class:{hidden:!this.videoInitialized||this.selected},autoplay:!0,playsinline:!0,muted:!0}),t("img",{src:this.exampleImageSource,width:this.width,height:this.height,tabindex:1,class:{hidden:this.videoInitialized||this.selected}}),t("img",{id:"captured-image-placeholder",class:{hidden:!this.selected}}),t("div",{class:{container:!0,hidden:!this.videoInitialized}},t("div",{class:"photo-frame-container"},t("div",{id:"photo-frame"},t(J,{className:"photo-frame-corner top-left"}),t(J,{className:"photo-frame-corner top-right"}),t(J,{className:"photo-frame-corner bottom-left"}),t(J,{className:"photo-frame-corner bottom-right"})),t("div",{class:{"zoom-buttons":!0,hidden:!this.zoomCapabilities}},t("button",{onClick:()=>this.onZoom("out")},t(K,null)),t("button",{onClick:()=>this.onZoom("in")},t(P,null)))),t("div",{class:"photo-button-container"},t("button",{class:"photo-button",onClick:()=>this.selectImage()},t($,null)))))}get el(){return r(this)}static get watchers(){return{srcObject:["handleSrcObjectChange"]}}};rt.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}";const nt=class{constructor(t){e(this,t),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.basicEventData=void 0,this.startUpload=void 0,this.loading=!1,this.accept="image",this.resetVpsButton=void 0,this.token=void 0,this.apiPath=void 0,this.showInTextSearch=!1}async handleInputChange(t){this.vviinnImageUpload.emit(this.basicEventData);const e=t.target,i=await b(e.files[0],this.showInTextSearch,this.token,this.apiPath);s.pipe(i,v((({kind:t})=>{this.vviinnNoResult.emit(Object.assign(Object.assign({},this.basicEventData),{reason:t}))}),(({links:t})=>{this.vviinnImageUploadFinished.emit({searchId:t.self.href})}))),e.value=null}startUploadWatcher(t){t&&(this.fileInput.click(),this.resetVpsButton())}render(){return t(o,{exportparts:"button"},this.loading?t("vviinn-preloader",null):t("label",{htmlFor:"fileInput",part:"button"},t("slot",{name:"upload-button-text"},"Upload image")),t("input",{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"]}}};nt.style=".visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}label{cursor:pointer;display:grid;width:100%;height:100%;transition:background 0.1s ease-in-out}";var st=x((function(t){
|
|
1
|
+
import{h as t,r as e,c as i,H as o,g as r}from"./p-1c863deb.js";import{s as n,_ as s,O as a,k as l,l as c,n as h,o as d,q as p,r as f,u,v as b,E as g,w as v,i as x,e as m,x as w,y,z as k,B as C,d as M,C as z,D as j,F as O,G as S,H as T,N as I}from"./p-042b091b.js";import{i as L,r as E,c as N,v as A,n as R,o as _}from"./p-707f4189.js";import{s as B,c as H}from"./p-499b1c72.js";import{d as P,c as D,s as F,e as W,a as V,R as Z}from"./p-422424ef.js";import{v as Y}from"./p-44ab34d0.js";const X=()=>t("svg",{width:"12",height:"20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M0 10 10 0l1.4 1.4L2.8 10l8.6 8.6L10 20 0 10Z"})),U=()=>t("svg",{width:"22",height:"20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M16.567 3H19A3.01 3.01 0 0 1 22 6v7.69h-2V6c0-.55-.451-1-1.001-1h-3.502l-2.03-3H8.543L6.603 5H3.001c-.55 0-1 .45-1 1v11c0 .55.45 1 1 1h5.933v2H3.001A3.01 3.01 0 0 1 0 17V6c0-1.65 1.35-3 3.001-3h2.522l1.94-3h7.074l2.03 3Zm-5.562 3c1.28 0 2.561.48 3.542 1.46h-.01a4.992 4.992 0 0 1 .64 6.29l3.051 3.05-1.41 1.41-3.052-3.05c-.84.55-1.8.83-2.76.83-1.282 0-2.562-.48-3.543-1.46a5.002 5.002 0 0 1 0-7.07A5.026 5.026 0 0 1 11.005 6Zm-2.771 5a2.763 2.763 0 0 0 2.771 2.77A2.763 2.763 0 0 0 13.776 11a2.763 2.763 0 0 0-2.771-2.77A2.763 2.763 0 0 0 8.234 11Z",fill:"#161616"})),K=()=>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"})),$=()=>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"})),q=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M7.82499 13L12.725 17.9C12.925 18.1 13.0208 18.3333 13.0125 18.6C13.0042 18.8667 12.9 19.1 12.7 19.3C12.5 19.4833 12.2667 19.5792 12 19.5875C11.7333 19.5958 11.5 19.5 11.3 19.3L4.69999 12.7C4.59999 12.6 4.52915 12.4917 4.48749 12.375C4.44582 12.2583 4.42499 12.1333 4.42499 12C4.42499 11.8667 4.44582 11.7417 4.48749 11.625C4.52915 11.5083 4.59999 11.4 4.69999 11.3L11.3 4.69999C11.4833 4.51665 11.7125 4.42499 11.9875 4.42499C12.2625 4.42499 12.5 4.51665 12.7 4.69999C12.9 4.89999 13 5.13749 13 5.41249C13 5.68749 12.9 5.92499 12.7 6.12499L7.82499 11H19C19.2833 11 19.5208 11.0958 19.7125 11.2875C19.9042 11.4792 20 11.7167 20 12C20 12.2833 19.9042 12.5208 19.7125 12.7125C19.5208 12.9042 19.2833 13 19 13H7.82499Z",fill:"currentColor"})),Q=()=>t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M20.6 4.57C17.39 4.19 16.88 3.68 16.42 0.37C16.38 0.15 16.22 0 16.01 0C15.8 0 15.63 0.15 15.59 0.37C15.12 3.66 14.63 4.13 11.41 4.57C11.17 4.61 11.01 4.77 11.01 5C11.01 5.23 11.17 5.39 11.41 5.42C14.63 5.81 15.14 6.31 15.59 9.62C15.63 9.84 15.8 10 16.01 10C16.22 10 16.39 9.84 16.42 9.62C16.89 6.31 17.39 5.81 20.6 5.42C20.84 5.38 21 5.22 21 5C21 4.78 20.83 4.6 20.6 4.57Z",fill:"#525252"}),t("path",{d:"M14 12C14 9.24 11.76 7 9 7C6.24 7 4 9.24 4 12C4 14.76 6.24 17 9 17C10.02 17 10.96 16.69 11.75 16.17L16.29 20.71L17.7 19.3L13.16 14.76C13.68 13.97 13.99 13.02 13.99 12.01L14 12ZM9 15C7.35 15 6 13.65 6 12C6 10.35 7.35 9 9 9C10.65 9 12 10.35 12 12C12 13.65 10.65 15 9 15Z",fill:"#525252"})),G=()=>t("svg",{slot:"icon",class:"icon",width:"32",height:"32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M16 2a14 14 0 1 0 0 28 14 14 0 0 0 0-28Zm0 26a12 12 0 1 1 0-24 12 12 0 0 1 0 24Z",fill:"#525252"}),t("path",{d:"M17 8h-2v11h2V8Zm-1 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z",fill:"#525252"})),J=({className:e})=>t("svg",{width:"34",height:"34",viewBox:"0 0 34 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:e},t("path",{d:"M31 3H15C8.37258 3 3 8.37258 3 15V31",stroke:"white","stroke-width":"6","stroke-linecap":"square"}));const tt=(t,e)=>{var i;if(!t)return"";const o={};return t.href.split("?")[1].split("included[]=").join("").split("&").forEach((t=>{const[e,i]=t.split("%3A");o[e]=i})),"categories"===e?null!==(i=o.product_type)&&void 0!==i?i:o.google_product_category:o[e]},et=class{constructor(t){var o;e(this,t),this.vviinnSelectFilter=i(this,"vviinnSelectFilter",7),this.filterType=null===(o=this.filter)||void 0===o?void 0:o.name,this.filter=null,this.basicEventData=void 0,this.selectedFilter="",this.hideFilters=!0}isCategoriesFilterType(){return"categories"===this.filterType}getFilterKind(){return this.isCategoriesFilterType()?"category":this.filterType}handleFilterSelection(t){return this.isFilterSelected(t)?this.clearSelectedFilter(t):this.selectFilter(t)}selectFilter(t){n.activeIonLink=t,this.selectedFilter=tt(t,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"select",kind:this.getFilterKind()}))}clearSelectedFilter(t){n.activeIonLink=t.clear,this.selectedFilter=tt(t.clear,this.filterType),this.vviinnSelectFilter.emit(Object.assign(Object.assign({},this.basicEventData),{action:"deselect",kind:this.getFilterKind()}))}toggleFilters(){this.hideFilters=!this.hideFilters}handleEnter(t,e){"Enter"===t.key&&this.handleFilterSelection(e)}isFilterSelected(t){return this.isCategoriesFilterType()?this.selectedFilter===tt(t,"categories"):this.selectedFilter===t.name}render(){var e;const i=(null===(e=this.filter)||void 0===e?void 0:e.filters)||[];return t(o,{exportparts:"filter, show-more-filters"},t("div",{class:{filters:!0,"no-scrollbar-mobile":this.isCategoriesFilterType(),"no-scrollbar":!this.isCategoriesFilterType()}},!!i.length&&i.filter(((t,e)=>!this.hideFilters||e<4)).map(((e,i)=>{const o="categories"===this.filter.name?this.selectedFilter===tt(e,"categories"):this.selectedFilter===e.name;return t("div",{role:"button",tabindex:"0",key:i,part:o?"filter active":"filter",class:{filter:!0,active:o},style:{"animation-delay":10*i+"ms"},onPointerUp:t=>{n.loading||(t.stopPropagation(),this.handleFilterSelection(e))},onKeyPress:t=>{n.loading||this.handleEnter(t,e)}},e.name)})),this.hideFilters&&t("div",{class:{"show-more":!0,hidden:i.length<=4,active:!this.hideFilters},role:"button",tabindex:"0","aria-role":"button",onClick:()=>{setTimeout((()=>this.toggleFilters()),300)},onKeyPress:t=>{"Enter"===t.key&&this.toggleFilters()},part:"show-more-filters"})))}get el(){return r(this)}};et.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;}.filters{display:flex;flex-direction:row;overflow-x:auto;padding:0 12px 6px 24px;scrollbar-width:thin}:host(:not(:first-child)) .filters{margin-top:6px}.filter{align-items:center;color:#525252;cursor:pointer;display:flex;margin-right:12px;height:-moz-max-content;height:max-content;min-width:-moz-max-content;min-width:max-content;transition-property:background;transition-duration:0.5s;transition-timing-function:ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 12px}.show-more{display:flex}.show-more.hidden{display:none !important}.show-more::after{position:relative;content:url(\"data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 12.2l-6-6L3.2 5 8 9.8 12.8 5 14 6.2l-6 6z' fill='%23525252'/%3E%3C/svg%3E\");display:block;transform:rotate(-90deg);left:2px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 640px){.no-scrollbar-mobile{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar-mobile::-webkit-scrollbar{display:none}}";const it=class{constructor(t){e(this,t),this.vviinnSelectObject=i(this,"vviinnSelectObject",7),this.detectedObject=void 0,this.basicEventData=void 0,this.position=["0","0"]}getObjectPosition(){return s.pipe(n.imageBounds,a.map((t=>{const e=l(c(this.detectedObject).rectangle),{x:i,y:o}=s.pipe(e,h(t),d);return[`${i}px`,`${o}px`]})),a.getOrElse((()=>["0","0"])))}selectDetectedObject(){s.pipe(n.imageBounds,a.map((t=>{const e=c(this.detectedObject).rectangle,i=l(e),o=h(t)(i);n.detectedObject=this.detectedObject,n.searchArea=a.some(o)}))),p(),this.vviinnSelectObject.emit(Object.assign(Object.assign({},this.basicEventData),{detectedObject:this.detectedObject}))}isActive(){if(!this.detectedObject)return!1;if(!n.detectedObject)return!1;const t=c(this.detectedObject),e=c(n.detectedObject);return f.equals(t,e)}render(){return t(o,{class:{active:this.isActive()},onClick:()=>this.selectDetectedObject(),style:{"--x-position":this.getObjectPosition()[0],"--y-position":this.getObjectPosition()[1]}})}};it.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;position:absolute;left:calc(var(--x-position));top:calc(var(--y-position));z-index:2}:host::before,:host::after{content:"";cursor:pointer;position:absolute;height:var(--size);width:var(--size);left:calc(-1 * var(--size) / 2);top:calc(-1 * var(--size) / 2)}:host::before{--size:36px;border-radius:50%;z-index:0;background:rgba(0, 0, 0, 0.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform 0.07s ease-in-out}:host::after{--size:13px;border-radius:50%;z-index:1;background:white;box-shadow:0px 2px 2px 0px rgba(0, 0, 0, 0.15);transition:transform 0.07s ease-in-out}:host(.active)::before{transform:scale(0.88);background:rgba(0, 0, 0, 0.4)}:host(.active)::after{transform:scale(0.67)}@media (min-width: 768px){:host(:not(.active):hover)::before{transform:scale(1.08);background:rgba(0, 0, 0, 0.32)}}';const ot=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("emptyResultsBlock.title")),"image"===n.searchType&&t("button",{slot:"action",onClick:this.handler},L.t("emptyResultsBlock.button"))))}},rt=class{constructor(t){e(this,t),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.vviinnCameraEnabled=i(this,"vviinnCameraEnabled",7),this.videoTrack=null,this.initializeZoom=async()=>{var t;if(!this.videoTrack)return;const e=(null===(t=this.videoTrack)||void 0===t?void 0:t.getCapabilities)?this.videoTrack.getCapabilities():{};"zoom"in e&&(this.zoomCapabilities=e.zoom,await this.videoTrack.applyConstraints({advanced:[{zoom:this.zoomCapabilities.min}]}))},this.onZoom=async t=>{var e;if(!this.videoTrack||!this.zoomCapabilities)return;const{max:i,min:o}=this.zoomCapabilities,r=null!==(e=this.videoTrack.getSettings().zoom)&&void 0!==e?e:o,n=Math.round((i-o)/3*10)/10;let s;s="in"===t?r+n:r-n,s<o&&(s=o),s>i&&(s=i),await this.videoTrack.applyConstraints({advanced:[{zoom:s}]})},this.exampleImageSource=void 0,this.width=0,this.height=0,this.basicEventData=void 0,this.srcObject=void 0,this.cameraButtonClicked=!1,this.selected=!1,this.videoInitialized=!1,this.zoomCapabilities=null}componentWillLoad(){B(this,this.el)}componentDidLoad(){this.videoElement=this.el.shadowRoot.getElementById("camera-preview")}createPlaceholderImageCanvas(){const t=this.el.shadowRoot.getElementById("captured-image-placeholder"),e=this.videoElement,{videoWidth:i,videoHeight:o}=e,r=document.createElement("canvas");r.width=i,r.height=o,r.getContext("2d").drawImage(e,0,0,r.width,r.height);const n=r.toDataURL("image/jpeg");t.src=n}async selectImage(){if(!this.srcObject)return;let t;this.vviinnImageUpload.emit(this.basicEventData);const e=this.el.shadowRoot.getElementById("photo-frame"),i=this.videoElement,o=e.getBoundingClientRect(),r=i.getBoundingClientRect(),{videoWidth:n,videoHeight:a}=i,l=document.createElement("canvas");this.selected=!0,this.videoElement.pause(),this.createPlaceholderImageCanvas();const c=n/r.width,h=a/r.height,d=Math.min(o.width*c,o.height*h);l.width=d,l.height=d;const p=(o.left-r.left+(o.width-d/c)/2)*c,f=(o.top-r.top+(o.height-d/h)/2)*h;l.getContext("2d").drawImage(i,p,f,d,d,0,0,l.width,l.height);const v=l.toDataURL("image/jpeg");t=await u(v),s.pipe(await b(t),g.match((()=>this.vviinnNoResult.emit(this.basicEventData)),(()=>this.vviinnImageUploadFinished.emit()))),this.selected=!1,this.videoInitialized=!1,this.vviinnCameraEnabled.emit(!1)}handleKeyPress({key:t}){"Enter"!==t&&" "!==t||this.selectImage()}handleSrcObjectChange(){this.srcObject?(this.videoElement.srcObject=this.srcObject,this.videoTrack=this.srcObject.getVideoTracks()[0],this.initializeZoom(),this.videoElement.onloadedmetadata=()=>{this.vviinnCameraEnabled.emit(!0),this.videoInitialized=!0}):this.videoInitialized=!1}render(){return t(o,{onKeyUp:t=>this.handleKeyPress(t),class:{"video-expanded":this.cameraButtonClicked}},t("video",{id:"camera-preview",class:{hidden:!this.videoInitialized||this.selected},autoplay:!0,playsinline:!0,muted:!0}),t("img",{src:this.exampleImageSource,width:this.width,height:this.height,tabindex:1,class:{hidden:this.videoInitialized||this.selected}}),t("img",{id:"captured-image-placeholder",class:{hidden:!this.selected}}),t("div",{class:{container:!0,hidden:!this.videoInitialized}},t("div",{class:"photo-frame-container"},t("div",{id:"photo-frame"},t(J,{className:"photo-frame-corner top-left"}),t(J,{className:"photo-frame-corner top-right"}),t(J,{className:"photo-frame-corner bottom-left"}),t(J,{className:"photo-frame-corner bottom-right"})),t("div",{class:{"zoom-buttons":!0,hidden:!this.zoomCapabilities}},t("button",{onClick:()=>this.onZoom("out")},t(K,null)),t("button",{onClick:()=>this.onZoom("in")},t(P,null)))),t("div",{class:"photo-button-container"},t("button",{class:"photo-button",onClick:()=>this.selectImage()},t($,null)))))}get el(){return r(this)}static get watchers(){return{srcObject:["handleSrcObjectChange"]}}};rt.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}";const nt=class{constructor(t){e(this,t),this.vviinnImageUpload=i(this,"vviinnImageUpload",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnImageUploadFinished=i(this,"vviinnImageUploadFinished",7),this.basicEventData=void 0,this.startUpload=void 0,this.loading=!1,this.accept="image",this.resetVpsButton=void 0,this.token=void 0,this.apiPath=void 0,this.showInTextSearch=!1}async handleInputChange(t){this.vviinnImageUpload.emit(this.basicEventData);const e=t.target,i=await b(e.files[0],this.showInTextSearch,this.token,this.apiPath);s.pipe(i,v((({kind:t})=>{this.vviinnNoResult.emit(Object.assign(Object.assign({},this.basicEventData),{reason:t}))}),(({links:t})=>{this.vviinnImageUploadFinished.emit({searchId:t.self.href})}))),e.value=null}startUploadWatcher(t){t&&(this.fileInput.click(),this.resetVpsButton())}render(){return t(o,{exportparts:"button"},this.loading?t("vviinn-preloader",null):t("label",{htmlFor:"fileInput",part:"button"},t("slot",{name:"upload-button-text"},"Upload image")),t("input",{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"]}}};nt.style=".visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}label{cursor:pointer;display:grid;width:100%;height:100%;transition:background 0.1s ease-in-out}";var st=x((function(t){
|
|
2
2
|
/*!
|
|
3
3
|
* Cropper.js v1.5.13
|
|
4
4
|
* https://fengyuanchen.github.io/cropperjs
|
|
@@ -8,4 +8,4 @@ import{h as t,r as e,c as i,H as o,g as r}from"./p-1c863deb.js";import{s as n,_
|
|
|
8
8
|
*
|
|
9
9
|
* Date: 2022-11-20T05:30:46.114Z
|
|
10
10
|
*/
|
|
11
|
-
t.exports=function(){function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function e(e){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?t(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function i(t){return i="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},i(t)}function o(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t){return function(t){if(Array.isArray(t))return s(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return s(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?s(t,e):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 s(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}var a="undefined"!=typeof window&&void 0!==window.document,l=a?window:{},c=!(!a||!l.document.documentElement)&&"ontouchstart"in l.document.documentElement,h=!!a&&"PointerEvent"in l,d="cropper",p="all",f="crop",u="move",b="zoom",g="e",v="w",x="s",m="n",w="ne",y="nw",k="se",C="sw",M="".concat(d,"-crop"),z="".concat(d,"-disabled"),j="".concat(d,"-hidden"),O="".concat(d,"-hide"),S="".concat(d,"-invisible"),T="".concat(d,"-modal"),I="".concat(d,"-move"),L="".concat(d,"Action"),E="".concat(d,"Preview"),N="crop",A="move",R="none",_="crop",B="cropend",H="cropmove",P="cropstart",D="dblclick",F=h?"pointerdown":c?"touchstart":"mousedown",W=h?"pointermove":c?"touchmove":"mousemove",V=h?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",Z="ready",Y="resize",X="wheel",U="zoom",K="image/jpeg",$=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,q=/^data:/,Q=/^data:image\/jpeg;base64,/,G=/^img|canvas$/i,J={viewMode:0,dragMode:N,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||l.isNaN;function et(t){return"number"==typeof t&&!tt(t)}var it=function(t){return t>0&&t<1/0};function ot(t){return void 0===t}function rt(t){return"object"===i(t)&&null!==t}var nt=Object.prototype.hasOwnProperty;function st(t){if(!rt(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&nt.call(i,"isPrototypeOf")}catch(t){return!1}}function at(t){return"function"==typeof t}var lt=Array.prototype.slice;function ct(t){return Array.from?Array.from(t):lt.call(t)}function ht(t,e){return t&&at(e)&&(Array.isArray(t)||et(t.length)?ct(t).forEach((function(i,o){e.call(t,i,o,t)})):rt(t)&&Object.keys(t).forEach((function(i){e.call(t,t[i],i,t)}))),t}var dt=Object.assign||function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),o=1;o<e;o++)i[o-1]=arguments[o];return rt(t)&&i.length>0&&i.forEach((function(e){rt(e)&&Object.keys(e).forEach((function(i){t[i]=e[i]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ft(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*e)/e:t}var ut=/^width|height|left|top|marginLeft|marginTop$/;function bt(t,e){var i=t.style;ht(e,(function(t,e){ut.test(e)&&et(t)&&(t="".concat(t,"px")),i[e]=t}))}function gt(t,e){if(e)if(et(t.length))ht(t,(function(t){gt(t,e)}));else if(t.classList)t.classList.add(e);else{var i=t.className.trim();i?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e}}function vt(t,e){e&&(et(t.length)?ht(t,(function(t){vt(t,e)})):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function xt(t,e,i){e&&(et(t.length)?ht(t,(function(t){xt(t,e,i)})):i?gt(t,e):vt(t,e))}var mt=/([a-z\d])([A-Z])/g;function wt(t){return t.replace(mt,"$1-$2").toLowerCase()}function yt(t,e){return rt(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(wt(e)))}function kt(t,e,i){rt(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(wt(e)),i)}var Ct=/\s\s*/,Mt=function(){var t=!1;if(a){var e=!1,i=function(){},o=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});l.addEventListener("test",i,o),l.removeEventListener("test",i,o)}return t}();function zt(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=i;e.trim().split(Ct).forEach((function(e){if(!Mt){var n=t.listeners;n&&n[e]&&n[e][i]&&(r=n[e][i],delete n[e][i],0===Object.keys(n[e]).length&&delete n[e],0===Object.keys(n).length&&delete t.listeners)}t.removeEventListener(e,r,o)}))}function jt(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=i;e.trim().split(Ct).forEach((function(e){if(o.once&&!Mt){var n=t.listeners,s=void 0===n?{}:n;r=function(){delete s[e][i],t.removeEventListener(e,r,o);for(var n=arguments.length,a=new Array(n),l=0;l<n;l++)a[l]=arguments[l];i.apply(t,a)},s[e]||(s[e]={}),s[e][i]&&t.removeEventListener(e,s[e][i],o),s[e][i]=r,t.listeners=s}t.addEventListener(e,r,o)}))}function Ot(t,e,i){var o;return at(Event)&&at(CustomEvent)?o=new CustomEvent(e,{detail:i,bubbles:!0,cancelable:!0}):(o=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i),t.dispatchEvent(o)}function St(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var Tt=l.location,It=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Lt(t){var e=t.match(It);return null!==e&&(e[1]!==Tt.protocol||e[2]!==Tt.hostname||e[3]!==Tt.port)}function Et(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function Nt(t){var e=t.rotate,i=t.scaleX,o=t.scaleY,r=t.translateX,n=t.translateY,s=[];et(r)&&0!==r&&s.push("translateX(".concat(r,"px)")),et(n)&&0!==n&&s.push("translateY(".concat(n,"px)")),et(e)&&0!==e&&s.push("rotate(".concat(e,"deg)")),et(i)&&1!==i&&s.push("scaleX(".concat(i,")")),et(o)&&1!==o&&s.push("scaleY(".concat(o,")"));var a=s.length?s.join(" "):"none";return{WebkitTransform:a,msTransform:a,transform:a}}function At(t,i){var o=t.pageX,r=t.pageY,n={endX:o,endY:r};return i?n:e({startX:o,startY:r},n)}function Rt(t){var e=t.aspectRatio,i=t.height,o=t.width,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",n=it(o),s=it(i);if(n&&s){var a=i*e;"contain"===r&&a>o||"cover"===r&&a<o?i=o/e:o=i*e}else n?i=o/e:s&&(o=i*e);return{width:o,height:i}}var _t=String.fromCharCode;var Bt=/^data:.*,/;function Ht(t){var e,i=new DataView(t);try{var o,r,n;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var s=i.byteLength,a=2;a+1<s;){if(255===i.getUint8(a)&&225===i.getUint8(a+1)){r=a;break}a+=1}if(r){var l=r+10;if("Exif"===function(t,e,i){var o="";i+=e;for(var r=e;r<i;r+=1)o+=_t(t.getUint8(r));return o}(i,r+4,4)){var c=i.getUint16(l);if(((o=18761===c)||19789===c)&&42===i.getUint16(l+2,o)){var h=i.getUint32(l+4,o);h>=8&&(n=l+h)}}}if(n){var d,p,f=i.getUint16(n,o);for(p=0;p<f;p+=1)if(274===i.getUint16(d=n+12*p+2,o)){e=i.getUint16(d+=8,o),i.setUint16(d,1,o);break}}}catch(t){e=1}return e}var Pt={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,i=this.container,o=this.cropper,r=Number(e.minContainerWidth),n=Number(e.minContainerHeight);gt(o,j),vt(t,j);var s={width:Math.max(i.offsetWidth,r>=0?r:200),height:Math.max(i.offsetHeight,n>=0?n:100)};this.containerData=s,bt(o,{width:s.width,height:s.height}),gt(t,j),vt(o,j)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,o=Math.abs(e.rotate)%180==90,r=o?e.naturalHeight:e.naturalWidth,n=o?e.naturalWidth:e.naturalHeight,s=r/n,a=t.width,l=t.height;t.height*s>t.width?3===i?a=t.height*s:l=t.width/s:3===i?l=t.width/s:a=t.height*s;var c={aspectRatio:s,naturalWidth:r,naturalHeight:n,width:a,height:l};this.canvasData=c,this.limited=1===i||2===i,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=dt({},c)},limitCanvas:function(t,e){var i=this.options,o=this.containerData,r=this.canvasData,n=this.cropBoxData,s=i.viewMode,a=r.aspectRatio,l=this.cropped&&n;if(t){var c=Number(i.minCanvasWidth)||0,h=Number(i.minCanvasHeight)||0;s>1?(c=Math.max(c,o.width),h=Math.max(h,o.height),3===s&&(h*a>c?c=h*a:h=c/a)):s>0&&(c?c=Math.max(c,l?n.width:0):h?h=Math.max(h,l?n.height:0):l&&((h=n.height)*a>(c=n.width)?c=h*a:h=c/a));var d=Rt({aspectRatio:a,width:c,height:h});h=d.height,r.minWidth=c=d.width,r.minHeight=h,r.maxWidth=1/0,r.maxHeight=1/0}if(e)if(s>(l?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),l&&this.limited&&(r.minLeft=Math.min(n.left,n.left+(n.width-r.width)),r.minTop=Math.min(n.top,n.top+(n.height-r.height)),r.maxLeft=n.left,r.maxTop=n.top,2===s&&(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,e){var i=this.canvasData,o=this.imageData;if(e){var r=function(t){var e=t.width,i=t.height,o=t.degree;if(90==(o=Math.abs(o)%180))return{width:i,height:e};var r=o%90*Math.PI/180,n=Math.sin(r),s=Math.cos(r),a=e*s+i*n,l=e*n+i*s;return o>90?{width:l,height:a}:{width:a,height:l}}({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),n=r.width,s=r.height,a=i.width*(n/i.naturalWidth),l=i.height*(s/i.naturalHeight);i.left-=(a-i.width)/2,i.top-=(l-i.height)/2,i.width=a,i.height=l,i.aspectRatio=n/s,i.naturalWidth=n,i.naturalHeight=s,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCanvas(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,bt(this.canvas,dt({width:i.width,height:i.height},Nt({translateX:i.left,translateY:i.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,i=this.imageData,o=i.naturalWidth*(e.width/e.naturalWidth),r=i.naturalHeight*(e.height/e.naturalHeight);dt(i,{width:o,height:r,left:(e.width-o)/2,top:(e.height-r)/2}),bt(this.image,dt({width:i.width,height:i.height},Nt(dt({translateX:i.left,translateY:i.top},i)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,i=t.aspectRatio||t.initialAspectRatio,o=Number(t.autoCropArea)||.8,r={width:e.width,height:e.height};i&&(e.height*i>e.width?r.height=r.width/i:r.width=r.height*i),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=e.left+(e.width-r.width)/2,r.top=e.top+(e.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=dt({},r)},limitCropBox:function(t,e){var i=this.options,o=this.containerData,r=this.canvasData,n=this.cropBoxData,s=this.limited,a=i.aspectRatio;if(t){var l=Number(i.minCropBoxWidth)||0,c=Number(i.minCropBoxHeight)||0,h=s?Math.min(o.width,r.width,r.width+r.left,o.width-r.left):o.width,d=s?Math.min(o.height,r.height,r.height+r.top,o.height-r.top):o.height;l=Math.min(l,o.width),c=Math.min(c,o.height),a&&(l&&c?c*a>l?c=l/a:l=c*a:l?c=l/a:c&&(l=c*a),d*a>h?d=h/a:h=d*a),n.minWidth=Math.min(l,h),n.minHeight=Math.min(c,d),n.maxWidth=h,n.maxHeight=d}e&&(s?(n.minLeft=Math.max(0,r.left),n.minTop=Math.max(0,r.top),n.maxLeft=Math.min(o.width,r.left+r.width)-n.width,n.maxTop=Math.min(o.height,r.top+r.height)-n.height):(n.minLeft=0,n.minTop=0,n.maxLeft=o.width-n.width,n.maxTop=o.height-n.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCropBox(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,t.movable&&t.cropBoxMovable&&kt(this.face,L,i.width>=e.width&&i.height>=e.height?u:p),bt(this.cropBox,dt({width:i.width,height:i.height},Nt({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Ot(this.element,_,this.getData())}},Dt={initPreview:function(){var t=this.element,e=this.crossOrigin,i=this.options.preview,o=e?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",n=document.createElement("img");if(e&&(n.crossOrigin=e),n.src=o,n.alt=r,this.viewBox.appendChild(n),this.viewBoxImage=n,i){var s=i;"string"==typeof i?s=t.ownerDocument.querySelectorAll(i):i.querySelector&&(s=[i]),this.previews=s,ht(s,(function(t){var i=document.createElement("img");kt(t,E,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),e&&(i.crossOrigin=e),i.src=o,i.alt=r,i.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(i)}))}},resetPreview:function(){ht(this.previews,(function(t){var e=yt(t,E);bt(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(rt(t[e]))try{delete t[e]}catch(i){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(i){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(wt(e)))}(t,E)}))},preview:function(){var t=this.imageData,e=this.canvasData,i=this.cropBoxData,o=i.width,r=i.height,n=t.width,s=t.height,a=i.left-e.left-t.left,l=i.top-e.top-t.top;this.cropped&&!this.disabled&&(bt(this.viewBoxImage,dt({width:n,height:s},Nt(dt({translateX:-a,translateY:-l},t)))),ht(this.previews,(function(e){var i=yt(e,E),c=i.width,h=i.height,d=c,p=h,f=1;o&&(p=r*(f=c/o)),r&&p>h&&(d=o*(f=h/r),p=h),bt(e,{width:d,height:p}),bt(e.getElementsByTagName("img")[0],dt({width:n*f,height:s*f},Nt(dt({translateX:-a*f,translateY:-l*f},t))))})))}},Ft={bind:function(){var t=this.element,e=this.options,i=this.cropper;at(e.cropstart)&&jt(t,P,e.cropstart),at(e.cropmove)&&jt(t,H,e.cropmove),at(e.cropend)&&jt(t,B,e.cropend),at(e.crop)&&jt(t,_,e.crop),at(e.zoom)&&jt(t,U,e.zoom),jt(i,F,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&jt(i,X,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&jt(i,D,this.onDblclick=this.dblclick.bind(this)),jt(t.ownerDocument,W,this.onCropMove=this.cropMove.bind(this)),jt(t.ownerDocument,V,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&jt(window,Y,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;at(e.cropstart)&&zt(t,P,e.cropstart),at(e.cropmove)&&zt(t,H,e.cropmove),at(e.cropend)&&zt(t,B,e.cropend),at(e.crop)&&zt(t,_,e.crop),at(e.zoom)&&zt(t,U,e.zoom),zt(i,F,this.onCropStart),e.zoomable&&e.zoomOnWheel&&zt(i,X,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&zt(i,D,this.onDblclick),zt(t.ownerDocument,W,this.onCropMove),zt(t.ownerDocument,V,this.onCropEnd),e.responsive&&zt(window,Y,this.onResize)}},Wt={resize:function(){if(!this.disabled){var t,e,i=this.options,o=this.container,r=this.containerData,n=o.offsetWidth/r.width,s=o.offsetHeight/r.height,a=Math.abs(n-1)>Math.abs(s-1)?n:s;1!==a&&(i.restore&&(t=this.getCanvasData(),e=this.getCropBoxData()),this.render(),i.restore&&(this.setCanvasData(ht(t,(function(e,i){t[i]=e*a}))),this.setCropBoxData(ht(e,(function(t,i){e[i]=t*a})))))}},dblclick:function(){var t,e;this.disabled||this.options.dragMode===R||this.setDragMode((e=M,((t=this.dragBox).classList?t.classList.contains(e):t.className.indexOf(e)>-1)?A:N))},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.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*i,t)))},cropStart:function(t){var e=t.buttons,i=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(et(e)&&1!==e||et(i)&&0!==i||t.ctrlKey))){var o,r=this.options,n=this.pointers;t.changedTouches?ht(t.changedTouches,(function(t){n[t.identifier]=At(t)})):n[t.pointerId||0]=At(t),o=Object.keys(n).length>1&&r.zoomable&&r.zoomOnTouch?b:yt(t.target,L),$.test(o)&&!1!==Ot(this.element,P,{originalEvent:t,action:o})&&(t.preventDefault(),this.action=o,this.cropping=!1,o===f&&(this.cropping=!0,gt(this.dragBox,T)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var i=this.pointers;t.preventDefault(),!1!==Ot(this.element,H,{originalEvent:t,action:e})&&(t.changedTouches?ht(t.changedTouches,(function(t){dt(i[t.identifier]||{},At(t,!0))})):dt(i[t.pointerId||0]||{},At(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,i=this.pointers;t.changedTouches?ht(t.changedTouches,(function(t){delete i[t.identifier]})):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,xt(this.dragBox,T,this.cropped&&this.options.modal)),Ot(this.element,B,{originalEvent:t,action:e}))}}},Vt={change:function(t){var i,o=this.canvasData,r=this.containerData,n=this.cropBoxData,s=this.pointers,a=this.action,l=this.options.aspectRatio,c=n.left,h=n.top,d=n.width,M=n.height,z=c+d,O=h+M,S=0,T=0,I=r.width,L=r.height,E=!0;!l&&t.shiftKey&&(l=d&&M?d/M:1),this.limited&&(T=n.minTop,I=(S=n.minLeft)+Math.min(r.width,o.width,o.left+o.width),L=T+Math.min(r.height,o.height,o.top+o.height));var N=s[Object.keys(s)[0]],A={x:N.endX-N.startX,y:N.endY-N.startY},R=function(t){switch(t){case g:z+A.x>I&&(A.x=I-z);break;case v:c+A.x<S&&(A.x=S-c);break;case m:h+A.y<T&&(A.y=T-h);break;case x:O+A.y>L&&(A.y=L-O)}};switch(a){case p:c+=A.x,h+=A.y;break;case g:if(A.x>=0&&(z>=I||l&&(h<=T||O>=L))){E=!1;break}R(g),(d+=A.x)<0&&(a=v,c-=d=-d),l&&(h+=(n.height-(M=d/l))/2);break;case m:if(A.y<=0&&(h<=T||l&&(c<=S||z>=I))){E=!1;break}R(m),h+=A.y,(M-=A.y)<0&&(a=x,h-=M=-M),l&&(c+=(n.width-(d=M*l))/2);break;case v:if(A.x<=0&&(c<=S||l&&(h<=T||O>=L))){E=!1;break}R(v),c+=A.x,(d-=A.x)<0&&(a=g,c-=d=-d),l&&(h+=(n.height-(M=d/l))/2);break;case x:if(A.y>=0&&(O>=L||l&&(c<=S||z>=I))){E=!1;break}R(x),(M+=A.y)<0&&(a=m,h-=M=-M),l&&(c+=(n.width-(d=M*l))/2);break;case w:if(l){if(A.y<=0&&(h<=T||z>=I)){E=!1;break}R(m),h+=A.y,d=(M-=A.y)*l}else R(m),R(g),A.x>=0?z<I?d+=A.x:A.y<=0&&h<=T&&(E=!1):d+=A.x,A.y<=0?h>T&&(M-=A.y,h+=A.y):(M-=A.y,h+=A.y);d<0&&M<0?(a=C,h-=M=-M,c-=d=-d):d<0?(a=y,c-=d=-d):M<0&&(a=k,h-=M=-M);break;case y:if(l){if(A.y<=0&&(h<=T||c<=S)){E=!1;break}R(m),h+=A.y,c+=n.width-(d=(M-=A.y)*l)}else R(m),R(v),A.x<=0?c>S?(d-=A.x,c+=A.x):A.y<=0&&h<=T&&(E=!1):(d-=A.x,c+=A.x),A.y<=0?h>T&&(M-=A.y,h+=A.y):(M-=A.y,h+=A.y);d<0&&M<0?(a=k,h-=M=-M,c-=d=-d):d<0?(a=w,c-=d=-d):M<0&&(a=C,h-=M=-M);break;case C:if(l){if(A.x<=0&&(c<=S||O>=L)){E=!1;break}R(v),c+=A.x,M=(d-=A.x)/l}else R(x),R(v),A.x<=0?c>S?(d-=A.x,c+=A.x):A.y>=0&&O>=L&&(E=!1):(d-=A.x,c+=A.x),A.y>=0?O<L&&(M+=A.y):M+=A.y;d<0&&M<0?(a=w,h-=M=-M,c-=d=-d):d<0?(a=k,c-=d=-d):M<0&&(a=y,h-=M=-M);break;case k:if(l){if(A.x>=0&&(z>=I||O>=L)){E=!1;break}R(g),M=(d+=A.x)/l}else R(x),R(g),A.x>=0?z<I?d+=A.x:A.y>=0&&O>=L&&(E=!1):d+=A.x,A.y>=0?O<L&&(M+=A.y):M+=A.y;d<0&&M<0?(a=y,h-=M=-M,c-=d=-d):d<0?(a=C,c-=d=-d):M<0&&(a=w,h-=M=-M);break;case u:this.move(A.x,A.y),E=!1;break;case b:this.zoom(function(t){var i=e({},t),o=0;return ht(t,(function(t,e){delete i[e],ht(i,(function(e){var i=Math.abs(t.startX-e.startX),r=Math.abs(t.startY-e.startY),n=Math.abs(t.endX-e.endX),s=Math.abs(t.endY-e.endY),a=Math.sqrt(i*i+r*r),l=(Math.sqrt(n*n+s*s)-a)/a;Math.abs(l)>Math.abs(o)&&(o=l)}))})),o}(s),t),E=!1;break;case f:if(!A.x||!A.y){E=!1;break}i=St(this.cropper),c=N.startX-i.left,h=N.startY-i.top,d=n.minWidth,M=n.minHeight,A.x>0?a=A.y>0?k:w:A.x<0&&(c-=d,a=A.y>0?C:y),A.y<0&&(h-=M),this.cropped||(vt(this.cropBox,j),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}E&&(n.width=d,n.height=M,n.left=c,n.top=h,this.action=a,this.renderCropBox()),ht(s,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Zt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&>(this.dragBox,T),vt(this.cropBox,j),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=dt({},this.initialImageData),this.canvasData=dt({},this.initialCanvasData),this.cropBoxData=dt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(dt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),vt(this.dragBox,T),gt(this.cropBox,j)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,ht(this.previews,(function(e){e.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,vt(this.cropper,z)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,gt(this.cropper,z)),this},destroy:function(){var t=this.element;return t[d]?(t[d]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,o=i.left,r=i.top;return this.moveTo(ot(t)?t:o+Number(t),ot(e)?e:r+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,o=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(et(t)&&(i.left=t,o=!0),et(e)&&(i.top=e,o=!0),o&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=Number(t),this.zoomTo(i.width*(t=t<0?1/(1-t):1+t)/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var o=this.options,r=this.canvasData,n=r.width,s=r.height,a=r.naturalWidth,l=r.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&o.zoomable){var c=a*t,h=l*t;if(!1===Ot(this.element,U,{ratio:t,oldRatio:n/a,originalEvent:i}))return this;if(i){var d=this.pointers,p=St(this.cropper),f=d&&Object.keys(d).length?function(t){var e=0,i=0,o=0;return ht(t,(function(t){e+=t.startX,i+=t.startY,o+=1})),{pageX:e/=o,pageY:i/=o}}(d):{pageX:i.pageX,pageY:i.pageY};r.left-=(f.pageX-p.left-r.left)/n*(c-n),r.top-=(f.pageY-p.top-r.top)/s*(h-s)}else st(e)&&et(e.x)&&et(e.y)?(r.left-=(e.x-r.left)/n*(c-n),r.top-=(e.y-r.top)/s*(h-s)):(r.left-=(c-n)/2,r.top-=(h-s)/2);r.width=c,r.height=h,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return et(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,et(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(et(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.imageData,o=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(et(t)&&(i.scaleX=t,o=!0),et(e)&&(i.scaleY=e,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.options,o=this.imageData,r=this.canvasData,n=this.cropBoxData;if(this.ready&&this.cropped){var s=o.width/o.naturalWidth;if(ht(t={x:n.left-r.left,y:n.top-r.top,width:n.width,height:n.height},(function(e,i){t[i]=e/s})),e){var a=Math.round(t.y+t.height),l=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=l-t.x,t.height=a-t.y}}else t={x:0,y:0,width:0,height:0};return i.rotatable&&(t.rotate=o.rotate||0),i.scalable&&(t.scaleX=o.scaleX||1,t.scaleY=o.scaleY||1),t},setData:function(t){var e=this.options,i=this.imageData,o=this.canvasData,r={};if(this.ready&&!this.disabled&&st(t)){var n=!1;e.rotatable&&et(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,n=!0),e.scalable&&(et(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,n=!0),et(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,n=!0)),n&&this.renderCanvas(!0,!0);var s=i.width/i.naturalWidth;et(t.x)&&(r.left=t.x*s+o.left),et(t.y)&&(r.top=t.y*s+o.top),et(t.width)&&(r.width=t.width*s),et(t.height)&&(r.height=t.height*s),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?dt({},this.containerData):{}},getImageData:function(){return this.sized?dt({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&ht(["left","top","width","height","naturalWidth","naturalHeight"],(function(i){e[i]=t[i]})),e},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&st(t)&&(et(t.left)&&(e.left=t.left),et(t.top)&&(e.top=t.top),et(t.width)?(e.width=t.width,e.height=t.width/i):et(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,i,o=this.cropBoxData,r=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&st(t)&&(et(t.left)&&(o.left=t.left),et(t.top)&&(o.top=t.top),et(t.width)&&t.width!==o.width&&(e=!0,o.width=t.width),et(t.height)&&t.height!==o.height&&(i=!0,o.height=t.height),r&&(e?o.height=o.width/r:i&&(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 e=this.canvasData,i=function(t,e,i,o){var r=e.aspectRatio,s=e.naturalWidth,a=e.naturalHeight,l=e.rotate,c=void 0===l?0:l,h=e.scaleX,d=void 0===h?1:h,p=e.scaleY,f=void 0===p?1:p,u=i.aspectRatio,b=i.naturalWidth,g=i.naturalHeight,v=o.fillColor,x=void 0===v?"transparent":v,m=o.imageSmoothingEnabled,w=void 0===m||m,y=o.imageSmoothingQuality,k=void 0===y?"low":y,C=o.maxWidth,M=void 0===C?1/0:C,z=o.maxHeight,j=void 0===z?1/0:z,O=o.minWidth,S=void 0===O?0:O,T=o.minHeight,I=void 0===T?0:T,L=document.createElement("canvas"),E=L.getContext("2d"),N=Rt({aspectRatio:u,width:M,height:j}),A=Rt({aspectRatio:u,width:S,height:I},"cover"),R=Math.min(N.width,Math.max(A.width,b)),_=Math.min(N.height,Math.max(A.height,g)),B=Rt({aspectRatio:r,width:M,height:j}),H=Rt({aspectRatio:r,width:S,height:I},"cover"),P=Math.min(B.width,Math.max(H.width,s)),D=Math.min(B.height,Math.max(H.height,a)),F=[-P/2,-D/2,P,D];return L.width=ft(R),L.height=ft(_),E.fillStyle=x,E.fillRect(0,0,R,_),E.save(),E.translate(R/2,_/2),E.rotate(c*Math.PI/180),E.scale(d,f),E.imageSmoothingEnabled=w,E.imageSmoothingQuality=k,E.drawImage.apply(E,[t].concat(n(F.map((function(t){return Math.floor(ft(t))}))))),E.restore(),L}(this.image,this.imageData,e,t);if(!this.cropped)return i;var o=this.getData(),r=o.x,s=o.y,a=o.width,l=o.height,c=i.width/Math.floor(e.naturalWidth);1!==c&&(r*=c,s*=c,a*=c,l*=c);var h=a/l,d=Rt({aspectRatio:h,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=Rt({aspectRatio:h,width:t.minWidth||0,height:t.minHeight||0},"cover"),f=Rt({aspectRatio:h,width:t.width||(1!==c?i.width:a),height:t.height||(1!==c?i.height:l)}),u=f.width,b=f.height;u=Math.min(d.width,Math.max(p.width,u)),b=Math.min(d.height,Math.max(p.height,b));var g=document.createElement("canvas"),v=g.getContext("2d");g.width=ft(u),g.height=ft(b),v.fillStyle=t.fillColor||"transparent",v.fillRect(0,0,u,b);var x=t.imageSmoothingEnabled,m=t.imageSmoothingQuality;v.imageSmoothingEnabled=void 0===x||x,m&&(v.imageSmoothingQuality=m);var w,y,k,C,M,z,j=i.width,O=i.height,S=r,T=s;S<=-a||S>j?(S=0,w=0,k=0,M=0):S<=0?(k=-S,S=0,M=w=Math.min(j,a+S)):S<=j&&(k=0,M=w=Math.min(a,j-S)),w<=0||T<=-l||T>O?(T=0,y=0,C=0,z=0):T<=0?(C=-T,T=0,z=y=Math.min(O,l+T)):T<=O&&(C=0,z=y=Math.min(l,O-T));var I=[S,T,w,y];if(M>0&&z>0){var L=u/a;I.push(k*L,C*L,M*L,z*L)}return v.drawImage.apply(v,[i].concat(n(I.map((function(t){return Math.floor(ft(t))}))))),g},setAspectRatio:function(t){var e=this.options;return this.disabled||ot(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,i=this.dragBox,o=this.face;if(this.ready&&!this.disabled){var r=t===N,n=e.movable&&t===A;e.dragMode=t=r||n?t:R,kt(i,L,t),xt(i,M,r),xt(i,I,n),e.cropBoxMovable||(kt(o,L,t),xt(o,M,r),xt(o,I,n))}return this}},Yt=l.Cropper,Xt=function(){function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e||!G.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=dt({},J,st(i)&&i),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 e=t,i=[{key:"init",value:function(){var t,e=this.element,i=e.tagName.toLowerCase();if(!e[d]){if(e[d]=this,"img"===i){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===i&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e,i,o,r,n=this;if(t){this.url=t,this.imageData={};var s=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),a.checkOrientation&&window.ArrayBuffer)if(q.test(t))Q.test(t)?this.read((e=t.replace(Bt,""),i=atob(e),o=new ArrayBuffer(i.length),ht(r=new Uint8Array(o),(function(t,e){r[e]=i.charCodeAt(e)})),o)):this.clone();else{var l=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=l,l.onabort=c,l.onerror=c,l.ontimeout=c,l.onprogress=function(){l.getResponseHeader("content-type")!==K&&l.abort()},l.onload=function(){n.read(l.response)},l.onloadend=function(){n.reloading=!1,n.xhr=null},a.checkCrossOrigin&&Lt(t)&&s.crossOrigin&&(t=Et(t)),l.open("GET",t,!0),l.responseType="arraybuffer",l.withCredentials="use-credentials"===s.crossOrigin,l.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,i=this.imageData,o=Ht(t),r=0,n=1,s=1;if(o>1){this.url=function(t,e){for(var i=[],o=new Uint8Array(t);o.length>0;)i.push(_t.apply(null,ct(o.subarray(0,8192)))),o=o.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(i.join("")))}(t,K);var a=function(t){var e=0,i=1,o=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:o=-1;break;case 5:e=90,o=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90}return{rotate:e,scaleX:i,scaleY:o}}(o);r=a.rotate,n=a.scaleX,s=a.scaleY}e.rotatable&&(i.rotate=r),e.scalable&&(i.scaleX=n,i.scaleY=s),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,i=t.crossOrigin,o=e;this.options.checkCrossOrigin&&Lt(e)&&(i||(i="anonymous"),o=Et(e)),this.crossOrigin=i,this.crossOriginUrl=o;var r=document.createElement("img");i&&(r.crossOrigin=i),r.src=o||e,r.alt=t.alt||"The image to crop",this.image=r,r.onload=this.start.bind(this),r.onerror=this.stop.bind(this),gt(r,O),t.parentNode.insertBefore(r,t.nextSibling)}},{key:"start",value:function(){var t=this,e=this.image;e.onload=null,e.onerror=null,this.sizing=!0;var i=l.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(l.navigator.userAgent),o=function(e,i){dt(t.imageData,{naturalWidth:e,naturalHeight:i,aspectRatio:e/i}),t.initialImageData=dt({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||i){var r=document.createElement("img"),n=document.body||document.documentElement;this.sizingImage=r,r.onload=function(){o(r.width,r.height),i||n.removeChild(r)},r.src=e.src,i||(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;",n.appendChild(r))}else o(e.naturalWidth,e.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,e=this.options,i=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 n=r.querySelector(".".concat(d,"-container")),s=n.querySelector(".".concat(d,"-canvas")),a=n.querySelector(".".concat(d,"-drag-box")),l=n.querySelector(".".concat(d,"-crop-box")),c=l.querySelector(".".concat(d,"-face"));this.container=o,this.cropper=n,this.canvas=s,this.dragBox=a,this.cropBox=l,this.viewBox=n.querySelector(".".concat(d,"-view-box")),this.face=c,s.appendChild(i),gt(t,j),o.insertBefore(n,t.nextSibling),vt(i,O),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,gt(l,j),e.guides||gt(l.getElementsByClassName("".concat(d,"-dashed")),j),e.center||gt(l.getElementsByClassName("".concat(d,"-center")),j),e.background&>(n,"".concat(d,"-bg")),e.highlight||gt(c,S),e.cropBoxMovable&&(gt(c,I),kt(c,L,p)),e.cropBoxResizable||(gt(l.getElementsByClassName("".concat(d,"-line")),j),gt(l.getElementsByClassName("".concat(d,"-point")),j)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),at(e.ready)&&jt(t,Z,e.ready,{once:!0}),Ot(t,Z)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),vt(this.element,j)}}},{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=[{key:"noConflict",value:function(){return window.Cropper=Yt,t}},{key:"setDefaults",value:function(t){dt(J,st(t)&&t)}}],i&&o(e.prototype,i),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t;var e,i,r}();return dt(Xt.prototype,Pt,Dt,Ft,Wt,Vt,Zt),Xt}()}));const at=1-.9,lt={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},ct=class{constructor(t){e(this,t),this.vviinnImageCrop=i(this,"vviinnImageCrop",7),this.cropEnd=()=>{n.searchArea=a.some(this.getCropboxData()),p(),n.detectedObject=void 0,this.vviinnImageCrop.emit(this.basicEventData)},this.basicEventData=void 0,this.setShowAspectRatioError=void 0,this.showAspectRatioError=void 0,this.cropper=null,this.hidePreloader=!1}disconnectedCallback(){this.cropper&&this.cropper.destroy()}selectDetectedObject({detail:t}){const{top:e,left:i,width:o,height:r}=t.detectedObject.value.rectangle,n=this.cropper.getImageData();this.cropper.setCropBoxData((t=>{const{width:e,height:i,left:o,top:r}=t,n=82;let s={width:e,height:i,left:o,top:r};return e<n&&(s.width=n,s.left=o-(n-e)/2),i<n&&(s.height=n,s.top=r-(n-i)/2),s})({left:i*n.width,top:e*n.height,width:o*n.width,height:r*n.height}))}getCropboxData(){const{left:t,top:e,width:i,height:o}=this.cropper.getCropBoxData();return{x:t,y:e,width:i,height:o}}loadImage(){const t=this.el.shadowRoot.querySelector("img");if(t){let e={};this.cropper&&(e=this.cropper.getData(!0),this.cropper.destroy());const i=y(t),{x:o,y:r,width:s,height:l}=i,c={x:o,y:r,width:s-s*at,height:l-l*at};if(n.imageBounds=a.some(i),n.searchArea=a.some(c),s/l<.1||l/s<.1)return this.setShowAspectRatioError(!0),void this.el.classList.add("bordered");if(s<90||l<90)return this.el.classList.add("bordered"),void(this.hidePreloader=!0);this.cropper=new st(t,Object.assign(Object.assign({},lt),{cropend:this.cropEnd,data:e}))}}renderDetectedObject(e){return t("vviinn-detected-object",{detectedObject:e,basicEventData:this.basicEventData})}renderImage(){return s.pipe(w(n.imageUrl,n.image),a.map((([e,i])=>{const[o,r]=(t=>{const e=k(t),i=C(288)(e).map((t=>t.size));return[i[0],i[1]]})(i);return t("img",{decoding:"async",width:o,height:r,src:e,draggable:!1,onLoad:()=>this.loadImage()})})),a.getOrElse((()=>null)))}render(){return t(o,null,t("div",{class:"container"},t("div",{class:"image-container"},this.renderImage(),n.detectedObjects.map((t=>this.renderDetectedObject(t)))),!n.loading&&!n.objectDetectionInProgress||this.showAspectRatioError||this.hidePreloader?null:t("div",{class:"image-preloader"},t("vviinn-preloader",null))))}get el(){return r(this)}};ct.style=":host {\n min-height: 160px;\n display: flex;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.32);\n}\n\n:host(.bordered) {\n background-color: transparent;\n border: 1px solid #eaeaea;\n margin-top: 40px;\n}\n\n@media (max-width: 768px) {\n :host {\n min-height: unset;\n }\n\n :host(.bordered) {\n border: none;\n margin-top: 48px;\n }\n}\n\n.container {\n max-width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.image-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n}\n\n.image-container > img {\n display: block;\n max-width: 100%;\n}\n\n.image-preloader {\n background: rgba(0, 0, 0, 0.25);\n border-radius: 4px;\n bottom: 18px;\n right: 18px;\n padding: 4px;\n pointer-events: none;\n color: white;\n position: absolute;\n z-index: 4;\n}\n\nvviinn-preloader {\n --preloader-size: 12px;\n}\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n\n & img {\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.4;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-view-box,\n.cropper-face {\n border-radius: 5px;\n}\n\n.cropper-face,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n left: 0;\n top: 0;\n}\n\n.cropper-point {\n --cropper-point-width: 44px;\n height: var(--cropper-point-width);\n width: var(--cropper-point-width);\n opacity: 1;\n}\n\n.point-e,\n.point-s,\n.point-w,\n.point-n {\n display: none;\n}\n\n.point-ne,\n.point-nw,\n.point-sw,\n.point-se {\n --delta: -9px;\n}\n\n.point-ne {\n cursor: nesw-resize;\n right: var(--delta);\n top: var(--delta);\n}\n\n.point-nw {\n cursor: nwse-resize;\n left: var(--delta);\n top: var(--delta);\n}\n\n.point-sw {\n cursor: nesw-resize;\n bottom: var(--delta);\n left: var(--delta);\n}\n\n.point-se {\n cursor: nwse-resize;\n bottom: var(--delta);\n right: var(--delta);\n}\n\n.cropper-point::before {\n position: absolute;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' fill='none'%3E%3Cpath d='M3 35H23C29.6274 35 35 29.6274 35 23V3' stroke='white' stroke-width='6' stroke-linecap='square'/%3E%3C/svg%3E\");\n display: block;\n pointer-events: none;\n}\n\n.point-ne::before {\n transform: rotate(-90deg);\n left: 0px;\n top: 6px;\n}\n\n.point-nw::before {\n transform: rotate(180deg);\n left: 6px;\n top: 6px;\n}\n\n.point-sw::before {\n transform: rotate(90deg);\n left: 6px;\n top: 0px;\n}\n\n.point-se::before {\n left: 0px;\n top: 0px;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n";const ht=class{constructor(t){e(this,t),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.hideBackButton=!1,this.isFirstScreen=void 0,this.slider=!1}componentWillLoad(){B(this,this.el)}resetTopScroll(){const t=this.el.shadowRoot.querySelector(".body");null==t||t.scroll({top:0})}close(){this.active=!1,setTimeout((()=>{this.vviinnWidgetClose.emit({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:H.VPS,widgetId:this.buttonElementId,widgetVersion:this.widgetVersion})}),this.slider?500:0)}handleAnimationEnd(t){"fade-in"===t.animationName&&(this.slider=!0)}renderImage(){return s.pipe(w(n.imageUrl,n.image),a.map((([e])=>t("img",{width:"28",height:"28",src:e,class:"title-image"}))),a.getOrElse((()=>null)))}render(){return t(o,{exportparts:"secondary-action, title, close-button",class:{closed:!this.active,"first-screen":this.isFirstScreen},onAnimationEnd:t=>this.handleAnimationEnd(t)},t("div",{class:"head"},!this.hideBackButton&&t("button",{part:"secondary-action",onClick:()=>{this.resetState(),this.resetTopScroll()}},t(q,null)),t("div",{class:"title",part:"title"},this.renderImage(),t("slot",{name:"vviinn-image-search-modal-title"},L.t("imageSearchModalTitle"))),t("button",{onClick:()=>this.close(),class:"close-button",part:"close-button"},t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 13.3892L6.91958 18.4696C6.72248 18.6667 6.49095 18.7653 6.225 18.7653C5.95905 18.7653 5.72753 18.6667 5.53043 18.4696C5.33333 18.2725 5.23478 18.041 5.23478 17.775C5.23478 17.5091 5.33333 17.2776 5.53043 17.0805L10.6109 12L5.53043 6.9196C5.33333 6.7225 5.23478 6.49098 5.23478 6.22503C5.23478 5.95908 5.33333 5.72755 5.53043 5.53045C5.72753 5.33335 5.95905 5.2348 6.225 5.2348C6.49095 5.2348 6.72248 5.33335 6.91958 5.53045L12 10.6109L17.0804 5.53045C17.2775 5.33335 17.5091 5.2348 17.775 5.2348C18.041 5.2348 18.2725 5.33335 18.4696 5.53045C18.6667 5.72755 18.7652 5.95908 18.7652 6.22503C18.7652 6.49098 18.6667 6.7225 18.4696 6.9196L13.3892 12L18.4696 17.0805C18.6667 17.2776 18.7652 17.5091 18.7652 17.775C18.7652 18.041 18.6667 18.2725 18.4696 18.4696C18.2725 18.6667 18.041 18.7653 17.775 18.7653C17.5091 18.7653 17.2775 18.6667 17.0804 18.4696L12 13.3892Z",fill:"currentColor"})))),t("div",{class:"body"},t("slot",null)))}get el(){return r(this)}};ht.style=":host{background:white;border-radius:24px;box-sizing:border-box;display:grid;grid-template-rows:min-content auto;max-width:960px;overflow:auto;position:relative}.head{position:absolute;width:100%;box-sizing:border-box;display:flex;align-items:center;z-index:1;padding:16px}.title{display:flex;align-items:center;transform:translateX(-6px);font-weight:600;font-size:18px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;padding:6px;color:#8d8d8d}button:hover{color:#000}@media (max-width: 768px){:host{animation-name:fade-in;animation-duration:0.5s;animation-fill-mode:forwards;border-radius:24px 24px 0 0}:host(.closed){animation-name:fade-out;animation-fill-mode:none}.head{z-index:1}:host(:not(.first-screen)) .head{position:sticky;background:#ffffff}.body{overflow-y:auto}:host(:not(.first-screen)) .body{padding-bottom:160px}.title{color:#161616;display:flex;align-items:center;font-weight:500;font-size:16px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;color:#6f6f6f;padding:0}button:hover{color:#000}:host(.first-screen) button,:host(.first-screen) button:hover{color:white}}@keyframes fade-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-out{from{transform:translateY(0)}to{transform:translateY(100%)}}";const dt=class{constructor(t){e(this,t)}render(){return t(o,null,t("slot",null))}};dt.style=":host{animation:fade-in 0.5s ease-in-out;background:rgba(0, 0, 0, 0.5);display:block;height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:9999}@keyframes fade-in{from{opacity:0.1}to{opacity:1}}";const pt=class{constructor(t){e(this,t),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.hideBackButton=!1,this.widgetVersion=void 0,this.isFirstScreen=void 0}render(){return t(o,{class:{active:this.active}},t("vviinn-overlay",null,t("vviinn-modal",{resetState:this.resetState,active:this.active,buttonElementId:this.buttonElementId,hideBackButton:this.hideBackButton,widgetVersion:this.widgetVersion,isFirstScreen:this.isFirstScreen},t("slot",null,"CONTENT"))))}};pt.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 ft=class{constructor(t){e(this,t),this.privacyBadgeText=void 0}componentWillLoad(){B(this,this.el)}render(){return t(o,null,t("slot",{name:"vviinn-privacy-badge-text"},t("div",{innerHTML:this.privacyBadgeText})))}get el(){return r(this)}};ft.style=":host{color:#525252;font-size:12px;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 ut=function(t,e){var i={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(i[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(i[o[r]]=t[o[r]])}return i};const bt=class{constructor(t){e(this,t),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnResultLoad=i(this,"vviinnResultLoad",7),this.vviinnResultView=i(this,"vviinnResultView",7),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnSearchIdReceived=i(this,"vviinnSearchIdReceived",7),this.vviinnTextSearchStarted=i(this,"vviinnTextSearchStarted",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.getResultsBySearchId=async t=>{t&&!this.showInWidget&&(M.apiPath=this.apiPath,s.pipe(await z(this.token,t),j((()=>[])),(t=>{this.recommendations=t})))},this.searchIdReceivedHandler=({detail:t})=>{this.getResultsBySearchId(t.searchId)},this.textSearchStartedHandler=({detail:t})=>{this.showInWidget||(this.getResultsByTextQuery(t.query),this.innerTextSearchQuery=t.query)},this.filtersChangedHandler=({detail:t})=>{var e;this.getResultsByTextQuery(null!==(e=this.textSearchQuery)&&void 0!==e?e:this.innerTextSearchQuery,t.filters)},this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:H.VPS,widgetId:this.widgetElementId,widgetVersion:Y}),this.token=void 0,this.searchId=void 0,this.uiSessionId=void 0,this.imageResolutionWidth=500,this.currencySign="€",this.locale="de-DE",this.productDetailsNewTab=!1,this.productDetailsRedirect=!0,this.textSearchQuery=void 0,this.filterColumn="product_type",this.filterValue=void 0,this.resultsCount=void 0,this.showInWidget=!1,this.apiPath="https://api.vviinn.com",this.buttonElementId=void 0,this.widgetElementId=void 0,this.showAspectRatioError=void 0,this.trackingDeactivated=!1,this.resetState=void 0,this.replaceSlotsContentInWidget=void 0,this.replaceSlotsContentInButton=void 0,this.recommendations=[],this.innerTextSearchQuery=void 0,this.slotsReplaced=void 0}replaceSlotsContent(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}async componentWillLoad(){B(this,this.el),this.showInWidget||await L.init({lng:this.locale,fallbackLng:"en",resources:E})}componentDidRender(){this.replaceSlotsContentInButton?this.replaceSlotsContentInButton():this.showInWidget?this.replaceSlotsContentInWidget():this.replaceSlotsContent()}async getResultsByTextQuery(t,e){if(t)return M.apiPath=this.apiPath,this.showInWidget?s.pipe(await O(this.token,t,e),j((()=>null)),(t=>t)):s.pipe(await S(this.token,t,e,this.resultsCount),j((()=>null)),(t=>{var e,i,o;this.recommendations=null!==(i=null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.products)&&void 0!==i?i:[],this.vviinnFilters.emit(null===(o=null==t?void 0:t.data)||void 0===o?void 0:o.interactions.dynamicFilters)}))}async getResultsByCategory(){this.filterColumn&&this.filterValue&&!this.showInWidget&&(M.apiPath=this.apiPath,s.pipe(await T(this.token,this.filterColumn,this.filterValue,this.resultsCount),j((()=>null)),(t=>{var e,i;this.recommendations=null!==(i=null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.products)&&void 0!==i?i:[]})))}connectedCallback(){this.trackingApi=N(this.apiPath,this.token),this.uiSessionId||(this.uiSessionId=A()),document.addEventListener("vviinnSearchIdReceived",this.searchIdReceivedHandler),document.addEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.addEventListener("vviinnFiltersChanged",this.filtersChangedHandler),this.getResultsBySearchId(this.searchId),this.getResultsByCategory(),!this.showInWidget&&this.getResultsByTextQuery(this.textSearchQuery)}disconnectedCallback(){document.removeEventListener("vviinnSearchIdReceived",this.searchIdReceivedHandler),document.removeEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.removeEventListener("vviinnFiltersChanged",this.filtersChangedHandler)}watchTextSearchQuery(t){this.showInWidget||this.getResultsByTextQuery(t)}trackProductLoad({detail:t}){const e=this.getProductTrackEvent(t,"load");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackProductView({detail:t}){n.resultViewed||(this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"),n.resultViewed=!0);const e=this.getProductTrackEvent(t,"view");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:e,clickEvent:i}=t,o=this.getProductTrackEvent(t,"click"),r=this.findProductById(e);r&&r.deeplink&&(this.trackingDeactivated?this.handleOpenLink(r.deeplink,i):await this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(r.deeplink,i)})))}async trackAuxClick({detail:t}){const{productId:e}=t,i=this.getProductTrackEvent(t,"click"),o=this.findProductById(e);o&&o.deeplink&&(this.trackingDeactivated||await this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated))}trackResultEvent(t){if(this.trackingDeactivated)return;const e=this.getBasicEventData(),i=ut(e,["campaignTypeId","widgetType"]);let o=R(t)(Object.assign({session_id:this.uiSessionId},i));this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated)}findProductById(t){return(this.recommendations.length?this.recommendations:n.results).find((e=>e.productId===t))}handleOpenLink(t,e){if(this.productDetailsRedirect)if(this.productDetailsNewTab||e.ctrlKey||e.metaKey){let e=window.open();e?e.location.href=t:window.location.href=t}else window.location.href=t}getProductTrackEvent(t,e){if(this.trackingDeactivated)return null;const{productRank:i,productId:o}=t,r=ut(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]),n=Object.assign({session_id:this.uiSessionId,rank:i,product:o},r);return _(e)(n)}renderResults(){const e=this.showInWidget?n.results:this.recommendations;return 0===e.length?null:(n.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),n.resultLoaded=!0),e.map(((e,i)=>{var o;return t("vviinn-product-card",{key:e.productId,index:i,productTitle:e.title,productId:e.productId,productType:e.productType,brand:e.brand,deeplink:e.deeplink,price:e.price.actual,salePrice:e.price.sale,responsive:!0,imageWidth:this.imageResolutionWidth,image:null!==(o=e.image.thumbnail)&&void 0!==o?o:e.image.original,energyCertifications:e.energyCertifications,part:"product-card",campaignTypeId:"VPS",widgetElementId:this.widgetElementId,buttonElementId:this.buttonElementId,widgetVersion:Y,currency:this.currencySign,locale:this.locale,priceLabel:D(e),isResultsWidget:!0})})))}render(){return t(o,{id:"results-block",class:{"show-in-widget":this.showInWidget},exportparts:"brand, deeplink, currency, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title, product-card, price-label, price-label-0, price-label-1, price-label-2, price-label-3, price-label-4"},t("div",{class:{"nothing-found":!0,hidden:this.recommendations.length>0||n.results.length>0||!this.showInWidget}},t("vviinn-empty-results",{handler:()=>null==this?void 0:this.resetState()})),t("div",{class:{"nothing-found":!0,hidden:!this.showAspectRatioError||!this.showInWidget}},t("vviinn-wrong-aspect-ratio",{handler:()=>null==this?void 0:this.resetState()})),t("div",{class:{hidden:this.showAspectRatioError||0===this.recommendations.length&&0===n.results.length,products:!0}},this.renderResults()))}get el(){return r(this)}static get watchers(){return{textSearchQuery:["watchTextSearchQuery"]}}};bt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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%}.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:24px;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}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute}.hidden{visibility:hidden;height:1px}products.hidden{display:none}@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;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 380px){.products{grid-gap:24px 10px}}";const gt=class{constructor(t){e(this,t),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.handleSetFilters=({detail:t})=>{this.filters=t},this.handleFiltersChanged=({detail:t})=>{const{filters:e,el:i}=t;i!==this.el&&(this.requestFilters=e)},this.showInWidget=!1,this.filters=[],this.requestFilters=[]}handleSubFilterSelection(t,e){this.requestFilters=F(this.requestFilters,e,t),W([...this.requestFilters],this.el,this.vviinnFiltersChanged)}connectedCallback(){document.addEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}disconnectedCallback(){document.removeEventListener("vviinnFilters",this.handleSetFilters),document.removeEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}render(){let e=[];return this.filters.forEach((t=>{"values"in t&&t.values.forEach((({value:i,label:o,active:r})=>{V(this.requestFilters,i,t)&&r&&e.push(Z(this.handleSubFilterSelection.bind(this),i,o,r,t,!0,!0))}))})),t(o,{class:{"show-in-widget":this.showInWidget}},e.length>0&&t("ul",{class:"selected-filters-wrapper",part:"selected-filters-list"},e))}get el(){return r(this)}};gt.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;font-family:var(--font-family-base);font-style:normal}:host(.show-in-widget){padding-left:24px}.filters-modal-list,.sub-filters-wrapper,.main-filters-list,.filters-modal-sub-list,.selected-filters-wrapper{list-style:none;margin:0;padding:0}.main-filters-list{padding:var(--spacing-25);gap:var(--spacing-25);border-radius:8px;background:var(--surface-bg-color-01);display:inline-flex}.filters-modal-main-button,.filters-sub-button,.filters-main-button,.filters-modal-close,.filters-sub-button-selected{cursor:pointer;border:none}.filters-sub-button,.filters-main-button{font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);display:flex;justify-content:center;align-items:center;border-radius:6px}.filters-main-button{padding:var(--spacing-100);color:var(--color-text-helper);background:none}.filters-main-button.active,.filters-main-button:hover{background:var(--surface-bg-color-02);color:var(--color-text-primary)}.sub-filters-wrapper,.selected-filters-wrapper{gap:var(--spacing-100);display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.sub-filters-wrapper{gap:var(--spacing-100);margin-top:16px;margin:16px -2px 0}.sub-filters-wrapper>li{padding:2px}.selected-filters-wrapper{margin-top:10px;gap:var(--spacing-100);flex-wrap:wrap}:host(.show-in-widget) .selected-filters-wrapper{flex-wrap:unset;overflow-x:auto}:host(.show-in-widget) .sub-filters-wrapper,:host(.show-in-widget) .selected-filters-wrapper{transform:translateX(-24px);padding-left:24px;padding-right:24px;width:calc(100% - 24px)}@media (max-width: 768px){.sub-filters-wrapper,.selected-filters-wrapper{flex-wrap:unset;overflow-x:auto;padding-bottom:0}.sub-filters-wrapper,.selected-filters-wrapper{margin-top:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sub-filters-wrapper::-webkit-scrollbar,.selected-filters-wrapper::-webkit-scrollbar{display:none}}.filters-sub-button{color:var(--color-text-primary);background:var(--surface-bg-color-01);padding:var(--spacing-100);gap:var(--spacing-25);height:100%}.filters-sub-button>span,.filters-sub-button-selected>span{display:inline-flex;justify-content:center;align-items:center;gap:var(--spacing-25);white-space:nowrap}.filters-sub-button>span>span,.filters-sub-button-selected>span>span{padding:2px}.filters-sub-button:hover{background:var(--surface-bg-color-01-hover)}.filters-sub-button:disabled{cursor:not-allowed;background:var(--surface-bg-color-disabled);color:var(--color-text-disabled)}.filters-more-button{display:flex;padding:var(--spacing-100);gap:var(--spacing-50);border-radius:var(--border-radius-100);align-items:flex-start;background:var(--button-bg-color-secondary);border:none;cursor:pointer}.filters-modal.filters-modal-button{display:none;position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(0, 0, 0, 0.5);z-index:98}.filters-modal.filters-modal-preview{display:block}.filters-modal.open{display:block}.filters-modal-wrapper{display:flex;flex-direction:column}.filters-modal.filters-modal-button .filters-modal-wrapper{position:fixed;top:0;bottom:0;right:0;width:420px;background-color:#ffffff;z-index:99;border-radius:32px 0px 0px 32px}@media (max-width: 768px){.filters-modal.filters-modal-button .filters-modal-wrapper{width:100%;top:20%;border-radius:32px 32px 0px 0px}}.filters-modal-header{position:relative;padding:20px 0;color:var(--color-text-primary);text-align:center;font-size:var(--font-size-headline);font-weight:var(--font-weight-500);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-headline);border-bottom:1px solid var(--color-border-01);display:flex;justify-content:center;gap:5px}.filters-modal-list{margin:4px 0 0 24px;flex:1;overflow-y:auto;padding-bottom:20px}.filters-modal-list>li{padding-right:24px}.filters-modal-main-button-wrapper{border-bottom:1px solid var(--color-border-01);padding:20px 0}.filters-modal-main-button{width:100%;background:none;text-align:left;padding:0;color:var(--color-text-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-sub-list{display:none;margin:0 -6px}.filters-modal-sub-list>li{display:inline-block;margin:0 4px}.filters-modal-sub-list-inline{margin:0 -6px}.filters-modal-sub-list-inline>li{margin:0 6px}.filters-modal-sub-list.open{display:block}.filters-modal-sub-list>li{margin-top:10px;padding:2px}.filters-modal.filters-modal-button .filters-modal-close{position:absolute;right:0;top:15px;cursor:pointer;background:none}.filters-modal.filters-modal-preview .filters-modal-close{display:none}.filters-more-modal-button{background:none;border:none;cursor:pointer;display:flex;padding:var(--spacing-100);align-items:center;gap:var(--spacing-25);border-radius:var(--border-radius-100);background:var(--surface-bg-color-01);color:var(--color-text-primary)}.filters-more-modal-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.filters-more-modal-button>span{display:flex;align-items:center;justify-content:center;gap:var(--spacing-25)}.filters-more-modal-button>span>span{padding:2px}.filters-more-modal-button:disabled{cursor:not-allowed;opacity:0.5}.filters-modal-actions{border-top:1px solid var(--color-border-01);padding:var(--spacing-250);z-index:10;background:#ffffff;border-radius:0px 0px 0px 32px}.filters-modal-apply{cursor:pointer;width:100%;border:none;display:flex;padding:var(--spacing-150);justify-content:center;align-items:center;gap:var(--spacing-50);align-self:stretch;color:var(--color-text-inverse);text-align:center;border-radius:var(--border-radius-150);background:var(--button-bg-color-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-apply:disabled{background:var(--button-bg-color-disabled);color:var(--color-text-disabled)}.filters-modal-reset{background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;margin-top:20px;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.selected-filters-wrapper>li{border-radius:var(--border-radius-100);background:var(--surface-bg-color-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-100)}.filters-sub-button-selected{display:flex;align-items:center;gap:var(--spacing-25);background:var(--surface-bg-color-inverse);border-radius:var(--border-radius-100);color:var(--color-text-inverse);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);padding:var(--spacing-100)}.selected-filters-wrapper>li .filters-sub-button-selected{padding:0}.filters-sub-button-color{width:40px;height:40px;border:2px solid var(--color-border-01);outline:2px solid var(--color-border-01);border-radius:20px}.filters-sub-button-color:disabled{opacity:0.25}.selected-filters-wrapper .filters-sub-button-selected.filters-sub-button-color{width:24px;height:24px;border:none}.filters-sub-button-color>span{display:none}.filters-sub-button-color.active{border:2px solid #fff;outline:2px solid #000}.filters-modal-main-button-added-options{color:var(--color-text-secondary);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.filters-modal-main-button-added-options>span::after{content:", "}.filters-modal-main-button-added-options>span:last-child::after{content:""}';const vt=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("serverErrorBlock.title")),t("button",{slot:"action",onClick:this.handler},L.t("serverErrorBlock.button"))))}},xt=class{constructor(t){e(this,t)}render(){return t(o,null,t("slot",null))}};xt.style=":host{display:grid;justify-items:center}";const mt=({kind:e,tabindex:i,disabled:o,onClick:r,onKeyDown:n})=>{return t("div",{class:(s={kind:e,disabled:o},{"arrow-wrapper":!0,[s.kind]:!0,disabled:s.disabled}),onClick:r,tabindex:i,onKeyDown:n},t(X,null));var s},wt=class{constructor(t){e(this,t),this.elementsCount=0,this.internalPosition=0,this.swipeStartPosition=a.none,this.isRTL=!1,this.showBullets=!0,this.position=0,this.showArrows=!1}positionWatchHandler(t){this.internalPosition=t,this.el.style.setProperty("--position",`${this.calculatePosition(t)}`),this.setActiveCssClassToSlide(t)}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.handleDomContentChanges()}handleDomContentChanges(){const t=this.el.querySelectorAll("vviinn-slide");this.elementsCount=t.length,this.el.style.setProperty("--num-items",`${this.elementsCount}`),this.setActiveCssClassToSlide(0)}setActiveCssClassToSlide(t){const e=this.el.querySelectorAll("vviinn-slide");e.forEach((t=>t.classList.remove("active"))),e[t].classList.add("active")}goToSlide(t){this.internalPosition=t,this.el.style.setProperty("--position",`${t}`),this.setActiveCssClassToSlide(t)}renderBullets(){return this.showBullets?t("div",{class:"controls"},I.range(0,this.elementsCount-1).map((e=>t("div",{class:{bullet:!0,active:e==Math.abs(this.internalPosition)%this.elementsCount},onClick:()=>this.goToSlide(e)})))):null}nextSlide(){this.internalPosition++,this.renderSlidePosition()}prevSlide(){const t=this.internalPosition-1;this.internalPosition=t>-1?t:this.elementsCount-1,this.renderSlidePosition()}renderSlidePosition(){const t=this.internalPosition%this.elementsCount;requestAnimationFrame((()=>{this.el.style.setProperty("--position",`${this.calculatePosition(t)}`)}))}calculatePosition(t){return this.isRTL?-1*t:t}handleKeyDown(t){if("Space"===t.key||"Enter"===t.key)switch(t.target.className.includes("prev")?"prev":"next"){case"prev":this.prevSlide();break;case"next":this.nextSlide()}}handleTouchStart(t){this.showBullets&&(this.swipeStartPosition=s.pipe(t.touches[0],a.fromNullable,a.map((t=>t.clientX))))}handleTouchEnd(t){if(!this.showBullets)return;const e=s.pipe(t.changedTouches[0],a.fromNullable,a.map((t=>t.clientX)));s.pipe(w(this.swipeStartPosition,e),a.map((([t,e])=>{return(i=t)<(o=e)?-1:i>o?1:0;var i,o})),a.map((t=>{switch(t){case 1:return this.nextSlide();case-1:return this.prevSlide()}})))}render(){return t(o,null,t("div",{class:"items-wrapper"},t("div",{class:"items",onTouchStart:t=>this.handleTouchStart(t),onTouchEnd:t=>this.handleTouchEnd(t)},t("slot",null))),this.showArrows?[t(mt,{kind:"prev",onClick:()=>this.isRTL?this.nextSlide():this.prevSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:1,disabled:!1}),t(mt,{kind:"next",onClick:()=>this.isRTL?this.prevSlide():this.nextSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:0,disabled:!1})]:null,this.renderBullets())}get el(){return r(this)}static get watchers(){return{position:["positionWatchHandler"]}}};wt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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 yt=class{constructor(t){e(this,t)}componentWillLoad(){B(this,this.el)}render(){return t(o,null,t("slot",null,t("span",{class:"vviinn-teaser-text"},t("slot",{name:"vviinn-teaser-text"},L.t("teaserText")))))}get el(){return r(this)}};yt.style=":host{align-items:center;display:grid;justify-items:center;grid-gap:16px}.vviinn-teaser-text{font-size:22px;font-weight:600;line-height:28px;text-align:center;white-space:pre-line}";const kt=class{constructor(t){e(this,t),this.vviinnTextSearchStarted=i(this,"vviinnTextSearchStarted",7),this.vviinnSearchIdReceived=i(this,"vviinnSearchIdReceived",7),this.vviinnTextSearchFinished=i(this,"vviinnTextSearchFinished",7),this.setSearchQuery=t=>{this.searchQuery=t},this.token=void 0,this.locale="de-DE",this.mode="text",this.showInWidget=!1,this.searchQuery=void 0,this.apiPath="https://api.vviinn.com"}async componentWillLoad(){await L.init({lng:this.locale,fallbackLng:"en",resources:E}),B(this,this.el)}imageUploadFinished({detail:t}){this.showInWidget||this.vviinnSearchIdReceived.emit({searchId:t.searchId})}handleInputChange(t){this.setSearchQuery(t.target.value)}async handleTextSearch(){this.searchQuery&&(this.showInWidget?(await O(this.token,this.searchQuery),this.vviinnTextSearchFinished.emit({query:this.searchQuery})):this.vviinnTextSearchStarted.emit({query:this.searchQuery}))}handleKeyPress(t){"Enter"===t.key&&this.handleTextSearch()}render(){return t(o,{exportparts:"text-search-input"},t("input",{class:{"text-search-input":!0,"text-search-input--with-icon":"textAndImage"===this.mode},part:"text-search-input",type:"text",placeholder:L.t("textSearchPlaceholder"),value:this.searchQuery,onInput:t=>this.handleInputChange(t),onKeyUp:t=>this.handleKeyPress(t)}),t("button",{class:"text-search-button",onClick:()=>this.handleTextSearch(),disabled:n.loading},n.loading&&"text"===n.searchType&&this.showInWidget?t("vviinn-preloader",null):t("slot",{name:"vviinn-text-search-icon"},t(Q,null))),"textAndImage"===this.mode&&t("vviinn-image-selector",{token:this.token,apiPath:this.apiPath,showInTextSearch:!0},t("span",{slot:"upload-button-text"},t(U,null))))}get el(){return r(this)}};kt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;position:relative;width:100%}.text-search-input{width:100%;height:48px;padding:0 62px 0 16px;font-size:16px;box-sizing:border-box;font-style:normal;font-weight:400;border-radius:8px;border:1px solid var(--color-border-02);transition:border-color 0.2s;outline:none;overflow:hidden}.text-search-input--with-icon{padding-right:96px}.text-search-input::-moz-placeholder{color:#a8a8a8}.text-search-input::placeholder{color:#a8a8a8}.text-search-input:focus,.text-search-input:active{border-color:#8d8d8d}.text-search-button{position:absolute;right:1px;top:1px;border:none;border-radius:0 7px 7px 0;width:46px;height:46px;display:flex;justify-content:center;align-items:center;background-color:#f4f4f4;transition:background-color 0.2s;cursor:pointer}.text-search-button:not(:disabled):hover{background-color:#e0e0e0}.text-search-button:disabled{cursor:unset}vviinn-image-selector{position:absolute;right:60px;top:14px}vviinn-preloader{--preloader-size:16px;display:flex;color:#525252}";const Ct=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("wrongAspectRatioBlock.title")),t("button",{slot:"action",onClick:this.handler},L.t("wrongAspectRatioBlock.button"))))}},Mt=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("wrongFormatBlock.title")),t("span",{slot:"text"},L.t("wrongFormatBlock.text")),t("button",{slot:"action",onClick:this.handler},L.t("wrongFormatBlock.button"))))}};export{et as search_filters,it as vviinn_detected_object,ot as vviinn_empty_results,rt as vviinn_example_image,nt as vviinn_image_selector,ct as vviinn_image_view,ht as vviinn_modal,dt as vviinn_overlay,pt as vviinn_overlayed_modal,ft as vviinn_privacy_badge,bt as vviinn_results,gt as vviinn_selected_filters,vt as vviinn_server_error,xt as vviinn_slide,wt as vviinn_slider,yt as vviinn_teaser,kt as vviinn_text_search,Ct as vviinn_wrong_aspect_ratio,Mt as vviinn_wrong_format}
|
|
11
|
+
t.exports=function(){function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function e(e){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?t(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function i(t){return i="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},i(t)}function o(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t){return function(t){if(Array.isArray(t))return s(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return s(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?s(t,e):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 s(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i<e;i++)o[i]=t[i];return o}var a="undefined"!=typeof window&&void 0!==window.document,l=a?window:{},c=!(!a||!l.document.documentElement)&&"ontouchstart"in l.document.documentElement,h=!!a&&"PointerEvent"in l,d="cropper",p="all",f="crop",u="move",b="zoom",g="e",v="w",x="s",m="n",w="ne",y="nw",k="se",C="sw",M="".concat(d,"-crop"),z="".concat(d,"-disabled"),j="".concat(d,"-hidden"),O="".concat(d,"-hide"),S="".concat(d,"-invisible"),T="".concat(d,"-modal"),I="".concat(d,"-move"),L="".concat(d,"Action"),E="".concat(d,"Preview"),N="crop",A="move",R="none",_="crop",B="cropend",H="cropmove",P="cropstart",D="dblclick",F=h?"pointerdown":c?"touchstart":"mousedown",W=h?"pointermove":c?"touchmove":"mousemove",V=h?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",Z="ready",Y="resize",X="wheel",U="zoom",K="image/jpeg",$=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,q=/^data:/,Q=/^data:image\/jpeg;base64,/,G=/^img|canvas$/i,J={viewMode:0,dragMode:N,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||l.isNaN;function et(t){return"number"==typeof t&&!tt(t)}var it=function(t){return t>0&&t<1/0};function ot(t){return void 0===t}function rt(t){return"object"===i(t)&&null!==t}var nt=Object.prototype.hasOwnProperty;function st(t){if(!rt(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&nt.call(i,"isPrototypeOf")}catch(t){return!1}}function at(t){return"function"==typeof t}var lt=Array.prototype.slice;function ct(t){return Array.from?Array.from(t):lt.call(t)}function ht(t,e){return t&&at(e)&&(Array.isArray(t)||et(t.length)?ct(t).forEach((function(i,o){e.call(t,i,o,t)})):rt(t)&&Object.keys(t).forEach((function(i){e.call(t,t[i],i,t)}))),t}var dt=Object.assign||function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),o=1;o<e;o++)i[o-1]=arguments[o];return rt(t)&&i.length>0&&i.forEach((function(e){rt(e)&&Object.keys(e).forEach((function(i){t[i]=e[i]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ft(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*e)/e:t}var ut=/^width|height|left|top|marginLeft|marginTop$/;function bt(t,e){var i=t.style;ht(e,(function(t,e){ut.test(e)&&et(t)&&(t="".concat(t,"px")),i[e]=t}))}function gt(t,e){if(e)if(et(t.length))ht(t,(function(t){gt(t,e)}));else if(t.classList)t.classList.add(e);else{var i=t.className.trim();i?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e}}function vt(t,e){e&&(et(t.length)?ht(t,(function(t){vt(t,e)})):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function xt(t,e,i){e&&(et(t.length)?ht(t,(function(t){xt(t,e,i)})):i?gt(t,e):vt(t,e))}var mt=/([a-z\d])([A-Z])/g;function wt(t){return t.replace(mt,"$1-$2").toLowerCase()}function yt(t,e){return rt(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(wt(e)))}function kt(t,e,i){rt(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(wt(e)),i)}var Ct=/\s\s*/,Mt=function(){var t=!1;if(a){var e=!1,i=function(){},o=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});l.addEventListener("test",i,o),l.removeEventListener("test",i,o)}return t}();function zt(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=i;e.trim().split(Ct).forEach((function(e){if(!Mt){var n=t.listeners;n&&n[e]&&n[e][i]&&(r=n[e][i],delete n[e][i],0===Object.keys(n[e]).length&&delete n[e],0===Object.keys(n).length&&delete t.listeners)}t.removeEventListener(e,r,o)}))}function jt(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=i;e.trim().split(Ct).forEach((function(e){if(o.once&&!Mt){var n=t.listeners,s=void 0===n?{}:n;r=function(){delete s[e][i],t.removeEventListener(e,r,o);for(var n=arguments.length,a=new Array(n),l=0;l<n;l++)a[l]=arguments[l];i.apply(t,a)},s[e]||(s[e]={}),s[e][i]&&t.removeEventListener(e,s[e][i],o),s[e][i]=r,t.listeners=s}t.addEventListener(e,r,o)}))}function Ot(t,e,i){var o;return at(Event)&&at(CustomEvent)?o=new CustomEvent(e,{detail:i,bubbles:!0,cancelable:!0}):(o=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i),t.dispatchEvent(o)}function St(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var Tt=l.location,It=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function Lt(t){var e=t.match(It);return null!==e&&(e[1]!==Tt.protocol||e[2]!==Tt.hostname||e[3]!==Tt.port)}function Et(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function Nt(t){var e=t.rotate,i=t.scaleX,o=t.scaleY,r=t.translateX,n=t.translateY,s=[];et(r)&&0!==r&&s.push("translateX(".concat(r,"px)")),et(n)&&0!==n&&s.push("translateY(".concat(n,"px)")),et(e)&&0!==e&&s.push("rotate(".concat(e,"deg)")),et(i)&&1!==i&&s.push("scaleX(".concat(i,")")),et(o)&&1!==o&&s.push("scaleY(".concat(o,")"));var a=s.length?s.join(" "):"none";return{WebkitTransform:a,msTransform:a,transform:a}}function At(t,i){var o=t.pageX,r=t.pageY,n={endX:o,endY:r};return i?n:e({startX:o,startY:r},n)}function Rt(t){var e=t.aspectRatio,i=t.height,o=t.width,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",n=it(o),s=it(i);if(n&&s){var a=i*e;"contain"===r&&a>o||"cover"===r&&a<o?i=o/e:o=i*e}else n?i=o/e:s&&(o=i*e);return{width:o,height:i}}var _t=String.fromCharCode;var Bt=/^data:.*,/;function Ht(t){var e,i=new DataView(t);try{var o,r,n;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var s=i.byteLength,a=2;a+1<s;){if(255===i.getUint8(a)&&225===i.getUint8(a+1)){r=a;break}a+=1}if(r){var l=r+10;if("Exif"===function(t,e,i){var o="";i+=e;for(var r=e;r<i;r+=1)o+=_t(t.getUint8(r));return o}(i,r+4,4)){var c=i.getUint16(l);if(((o=18761===c)||19789===c)&&42===i.getUint16(l+2,o)){var h=i.getUint32(l+4,o);h>=8&&(n=l+h)}}}if(n){var d,p,f=i.getUint16(n,o);for(p=0;p<f;p+=1)if(274===i.getUint16(d=n+12*p+2,o)){e=i.getUint16(d+=8,o),i.setUint16(d,1,o);break}}}catch(t){e=1}return e}var Pt={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,i=this.container,o=this.cropper,r=Number(e.minContainerWidth),n=Number(e.minContainerHeight);gt(o,j),vt(t,j);var s={width:Math.max(i.offsetWidth,r>=0?r:200),height:Math.max(i.offsetHeight,n>=0?n:100)};this.containerData=s,bt(o,{width:s.width,height:s.height}),gt(t,j),vt(o,j)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,o=Math.abs(e.rotate)%180==90,r=o?e.naturalHeight:e.naturalWidth,n=o?e.naturalWidth:e.naturalHeight,s=r/n,a=t.width,l=t.height;t.height*s>t.width?3===i?a=t.height*s:l=t.width/s:3===i?l=t.width/s:a=t.height*s;var c={aspectRatio:s,naturalWidth:r,naturalHeight:n,width:a,height:l};this.canvasData=c,this.limited=1===i||2===i,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=dt({},c)},limitCanvas:function(t,e){var i=this.options,o=this.containerData,r=this.canvasData,n=this.cropBoxData,s=i.viewMode,a=r.aspectRatio,l=this.cropped&&n;if(t){var c=Number(i.minCanvasWidth)||0,h=Number(i.minCanvasHeight)||0;s>1?(c=Math.max(c,o.width),h=Math.max(h,o.height),3===s&&(h*a>c?c=h*a:h=c/a)):s>0&&(c?c=Math.max(c,l?n.width:0):h?h=Math.max(h,l?n.height:0):l&&((h=n.height)*a>(c=n.width)?c=h*a:h=c/a));var d=Rt({aspectRatio:a,width:c,height:h});h=d.height,r.minWidth=c=d.width,r.minHeight=h,r.maxWidth=1/0,r.maxHeight=1/0}if(e)if(s>(l?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),l&&this.limited&&(r.minLeft=Math.min(n.left,n.left+(n.width-r.width)),r.minTop=Math.min(n.top,n.top+(n.height-r.height)),r.maxLeft=n.left,r.maxTop=n.top,2===s&&(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,e){var i=this.canvasData,o=this.imageData;if(e){var r=function(t){var e=t.width,i=t.height,o=t.degree;if(90==(o=Math.abs(o)%180))return{width:i,height:e};var r=o%90*Math.PI/180,n=Math.sin(r),s=Math.cos(r),a=e*s+i*n,l=e*n+i*s;return o>90?{width:l,height:a}:{width:a,height:l}}({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),n=r.width,s=r.height,a=i.width*(n/i.naturalWidth),l=i.height*(s/i.naturalHeight);i.left-=(a-i.width)/2,i.top-=(l-i.height)/2,i.width=a,i.height=l,i.aspectRatio=n/s,i.naturalWidth=n,i.naturalHeight=s,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCanvas(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,bt(this.canvas,dt({width:i.width,height:i.height},Nt({translateX:i.left,translateY:i.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,i=this.imageData,o=i.naturalWidth*(e.width/e.naturalWidth),r=i.naturalHeight*(e.height/e.naturalHeight);dt(i,{width:o,height:r,left:(e.width-o)/2,top:(e.height-r)/2}),bt(this.image,dt({width:i.width,height:i.height},Nt(dt({translateX:i.left,translateY:i.top},i)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,i=t.aspectRatio||t.initialAspectRatio,o=Number(t.autoCropArea)||.8,r={width:e.width,height:e.height};i&&(e.height*i>e.width?r.height=r.width/i:r.width=r.height*i),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=e.left+(e.width-r.width)/2,r.top=e.top+(e.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=dt({},r)},limitCropBox:function(t,e){var i=this.options,o=this.containerData,r=this.canvasData,n=this.cropBoxData,s=this.limited,a=i.aspectRatio;if(t){var l=Number(i.minCropBoxWidth)||0,c=Number(i.minCropBoxHeight)||0,h=s?Math.min(o.width,r.width,r.width+r.left,o.width-r.left):o.width,d=s?Math.min(o.height,r.height,r.height+r.top,o.height-r.top):o.height;l=Math.min(l,o.width),c=Math.min(c,o.height),a&&(l&&c?c*a>l?c=l/a:l=c*a:l?c=l/a:c&&(l=c*a),d*a>h?d=h/a:h=d*a),n.minWidth=Math.min(l,h),n.minHeight=Math.min(c,d),n.maxWidth=h,n.maxHeight=d}e&&(s?(n.minLeft=Math.max(0,r.left),n.minTop=Math.max(0,r.top),n.maxLeft=Math.min(o.width,r.left+r.width)-n.width,n.maxTop=Math.min(o.height,r.top+r.height)-n.height):(n.minLeft=0,n.minTop=0,n.maxLeft=o.width-n.width,n.maxTop=o.height-n.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCropBox(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,t.movable&&t.cropBoxMovable&&kt(this.face,L,i.width>=e.width&&i.height>=e.height?u:p),bt(this.cropBox,dt({width:i.width,height:i.height},Nt({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Ot(this.element,_,this.getData())}},Dt={initPreview:function(){var t=this.element,e=this.crossOrigin,i=this.options.preview,o=e?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",n=document.createElement("img");if(e&&(n.crossOrigin=e),n.src=o,n.alt=r,this.viewBox.appendChild(n),this.viewBoxImage=n,i){var s=i;"string"==typeof i?s=t.ownerDocument.querySelectorAll(i):i.querySelector&&(s=[i]),this.previews=s,ht(s,(function(t){var i=document.createElement("img");kt(t,E,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),e&&(i.crossOrigin=e),i.src=o,i.alt=r,i.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(i)}))}},resetPreview:function(){ht(this.previews,(function(t){var e=yt(t,E);bt(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(rt(t[e]))try{delete t[e]}catch(i){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(i){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(wt(e)))}(t,E)}))},preview:function(){var t=this.imageData,e=this.canvasData,i=this.cropBoxData,o=i.width,r=i.height,n=t.width,s=t.height,a=i.left-e.left-t.left,l=i.top-e.top-t.top;this.cropped&&!this.disabled&&(bt(this.viewBoxImage,dt({width:n,height:s},Nt(dt({translateX:-a,translateY:-l},t)))),ht(this.previews,(function(e){var i=yt(e,E),c=i.width,h=i.height,d=c,p=h,f=1;o&&(p=r*(f=c/o)),r&&p>h&&(d=o*(f=h/r),p=h),bt(e,{width:d,height:p}),bt(e.getElementsByTagName("img")[0],dt({width:n*f,height:s*f},Nt(dt({translateX:-a*f,translateY:-l*f},t))))})))}},Ft={bind:function(){var t=this.element,e=this.options,i=this.cropper;at(e.cropstart)&&jt(t,P,e.cropstart),at(e.cropmove)&&jt(t,H,e.cropmove),at(e.cropend)&&jt(t,B,e.cropend),at(e.crop)&&jt(t,_,e.crop),at(e.zoom)&&jt(t,U,e.zoom),jt(i,F,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&jt(i,X,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&jt(i,D,this.onDblclick=this.dblclick.bind(this)),jt(t.ownerDocument,W,this.onCropMove=this.cropMove.bind(this)),jt(t.ownerDocument,V,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&jt(window,Y,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;at(e.cropstart)&&zt(t,P,e.cropstart),at(e.cropmove)&&zt(t,H,e.cropmove),at(e.cropend)&&zt(t,B,e.cropend),at(e.crop)&&zt(t,_,e.crop),at(e.zoom)&&zt(t,U,e.zoom),zt(i,F,this.onCropStart),e.zoomable&&e.zoomOnWheel&&zt(i,X,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&zt(i,D,this.onDblclick),zt(t.ownerDocument,W,this.onCropMove),zt(t.ownerDocument,V,this.onCropEnd),e.responsive&&zt(window,Y,this.onResize)}},Wt={resize:function(){if(!this.disabled){var t,e,i=this.options,o=this.container,r=this.containerData,n=o.offsetWidth/r.width,s=o.offsetHeight/r.height,a=Math.abs(n-1)>Math.abs(s-1)?n:s;1!==a&&(i.restore&&(t=this.getCanvasData(),e=this.getCropBoxData()),this.render(),i.restore&&(this.setCanvasData(ht(t,(function(e,i){t[i]=e*a}))),this.setCropBoxData(ht(e,(function(t,i){e[i]=t*a})))))}},dblclick:function(){var t,e;this.disabled||this.options.dragMode===R||this.setDragMode((e=M,((t=this.dragBox).classList?t.classList.contains(e):t.className.indexOf(e)>-1)?A:N))},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.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*i,t)))},cropStart:function(t){var e=t.buttons,i=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(et(e)&&1!==e||et(i)&&0!==i||t.ctrlKey))){var o,r=this.options,n=this.pointers;t.changedTouches?ht(t.changedTouches,(function(t){n[t.identifier]=At(t)})):n[t.pointerId||0]=At(t),o=Object.keys(n).length>1&&r.zoomable&&r.zoomOnTouch?b:yt(t.target,L),$.test(o)&&!1!==Ot(this.element,P,{originalEvent:t,action:o})&&(t.preventDefault(),this.action=o,this.cropping=!1,o===f&&(this.cropping=!0,gt(this.dragBox,T)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var i=this.pointers;t.preventDefault(),!1!==Ot(this.element,H,{originalEvent:t,action:e})&&(t.changedTouches?ht(t.changedTouches,(function(t){dt(i[t.identifier]||{},At(t,!0))})):dt(i[t.pointerId||0]||{},At(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,i=this.pointers;t.changedTouches?ht(t.changedTouches,(function(t){delete i[t.identifier]})):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,xt(this.dragBox,T,this.cropped&&this.options.modal)),Ot(this.element,B,{originalEvent:t,action:e}))}}},Vt={change:function(t){var i,o=this.canvasData,r=this.containerData,n=this.cropBoxData,s=this.pointers,a=this.action,l=this.options.aspectRatio,c=n.left,h=n.top,d=n.width,M=n.height,z=c+d,O=h+M,S=0,T=0,I=r.width,L=r.height,E=!0;!l&&t.shiftKey&&(l=d&&M?d/M:1),this.limited&&(T=n.minTop,I=(S=n.minLeft)+Math.min(r.width,o.width,o.left+o.width),L=T+Math.min(r.height,o.height,o.top+o.height));var N=s[Object.keys(s)[0]],A={x:N.endX-N.startX,y:N.endY-N.startY},R=function(t){switch(t){case g:z+A.x>I&&(A.x=I-z);break;case v:c+A.x<S&&(A.x=S-c);break;case m:h+A.y<T&&(A.y=T-h);break;case x:O+A.y>L&&(A.y=L-O)}};switch(a){case p:c+=A.x,h+=A.y;break;case g:if(A.x>=0&&(z>=I||l&&(h<=T||O>=L))){E=!1;break}R(g),(d+=A.x)<0&&(a=v,c-=d=-d),l&&(h+=(n.height-(M=d/l))/2);break;case m:if(A.y<=0&&(h<=T||l&&(c<=S||z>=I))){E=!1;break}R(m),h+=A.y,(M-=A.y)<0&&(a=x,h-=M=-M),l&&(c+=(n.width-(d=M*l))/2);break;case v:if(A.x<=0&&(c<=S||l&&(h<=T||O>=L))){E=!1;break}R(v),c+=A.x,(d-=A.x)<0&&(a=g,c-=d=-d),l&&(h+=(n.height-(M=d/l))/2);break;case x:if(A.y>=0&&(O>=L||l&&(c<=S||z>=I))){E=!1;break}R(x),(M+=A.y)<0&&(a=m,h-=M=-M),l&&(c+=(n.width-(d=M*l))/2);break;case w:if(l){if(A.y<=0&&(h<=T||z>=I)){E=!1;break}R(m),h+=A.y,d=(M-=A.y)*l}else R(m),R(g),A.x>=0?z<I?d+=A.x:A.y<=0&&h<=T&&(E=!1):d+=A.x,A.y<=0?h>T&&(M-=A.y,h+=A.y):(M-=A.y,h+=A.y);d<0&&M<0?(a=C,h-=M=-M,c-=d=-d):d<0?(a=y,c-=d=-d):M<0&&(a=k,h-=M=-M);break;case y:if(l){if(A.y<=0&&(h<=T||c<=S)){E=!1;break}R(m),h+=A.y,c+=n.width-(d=(M-=A.y)*l)}else R(m),R(v),A.x<=0?c>S?(d-=A.x,c+=A.x):A.y<=0&&h<=T&&(E=!1):(d-=A.x,c+=A.x),A.y<=0?h>T&&(M-=A.y,h+=A.y):(M-=A.y,h+=A.y);d<0&&M<0?(a=k,h-=M=-M,c-=d=-d):d<0?(a=w,c-=d=-d):M<0&&(a=C,h-=M=-M);break;case C:if(l){if(A.x<=0&&(c<=S||O>=L)){E=!1;break}R(v),c+=A.x,M=(d-=A.x)/l}else R(x),R(v),A.x<=0?c>S?(d-=A.x,c+=A.x):A.y>=0&&O>=L&&(E=!1):(d-=A.x,c+=A.x),A.y>=0?O<L&&(M+=A.y):M+=A.y;d<0&&M<0?(a=w,h-=M=-M,c-=d=-d):d<0?(a=k,c-=d=-d):M<0&&(a=y,h-=M=-M);break;case k:if(l){if(A.x>=0&&(z>=I||O>=L)){E=!1;break}R(g),M=(d+=A.x)/l}else R(x),R(g),A.x>=0?z<I?d+=A.x:A.y>=0&&O>=L&&(E=!1):d+=A.x,A.y>=0?O<L&&(M+=A.y):M+=A.y;d<0&&M<0?(a=y,h-=M=-M,c-=d=-d):d<0?(a=C,c-=d=-d):M<0&&(a=w,h-=M=-M);break;case u:this.move(A.x,A.y),E=!1;break;case b:this.zoom(function(t){var i=e({},t),o=0;return ht(t,(function(t,e){delete i[e],ht(i,(function(e){var i=Math.abs(t.startX-e.startX),r=Math.abs(t.startY-e.startY),n=Math.abs(t.endX-e.endX),s=Math.abs(t.endY-e.endY),a=Math.sqrt(i*i+r*r),l=(Math.sqrt(n*n+s*s)-a)/a;Math.abs(l)>Math.abs(o)&&(o=l)}))})),o}(s),t),E=!1;break;case f:if(!A.x||!A.y){E=!1;break}i=St(this.cropper),c=N.startX-i.left,h=N.startY-i.top,d=n.minWidth,M=n.minHeight,A.x>0?a=A.y>0?k:w:A.x<0&&(c-=d,a=A.y>0?C:y),A.y<0&&(h-=M),this.cropped||(vt(this.cropBox,j),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}E&&(n.width=d,n.height=M,n.left=c,n.top=h,this.action=a,this.renderCropBox()),ht(s,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Zt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&>(this.dragBox,T),vt(this.cropBox,j),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=dt({},this.initialImageData),this.canvasData=dt({},this.initialCanvasData),this.cropBoxData=dt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(dt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),vt(this.dragBox,T),gt(this.cropBox,j)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,ht(this.previews,(function(e){e.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,vt(this.cropper,z)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,gt(this.cropper,z)),this},destroy:function(){var t=this.element;return t[d]?(t[d]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,o=i.left,r=i.top;return this.moveTo(ot(t)?t:o+Number(t),ot(e)?e:r+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,o=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(et(t)&&(i.left=t,o=!0),et(e)&&(i.top=e,o=!0),o&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=Number(t),this.zoomTo(i.width*(t=t<0?1/(1-t):1+t)/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var o=this.options,r=this.canvasData,n=r.width,s=r.height,a=r.naturalWidth,l=r.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&o.zoomable){var c=a*t,h=l*t;if(!1===Ot(this.element,U,{ratio:t,oldRatio:n/a,originalEvent:i}))return this;if(i){var d=this.pointers,p=St(this.cropper),f=d&&Object.keys(d).length?function(t){var e=0,i=0,o=0;return ht(t,(function(t){e+=t.startX,i+=t.startY,o+=1})),{pageX:e/=o,pageY:i/=o}}(d):{pageX:i.pageX,pageY:i.pageY};r.left-=(f.pageX-p.left-r.left)/n*(c-n),r.top-=(f.pageY-p.top-r.top)/s*(h-s)}else st(e)&&et(e.x)&&et(e.y)?(r.left-=(e.x-r.left)/n*(c-n),r.top-=(e.y-r.top)/s*(h-s)):(r.left-=(c-n)/2,r.top-=(h-s)/2);r.width=c,r.height=h,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return et(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,et(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(et(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.imageData,o=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(et(t)&&(i.scaleX=t,o=!0),et(e)&&(i.scaleY=e,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.options,o=this.imageData,r=this.canvasData,n=this.cropBoxData;if(this.ready&&this.cropped){var s=o.width/o.naturalWidth;if(ht(t={x:n.left-r.left,y:n.top-r.top,width:n.width,height:n.height},(function(e,i){t[i]=e/s})),e){var a=Math.round(t.y+t.height),l=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=l-t.x,t.height=a-t.y}}else t={x:0,y:0,width:0,height:0};return i.rotatable&&(t.rotate=o.rotate||0),i.scalable&&(t.scaleX=o.scaleX||1,t.scaleY=o.scaleY||1),t},setData:function(t){var e=this.options,i=this.imageData,o=this.canvasData,r={};if(this.ready&&!this.disabled&&st(t)){var n=!1;e.rotatable&&et(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,n=!0),e.scalable&&(et(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,n=!0),et(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,n=!0)),n&&this.renderCanvas(!0,!0);var s=i.width/i.naturalWidth;et(t.x)&&(r.left=t.x*s+o.left),et(t.y)&&(r.top=t.y*s+o.top),et(t.width)&&(r.width=t.width*s),et(t.height)&&(r.height=t.height*s),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?dt({},this.containerData):{}},getImageData:function(){return this.sized?dt({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&ht(["left","top","width","height","naturalWidth","naturalHeight"],(function(i){e[i]=t[i]})),e},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&st(t)&&(et(t.left)&&(e.left=t.left),et(t.top)&&(e.top=t.top),et(t.width)?(e.width=t.width,e.height=t.width/i):et(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,i,o=this.cropBoxData,r=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&st(t)&&(et(t.left)&&(o.left=t.left),et(t.top)&&(o.top=t.top),et(t.width)&&t.width!==o.width&&(e=!0,o.width=t.width),et(t.height)&&t.height!==o.height&&(i=!0,o.height=t.height),r&&(e?o.height=o.width/r:i&&(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 e=this.canvasData,i=function(t,e,i,o){var r=e.aspectRatio,s=e.naturalWidth,a=e.naturalHeight,l=e.rotate,c=void 0===l?0:l,h=e.scaleX,d=void 0===h?1:h,p=e.scaleY,f=void 0===p?1:p,u=i.aspectRatio,b=i.naturalWidth,g=i.naturalHeight,v=o.fillColor,x=void 0===v?"transparent":v,m=o.imageSmoothingEnabled,w=void 0===m||m,y=o.imageSmoothingQuality,k=void 0===y?"low":y,C=o.maxWidth,M=void 0===C?1/0:C,z=o.maxHeight,j=void 0===z?1/0:z,O=o.minWidth,S=void 0===O?0:O,T=o.minHeight,I=void 0===T?0:T,L=document.createElement("canvas"),E=L.getContext("2d"),N=Rt({aspectRatio:u,width:M,height:j}),A=Rt({aspectRatio:u,width:S,height:I},"cover"),R=Math.min(N.width,Math.max(A.width,b)),_=Math.min(N.height,Math.max(A.height,g)),B=Rt({aspectRatio:r,width:M,height:j}),H=Rt({aspectRatio:r,width:S,height:I},"cover"),P=Math.min(B.width,Math.max(H.width,s)),D=Math.min(B.height,Math.max(H.height,a)),F=[-P/2,-D/2,P,D];return L.width=ft(R),L.height=ft(_),E.fillStyle=x,E.fillRect(0,0,R,_),E.save(),E.translate(R/2,_/2),E.rotate(c*Math.PI/180),E.scale(d,f),E.imageSmoothingEnabled=w,E.imageSmoothingQuality=k,E.drawImage.apply(E,[t].concat(n(F.map((function(t){return Math.floor(ft(t))}))))),E.restore(),L}(this.image,this.imageData,e,t);if(!this.cropped)return i;var o=this.getData(),r=o.x,s=o.y,a=o.width,l=o.height,c=i.width/Math.floor(e.naturalWidth);1!==c&&(r*=c,s*=c,a*=c,l*=c);var h=a/l,d=Rt({aspectRatio:h,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=Rt({aspectRatio:h,width:t.minWidth||0,height:t.minHeight||0},"cover"),f=Rt({aspectRatio:h,width:t.width||(1!==c?i.width:a),height:t.height||(1!==c?i.height:l)}),u=f.width,b=f.height;u=Math.min(d.width,Math.max(p.width,u)),b=Math.min(d.height,Math.max(p.height,b));var g=document.createElement("canvas"),v=g.getContext("2d");g.width=ft(u),g.height=ft(b),v.fillStyle=t.fillColor||"transparent",v.fillRect(0,0,u,b);var x=t.imageSmoothingEnabled,m=t.imageSmoothingQuality;v.imageSmoothingEnabled=void 0===x||x,m&&(v.imageSmoothingQuality=m);var w,y,k,C,M,z,j=i.width,O=i.height,S=r,T=s;S<=-a||S>j?(S=0,w=0,k=0,M=0):S<=0?(k=-S,S=0,M=w=Math.min(j,a+S)):S<=j&&(k=0,M=w=Math.min(a,j-S)),w<=0||T<=-l||T>O?(T=0,y=0,C=0,z=0):T<=0?(C=-T,T=0,z=y=Math.min(O,l+T)):T<=O&&(C=0,z=y=Math.min(l,O-T));var I=[S,T,w,y];if(M>0&&z>0){var L=u/a;I.push(k*L,C*L,M*L,z*L)}return v.drawImage.apply(v,[i].concat(n(I.map((function(t){return Math.floor(ft(t))}))))),g},setAspectRatio:function(t){var e=this.options;return this.disabled||ot(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,i=this.dragBox,o=this.face;if(this.ready&&!this.disabled){var r=t===N,n=e.movable&&t===A;e.dragMode=t=r||n?t:R,kt(i,L,t),xt(i,M,r),xt(i,I,n),e.cropBoxMovable||(kt(o,L,t),xt(o,M,r),xt(o,I,n))}return this}},Yt=l.Cropper,Xt=function(){function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e||!G.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=dt({},J,st(i)&&i),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 e=t,i=[{key:"init",value:function(){var t,e=this.element,i=e.tagName.toLowerCase();if(!e[d]){if(e[d]=this,"img"===i){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===i&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e,i,o,r,n=this;if(t){this.url=t,this.imageData={};var s=this.element,a=this.options;if(a.rotatable||a.scalable||(a.checkOrientation=!1),a.checkOrientation&&window.ArrayBuffer)if(q.test(t))Q.test(t)?this.read((e=t.replace(Bt,""),i=atob(e),o=new ArrayBuffer(i.length),ht(r=new Uint8Array(o),(function(t,e){r[e]=i.charCodeAt(e)})),o)):this.clone();else{var l=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=l,l.onabort=c,l.onerror=c,l.ontimeout=c,l.onprogress=function(){l.getResponseHeader("content-type")!==K&&l.abort()},l.onload=function(){n.read(l.response)},l.onloadend=function(){n.reloading=!1,n.xhr=null},a.checkCrossOrigin&&Lt(t)&&s.crossOrigin&&(t=Et(t)),l.open("GET",t,!0),l.responseType="arraybuffer",l.withCredentials="use-credentials"===s.crossOrigin,l.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,i=this.imageData,o=Ht(t),r=0,n=1,s=1;if(o>1){this.url=function(t,e){for(var i=[],o=new Uint8Array(t);o.length>0;)i.push(_t.apply(null,ct(o.subarray(0,8192)))),o=o.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(i.join("")))}(t,K);var a=function(t){var e=0,i=1,o=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:o=-1;break;case 5:e=90,o=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90}return{rotate:e,scaleX:i,scaleY:o}}(o);r=a.rotate,n=a.scaleX,s=a.scaleY}e.rotatable&&(i.rotate=r),e.scalable&&(i.scaleX=n,i.scaleY=s),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,i=t.crossOrigin,o=e;this.options.checkCrossOrigin&&Lt(e)&&(i||(i="anonymous"),o=Et(e)),this.crossOrigin=i,this.crossOriginUrl=o;var r=document.createElement("img");i&&(r.crossOrigin=i),r.src=o||e,r.alt=t.alt||"The image to crop",this.image=r,r.onload=this.start.bind(this),r.onerror=this.stop.bind(this),gt(r,O),t.parentNode.insertBefore(r,t.nextSibling)}},{key:"start",value:function(){var t=this,e=this.image;e.onload=null,e.onerror=null,this.sizing=!0;var i=l.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(l.navigator.userAgent),o=function(e,i){dt(t.imageData,{naturalWidth:e,naturalHeight:i,aspectRatio:e/i}),t.initialImageData=dt({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||i){var r=document.createElement("img"),n=document.body||document.documentElement;this.sizingImage=r,r.onload=function(){o(r.width,r.height),i||n.removeChild(r)},r.src=e.src,i||(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;",n.appendChild(r))}else o(e.naturalWidth,e.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,e=this.options,i=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 n=r.querySelector(".".concat(d,"-container")),s=n.querySelector(".".concat(d,"-canvas")),a=n.querySelector(".".concat(d,"-drag-box")),l=n.querySelector(".".concat(d,"-crop-box")),c=l.querySelector(".".concat(d,"-face"));this.container=o,this.cropper=n,this.canvas=s,this.dragBox=a,this.cropBox=l,this.viewBox=n.querySelector(".".concat(d,"-view-box")),this.face=c,s.appendChild(i),gt(t,j),o.insertBefore(n,t.nextSibling),vt(i,O),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,gt(l,j),e.guides||gt(l.getElementsByClassName("".concat(d,"-dashed")),j),e.center||gt(l.getElementsByClassName("".concat(d,"-center")),j),e.background&>(n,"".concat(d,"-bg")),e.highlight||gt(c,S),e.cropBoxMovable&&(gt(c,I),kt(c,L,p)),e.cropBoxResizable||(gt(l.getElementsByClassName("".concat(d,"-line")),j),gt(l.getElementsByClassName("".concat(d,"-point")),j)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),at(e.ready)&&jt(t,Z,e.ready,{once:!0}),Ot(t,Z)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),vt(this.element,j)}}},{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=[{key:"noConflict",value:function(){return window.Cropper=Yt,t}},{key:"setDefaults",value:function(t){dt(J,st(t)&&t)}}],i&&o(e.prototype,i),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t;var e,i,r}();return dt(Xt.prototype,Pt,Dt,Ft,Wt,Vt,Zt),Xt}()}));const at=1-.9,lt={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},ct=class{constructor(t){e(this,t),this.vviinnImageCrop=i(this,"vviinnImageCrop",7),this.cropEnd=()=>{n.searchArea=a.some(this.getCropboxData()),p(),n.detectedObject=void 0,this.vviinnImageCrop.emit(this.basicEventData)},this.basicEventData=void 0,this.setShowAspectRatioError=void 0,this.showAspectRatioError=void 0,this.cropper=null,this.hidePreloader=!1}disconnectedCallback(){this.cropper&&this.cropper.destroy()}selectDetectedObject({detail:t}){const{top:e,left:i,width:o,height:r}=t.detectedObject.value.rectangle,n=this.cropper.getImageData();this.cropper.setCropBoxData((t=>{const{width:e,height:i,left:o,top:r}=t,n=82;let s={width:e,height:i,left:o,top:r};return e<n&&(s.width=n,s.left=o-(n-e)/2),i<n&&(s.height=n,s.top=r-(n-i)/2),s})({left:i*n.width,top:e*n.height,width:o*n.width,height:r*n.height}))}getCropboxData(){const{left:t,top:e,width:i,height:o}=this.cropper.getCropBoxData();return{x:t,y:e,width:i,height:o}}loadImage(){const t=this.el.shadowRoot.querySelector("img");if(t){let e={};this.cropper&&(e=this.cropper.getData(!0),this.cropper.destroy());const i=y(t),{x:o,y:r,width:s,height:l}=i,c={x:o,y:r,width:s-s*at,height:l-l*at};if(n.imageBounds=a.some(i),n.searchArea=a.some(c),s/l<.1||l/s<.1)return this.setShowAspectRatioError(!0),void this.el.classList.add("bordered");if(s<90||l<90)return this.el.classList.add("bordered"),void(this.hidePreloader=!0);this.cropper=new st(t,Object.assign(Object.assign({},lt),{cropend:this.cropEnd,data:e}))}}renderDetectedObject(e){return t("vviinn-detected-object",{detectedObject:e,basicEventData:this.basicEventData})}renderImage(){return s.pipe(w(n.imageUrl,n.image),a.map((([e,i])=>{const[o,r]=(t=>{const e=k(t),i=C(288)(e).map((t=>t.size));return[i[0],i[1]]})(i);return t("img",{decoding:"async",width:o,height:r,src:e,draggable:!1,onLoad:()=>this.loadImage()})})),a.getOrElse((()=>null)))}render(){return t(o,null,t("div",{class:"container"},t("div",{class:"image-container"},this.renderImage(),n.detectedObjects.map((t=>this.renderDetectedObject(t)))),!n.loading&&!n.objectDetectionInProgress||this.showAspectRatioError||this.hidePreloader?null:t("div",{class:"image-preloader"},t("vviinn-preloader",null))))}get el(){return r(this)}};ct.style=":host {\n min-height: 160px;\n display: flex;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.32);\n}\n\n:host(.bordered) {\n background-color: transparent;\n border: 1px solid #eaeaea;\n margin-top: 40px;\n}\n\n@media (max-width: 768px) {\n :host {\n min-height: unset;\n }\n\n :host(.bordered) {\n border: none;\n margin-top: 48px;\n }\n}\n\n.container {\n max-width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.image-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n}\n\n.image-container > img {\n display: block;\n max-width: 100%;\n}\n\n.image-preloader {\n background: rgba(0, 0, 0, 0.25);\n border-radius: 4px;\n bottom: 18px;\n right: 18px;\n padding: 4px;\n pointer-events: none;\n color: white;\n position: absolute;\n z-index: 4;\n}\n\nvviinn-preloader {\n --preloader-size: 12px;\n}\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n\n & img {\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.4;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-view-box,\n.cropper-face {\n border-radius: 5px;\n}\n\n.cropper-face,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n left: 0;\n top: 0;\n}\n\n.cropper-point {\n --cropper-point-width: 44px;\n height: var(--cropper-point-width);\n width: var(--cropper-point-width);\n opacity: 1;\n}\n\n.point-e,\n.point-s,\n.point-w,\n.point-n {\n display: none;\n}\n\n.point-ne,\n.point-nw,\n.point-sw,\n.point-se {\n --delta: -9px;\n}\n\n.point-ne {\n cursor: nesw-resize;\n right: var(--delta);\n top: var(--delta);\n}\n\n.point-nw {\n cursor: nwse-resize;\n left: var(--delta);\n top: var(--delta);\n}\n\n.point-sw {\n cursor: nesw-resize;\n bottom: var(--delta);\n left: var(--delta);\n}\n\n.point-se {\n cursor: nwse-resize;\n bottom: var(--delta);\n right: var(--delta);\n}\n\n.cropper-point::before {\n position: absolute;\n content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' fill='none'%3E%3Cpath d='M3 35H23C29.6274 35 35 29.6274 35 23V3' stroke='white' stroke-width='6' stroke-linecap='square'/%3E%3C/svg%3E\");\n display: block;\n pointer-events: none;\n}\n\n.point-ne::before {\n transform: rotate(-90deg);\n left: 0px;\n top: 6px;\n}\n\n.point-nw::before {\n transform: rotate(180deg);\n left: 6px;\n top: 6px;\n}\n\n.point-sw::before {\n transform: rotate(90deg);\n left: 6px;\n top: 0px;\n}\n\n.point-se::before {\n left: 0px;\n top: 0px;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n";const ht=class{constructor(t){e(this,t),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.hideBackButton=!1,this.isFirstScreen=void 0,this.slider=!1}componentWillLoad(){B(this,this.el)}resetTopScroll(){const t=this.el.shadowRoot.querySelector(".body");null==t||t.scroll({top:0})}close(){this.active=!1,setTimeout((()=>{this.vviinnWidgetClose.emit({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:H.VPS,widgetId:this.buttonElementId,widgetVersion:this.widgetVersion})}),this.slider?500:0)}handleAnimationEnd(t){"fade-in"===t.animationName&&(this.slider=!0)}renderImage(){return s.pipe(w(n.imageUrl,n.image),a.map((([e])=>t("img",{width:"28",height:"28",src:e,class:"title-image"}))),a.getOrElse((()=>null)))}render(){return t(o,{exportparts:"secondary-action, title, close-button",class:{closed:!this.active,"first-screen":this.isFirstScreen},onAnimationEnd:t=>this.handleAnimationEnd(t)},t("div",{class:"head"},!this.hideBackButton&&t("button",{part:"secondary-action",onClick:()=>{this.resetState(),this.resetTopScroll()}},t(q,null)),t("div",{class:"title",part:"title"},this.renderImage(),t("slot",{name:"vviinn-image-search-modal-title"},L.t("imageSearchModalTitle"))),t("button",{onClick:()=>this.close(),class:"close-button",part:"close-button"},t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 13.3892L6.91958 18.4696C6.72248 18.6667 6.49095 18.7653 6.225 18.7653C5.95905 18.7653 5.72753 18.6667 5.53043 18.4696C5.33333 18.2725 5.23478 18.041 5.23478 17.775C5.23478 17.5091 5.33333 17.2776 5.53043 17.0805L10.6109 12L5.53043 6.9196C5.33333 6.7225 5.23478 6.49098 5.23478 6.22503C5.23478 5.95908 5.33333 5.72755 5.53043 5.53045C5.72753 5.33335 5.95905 5.2348 6.225 5.2348C6.49095 5.2348 6.72248 5.33335 6.91958 5.53045L12 10.6109L17.0804 5.53045C17.2775 5.33335 17.5091 5.2348 17.775 5.2348C18.041 5.2348 18.2725 5.33335 18.4696 5.53045C18.6667 5.72755 18.7652 5.95908 18.7652 6.22503C18.7652 6.49098 18.6667 6.7225 18.4696 6.9196L13.3892 12L18.4696 17.0805C18.6667 17.2776 18.7652 17.5091 18.7652 17.775C18.7652 18.041 18.6667 18.2725 18.4696 18.4696C18.2725 18.6667 18.041 18.7653 17.775 18.7653C17.5091 18.7653 17.2775 18.6667 17.0804 18.4696L12 13.3892Z",fill:"currentColor"})))),t("div",{class:"body"},t("slot",null)))}get el(){return r(this)}};ht.style=":host{background:white;border-radius:24px;box-sizing:border-box;display:grid;grid-template-rows:min-content auto;max-width:960px;overflow:auto;position:relative}.head{position:absolute;width:100%;box-sizing:border-box;display:flex;align-items:center;z-index:1;padding:16px}.title{display:flex;align-items:center;transform:translateX(-6px);font-weight:600;font-size:18px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;padding:6px;color:#8d8d8d}button:hover{color:#000}@media (max-width: 768px){:host{animation-name:fade-in;animation-duration:0.5s;animation-fill-mode:forwards;border-radius:24px 24px 0 0}:host(.closed){animation-name:fade-out;animation-fill-mode:none}.head{z-index:1}:host(:not(.first-screen)) .head{position:sticky;background:#ffffff}.body{overflow-y:auto}:host(:not(.first-screen)) .body{padding-bottom:160px}.title{color:#161616;display:flex;align-items:center;font-weight:500;font-size:16px;line-height:24px;margin:0 auto}.title-image{border-radius:50%;border:1px solid rgb(244, 244, 244);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin-right:8px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:grid;color:#6f6f6f;padding:0}button:hover{color:#000}:host(.first-screen) button,:host(.first-screen) button:hover{color:white}}@keyframes fade-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-out{from{transform:translateY(0)}to{transform:translateY(100%)}}";const dt=class{constructor(t){e(this,t)}render(){return t(o,null,t("slot",null))}};dt.style=":host{animation:fade-in 0.5s ease-in-out;background:rgba(0, 0, 0, 0.5);display:block;height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:9999}@keyframes fade-in{from{opacity:0.1}to{opacity:1}}";const pt=class{constructor(t){e(this,t),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.active=!1,this.resetState=void 0,this.buttonElementId=void 0,this.hideBackButton=!1,this.widgetVersion=void 0,this.isFirstScreen=void 0}render(){return t(o,{class:{active:this.active}},t("vviinn-overlay",null,t("vviinn-modal",{resetState:this.resetState,active:this.active,buttonElementId:this.buttonElementId,hideBackButton:this.hideBackButton,widgetVersion:this.widgetVersion,isFirstScreen:this.isFirstScreen},t("slot",null,"CONTENT"))))}};pt.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 ft=class{constructor(t){e(this,t),this.privacyBadgeText=void 0}componentWillLoad(){B(this,this.el)}render(){return t(o,null,t("slot",{name:"vviinn-privacy-badge-text"},t("div",{innerHTML:this.privacyBadgeText})))}get el(){return r(this)}};ft.style=":host{color:#525252;font-size:12px;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 ut=function(t,e){var i={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(i[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(i[o[r]]=t[o[r]])}return i};const bt=class{constructor(t){e(this,t),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnResultLoad=i(this,"vviinnResultLoad",7),this.vviinnResultView=i(this,"vviinnResultView",7),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnSearchIdReceived=i(this,"vviinnSearchIdReceived",7),this.vviinnTextSearchStarted=i(this,"vviinnTextSearchStarted",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.getResultsBySearchId=async t=>{t&&!this.showInWidget&&(M.apiPath=this.apiPath,s.pipe(await z(this.token,t),j((()=>[])),(t=>{this.recommendations=t})))},this.searchIdReceivedHandler=({detail:t})=>{this.getResultsBySearchId(t.searchId)},this.textSearchStartedHandler=({detail:t})=>{this.showInWidget||(this.getResultsByTextQuery(t.query),this.innerTextSearchQuery=t.query)},this.filtersChangedHandler=({detail:t})=>{var e;this.getResultsByTextQuery(null!==(e=this.textSearchQuery)&&void 0!==e?e:this.innerTextSearchQuery,t.filters)},this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:H.VPS,widgetId:this.widgetElementId,widgetVersion:Y}),this.token=void 0,this.searchId=void 0,this.uiSessionId=void 0,this.imageResolutionWidth=500,this.currencySign="€",this.locale="de-DE",this.productDetailsNewTab=!1,this.productDetailsRedirect=!0,this.textSearchQuery=void 0,this.filterColumn="product_type",this.filterValue=void 0,this.resultsCount=void 0,this.showInWidget=!1,this.apiPath="https://api.vviinn.com",this.buttonElementId=void 0,this.widgetElementId=void 0,this.showAspectRatioError=void 0,this.trackingDeactivated=!1,this.resetState=void 0,this.replaceSlotsContentInWidget=void 0,this.replaceSlotsContentInButton=void 0,this.recommendations=[],this.innerTextSearchQuery=void 0,this.slotsReplaced=void 0}replaceSlotsContent(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}async componentWillLoad(){B(this,this.el),this.showInWidget||await L.init({lng:this.locale,fallbackLng:"en",resources:E})}componentDidRender(){this.replaceSlotsContentInButton?this.replaceSlotsContentInButton():this.showInWidget?this.replaceSlotsContentInWidget():this.replaceSlotsContent()}async getResultsByTextQuery(t,e){if(t)return M.apiPath=this.apiPath,this.showInWidget?s.pipe(await O(this.token,t,e),j((()=>null)),(t=>t)):s.pipe(await S(this.token,t,e,this.resultsCount),j((()=>null)),(t=>{var e,i,o;this.recommendations=null!==(i=null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.products)&&void 0!==i?i:[],this.vviinnFilters.emit(null===(o=null==t?void 0:t.data)||void 0===o?void 0:o.interactions.dynamicFilters)}))}async getResultsByCategory(){this.filterColumn&&this.filterValue&&!this.showInWidget&&(M.apiPath=this.apiPath,s.pipe(await T(this.token,this.filterColumn,this.filterValue,this.resultsCount),j((()=>null)),(t=>{var e,i;this.recommendations=null!==(i=null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.products)&&void 0!==i?i:[]})))}connectedCallback(){this.trackingApi=N(this.apiPath,this.token),this.uiSessionId||(this.uiSessionId=A()),document.addEventListener("vviinnSearchIdReceived",this.searchIdReceivedHandler),document.addEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.addEventListener("vviinnFiltersChanged",this.filtersChangedHandler),this.getResultsBySearchId(this.searchId),this.getResultsByCategory(),!this.showInWidget&&this.getResultsByTextQuery(this.textSearchQuery)}disconnectedCallback(){document.removeEventListener("vviinnSearchIdReceived",this.searchIdReceivedHandler),document.removeEventListener("vviinnTextSearchStarted",this.textSearchStartedHandler),document.removeEventListener("vviinnFiltersChanged",this.filtersChangedHandler)}watchTextSearchQuery(t){this.showInWidget||this.getResultsByTextQuery(t)}trackProductLoad({detail:t}){const e=this.getProductTrackEvent(t,"load");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackProductView({detail:t}){n.resultViewed||(this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"),n.resultViewed=!0);const e=this.getProductTrackEvent(t,"view");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:e,clickEvent:i}=t,o=this.getProductTrackEvent(t,"click"),r=this.findProductById(e);r&&r.deeplink&&(this.trackingDeactivated?this.handleOpenLink(r.deeplink,i):await this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(r.deeplink,i)})))}async trackAuxClick({detail:t}){const{productId:e}=t,i=this.getProductTrackEvent(t,"click"),o=this.findProductById(e);o&&o.deeplink&&(this.trackingDeactivated||await this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated))}trackResultEvent(t){if(this.trackingDeactivated)return;const e=this.getBasicEventData(),i=ut(e,["campaignTypeId","widgetType"]);let o=R(t)(Object.assign({session_id:this.uiSessionId},i));this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated)}findProductById(t){return(this.recommendations.length?this.recommendations:n.results).find((e=>e.productId===t))}handleOpenLink(t,e){if(this.productDetailsRedirect)if(this.productDetailsNewTab||e.ctrlKey||e.metaKey){let e=window.open();e?e.location.href=t:window.location.href=t}else window.location.href=t}getProductTrackEvent(t,e){if(this.trackingDeactivated)return null;const{productRank:i,productId:o}=t,r=ut(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]),n=Object.assign({session_id:this.uiSessionId,rank:i,product:o},r);return _(e)(n)}renderResults(){const e=this.showInWidget?n.results:this.recommendations;return 0===e.length?null:(n.resultLoaded||(this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),n.resultLoaded=!0),e.map(((e,i)=>{var o;return t("vviinn-product-card",{key:e.productId,index:i,productTitle:e.title,productId:e.productId,productType:e.productType,brand:e.brand,deeplink:e.deeplink,price:e.price.actual,salePrice:e.price.sale,responsive:!0,imageWidth:this.imageResolutionWidth,image:null!==(o=e.image.thumbnail)&&void 0!==o?o:e.image.original,energyCertifications:e.energyCertifications,part:"product-card",campaignTypeId:"VPS",widgetElementId:this.widgetElementId,buttonElementId:this.buttonElementId,widgetVersion:Y,currency:this.currencySign,locale:this.locale,priceLabel:D(e),isResultsWidget:!0})})))}render(){return t(o,{id:"results-block",class:{"show-in-widget":this.showInWidget},exportparts:"title, product-card, brand, deeplink, currency, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, price-label, price-label-0, price-label-1, price-label-2, price-label-3, price-label-4, energy-label-container, energy-label-icon, energy-label-product-type, energy-label-data-sheet-link"},t("div",{class:{"nothing-found":!0,hidden:this.recommendations.length>0||n.results.length>0||!this.showInWidget}},t("vviinn-empty-results",{handler:()=>null==this?void 0:this.resetState()})),t("div",{class:{"nothing-found":!0,hidden:!this.showAspectRatioError||!this.showInWidget}},t("vviinn-wrong-aspect-ratio",{handler:()=>null==this?void 0:this.resetState()})),t("div",{class:{hidden:this.showAspectRatioError||0===this.recommendations.length&&0===n.results.length,products:!0}},this.renderResults()))}get el(){return r(this)}static get watchers(){return{textSearchQuery:["watchTextSearchQuery"]}}};bt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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%}.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:24px;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}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute}.hidden{visibility:hidden;height:1px}products.hidden{display:none}@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;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 380px){.products{grid-gap:24px 10px}}";const gt=class{constructor(t){e(this,t),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.handleSetFilters=({detail:t})=>{this.filters=t},this.handleFiltersChanged=({detail:t})=>{const{filters:e,el:i}=t;i!==this.el&&(this.requestFilters=e)},this.showInWidget=!1,this.filters=[],this.requestFilters=[]}handleSubFilterSelection(t,e){this.requestFilters=F(this.requestFilters,e,t),W([...this.requestFilters],this.el,this.vviinnFiltersChanged)}connectedCallback(){document.addEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}disconnectedCallback(){document.removeEventListener("vviinnFilters",this.handleSetFilters),document.removeEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}render(){let e=[];return this.filters.forEach((t=>{"values"in t&&t.values.forEach((({value:i,label:o,active:r})=>{V(this.requestFilters,i,t)&&r&&e.push(Z(this.handleSubFilterSelection.bind(this),i,o,r,t,!0,!0))}))})),t(o,{class:{"show-in-widget":this.showInWidget}},e.length>0&&t("ul",{class:"selected-filters-wrapper",part:"selected-filters-list"},e))}get el(){return r(this)}};gt.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;font-family:var(--font-family-base);font-style:normal}:host(.show-in-widget){padding-left:24px}.filters-modal-list,.sub-filters-wrapper,.main-filters-list,.filters-modal-sub-list,.selected-filters-wrapper{list-style:none;margin:0;padding:0}.main-filters-list{padding:var(--spacing-25);gap:var(--spacing-25);border-radius:8px;background:var(--surface-bg-color-01);display:inline-flex}.filters-modal-main-button,.filters-sub-button,.filters-main-button,.filters-modal-close,.filters-sub-button-selected{cursor:pointer;border:none}.filters-sub-button,.filters-main-button{font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);display:flex;justify-content:center;align-items:center;border-radius:6px}.filters-main-button{padding:var(--spacing-100);color:var(--color-text-helper);background:none}.filters-main-button.active,.filters-main-button:hover{background:var(--surface-bg-color-02);color:var(--color-text-primary)}.sub-filters-wrapper,.selected-filters-wrapper{gap:var(--spacing-100);display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.sub-filters-wrapper{gap:var(--spacing-100);margin-top:16px;margin:16px -2px 0}.sub-filters-wrapper>li{padding:2px}.selected-filters-wrapper{margin-top:10px;gap:var(--spacing-100);flex-wrap:wrap}:host(.show-in-widget) .selected-filters-wrapper{flex-wrap:unset;overflow-x:auto}:host(.show-in-widget) .sub-filters-wrapper,:host(.show-in-widget) .selected-filters-wrapper{transform:translateX(-24px);padding-left:24px;padding-right:24px;width:calc(100% - 24px)}@media (max-width: 768px){.sub-filters-wrapper,.selected-filters-wrapper{flex-wrap:unset;overflow-x:auto;padding-bottom:0}.sub-filters-wrapper,.selected-filters-wrapper{margin-top:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sub-filters-wrapper::-webkit-scrollbar,.selected-filters-wrapper::-webkit-scrollbar{display:none}}.filters-sub-button{color:var(--color-text-primary);background:var(--surface-bg-color-01);padding:var(--spacing-100);gap:var(--spacing-25);height:100%}.filters-sub-button>span,.filters-sub-button-selected>span{display:inline-flex;justify-content:center;align-items:center;gap:var(--spacing-25);white-space:nowrap}.filters-sub-button>span>span,.filters-sub-button-selected>span>span{padding:2px}.filters-sub-button:hover{background:var(--surface-bg-color-01-hover)}.filters-sub-button:disabled{cursor:not-allowed;background:var(--surface-bg-color-disabled);color:var(--color-text-disabled)}.filters-more-button{display:flex;padding:var(--spacing-100);gap:var(--spacing-50);border-radius:var(--border-radius-100);align-items:flex-start;background:var(--button-bg-color-secondary);border:none;cursor:pointer}.filters-modal.filters-modal-button{display:none;position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(0, 0, 0, 0.5);z-index:98}.filters-modal.filters-modal-preview{display:block}.filters-modal.open{display:block}.filters-modal-wrapper{display:flex;flex-direction:column}.filters-modal.filters-modal-button .filters-modal-wrapper{position:fixed;top:0;bottom:0;right:0;width:420px;background-color:#ffffff;z-index:99;border-radius:32px 0px 0px 32px}@media (max-width: 768px){.filters-modal.filters-modal-button .filters-modal-wrapper{width:100%;top:20%;border-radius:32px 32px 0px 0px}}.filters-modal-header{position:relative;padding:20px 0;color:var(--color-text-primary);text-align:center;font-size:var(--font-size-headline);font-weight:var(--font-weight-500);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-headline);border-bottom:1px solid var(--color-border-01);display:flex;justify-content:center;gap:5px}.filters-modal-list{margin:4px 0 0 24px;flex:1;overflow-y:auto;padding-bottom:20px}.filters-modal-list>li{padding-right:24px}.filters-modal-main-button-wrapper{border-bottom:1px solid var(--color-border-01);padding:20px 0}.filters-modal-main-button{width:100%;background:none;text-align:left;padding:0;color:var(--color-text-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-sub-list{display:none;margin:0 -6px}.filters-modal-sub-list>li{display:inline-block;margin:0 4px}.filters-modal-sub-list-inline{margin:0 -6px}.filters-modal-sub-list-inline>li{margin:0 6px}.filters-modal-sub-list.open{display:block}.filters-modal-sub-list>li{margin-top:10px;padding:2px}.filters-modal.filters-modal-button .filters-modal-close{position:absolute;right:0;top:15px;cursor:pointer;background:none}.filters-modal.filters-modal-preview .filters-modal-close{display:none}.filters-more-modal-button{background:none;border:none;cursor:pointer;display:flex;padding:var(--spacing-100);align-items:center;gap:var(--spacing-25);border-radius:var(--border-radius-100);background:var(--surface-bg-color-01);color:var(--color-text-primary)}.filters-more-modal-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.filters-more-modal-button>span{display:flex;align-items:center;justify-content:center;gap:var(--spacing-25)}.filters-more-modal-button>span>span{padding:2px}.filters-more-modal-button:disabled{cursor:not-allowed;opacity:0.5}.filters-modal-actions{border-top:1px solid var(--color-border-01);padding:var(--spacing-250);z-index:10;background:#ffffff;border-radius:0px 0px 0px 32px}.filters-modal-apply{cursor:pointer;width:100%;border:none;display:flex;padding:var(--spacing-150);justify-content:center;align-items:center;gap:var(--spacing-50);align-self:stretch;color:var(--color-text-inverse);text-align:center;border-radius:var(--border-radius-150);background:var(--button-bg-color-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-apply:disabled{background:var(--button-bg-color-disabled);color:var(--color-text-disabled)}.filters-modal-reset{background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;margin-top:20px;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.selected-filters-wrapper>li{border-radius:var(--border-radius-100);background:var(--surface-bg-color-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-100)}.filters-sub-button-selected{display:flex;align-items:center;gap:var(--spacing-25);background:var(--surface-bg-color-inverse);border-radius:var(--border-radius-100);color:var(--color-text-inverse);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);padding:var(--spacing-100)}.selected-filters-wrapper>li .filters-sub-button-selected{padding:0}.filters-sub-button-color{width:40px;height:40px;border:2px solid var(--color-border-01);outline:2px solid var(--color-border-01);border-radius:20px}.filters-sub-button-color:disabled{opacity:0.25}.selected-filters-wrapper .filters-sub-button-selected.filters-sub-button-color{width:24px;height:24px;border:none}.filters-sub-button-color>span{display:none}.filters-sub-button-color.active{border:2px solid #fff;outline:2px solid #000}.filters-modal-main-button-added-options{color:var(--color-text-secondary);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.filters-modal-main-button-added-options>span::after{content:", "}.filters-modal-main-button-added-options>span:last-child::after{content:""}';const vt=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("serverErrorBlock.title")),t("button",{slot:"action",onClick:this.handler},L.t("serverErrorBlock.button"))))}},xt=class{constructor(t){e(this,t)}render(){return t(o,null,t("slot",null))}};xt.style=":host{display:grid;justify-items:center}";const mt=({kind:e,tabindex:i,disabled:o,onClick:r,onKeyDown:n})=>{return t("div",{class:(s={kind:e,disabled:o},{"arrow-wrapper":!0,[s.kind]:!0,disabled:s.disabled}),onClick:r,tabindex:i,onKeyDown:n},t(X,null));var s},wt=class{constructor(t){e(this,t),this.elementsCount=0,this.internalPosition=0,this.swipeStartPosition=a.none,this.isRTL=!1,this.showBullets=!0,this.position=0,this.showArrows=!1}positionWatchHandler(t){this.internalPosition=t,this.el.style.setProperty("--position",`${this.calculatePosition(t)}`),this.setActiveCssClassToSlide(t)}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.handleDomContentChanges()}handleDomContentChanges(){const t=this.el.querySelectorAll("vviinn-slide");this.elementsCount=t.length,this.el.style.setProperty("--num-items",`${this.elementsCount}`),this.setActiveCssClassToSlide(0)}setActiveCssClassToSlide(t){const e=this.el.querySelectorAll("vviinn-slide");e.forEach((t=>t.classList.remove("active"))),e[t].classList.add("active")}goToSlide(t){this.internalPosition=t,this.el.style.setProperty("--position",`${t}`),this.setActiveCssClassToSlide(t)}renderBullets(){return this.showBullets?t("div",{class:"controls"},I.range(0,this.elementsCount-1).map((e=>t("div",{class:{bullet:!0,active:e==Math.abs(this.internalPosition)%this.elementsCount},onClick:()=>this.goToSlide(e)})))):null}nextSlide(){this.internalPosition++,this.renderSlidePosition()}prevSlide(){const t=this.internalPosition-1;this.internalPosition=t>-1?t:this.elementsCount-1,this.renderSlidePosition()}renderSlidePosition(){const t=this.internalPosition%this.elementsCount;requestAnimationFrame((()=>{this.el.style.setProperty("--position",`${this.calculatePosition(t)}`)}))}calculatePosition(t){return this.isRTL?-1*t:t}handleKeyDown(t){if("Space"===t.key||"Enter"===t.key)switch(t.target.className.includes("prev")?"prev":"next"){case"prev":this.prevSlide();break;case"next":this.nextSlide()}}handleTouchStart(t){this.showBullets&&(this.swipeStartPosition=s.pipe(t.touches[0],a.fromNullable,a.map((t=>t.clientX))))}handleTouchEnd(t){if(!this.showBullets)return;const e=s.pipe(t.changedTouches[0],a.fromNullable,a.map((t=>t.clientX)));s.pipe(w(this.swipeStartPosition,e),a.map((([t,e])=>{return(i=t)<(o=e)?-1:i>o?1:0;var i,o})),a.map((t=>{switch(t){case 1:return this.nextSlide();case-1:return this.prevSlide()}})))}render(){return t(o,null,t("div",{class:"items-wrapper"},t("div",{class:"items",onTouchStart:t=>this.handleTouchStart(t),onTouchEnd:t=>this.handleTouchEnd(t)},t("slot",null))),this.showArrows?[t(mt,{kind:"prev",onClick:()=>this.isRTL?this.nextSlide():this.prevSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:1,disabled:!1}),t(mt,{kind:"next",onClick:()=>this.isRTL?this.prevSlide():this.nextSlide(),onKeyDown:t=>this.handleKeyDown(t),tabindex:0,disabled:!1})]:null,this.renderBullets())}get el(){return r(this)}static get watchers(){return{position:["positionWatchHandler"]}}};wt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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 yt=class{constructor(t){e(this,t)}componentWillLoad(){B(this,this.el)}render(){return t(o,null,t("slot",null,t("span",{class:"vviinn-teaser-text"},t("slot",{name:"vviinn-teaser-text"},L.t("teaserText")))))}get el(){return r(this)}};yt.style=":host{align-items:center;display:grid;justify-items:center;grid-gap:16px}.vviinn-teaser-text{font-size:22px;font-weight:600;line-height:28px;text-align:center;white-space:pre-line}";const kt=class{constructor(t){e(this,t),this.vviinnTextSearchStarted=i(this,"vviinnTextSearchStarted",7),this.vviinnSearchIdReceived=i(this,"vviinnSearchIdReceived",7),this.vviinnTextSearchFinished=i(this,"vviinnTextSearchFinished",7),this.setSearchQuery=t=>{this.searchQuery=t},this.token=void 0,this.locale="de-DE",this.mode="text",this.showInWidget=!1,this.searchQuery=void 0,this.apiPath="https://api.vviinn.com"}async componentWillLoad(){await L.init({lng:this.locale,fallbackLng:"en",resources:E}),B(this,this.el)}imageUploadFinished({detail:t}){this.showInWidget||this.vviinnSearchIdReceived.emit({searchId:t.searchId})}handleInputChange(t){this.setSearchQuery(t.target.value)}async handleTextSearch(){this.searchQuery&&(this.showInWidget?(await O(this.token,this.searchQuery),this.vviinnTextSearchFinished.emit({query:this.searchQuery})):this.vviinnTextSearchStarted.emit({query:this.searchQuery}))}handleKeyPress(t){"Enter"===t.key&&this.handleTextSearch()}render(){return t(o,{exportparts:"text-search-input"},t("input",{class:{"text-search-input":!0,"text-search-input--with-icon":"textAndImage"===this.mode},part:"text-search-input",type:"text",placeholder:L.t("textSearchPlaceholder"),value:this.searchQuery,onInput:t=>this.handleInputChange(t),onKeyUp:t=>this.handleKeyPress(t)}),t("button",{class:"text-search-button",onClick:()=>this.handleTextSearch(),disabled:n.loading},n.loading&&"text"===n.searchType&&this.showInWidget?t("vviinn-preloader",null):t("slot",{name:"vviinn-text-search-icon"},t(Q,null))),"textAndImage"===this.mode&&t("vviinn-image-selector",{token:this.token,apiPath:this.apiPath,showInTextSearch:!0},t("span",{slot:"upload-button-text"},t(U,null))))}get el(){return r(this)}};kt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--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:130px;--product-card-results-min-width:250px;--image-set-mode-min-size: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;--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;position:relative;width:100%}.text-search-input{width:100%;height:48px;padding:0 62px 0 16px;font-size:16px;box-sizing:border-box;font-style:normal;font-weight:400;border-radius:8px;border:1px solid var(--color-border-02);transition:border-color 0.2s;outline:none;overflow:hidden}.text-search-input--with-icon{padding-right:96px}.text-search-input::-moz-placeholder{color:#a8a8a8}.text-search-input::placeholder{color:#a8a8a8}.text-search-input:focus,.text-search-input:active{border-color:#8d8d8d}.text-search-button{position:absolute;right:1px;top:1px;border:none;border-radius:0 7px 7px 0;width:46px;height:46px;display:flex;justify-content:center;align-items:center;background-color:#f4f4f4;transition:background-color 0.2s;cursor:pointer}.text-search-button:not(:disabled):hover{background-color:#e0e0e0}.text-search-button:disabled{cursor:unset}vviinn-image-selector{position:absolute;right:60px;top:14px}vviinn-preloader{--preloader-size:16px;display:flex;color:#525252}";const Ct=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("wrongAspectRatioBlock.title")),t("button",{slot:"action",onClick:this.handler},L.t("wrongAspectRatioBlock.button"))))}},Mt=class{constructor(t){e(this,t),this.handler=void 0}render(){return t(o,null,t("vviinn-error",null,t(G,null),t("h4",{slot:"title"},L.t("wrongFormatBlock.title")),t("span",{slot:"text"},L.t("wrongFormatBlock.text")),t("button",{slot:"action",onClick:this.handler},L.t("wrongFormatBlock.button"))))}};export{et as search_filters,it as vviinn_detected_object,ot as vviinn_empty_results,rt as vviinn_example_image,nt as vviinn_image_selector,ct as vviinn_image_view,ht as vviinn_modal,dt as vviinn_overlay,pt as vviinn_overlayed_modal,ft as vviinn_privacy_badge,bt as vviinn_results,gt as vviinn_selected_filters,vt as vviinn_server_error,xt as vviinn_slide,wt as vviinn_slider,yt as vviinn_teaser,kt as vviinn_text_search,Ct as vviinn_wrong_aspect_ratio,Mt as vviinn_wrong_format}
|