el-image.bbfa5f50.js 4.3 KB

1
  1. import{ao as v,D as oe,E as O,ap as ne,aq as re,f as R,S as ie,R as se,ar as ue,j as d,J as y,as as ce,k as ve,at as de,o as f,l as m,W as fe,u as t,X as p,q as _,r as C,m as $,v as pe,F as ye,c as me,w as ge,a0 as he,H as we,C as _e,au as ke,av as ze,N,a1 as be,__tla as Ee}from"./entry.7ac74952.js";import{E as Ce,__tla as Se}from"./el-image-viewer.6b094d65.js";import{u as xe,__tla as Be}from"./index.4e8000c9.js";import{g as Le,__tla as Ie}from"./scroll.6ddd597d.js";let T,Ae=Promise.all([(()=>{try{return Ee}catch{}})(),(()=>{try{return Se}catch{}})(),(()=>{try{return Be}catch{}})(),(()=>{try{return Ie}catch{}})()]).then(async()=>{const j=(l,o)=>{if(!v||!l||!o)return!1;const a=l.getBoundingClientRect();let n;return o instanceof Element?n=o.getBoundingClientRect():n={top:0,right:window.innerWidth,bottom:window.innerHeight,left:0},a.top<n.bottom&&a.bottom>n.top&&a.right>n.left&&a.left<n.right},q=oe({hideOnClickModal:{type:Boolean,default:!1},src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:{type:Boolean,default:!1},scrollContainer:{type:O([String,Object])},previewSrcList:{type:O(Array),default:()=>ne([])},previewTeleported:{type:Boolean,default:!1},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2}}),D={load:l=>l instanceof Event,error:l=>l instanceof Event,switch:l=>re(l),close:()=>!0,show:()=>!0},H=["src","loading"],M={key:0},P=R({name:"ElImage",inheritAttrs:!1}),F=R({...P,props:q,emits:D,setup(l,{emit:o}){const a=l;let n="";const{t:Y}=ie(),s=se("image"),J=ue(),K=xe(),k=d(),u=d(!1),c=d(!0),z=d(!1),g=d(),i=d(),X=v&&"loading"in HTMLImageElement.prototype;let h,w;const G=y(()=>J.style),Q=y(()=>{const{fit:e}=a;return v&&e?{objectFit:e}:{}}),b=y(()=>{const{previewSrcList:e}=a;return Array.isArray(e)&&e.length>0}),U=y(()=>{const{previewSrcList:e,initialIndex:r}=a;let A=r;return r>e.length-1&&(A=0),A}),S=y(()=>a.loading==="eager"?!1:!X&&a.loading==="lazy"||a.lazy),E=()=>{v&&(c.value=!0,u.value=!1,k.value=a.src)};function V(e){c.value=!1,u.value=!1,o("load",e)}function Z(e){c.value=!1,u.value=!0,o("error",e)}function x(){j(g.value,i.value)&&(E(),I())}const B=ce(x,200);async function L(){var e;if(!v)return;await _e();const{scrollContainer:r}=a;ke(r)?i.value=r:ze(r)&&r!==""?i.value=(e=document.querySelector(r))!=null?e:void 0:g.value&&(i.value=Le(g.value)),i.value&&(h=N(i,"scroll",B),setTimeout(()=>x(),100))}function I(){!v||!i.value||!B||(h==null||h(),i.value=void 0)}function ee(e){if(e.ctrlKey&&(e.deltaY<0||e.deltaY>0))return e.preventDefault(),!1}function te(){b.value&&(w=N("wheel",ee,{passive:!1}),n=document.body.style.overflow,document.body.style.overflow="hidden",z.value=!0,o("show"))}function ae(){w==null||w(),document.body.style.overflow=n,z.value=!1,o("close")}function le(e){o("switch",e)}return ve(()=>a.src,()=>{S.value?(c.value=!0,u.value=!1,I(),L()):E()}),de(()=>{S.value?L():E()}),(e,r)=>(f(),m("div",{ref_key:"container",ref:g,class:_([t(s).b(),e.$attrs.class]),style:he(t(G))},[k.value!==void 0&&!u.value?(f(),m("img",fe({key:0},t(K),{src:k.value,loading:e.loading,style:t(Q),class:[t(s).e("inner"),t(b)&&t(s).e("preview"),c.value&&t(s).is("loading")],onClick:te,onLoad:V,onError:Z}),null,16,H)):p("v-if",!0),c.value||u.value?(f(),m("div",{key:1,class:_(t(s).e("wrapper"))},[c.value?C(e.$slots,"placeholder",{key:0},()=>[$("div",{class:_(t(s).e("placeholder"))},null,2)]):u.value?C(e.$slots,"error",{key:1},()=>[$("div",{class:_(t(s).e("error"))},pe(t(Y)("el.image.error")),3)]):p("v-if",!0)],2)):p("v-if",!0),t(b)?(f(),m(ye,{key:2},[z.value?(f(),me(t(Ce),{key:0,"z-index":e.zIndex,"initial-index":t(U),infinite:e.infinite,"zoom-rate":e.zoomRate,"url-list":e.previewSrcList,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:ae,onSwitch:le},{default:ge(()=>[e.$slots.viewer?(f(),m("div",M,[C(e.$slots,"viewer")])):p("v-if",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):p("v-if",!0)],64)):p("v-if",!0)],6))}});var W=we(F,[["__file","/home/runner/work/element-plus/element-plus/packages/components/image/src/image.vue"]]);T=be(W)});export{T as E,Ae as __tla};