var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,o=(a,t,s)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,i=(e,a)=>{for(var t in a||(a={}))n.call(a,t)&&o(e,t,a[t]);if(s)for(var t of s(a))l.call(a,t)&&o(e,t,a[t]);return e},r=(e,s)=>a(e,t(s));import{cI as c,bd as u,a8 as d,at as f,av as v,a0 as p,d as m,dv as b,dw as g,dx as y,bK as k,a1 as w,cl as x,r as I,dy as O,c as h,d4 as C,aM as _,A as z,o as N,cY as R,h as A,e as E,w as T,g as P,a3 as $,f as j,m as S,q as Y,p as L,cn as X,i as D,b as M,s as B,O as F,ai as W,be as q,I as K,aR as V,ac as Z,j as G,v as H,dz as J,dA as Q,aE as U,dB as ee,dC as ae,dD as te,Z as se,_ as ne,n as le,az as oe}from"./index-BoIUJTA2.js";import{E as ie}from"./index-COyGylbk.js";import{d as re}from"./debounce-DQl5eUwG.js";function ce(e,a,t){var s=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return c(t)&&(s="leading"in t?!!t.leading:s,n="trailing"in t?!!t.trailing:n),re(e,a,{leading:s,maxWait:a,trailing:n})}const ue=d({urlList:{type:f(Array),default:()=>v([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:f(String)}}),de={close:()=>!0,error:e=>e instanceof Event,switch:e=>u(e),rotate:e=>u(e)},fe=m({name:"ElImageViewer"});const ve=oe(p(m(r(i({},fe),{props:ue,emits:de,setup(e,{expose:a,emit:t}){var s;const n=e,l={CONTAIN:{name:"contain",icon:b(y)},ORIGINAL:{name:"original",icon:b(g)}};let o,c="";const{t:u}=k(),d=w("image-viewer"),{nextZIndex:f}=x(),v=I(),p=I(),m=O(),oe=h(()=>{const{scale:e,minScale:a,maxScale:t}=n;return C(e,a,t)}),re=I(!0),ue=I(!1),de=I(n.initialIndex),fe=_(l.CONTAIN),ve=I({scale:oe.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),pe=I(null!=(s=n.zIndex)?s:f()),me=h(()=>{const{urlList:e}=n;return e.length<=1}),be=h(()=>0===de.value),ge=h(()=>de.value===n.urlList.length-1),ye=h(()=>n.urlList[de.value]),ke=h(()=>[d.e("btn"),d.e("prev"),d.is("disabled",!n.infinite&&be.value)]),we=h(()=>[d.e("btn"),d.e("next"),d.is("disabled",!n.infinite&&ge.value)]),xe=h(()=>{const{scale:e,deg:a,offsetX:t,offsetY:s,enableTransition:n}=ve.value;let o=t/e,i=s/e;const r=a*Math.PI/180,c=Math.cos(r),u=Math.sin(r);o=o*c+i*u,i=i*c-t/e*u;const d={transform:`scale(${e}) rotate(${a}deg) translate(${o}px, ${i}px)`,transition:n?"transform .3s":""};return fe.value.name===l.CONTAIN.name&&(d.maxWidth=d.maxHeight="100%"),d}),Ie=h(()=>`${de.value+1} / ${n.urlList.length}`);function Oe(){m.stop(),null==o||o(),document.body.style.overflow=c,t("close")}function he(){re.value=!1}function Ce(e){ue.value=!0,re.value=!1,t("error",e),e.target.alt=u("el.image.error")}function _e(e){if(re.value||0!==e.button||!v.value)return;ve.value.enableTransition=!1;const{offsetX:a,offsetY:t}=ve.value,s=e.pageX,n=e.pageY,l=ce(e=>{ve.value=r(i({},ve.value),{offsetX:a+e.pageX-s,offsetY:t+e.pageY-n})}),o=R(document,"mousemove",l);R(document,"mouseup",()=>{o()}),e.preventDefault()}function ze(){ve.value={scale:oe.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function Ne(){if(re.value||ue.value)return;const e=te(l),a=Object.values(l),t=fe.value.name,s=(a.findIndex(e=>e.name===t)+1)%e.length;fe.value=l[e[s]],ze()}function Re(e){ue.value=!1;const a=n.urlList.length;de.value=(e+a)%a}function Ae(){be.value&&!n.infinite||Re(de.value-1)}function Ee(){ge.value&&!n.infinite||Re(de.value+1)}function Te(e,a={}){if(re.value||ue.value)return;const{minScale:s,maxScale:l}=n,{zoomRate:o,rotateDeg:r,enableTransition:c}=i({zoomRate:n.zoomRate,rotateDeg:90,enableTransition:!0},a);switch(e){case"zoomOut":ve.value.scale>s&&(ve.value.scale=Number.parseFloat((ve.value.scale/o).toFixed(3)));break;case"zoomIn":ve.value.scale0?(e.preventDefault(),!1):void 0}return z(()=>oe.value,e=>{ve.value.scale=e}),z(ye,()=>{le(()=>{const e=p.value;(null==e?void 0:e.complete)||(re.value=!0)})}),z(de,e=>{ze(),t("switch",e)}),N(()=>{!function(){const e=ce(e=>{switch(se(e)){case ne.esc:n.closeOnPressEscape&&Oe();break;case ne.space:Ne();break;case ne.left:Ae();break;case ne.up:Te("zoomIn");break;case ne.right:Ee();break;case ne.down:Te("zoomOut")}}),a=ce(e=>{Te((e.deltaY||e.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:n.zoomRate,enableTransition:!1})});m.run(()=>{R(document,"keydown",e),R(document,"wheel",a)})}(),o=R("wheel",je,{passive:!1}),c=document.body.style.overflow,document.body.style.overflow="hidden"}),a({setActiveItem:Re}),(e,a)=>(E(),A(L(ie),{to:"body",disabled:!e.teleported},{default:T(()=>[P($,{name:"viewer-fade",appear:""},{default:T(()=>[j("div",{ref_key:"wrapper",ref:v,tabindex:-1,class:Y(L(d).e("wrapper")),style:S({zIndex:pe.value})},[P(L(X),{loop:"",trapped:"","focus-trap-el":v.value,"focus-start-el":"container",onFocusoutPrevented:Pe,onReleaseRequested:$e},{default:T(()=>[j("div",{class:Y(L(d).e("mask")),onClick:F(a=>e.hideOnClickModal&&Oe(),["self"])},null,10,["onClick"]),D(" CLOSE "),j("span",{class:Y([L(d).e("btn"),L(d).e("close")]),onClick:Oe},[P(L(W),null,{default:T(()=>[P(L(q))]),_:1})],2),D(" ARROW "),L(me)?D("v-if",!0):(E(),M(K,{key:0},[j("span",{class:Y(L(ke)),onClick:Ae},[P(L(W),null,{default:T(()=>[P(L(V))]),_:1})],2),j("span",{class:Y(L(we)),onClick:Ee},[P(L(W),null,{default:T(()=>[P(L(Z))]),_:1})],2)],64)),e.$slots.progress||e.showProgress?(E(),M("div",{key:1,class:Y([L(d).e("btn"),L(d).e("progress")])},[B(e.$slots,"progress",{activeIndex:de.value,total:e.urlList.length},()=>[G(H(L(Ie)),1)])],2)):D("v-if",!0),D(" ACTIONS "),j("div",{class:Y([L(d).e("btn"),L(d).e("actions")])},[j("div",{class:Y(L(d).e("actions__inner"))},[B(e.$slots,"toolbar",{actions:Te,prev:Ae,next:Ee,reset:Ne,activeIndex:de.value,setActiveItem:Re},()=>[P(L(W),{onClick:e=>Te("zoomOut")},{default:T(()=>[P(L(J))]),_:1},8,["onClick"]),P(L(W),{onClick:e=>Te("zoomIn")},{default:T(()=>[P(L(Q))]),_:1},8,["onClick"]),j("i",{class:Y(L(d).e("actions__divider"))},null,2),P(L(W),{onClick:Ne},{default:T(()=>[(E(),A(U(L(fe).icon)))]),_:1}),j("i",{class:Y(L(d).e("actions__divider"))},null,2),P(L(W),{onClick:e=>Te("anticlockwise")},{default:T(()=>[P(L(ee))]),_:1},8,["onClick"]),P(L(W),{onClick:e=>Te("clockwise")},{default:T(()=>[P(L(ae))]),_:1},8,["onClick"])])],2)],2),D(" CANVAS "),j("div",{class:Y(L(d).e("canvas"))},[ue.value&&e.$slots["viewer-error"]?B(e.$slots,"viewer-error",{key:0,activeIndex:de.value,src:L(ye)}):(E(),M("img",{ref_key:"imgRef",ref:p,key:L(ye),src:L(ye),style:S(L(xe)),class:Y(L(d).e("img")),crossorigin:e.crossorigin,onLoad:he,onError:Ce,onMousedown:_e},null,46,["src","crossorigin"]))],2),B(e.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}})),[["__file","image-viewer.vue"]]));export{ve as E};