index.7f9087a9.js 1.6 KB

1
  1. import{x as k,E as d,y as b,S as w,d as S,W as v,ae as E,Z as $,$ as g,K as B,a2 as D,af as j,ag as C,i as r,ah as N,ai as R,z as x,a3 as U,L as F,D as K}from"./index.9a8e7555.js";const[T,o]=k("image"),V={src:String,alt:String,fit:String,position:String,round:Boolean,width:d,height:d,radius:d,lazyLoad:Boolean,iconSize:d,showError:b,errorIcon:w("photo-fail"),iconPrefix:String,showLoading:b,loadingIcon:w("photo")};var W=S({name:T,props:V,emits:["load","error"],setup(a,{emit:u,slots:l}){const n=v(!1),i=v(!0),c=v(),{$Lazyload:t}=E().proxy,L=$(()=>{const e={width:g(a.width),height:g(a.height)};return B(a.radius)&&(e.overflow="hidden",e.borderRadius=g(a.radius)),e});D(()=>a.src,()=>{n.value=!1,i.value=!0});const m=e=>{i.value=!1,u("load",e)},f=e=>{n.value=!0,i.value=!1,u("error",e)},h=(e,s,_)=>_?_():r(F,{name:e,size:a.iconSize,class:s,classPrefix:a.iconPrefix},null),I=()=>{if(i.value&&a.showLoading)return r("div",{class:o("loading")},[h(a.loadingIcon,o("loading-icon"),l.loading)]);if(n.value&&a.showError)return r("div",{class:o("error")},[h(a.errorIcon,o("error-icon"),l.error)])},P=()=>{if(n.value||!a.src)return;const e={alt:a.alt,class:o("img"),style:{objectFit:a.fit,objectPosition:a.position}};return a.lazyLoad?N(r("img",x({ref:c},e),null),[[R("lazy"),a.src]]):r("img",x({src:a.src,onLoad:m,onError:f},e),null)},z=({el:e})=>{const s=()=>{e===c.value&&i.value&&m()};c.value?s():U(s)},y=({el:e})=>{e===c.value&&!n.value&&f()};return t&&j&&(t.$on("loaded",z),t.$on("error",y),C(()=>{t.$off("loaded",z),t.$off("error",y)})),()=>{var e;return r("div",{class:o({round:a.round}),style:L.value},[P(),I(),(e=l.default)==null?void 0:e.call(l)])}}});const q=K(W);export{q as I};