@salamat1307/vue3-datatable
Version:
Vue3 Datatable - fully customizable & easy to use datatable library
2 lines (1 loc) • 24.7 kB
JavaScript
;const e=require("vue"),H=(g,k)=>{const B=g.__vccOpts||g;for(const[f,l]of k)B[f]=l;return B},Se={},Ee={version:"1.1",viewBox:"0 0 17 12",xmlns:"http://www.w3.org/2000/svg"};function Ne(g,k){return e.openBlock(),e.createElementBlock("svg",Ee,k[0]||(k[0]=[e.createElementVNode("g",{fill:"none","fill-rule":"evenodd"},[e.createElementVNode("g",{transform:"translate(-9 -11)",fill:"currentColor","fill-rule":"nonzero"},[e.createElementVNode("path",{d:"m25.576 11.414c0.56558 0.55188 0.56558 1.4439 0 1.9961l-9.404 9.176c-0.28213 0.27529-0.65247 0.41385-1.0228 0.41385-0.37034 0-0.74068-0.13855-1.0228-0.41385l-4.7019-4.588c-0.56584-0.55188-0.56584-1.4442 0-1.9961 0.56558-0.55214 1.4798-0.55214 2.0456 0l3.679 3.5899 8.3812-8.1779c0.56558-0.55214 1.4798-0.55214 2.0456 0z"})])],-1)]))}const oe=H(Se,[["render",Ne]]),_e={},Fe={viewBox:"0 0 24 24",width:"24",height:"24",stroke:"currentColor","stroke-width":"3",fill:"none","stroke-linecap":"round","stroke-linejoin":"round",class:"css-i6dzq1"};function xe(g,k){return e.openBlock(),e.createElementBlock("svg",Fe,k[0]||(k[0]=[e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"},null,-1)]))}const ze=H(_e,[["render",xe]]),Me={key:"hdrrow"},Le={class:"bh-checkbox"},De=["onClick"],Ae={width:"16",height:"16",viewBox:"0 0 14 14",fill:"none"},$e={key:0,class:"bh-filter bh-relative"},Re=["onUpdate:modelValue"],qe=["onUpdate:modelValue"],Te=["onUpdate:modelValue"],He=["onUpdate:modelValue"],le=e.defineComponent({__name:"column-header",props:["all","currentSortColumn","currentSortDirection","isOpenFilter","isFooter","checkAll","columnFilterLang"],emits:["selectAll","sortChange","filterChange","toggleFilterMenu"],setup(g,{emit:k}){const B=e.ref(null),f=g,l=k,b=()=>{B.value&&(B.value.indeterminate=f.checkAll!==0?!f.checkAll:!1,B.value.checked=f.checkAll)};return e.watch(()=>f.checkAll,b),(i,c)=>(e.openBlock(),e.createElementBlock("tr",Me,[f.all.hasCheckbox?(e.openBlock(),e.createElementBlock("th",{key:"chkall",class:e.normalizeClass(["bh-w-px",{"bh-sticky bh-bg-blue-light bh-z-[1]":f.all.stickyHeader||f.all.stickyFirstColumn,"bh-top-0":f.all.stickyHeader,"bh-left-0":f.all.stickyFirstColumn}])},[e.createElementVNode("div",Le,[e.createElementVNode("input",{ref_key:"selectedAll",ref:B,type:"checkbox",onClick:c[0]||(c[0]=e.withModifiers(s=>l("selectAll",s.target.checked),["stop"]))},null,512),e.createElementVNode("div",null,[e.createVNode(oe,{class:"check"}),e.createVNode(ze,{class:"intermediate"})])])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.all.columns,(s,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[s.hide?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("th",{key:s.field,class:e.normalizeClass(["bh-select-none bh-z-[1]",[f.all.sortable&&s.sort?"bh-cursor-pointer":"",y===0&&f.all.stickyFirstColumn?"bh-sticky bh-left-0 bh-bg-blue-light":"",f.all.hasCheckbox&&y===0&&f.all.stickyFirstColumn?"bh-left-[52px]":""]]),style:e.normalizeStyle({width:s.width,"min-width":s.minWidth,"max-width":s.maxWidth})},[e.createElementVNode("div",{class:e.normalizeClass(["bh-flex bh-items-center",[s.headerClass?s.headerClass:""]]),onClick:m=>f.all.sortable&&s.sort&&l("sortChange",s.field)},[e.createTextVNode(e.toDisplayString(s.title)+" ",1),f.all.sortable&&s.sort?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["bh-ml-3 bh-sort bh-flex bh-items-center",[f.currentSortColumn,f.currentSortDirection]])},[(e.openBlock(),e.createElementBlock("svg",Ae,[e.createElementVNode("polygon",{points:"3.11,6.25 10.89,6.25 7,1.75 ",fill:"currentColor",class:e.normalizeClass(["bh-text-black/20",[g.currentSortColumn===s.field&&g.currentSortDirection==="asc"?"!bh-text-primary":""]])},null,2),e.createElementVNode("polygon",{points:"7,12.25 10.89,7.75 3.11,7.75 ",fill:"currentColor",class:e.normalizeClass(["bh-text-black/20",[g.currentSortColumn===s.field&&g.currentSortDirection==="desc"?"!bh-text-primary":""]])},null,2)]))],2)):e.createCommentVNode("",!0)],10,De),f.all.columnFilter&&!f.isFooter?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[s.filter?(e.openBlock(),e.createElementBlock("div",$e,[s.type==="string"?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m=>s.value=m,type:"text",class:"bh-form-control",onKeyup:c[1]||(c[1]=m=>l("filterChange"))},null,40,Re)),[[e.vModelText,s.value,void 0,{trim:!0}]]):e.createCommentVNode("",!0),s.type==="number"?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,"onUpdate:modelValue":m=>s.value=m,type:"number",class:"bh-form-control",onKeyup:c[2]||(c[2]=m=>l("filterChange"))},null,40,qe)),[[e.vModelText,s.value,void 0,{number:!0,trim:!0}]]):s.type==="date"?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:2,"onUpdate:modelValue":m=>s.value=m,type:"date",class:"bh-form-control",onChange:c[3]||(c[3]=m=>l("filterChange"))},null,40,Te)),[[e.vModelText,s.value]]):s.type==="bool"?e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:3,"onUpdate:modelValue":m=>s.value=m,class:"bh-form-control",onChange:c[4]||(c[4]=m=>l("filterChange")),onClick:c[5]||(c[5]=m=>f.isOpenFilter=null)},c[8]||(c[8]=[e.createElementVNode("option",{value:void 0},"All",-1),e.createElementVNode("option",{value:!0},"True",-1),e.createElementVNode("option",{value:!1},"False",-1)]),40,He)),[[e.vModelSelect,s.value]]):e.createCommentVNode("",!0),s.type==="custom"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.customFilter(s)),{key:4,modelValue:s.value,"onUpdate:modelValue":m=>s.value=m,onChange:c[6]||(c[6]=m=>l("filterChange"))},null,40,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),s.type==="custom-select2"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.customFilter(s)),{key:5,modelValue:s.value,"onUpdate:modelValue":m=>{s.value=m,l("filterChange")},"onOption:selected":c[7]||(c[7]=m=>l("filterChange"))},null,40,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],6))],64))),256))]))}}),Oe={},Pe={width:"84",height:"84",viewBox:"0 0 24 24",class:"bh-loader bh-text-primary"};function Ue(g,k){return e.openBlock(),e.createElementBlock("svg",Pe,k[0]||(k[0]=[e.createStaticVNode('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>',3)]))}const Ie=H(Oe,[["render",Ue]]),Ke={class:"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal"},Je=["onClick"],We={class:"bh-checkbox"},Ye=["value"],Ge=["innerHTML"],Qe={key:1},Xe=["colspan"],Ze=["colspan"],je={key:0,class:"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center"},et={class:"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4"},tt={class:"bh-pagination-info bh-flex bh-items-center"},lt={class:"bh-mr-2"},ot=["value"],nt={class:"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1"},at=["innerHTML"],rt={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},st=["innerHTML"],it={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},ct=["onClick"],ut=["innerHTML"],dt={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},ft=["innerHTML"],vt={key:1,"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 16 16"},mt=e.defineComponent({__name:"custom-table",props:{loading:{type:Boolean,default:!1},isServerMode:{type:Boolean,default:!1},skin:{default:"bh-table-striped bh-table-hover"},totalRows:{default:0},rows:{default:()=>[]},columns:{default:()=>[]},hasCheckbox:{type:Boolean,default:!1},search:{default:""},columnChooser:{type:Boolean,default:!1},page:{default:1},pageSize:{default:10},pageSizeOptions:{default:()=>[10,20,30,50,100]},showPageSize:{type:Boolean,default:!0},rowClass:{default:[]},cellClass:{default:[]},sortable:{type:Boolean,default:!1},sortColumn:{default:"id"},sortDirection:{default:"asc"},columnFilter:{type:Boolean,default:!1},columnFilterLang:{default:null},pagination:{type:Boolean,default:!0},showNumbers:{type:Boolean,default:!0},showNumbersCount:{default:5},showFirstPage:{type:Boolean,default:!0},showLastPage:{type:Boolean,default:!0},firstArrow:{default:""},lastArrow:{default:""},nextArrow:{default:""},previousArrow:{default:""},paginationInfo:{default:"Showing {0} to {1} of {2} entries"},noDataContent:{default:"No data available"},stickyHeader:{type:Boolean,default:!1},height:{default:"500px"},stickyFirstColumn:{type:Boolean,default:!1},cloneHeaderInFooter:{type:Boolean,default:!1},selectRowOnClick:{type:Boolean,default:!1}},emits:["change","sortChange","searchChange","pageChange","pageSizeChange","rowSelect","filterChange","rowClick","rowDBClick"],setup(g,{expose:k,emit:B}){var X,Z;const f=e.useSlots(),l=g;for(const t of l.columns||[]){const o=((X=t.type)==null?void 0:X.toLowerCase())||"string";t.type=o,t.isUnique=t.isUnique!==void 0?t.isUnique:!1,t.hide=t.hide!==void 0?t.hide:!1,t.filter=t.filter!==void 0?t.filter:!0,t.search=t.search!==void 0?t.search:!0,t.sort=t.sort!==void 0?t.sort:!0,t.html=t.html!==void 0?t.html:!1,t.condition=!o||o==="string"?"contain":"equal"}const b=e.ref([]),i=e.ref(l.page),c=e.ref(l.pagination?l.pageSize:(Z=l.rows)==null?void 0:Z.length),s=l.pageSize,y=e.ref(l.sortColumn),m=l.sortColumn,_=e.ref(l.sortDirection),ne=l.sortDirection,w=e.ref(l.totalRows),C=e.ref([]),q=e.ref(null),x=e.ref(l.loading),z=e.ref(l.search),ae=JSON.parse(JSON.stringify(l.columns)),M=e.ref(null),O=e.ref(null);let D=e.ref(0);const re=e.ref(230);e.onMounted(()=>{S()});const V=B;k({reset(){ge()},getSelectedRows(){return Ce()},getColumnFilters(){return be()},clearSelectedRows(){return ye()},selectRow(t){G(t)},unselectRow(t){Q(t)},isRowSelected(t){return R(t)},getFilteredRows(){return I()},getVisibleRows(){return we()}});const se=(t,...o)=>t.replace(/{(\d+)}/g,(a,d)=>typeof o[d]<"u"?o[d]:a),p=e.computed(()=>{const t=l.columns.find(o=>o.isUnique);return(t==null?void 0:t.field)||null}),N=e.computed(()=>{const t=c.value<1?1:Math.ceil(w.value/c.value);return Math.max(t||0,1)}),P=e.computed(()=>(i.value-1)*c.value+1),U=e.computed(()=>{const t=i.value*c.value;return w.value>=t?t:w.value}),ie=e.computed(()=>{let t,o;return typeof l.showNumbersCount<"u"&&l.showNumbersCount<N.value?(t=Math.max(i.value-Math.floor(l.showNumbersCount/2),1),o=t+l.showNumbersCount-1,o>N.value&&(o=N.value,t=o-l.showNumbersCount+1)):(t=1,o=N.value),Array.from(Array(o+1-t).keys()).map(h=>t+h)}),I=()=>{var h,A,j;let t=l.rows||[];if(!l.isServerMode){if(l.columnFilter&&((h=l.columns)==null||h.forEach(n=>{n.filter&&(n.value!==void 0&&n.value!==null&&n.value!==""||n.condition==="is_null"||n.condition=="is_not_null")&&(n.type==="string"?(n.value&&!n.condition&&(n.condition="contain"),n.condition==="contain"?t=t.filter(r=>{var v;return(v=u(r,n.field))==null?void 0:v.toString().toLowerCase().includes(n.value.toLowerCase())}):n.condition==="not_contain"?t=t.filter(r=>{var v;return!((v=u(r,n.field))!=null&&v.toString().toLowerCase().includes(n.value.toLowerCase()))}):n.condition==="equal"?t=t.filter(r=>{var v;return((v=u(r,n.field))==null?void 0:v.toString().toLowerCase())===n.value.toLowerCase()}):n.condition==="not_equal"?t=t.filter(r=>{var v;return((v=u(r,n.field))==null?void 0:v.toString().toLowerCase())!==n.value.toLowerCase()}):n.condition=="start_with"?t=t.filter(r=>{var v;return((v=u(r,n.field))==null?void 0:v.toString().toLowerCase().indexOf(n.value.toLowerCase()))===0}):n.condition=="end_with"&&(t=t.filter(r=>{var v;return((v=u(r,n.field))==null?void 0:v.toString().toLowerCase().substr(n.value.length*-1))===n.value.toLowerCase()}))):n.type==="number"?(n.value&&!n.condition&&(n.condition="equal"),n.condition==="equal"?t=t.filter(r=>u(r,n.field)&&parseFloat(u(r,n.field))===parseFloat(n.value)):n.condition==="not_equal"?t=t.filter(r=>u(r,n.field)&&parseFloat(u(r,n.field))!==parseFloat(n.value)):n.condition==="greater_than"?t=t.filter(r=>u(r,n.field)&&parseFloat(u(r,n.field))>parseFloat(n.value)):n.condition==="greater_than_equal"?t=t.filter(r=>u(r,n.field)&&parseFloat(u(r,n.field))>=parseFloat(n.value)):n.condition==="less_than"?t=t.filter(r=>u(r,n.field)&&parseFloat(u(r,n.field))<parseFloat(n.value)):n.condition==="less_than_equal"&&(t=t.filter(r=>u(r,n.field)&&parseFloat(u(r,n.field))<=parseFloat(n.value)))):n.type==="date"?(n.value&&!n.condition&&(n.condition="equal"),n.condition==="equal"?t=t.filter(r=>u(r,n.field)&&$(u(r,n.field))===n.value):n.condition==="not_equal"?t=t.filter(r=>u(r,n.field)&&$(u(r,n.field))!==n.value):n.condition==="greater_than"?t=t.filter(r=>u(r,n.field)&&$(u(r,n.field))>n.value):n.condition==="less_than"&&(t=t.filter(r=>u(r,n.field)&&$(u(r,n.field))<n.value))):n.type==="bool"&&(t=t.filter(r=>u(r,n.field)===n.value)),n.condition==="is_null"?(t=t.filter(r=>u(r,n.field)==null||u(r,n.field)==""),n.value=""):n.condition==="is_not_null"&&(n.value="",t=t.filter(r=>u(r,n.field))))})),z.value&&(t==null?void 0:t.length)){let n=[];const r=(l.columns||[]).filter(v=>v.search&&!v.hide).map(v=>v.field);for(var o=0;o<(t==null?void 0:t.length);o++)for(var a=0;a<r.length;a++)if((A=u(t[o],r[a]))!=null&&A.toString().toLowerCase().includes(z.value.toLowerCase())){n.push(t[o]);break}t=n}if(l.sortable){var d=new Intl.Collator(void 0,{numeric:((j=l.columns.find(r=>r.field==y.value))==null?void 0:j.type)==="number",sensitivity:"base"});const n=_.value==="desc"?-1:1;t.sort((r,v)=>{var ee,te;const Be=(ee=y.value)==null?void 0:ee.split(".").reduce((F,T)=>F==null?void 0:F[T],r),Ve=(te=y.value)==null?void 0:te.split(".").reduce((F,T)=>F==null?void 0:F[T],v);return d.compare(Be,Ve)*n})}}return t},S=()=>{let t=[],o=I();return l.isServerMode?(w.value=l.totalRows||0,t=o):(w.value=(o==null?void 0:o.length)||0,t=o.slice(P.value-1,U.value)),b.value=t||[],t};e.watch(()=>l.loading,()=>{x.value=l.loading});const K=t=>{t?M.value===t.field?M.value=null:M.value=t.field:M.value=null},ce=()=>{if(i.value==1)return!1;i.value--},ue=t=>{i.value=t},de=()=>{if(i.value>=N.value)return!1;i.value++},fe=()=>{E(!1),l.isServerMode?L("page"):(S(),V("pageChange",i.value))};e.watch(()=>i.value,fe);const ve=()=>{l.isServerMode||(i.value=1),E(!1),S()};e.watch(()=>l.rows,ve);const me=()=>{E(!1),l.isServerMode?i.value===1?L("pagesize",!0):i.value=1:(i.value=1,S(),V("pageSizeChange",c.value))};e.watch(()=>c.value,me);const J=t=>{let o="asc";t==y.value&&_.value==="asc"&&(o="desc");let a=(i.value-1)*c.value,d=c.value;y.value=t,_.value=o,E(!1),S(),l.isServerMode?L("sort"):V("sortChange",{offset:a,limit:d,field:t,direction:o})},W=t=>{q.value=t.length&&b.value.length&&t.length===b.value.length;const o=b.value.filter((a,d)=>C.value.includes(p.value?a[p.value]:d));V("rowSelect",o)};e.watch(()=>C.value,W);const E=t=>{t?C.value=b.value.map((o,a)=>p.value?o[p.value]:a):C.value=[]},Y=()=>{E(!1),l.isServerMode?i.value===1?L("filter",!0):i.value=1:(i.value=1,S(),V("filterChange",l.columns))},he=()=>{E(!1),l.isServerMode?i.value===1?L("search",!0):i.value=1:(i.value=1,S(),V("searchChange",z.value))};e.watch(()=>l.search,()=>{z.value=l.search,he()});const u=(t,o)=>o==null?void 0:o.split(".").reduce((a,d)=>a==null?void 0:a[d],t),$=t=>{try{if(!t)return"";const o=new Date(t),a=o.getDate(),d=o.getMonth()+1;return o.getFullYear()+"-"+(d>9?d:"0"+d)+"-"+(a>9?a:"0"+a)}catch{}return""},pe=(t,o)=>{D.value++,D.value===1?O.value=setTimeout(()=>{D.value=0,l.selectRowOnClick&&(R(o)?Q(o):G(o),W(C.value)),V("rowClick",t)},re.value):D.value===2&&(clearTimeout(O.value),D.value=0,V("rowDBClick",t))},L=(t,o=!1)=>{if(l.isServerMode){ke();const a={current_page:o?1:i.value,pagesize:c.value,offset:(i.value-1)*c.value,sort_column:y.value,sort_direction:_.value,search:z.value,column_filters:l.columns,change_type:t};V("change",a)}},ke=()=>{for(let t=0;t<l.columns.length;t++){let o=l.columns[t];o.filter&&(o.value!==void 0&&o.value!==null&&o.value!==""||o.condition==="is_null"||o.condition==="is_not_null")&&(o.type==="string"&&o.value&&!o.condition&&(o.condition="contain"),o.type==="number"&&o.value&&!o.condition&&(o.condition="equal"),o.type==="date"&&o.value&&!o.condition&&(o.condition="equal"))}},ge=()=>{E(!1);for(let t=0;t<l.columns.length;t++)l.columns[t]=ae[t];z.value="",c.value=s,y.value=m,_.value=ne,l.isServerMode?i.value===1?L("reset",!0):i.value=1:(i.value=1,S())},Ce=()=>b.value.filter((o,a)=>C.value.includes(p.value?o[p.value]:a)),be=()=>l.columns,ye=()=>{C.value=[]},G=t=>{if(!R(t)){const o=b.value.find((a,d)=>d===t);C.value.push(p.value?o[p.value]:t)}},Q=t=>{if(R(t)){const o=b.value.find((a,d)=>d===t);C.value=C.value.filter(a=>a!==(p.value?o[p.value]:t))}},R=t=>{const o=b.value.find((a,d)=>d===t);return o?C.value.includes(p.value?o[p.value]:t):!1},we=()=>S();return(t,o)=>(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",{class:e.normalizeClass(["bh-table-responsive",{"bh-min-h-[300px]":x.value}]),style:e.normalizeStyle({height:l.stickyHeader&&l.height})},[e.createElementVNode("table",{class:e.normalizeClass([l.skin])},[e.createElementVNode("thead",{class:e.normalizeClass({"bh-sticky bh-top-0 bh-z-10":l.stickyHeader})},[e.createVNode(le,{all:l,currentSortColumn:y.value,currentSortDirection:_.value,isOpenFilter:M.value,checkAll:q.value,columnFilterLang:l.columnFilterLang,onSelectAll:E,onSortChange:J,onFilterChange:Y,onToggleFilterMenu:K},null,8,["currentSortColumn","currentSortDirection","isOpenFilter","checkAll","columnFilterLang"])],2),e.createElementVNode("tbody",null,[w.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.value,(a,d)=>(e.openBlock(),e.createElementBlock("tr",{key:a[p.value]?a[p.value]:d,class:e.normalizeClass([typeof l.rowClass=="function"?t.rowClass(a):l.rowClass,l.selectRowOnClick?"bh-cursor-pointer":""]),onClick:e.withModifiers(h=>pe(a,d),["prevent"])},[l.hasCheckbox?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass({"bh-sticky bh-left-0 bh-bg-blue-light":l.stickyFirstColumn})},[e.createElementVNode("div",We,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=h=>C.value=h),type:"checkbox",value:a[p.value]?a[p.value]:d,onClick:o[1]||(o[1]=e.withModifiers(()=>{},["stop"]))},null,8,Ye),[[e.vModelCheckbox,C.value]]),e.createElementVNode("div",null,[e.createVNode(oe,{class:"check"})])])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.columns,(h,A)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[h.hide?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("td",{key:h.field,class:e.normalizeClass([typeof l.cellClass=="function"?t.cellClass(a):l.cellClass,A===0&&l.stickyFirstColumn?"bh-sticky bh-left-0 bh-bg-blue-light":"",l.hasCheckbox&&A===0&&l.stickyFirstColumn?"bh-left-[52px]":"",h.cellClass?h.cellClass:""])},[e.unref(f)[h.field]?e.renderSlot(t.$slots,h.field,{key:0,value:a}):h.cellRenderer?(e.openBlock(),e.createElementBlock("div",{key:1,innerHTML:h.cellRenderer(a)},null,8,Ge)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(u(a,h.field)),1)],64))],2))],64))),256))],10,Je))),128)):e.createCommentVNode("",!0),!w.value&&!x.value?(e.openBlock(),e.createElementBlock("tr",Qe,[e.createElementVNode("td",{colspan:l.columns.length+1},e.toDisplayString(l.noDataContent),9,Xe)])):e.createCommentVNode("",!0),!w.value&&x.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.pageSize,a=>(e.openBlock(),e.createElementBlock("tr",{key:a,class:"!bh-bg-white bh-h-11 !bh-border-transparent"},[e.createElementVNode("td",{colspan:l.columns.length+1,class:"!bh-p-0 !bh-border-transparent"},o[5]||(o[5]=[e.createElementVNode("div",{class:"bh-skeleton-box bh-h-8"},null,-1)]),8,Ze)]))),128)):e.createCommentVNode("",!0)]),l.cloneHeaderInFooter?(e.openBlock(),e.createElementBlock("tfoot",{key:0,class:e.normalizeClass({"bh-sticky bh-bottom-0":l.stickyHeader})},[e.createVNode(le,{all:l,currentSortColumn:y.value,currentSortDirection:_.value,isOpenFilter:M.value,isFooter:!0,checkAll:q.value,onSelectAll:E,onSortChange:J,onFilterChange:Y,onToggleFilterMenu:K},null,8,["currentSortColumn","currentSortDirection","isOpenFilter","checkAll"])],2)):e.createCommentVNode("",!0)],2),w.value&&x.value?(e.openBlock(),e.createElementBlock("div",je,[e.createVNode(Ie)])):e.createCommentVNode("",!0)],6),l.pagination&&w.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["bh-pagination bh-py-5",{"bh-pointer-events-none":x.value}])},[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.createElementVNode("span",lt,e.toDisplayString(se(l.paginationInfo,w.value?P.value:0,U.value,w.value)),1),l.showPageSize?e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":o[2]||(o[2]=a=>c.value=a),class:"bh-pagesize"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.pageSizeOptions,a=>(e.openBlock(),e.createElementBlock("option",{value:a,key:a},e.toDisplayString(a),9,ot))),128))],512)),[[e.vModelSelect,c.value]]):e.createCommentVNode("",!0)]),e.createElementVNode("div",nt,[l.showFirstPage?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["bh-page-item first-page",{disabled:i.value<=1}]),onClick:o[3]||(o[3]=a=>i.value=1)},[l.firstArrow?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:l.firstArrow},null,8,at)):(e.openBlock(),e.createElementBlock("svg",rt,o[6]||(o[6]=[e.createElementVNode("g",{fill:"currentColor","fill-rule":"evenodd"},[e.createElementVNode("path",{d:"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"}),e.createElementVNode("path",{d:"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"})],-1)])))],2)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["bh-page-item previous-page",{disabled:i.value<=1}]),onClick:ce},[l.previousArrow?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:l.previousArrow},null,8,st)):(e.openBlock(),e.createElementBlock("svg",it,o[7]||(o[7]=[e.createElementVNode("path",{fill:"currentColor","fill-rule":"evenodd",d:"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"},null,-1)])))],2),l.showNumbers?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(ie.value,a=>(e.openBlock(),e.createElementBlock("button",{key:a,type:"button",class:e.normalizeClass(["bh-page-item",{disabled:i.value===a,"bh-active":a===i.value}]),onClick:d=>ue(a)},e.toDisplayString(a),11,ct))),128)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["bh-page-item next-page",{disabled:i.value>=N.value}]),onClick:de},[l.nextArrow?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:l.nextArrow},null,8,ut)):(e.openBlock(),e.createElementBlock("svg",dt,o[8]||(o[8]=[e.createElementVNode("path",{fill:"currentColor","fill-rule":"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z"},null,-1)])))],2),l.showLastPage?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass(["bh-page-item last-page",{disabled:i.value>=N.value}]),onClick:o[4]||(o[4]=a=>i.value=N.value)},[l.lastArrow?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:l.lastArrow},null,8,ft)):(e.openBlock(),e.createElementBlock("svg",vt,o[9]||(o[9]=[e.createElementVNode("g",{fill:"currentColor","fill-rule":"evenodd"},[e.createElementVNode("path",{d:"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z"}),e.createElementVNode("path",{d:"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z"})],-1)])))],2)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)]))}});module.exports=mt;