wot-design-uni/demo/assets/wd-grid.De8T7lBn.js

2 lines
5.2 KiB
JavaScript

var e=Object.defineProperty,s=Object.defineProperties,t=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,l=(s,t,r)=>t in s?e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[t]=r,i=(e,s)=>{for(var t in s||(s={}))a.call(s,t)&&l(e,t,s[t]);if(r)for(var t of r(s))o.call(s,t)&&l(e,t,s[t]);return e},n=(e,r)=>s(e,t(r));import{d as p,r as u,c,B as d,aA as m,Q as g,R as b,C as v,y as f,b as $,g as h,w as x,h as w,i as y,E as C,q as k,D as _,S as I,T as S,j as T,t as j,aU as O,a6 as P,aV as q,s as D,aR as z}from"./index-ChV97F5w.js";import{b as B,a as N,c as E,n as G,w as H,_ as R}from"./base64.D3gEw_Hf.js";import{w as V}from"./wd-badge.B8CK6WcG.js";import{e as A}from"./page-wraper.D9WpzC1k.js";import{u as L}from"./useChildren.C_02WC2s.js";const Q=Symbol("wd-grid"),U=n(i({},B),{clickable:E(!1),square:E(!1),column:Number,border:E(!1),bgColor:N(""),gutter:Number,hoverClass:String}),F=n(i({},B),{customText:N(""),customIcon:N(""),icon:N(""),iconSize:N("26px"),text:String,url:String,linkType:N("navigateTo"),useSlot:E(!1),useIconSlot:E(!1),useTextSlot:E(!1),isDot:{type:Boolean,default:void 0},type:String,value:G,max:Number,badgeProps:Object}),J=R(p(n(i({},{name:"wd-grid-item",options:{virtualHost:!0,addGlobalClass:!0,styleIsolation:"shared"}}),{props:F,emits:["itemclick"],setup(e,{expose:s,emit:t}){const r=e,a=t,o=u(""),l=u(""),i=u(""),n=u(0),p=u(!1),z=u(!0),{parent:B}=A(Q),N=c((()=>d(B)&&d(B.children)?B.children.length:0)),E=c((()=>m(d(r.badgeProps)?g(r.badgeProps,b):{},g({max:r.max,isDot:r.isDot,modelValue:r.value,type:r.type},b))));function G(){if(!B)return;const e=B.children,s=B.props.column?100/B.props.column+"%":100/e.length+"%",t=B.props.gutter?`padding:${B.props.gutter}px ${B.props.gutter}px 0 0; background-color: transparent;`:"",r=B.props.square?`background-color:transparent; padding-bottom: 0; padding-top:${s}`:"";l.value=B.props.gutter&&B.props.square?`right: ${B.props.gutter}px; bottom:${B.props.gutter}px;height: auto; background-color: ${B.props.bgColor}`:`background-color: ${B.props.bgColor}`,z.value=Boolean(B.props.border),p.value=Boolean(B.props.square),n.value=Number(B.props.gutter),o.value=`width: ${s}; ${r||t}`}function R(){if(B&&!B.props.clickable)return;const{url:e,linkType:s}=r;if(a("itemclick"),e)switch(s){case"navigateTo":D({url:e});break;case"reLaunch":q({url:e});break;case"redirectTo":P({url:e});break;case"switchTab":O({url:e});break;default:console.error(`[wot-design] warning(wd-grid-item): linkType can not be ${s}`)}}v((()=>N.value),(()=>{if(!B)return;const e=B.props.column?100/B.props.column+"%":100/(N.value||1)+"%",s=B.props.gutter?`padding:${B.props.gutter}px ${B.props.gutter}px 0 0; background-color: transparent;`:"",t=B.props.square?`background-color:transparent; padding-bottom: 0; padding-top:${e}`:"";o.value=`width: ${e}; ${t||s}`}),{deep:!0,immediate:!0}),f((()=>{G()}));const L=c((()=>(null==B?void 0:B.props.clickable)?B.props.hoverClass?B.props.hoverClass:"wd-grid-item__content--hover":"none"));return s({setiIemClass:function(e){i.value=e},itemClass:i,init:G}),(e,s)=>{const t=y;return h(),$(t,{class:k(`wd-grid-item ${z.value&&!n.value?i.value:""} ${e.customClass}`),onClick:R,style:C(`${o.value};${e.customStyle}`)},{default:x((()=>[w(t,{class:k(`wd-grid-item__content ${p.value?"is-square":""} ${z.value&&n.value>0?"is-round":""}`),style:C(l.value),"hover-class":L.value},{default:x((()=>[_(e.$slots,"default",{},(()=>[w(t,{class:"wd-grid-item__wrapper"},{default:x((()=>[w(V,I(S(E.value)),{default:x((()=>[_(e.$slots,"icon",{},(()=>[w(H,{name:e.icon,size:e.iconSize,"custom-class":e.customIcon},null,8,["name","size","custom-class"])]),!0)])),_:3},16)])),_:3}),_(e.$slots,"text",{},(()=>[w(t,{class:k(`wd-grid-item__text ${e.customText}`)},{default:x((()=>[T(j(e.text),1)])),_:1},8,["class"])]),!0)]),!0)])),_:3},8,["class","style","hover-class"])])),_:3},8,["class","style"])}}})),[["__scopeId","data-v-f494b19d"]]),K=R(p(n(i({},{name:"wd-grid",options:{virtualHost:!0,addGlobalClass:!0,styleIsolation:"shared"}}),{props:U,setup(e){const s=()=>new Promise((e=>setTimeout(e,20))),t=e,{linkChildren:r,children:a}=L(Q);r({props:t}),v((()=>t.column),((e,s)=>{e!==s&&((!e||e<=0)&&console.error("The number of columns attribute value is invalid. The attribute must be greater than 0 and it is not recommended to use a larger value attribute."),s&&i())}),{deep:!0,immediate:!0}),v((()=>t.border),(e=>{e&&Promise.resolve().then(s).then((()=>{i()}))}),{deep:!0,immediate:!0}),v((()=>a),(()=>{l()}),{deep:!0});const o=c((()=>`${t.gutter?"padding-left:"+t.gutter+"px;padding-bottom:"+t.gutter+"px;":""}${t.customStyle}`)),l=z((()=>{i()}),50);function i(){a&&a.forEach(((e,s)=>{if(t.border){const{column:r}=t;if(r){const t=a.length-1===s||(s+1)%r==0,o=s+1<=r;o&&e.$.exposed.setiIemClass("is-first"),t&&e.$.exposed.setiIemClass("is-right"),!o&&e.$.exposed.setiIemClass("is-border")}else e.$.exposed.setiIemClass("is-first");a.length-1===s&&e.$.exposed.setiIemClass(e.$.exposed.itemClass.value+" is-last")}e.$.exposed.init()}))}return(e,s)=>{const t=y;return h(),$(t,{class:k(`wd-grid ${e.customClass}`),style:C(o.value)},{default:x((()=>[_(e.$slots,"default",{},void 0,!0)])),_:3},8,["class","style"])}}})),[["__scopeId","data-v-eed24fe4"]]);export{J as _,K as a};