index-f97e01e4.js 3.6 KB

1
  1. import{c as B,f as x,h as N,j as O,n as v,t as I,k as C,I as D,w as k,m as T,u as G,l as V,e as U,r as F,b as K,a as M,o as Y,d as A}from"./index-da467802.js";import{d as E,r as L,g as H,a as $,n as J,q as Q,o as W,s as _,c as o,w as X,x as Z,m as z}from"./index-24f34c0a.js";const[p,h]=B("image"),ee={src:String,alt:String,fit:String,position:String,round:Boolean,block:Boolean,width:v,height:v,radius:v,lazyLoad:Boolean,iconSize:v,showError:I,errorIcon:C("photo-fail"),iconPrefix:String,showLoading:I,loadingIcon:C("photo")};var te=E({name:p,props:ee,emits:["load","error"],setup(e,{emit:n,slots:r}){const i=L(!1),d=L(!0),s=L(),{$Lazyload:g}=H().proxy,w=$(()=>{const t={width:x(e.width),height:x(e.height)};return N(e.radius)&&(t.overflow="hidden",t.borderRadius=x(e.radius)),t});J(()=>e.src,()=>{i.value=!1,d.value=!0});const P=t=>{d.value&&(d.value=!1,n("load",t))},y=()=>{const t=new Event("load");Object.defineProperty(t,"target",{value:s.value,enumerable:!0}),P(t)},u=t=>{i.value=!0,d.value=!1,n("error",t)},a=(t,b,R)=>R?R():o(D,{name:t,size:e.iconSize,class:b,classPrefix:e.iconPrefix},null),c=()=>{if(d.value&&e.showLoading)return o("div",{class:h("loading")},[a(e.loadingIcon,h("loading-icon"),r.loading)]);if(i.value&&e.showError)return o("div",{class:h("error")},[a(e.errorIcon,h("error-icon"),r.error)])},m=()=>{if(i.value||!e.src)return;const t={alt:e.alt,class:h("img"),style:{objectFit:e.fit,objectPosition:e.position}};return e.lazyLoad?X(o("img",z({ref:s},t),null),[[Z("lazy"),e.src]]):o("img",z({ref:s,src:e.src,onLoad:P,onError:u},t),null)},l=({el:t})=>{const b=()=>{t===s.value&&d.value&&y()};s.value?b():_(b)},f=({el:t})=>{t===s.value&&!i.value&&u()};return g&&O&&(g.$on("loaded",l),g.$on("error",f),Q(()=>{g.$off("loaded",l),g.$off("error",f)})),W(()=>{_(()=>{var t;(t=s.value)!=null&&t.complete&&!e.lazyLoad&&y()})}),()=>{var t;return o("div",{class:h({round:e.round,block:e.block}),style:w.value},[m(),c(),(t=r.default)==null?void 0:t.call(r)])}}});const de=k(te),[j,ne]=B("grid"),re={square:Boolean,center:I,border:I,gutter:v,reverse:Boolean,iconSize:v,direction:String,clickable:Boolean,columnNum:T(4)},q=Symbol(j);var oe=E({name:j,props:re,setup(e,{slots:n}){const{linkChildren:r}=G(q);return r({props:e}),()=>{var i;return o("div",{style:{paddingLeft:x(e.gutter)},class:[ne(),{[V]:e.border&&!e.gutter}]},[(i=n.default)==null?void 0:i.call(n)])}}});const ue=k(oe),[ae,S]=B("grid-item"),ie=U({},F,{dot:Boolean,text:String,icon:String,badge:v,iconColor:String,iconPrefix:String,badgeProps:Object});var ce=E({name:ae,props:ie,setup(e,{slots:n}){const{parent:r,index:i}=K(q),d=M();if(!r)return;const s=$(()=>{const{square:u,gutter:a,columnNum:c}=r.props,m=`${100/+c}%`,l={flexBasis:m};if(u)l.paddingTop=m;else if(a){const f=x(a);l.paddingRight=f,i.value>=+c&&(l.marginTop=f)}return l}),g=$(()=>{const{square:u,gutter:a}=r.props;if(u&&a){const c=x(a);return{right:c,bottom:c,height:"auto"}}}),w=()=>{if(n.icon)return o(A,z({dot:e.dot,content:e.badge},e.badgeProps),{default:n.icon});if(e.icon)return o(D,{dot:e.dot,name:e.icon,size:r.props.iconSize,badge:e.badge,class:S("icon"),color:e.iconColor,badgeProps:e.badgeProps,classPrefix:e.iconPrefix},null)},P=()=>{if(n.text)return n.text();if(e.text)return o("span",{class:S("text")},[e.text])},y=()=>n.default?n.default():[w(),P()];return()=>{const{center:u,border:a,square:c,gutter:m,reverse:l,direction:f,clickable:t}=r.props,b=[S("content",[f,{center:u,square:c,reverse:l,clickable:t,surround:a&&m}]),{[Y]:a}];return o("div",{class:[S({square:c})],style:s.value},[o("div",{role:t?"button":void 0,class:b,style:g.value,tabindex:t?0:void 0,onClick:d},[y()])])}}});const ge=k(ce);export{ue as G,de as I,ge as a};