index-legacy-718b92ae.js 2.0 KB

1
  1. System.register(["./index-legacy-f74d0852.js"],(function(o,e){"use strict";var r,a,l,n,i,t,s,u,c,d,v,g,f,h,y,m,b,p,w,z,S;return{setters:[o=>{r=o.A,a=o.d,l=o.y,n=o.z,i=o.b,t=o.X,s=o.aI,u=o.x,c=o.au,d=o.aw,v=o.o,g=o.N,f=o.c,h=o.J,y=o.G,m=o.a3,b=o.U,p=o.b9,w=o.S,z=o.a1,S=o.H}],execute:function(){const[e,x]=r("image"),L={src:String,alt:String,fit:String,position:String,round:Boolean,block:Boolean,width:h,height:h,radius:h,lazyLoad:Boolean,iconSize:h,showError:y,errorIcon:m("photo-fail"),iconPrefix:String,showLoading:y,loadingIcon:m("photo")};var I=a({name:e,props:L,emits:["load","error"],setup(o,{emit:e,slots:r}){const a=l(!1),h=l(!0),y=l(),{$Lazyload:m}=n().proxy,S=i((()=>{const e={width:t(o.width),height:t(o.height)};return s(o.radius)&&(e.overflow="hidden",e.borderRadius=t(o.radius)),e}));u((()=>o.src),(()=>{a.value=!1,h.value=!0}));const L=o=>{h.value&&(h.value=!1,e("load",o))},I=()=>{const o=new Event("load");Object.defineProperty(o,"target",{value:y.value,enumerable:!0}),L(o)},P=o=>{a.value=!0,h.value=!1,e("error",o)},$=(e,r,a)=>a?a():f(z,{name:e,size:o.iconSize,"class":r,classPrefix:o.iconPrefix},null),j=()=>{if(a.value||!o.src)return;const e={alt:o.alt,"class":x("img"),style:{objectFit:o.fit,objectPosition:o.position}};return o.lazyLoad?b(f("img",w({ref:y},e),null),[[p("lazy"),o.src]]):f("img",w({ref:y,src:o.src,onLoad:L,onError:P},e),null)},E=({el:o})=>{const e=()=>{o===y.value&&h.value&&I()};y.value?e():g(e)},k=({el:o})=>{o!==y.value||a.value||P()};return m&&c&&(m.$on("loaded",E),m.$on("error",k),d((()=>{m.$off("loaded",E),m.$off("error",k)}))),v((()=>{g((()=>{var e;(null==(e=y.value)?void 0:e.complete)&&!o.lazyLoad&&I()}))})),()=>{var e;return f("div",{"class":x({round:o.round,block:o.block}),style:S.value},[j(),h.value&&o.showLoading?f("div",{"class":x("loading")},[$(o.loadingIcon,x("loading-icon"),r.loading)]):a.value&&o.showError?f("div",{"class":x("error")},[$(o.errorIcon,x("error-icon"),r.error)]):void 0,null==(e=r["default"])?void 0:e.call(r)])}}});o("I",S(I))}}}));