vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
3 lines (2 loc) • 2.3 kB
JavaScript
const e=require("vue");require("./table-cell.vue.cjs");require("./table-row.vue.cjs");const h=require("@vexip-ui/config"),c=require("@vexip-ui/utils"),k=require("./symbol.cjs"),v=require("./table-row.vue2.cjs"),B=require("./table-cell.vue2.cjs"),_=e.defineComponent({name:"TableBody",__name:"table-body",props:{fixed:{type:String,default:null}},setup(l){const r=l,{state:t,getters:a}=e.inject(k.TABLE_STORE),u=h.useNameHelper("table"),f=e.toRef(t,"locale"),x=e.computed(()=>r.fixed==="left"?t.leftFixedColumns:r.fixed==="right"?t.rightFixedColumns:t.normalColumns),p=e.computed(()=>t.virtual?t.virtualData:a.processedData),g=e.computed(()=>{var d,s;const i=r.fixed==="left"?c.getLast(a.leftFixedWidths):r.fixed==="right"?c.getLast(a.rightFixedWidths):c.getLast(a.normalWidths),o=((d=x.value[0])==null?void 0:d.fixed)==="left"&&t.sidePadding[0]||0,n=((s=c.getLast(x.value))==null?void 0:s.fixed)==="right"&&t.sidePadding[1]||0;return{[u.cv("expanded-fix-width")]:r.fixed==="right"&&i?`${i+o+n}px`:"0px",minWidth:i&&`${i+o+n}px`,minHeight:`${t.totalHeight}px`}}),y=e.computed(()=>{const{rowHeight:i,rowMinHeight:o}=t;return{minHeight:`${i||o}px`}});return(i,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(u).be("body")),role:"rowgroup",style:e.normalizeStyle(g.value)},[p.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(p.value,(n,d)=>(e.openBlock(),e.createBlock(v,{key:d,row:n,index:n.listIndex,fixed:l.fixed,"aria-rowindex":n.index},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(s,m)=>(e.openBlock(),e.createBlock(B,{key:m,row:n,"row-index":n.listIndex,column:s,"col-index":m,fixed:l.fixed,"aria-colindex":m},null,8,["row","row-index","column","col-index","fixed","aria-colindex"]))),128))]),_:2},1032,["row","index","fixed","aria-rowindex"]))),128)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(u).be("empty")),style:e.normalizeStyle(y.value)},[e.renderSlot(i.$slots,"empty",{isFixed:!!l.fixed},()=>[l.fixed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(f.value.empty),1)],64))])],6))],6))}});module.exports=_;
//# sourceMappingURL=table-body.vue2.cjs.map
;