2 lines
4.8 KiB
JavaScript
2 lines
4.8 KiB
JavaScript
var e=Object.defineProperty,s=Object.defineProperties,a=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,l=(s,a,r)=>a in s?e(s,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[a]=r;import{bd as i,a8 as n,at as c,av as u,a0 as v,d,bK as p,a1 as f,bP as y,c as m,ck as g,bN as w,r as b,ca as h,an as x,A as O,o as S,b as k,e as z,s as P,i as j,f as $,v as E,p as I,q as L,I as N,a2 as B,h as C,cx as _,w as A,cc as M,c_ as T,n as q,ci as K,ah as R,c$ as D,d0 as F,d1 as H,d2 as Z,az as G}from"./index-BoIUJTA2.js";import{E as J}from"./index-1OHUSGeP.js";const Q=n({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:c([String,Object])},previewSrcList:{type:c(Array),default:()=>u([])},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},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:c(String)}}),U={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>i(e),close:()=>!0,show:()=>!0},V=d({name:"ElImage",inheritAttrs:!1}),W=d((X=((e,s)=>{for(var a in s||(s={}))o.call(s,a)&&l(e,a,s[a]);if(r)for(var a of r(s))t.call(s,a)&&l(e,a,s[a]);return e})({},V),s(X,a({props:Q,emits:U,setup(e,{expose:s,emit:a}){const r=e,{t:o}=p(),t=f("image"),l=y(),i=m(()=>g(Object.entries(l).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||["id","style"].includes(e)))),n=w({excludeListeners:!0,excludeKeys:m(()=>Object.keys(i.value))}),c=b(),u=b(!1),v=b(!0),d=b(!1),G=b(),Q=b(),U=h&&"loading"in HTMLImageElement.prototype;let V;const W=m(()=>[t.e("inner"),Y.value&&t.e("preview"),v.value&&t.is("loading")]),X=m(()=>{const{fit:e}=r;return h&&e?{objectFit:e}:{}}),Y=m(()=>{const{previewSrcList:e}=r;return x(e)&&e.length>0}),ee=m(()=>{const{previewSrcList:e,initialIndex:s}=r;let a=s;return s>e.length-1&&(a=0),a}),se=m(()=>"eager"!==r.loading&&(!U&&"lazy"===r.loading||r.lazy)),ae=()=>{h&&(v.value=!0,u.value=!1,c.value=r.src)};function re(e){v.value=!1,u.value=!1,a("load",e)}function oe(e){v.value=!1,u.value=!0,a("error",e)}const te=Z(function(e){e&&(ae(),ie())},200,!0);function le(){return e=this,s=null,a=function*(){var e;if(!h)return;yield q();const{scrollContainer:s}=r;if(K(s))Q.value=s;else if(R(s)&&""!==s)Q.value=null!=(e=document.querySelector(s))?e:void 0;else if(G.value){const e=D(G.value);Q.value=F(e)?void 0:e}const{stop:a}=H(G,([e])=>{te(e.isIntersecting)},{root:Q});V=a},new Promise((r,o)=>{var t=e=>{try{i(a.next(e))}catch(s){o(s)}},l=e=>{try{i(a.throw(e))}catch(s){o(s)}},i=e=>e.done?r(e.value):Promise.resolve(e.value).then(t,l);i((a=a.apply(e,s)).next())});var e,s,a}function ie(){h&&te&&(null==V||V(),Q.value=void 0,V=void 0)}function ne(){Y.value&&(d.value=!0,a("show"))}function ce(){d.value=!1,a("close")}function ue(e){a("switch",e)}return O(()=>r.src,()=>{se.value?(v.value=!0,u.value=!1,ie(),le()):ae()}),S(()=>{se.value?le():ae()}),s({showPreview:ne}),(e,s)=>(z(),k("div",B({ref_key:"container",ref:G},I(i),{class:[I(t).b(),e.$attrs.class]}),[u.value?P(e.$slots,"error",{key:0},()=>[$("div",{class:L(I(t).e("error"))},E(I(o)("el.image.error")),3)]):(z(),k(N,{key:1},[void 0!==c.value?(z(),k("img",B({key:0},I(n),{src:c.value,loading:e.loading,style:I(X),class:I(W),crossorigin:e.crossorigin,onClick:ne,onLoad:re,onError:oe}),null,16,["src","loading","crossorigin"])):j("v-if",!0),v.value?(z(),k("div",{key:1,class:L(I(t).e("wrapper"))},[P(e.$slots,"placeholder",{},()=>[$("div",{class:L(I(t).e("placeholder"))},null,2)])],2)):j("v-if",!0)],64)),I(Y)?(z(),k(N,{key:2},[d.value?(z(),C(I(J),{key:0,"z-index":e.zIndex,"initial-index":I(ee),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:ce,onSwitch:ue},_({toolbar:A(s=>[P(e.$slots,"toolbar",M(T(s)))]),default:A(()=>[e.$slots.viewer?(z(),k("div",{key:0},[P(e.$slots,"viewer")])):j("v-if",!0)]),_:2},[e.$slots.progress?{name:"progress",fn:A(s=>[P(e.$slots,"progress",M(T(s)))])}:void 0,e.$slots["viewer-error"]?{name:"viewer-error",fn:A(s=>[P(e.$slots,"viewer-error",M(T(s)))])}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):j("v-if",!0)],64)):j("v-if",!0)],16))}}))));var X;const Y=G(v(W,[["__file","image.vue"]]));export{Y as E};
|