UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

3 lines (2 loc) 2.13 kB
"use strict";const e=require("vue");require("./table-head-cell.vue.cjs");require("./table-row.vue.cjs");const k=require("@vexip-ui/config"),s=require("@vexip-ui/utils"),g=require("./symbol.cjs"),C=require("./table-row.vue2.cjs"),B=require("./table-head-cell.vue2.cjs"),y=e.defineComponent({name:"TableHead",__name:"table-head",props:{fixed:{type:String,default:null}},setup(u){const o=u,{state:t,getters:c,mutations:p}=e.inject(g.TABLE_STORE),x=k.useNameHelper("table"),h=e.computed(()=>{const r=t.leftFixedColumns.length,i=t.allColumns[0].length-t.rightFixedColumns.length;return o.fixed==="left"?t.allColumns.map(l=>l.slice(0,r)):o.fixed==="right"?t.allColumns.map(l=>l.slice(i,t.allColumns[0].length)):t.allColumns.map(l=>l.slice(r,i))}),m=e.computed(()=>o.fixed==="left"?t.leftFixedColumns:o.fixed==="right"?t.rightFixedColumns:t.normalColumns),_=e.computed(()=>{var n,a;const r=o.fixed==="left"?s.getLast(c.leftFixedWidths):o.fixed==="right"?s.getLast(c.rightFixedWidths):s.getLast(c.normalWidths),i=((n=m.value[0])==null?void 0:n.fixed)==="left"&&t.sidePadding[0]||0,l=((a=s.getLast(m.value))==null?void 0:a.fixed)==="right"&&t.sidePadding[1]||0;return{minWidth:r&&`${r+i+l}px`}});function f(r){const i=`${g.TABLE_HEAD_PREFIX}${r}`;return t.rowMap.get(i)||p.createMinRowState(i)}return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(x).be("head")),role:"rowgroup",style:e.normalizeStyle(_.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(l,n)=>(e.openBlock(),e.createBlock(C,{key:n,index:n,"is-head":"",fixed:u.fixed,row:f(n),"aria-rowindex":n},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l,(a,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[a?(e.openBlock(),e.createBlock(B,{key:0,column:a,index:d,row:f(n),"row-index":n,fixed:u.fixed,"aria-colindex":d},null,8,["column","index","row","row-index","fixed","aria-colindex"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1032,["index","fixed","row","aria-rowindex"]))),128))],6))}});module.exports=y; //# sourceMappingURL=table-head.vue2.cjs.map