1 |
- import{aI as W,aJ as M,bm as X,b4 as Z,d as O,bl as ee,aK as ae,aY as le,dH as se,r as c,e as u,cl as m,w as te,b as ne,o as i,c as d,aL as z,C as _,D as oe,a,aa as g,F as $,m as ie,E as f,A as re,B as ce,aE as ue,aM as de,n as ve,dI as pe,b5 as me,dJ as fe,bQ as K,dK as ye,dL as ge,aN as we}from"./index-b9299550.js";import{E as be}from"./el-image-viewer-498779d9.js";const he=W({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:M([String,Object])},previewSrcList:{type:M(Array),default:()=>X([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7}}),ke={load:n=>n instanceof Event,error:n=>n instanceof Event,switch:n=>Z(n),close:()=>!0,show:()=>!0},Se=["src","loading"],xe={key:0},ze=O({name:"ElImage",inheritAttrs:!1}),Ee=we(de(O({...ze,props:he,emits:ke,setup(n,{emit:v}){const l=n;let E="";const{t:T}=ee(),o=ae("image"),F=le(),H=se(),w=c(),p=c(!1),r=c(!0),b=c(!1),y=c(),t=c(),Y=m&&"loading"in HTMLImageElement.prototype;let h,k;const j=u(()=>[o.e("inner"),S.value&&o.e("preview"),r.value&&o.is("loading")]),D=u(()=>F.style),J=u(()=>{const{fit:e}=l;return m&&e?{objectFit:e}:{}}),S=u(()=>{const{previewSrcList:e}=l;return Array.isArray(e)&&e.length>0}),P=u(()=>{const{previewSrcList:e,initialIndex:s}=l;let A=s;return s>e.length-1&&(A=0),A}),L=u(()=>l.loading!=="eager"&&(!Y&&l.loading==="lazy"||l.lazy)),x=()=>{m&&(r.value=!0,p.value=!1,w.value=l.src)};function R(e){r.value=!1,p.value=!1,v("load",e)}function q(e){r.value=!1,p.value=!0,v("error",e)}function I(){ye(y.value,t.value)&&(x(),N())}const C=ge(I,200,!0);async function B(){var e;if(!m)return;await ve();const{scrollContainer:s}=l;pe(s)?t.value=s:me(s)&&s!==""?t.value=(e=document.querySelector(s))!=null?e:void 0:y.value&&(t.value=fe(y.value)),t.value&&(h=K(t,"scroll",C),setTimeout(()=>I(),100))}function N(){m&&t.value&&C&&(h==null||h(),t.value=void 0)}function Q(e){if(e.ctrlKey)return e.deltaY<0||e.deltaY>0?(e.preventDefault(),!1):void 0}function G(){S.value&&(k=K("wheel",Q,{passive:!1}),E=document.body.style.overflow,document.body.style.overflow="hidden",b.value=!0,v("show"))}function U(){k==null||k(),document.body.style.overflow=E,b.value=!1,v("close")}function V(e){v("switch",e)}return te(()=>l.src,()=>{L.value?(r.value=!0,p.value=!1,N(),B()):x()}),ne(()=>{L.value?B():x()}),(e,s)=>(i(),d("div",{ref_key:"container",ref:y,class:g([a(o).b(),e.$attrs.class]),style:ue(a(D))},[p.value?z(e.$slots,"error",{key:0},()=>[_("div",{class:g(a(o).e("error"))},oe(a(T)("el.image.error")),3)]):(i(),d($,{key:1},[w.value!==void 0?(i(),d("img",ie({key:0},a(H),{src:w.value,loading:e.loading,style:a(J),class:a(j),onClick:G,onLoad:R,onError:q}),null,16,Se)):f("v-if",!0),r.value?(i(),d("div",{key:1,class:g(a(o).e("wrapper"))},[z(e.$slots,"placeholder",{},()=>[_("div",{class:g(a(o).e("placeholder"))},null,2)])],2)):f("v-if",!0)],64)),a(S)?(i(),d($,{key:2},[b.value?(i(),re(a(be),{key:0,"z-index":e.zIndex,"initial-index":a(P),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"url-list":e.previewSrcList,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:U,onSwitch:V},{default:ce(()=>[e.$slots.viewer?(i(),d("div",xe,[z(e.$slots,"viewer")])):f("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):f("v-if",!0)],64)):f("v-if",!0)],6))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/image/src/image.vue"]]));export{Ee as E};
|