mi-vue3-data-table-component-heatmap-v2
Version:
A customizable and easy-to-use data table component made with Vue.js 3.x.
2 lines (1 loc) • 37.1 kB
JavaScript
(function(e,V){typeof exports=="object"&&typeof module!="undefined"?module.exports=V(require("vue")):typeof define=="function"&&define.amd?define(["vue"],V):(e=typeof globalThis!="undefined"?globalThis:e||self,e["vue3-easy-data-table"]=V(e.Vue))})(this,function(e){"use strict";var _n=Object.defineProperty,xn=Object.defineProperties;var Pn=Object.getOwnPropertyDescriptors;var Je=Object.getOwnPropertySymbols;var wn=Object.prototype.hasOwnProperty,Nn=Object.prototype.propertyIsEnumerable;var We=(e,V,I)=>V in e?_n(e,V,{enumerable:!0,configurable:!0,writable:!0,value:I}):e[V]=I,O=(e,V)=>{for(var I in V||(V={}))wn.call(V,I)&&We(e,I,V[I]);if(Je)for(var I of Je(V))Nn.call(V,I)&&We(e,I,V[I]);return e},de=(e,V)=>xn(e,Pn(V));var V="",I=(r,d)=>{const t=r.__vccOpts||r;for(const[o,p]of d)t[o]=p;return t};const qe=r=>(e.pushScopeId("data-v-e0a0b7f0"),r=r(),e.popScopeId(),r),Ue=["onClick"],Ye=["checked"],Xe=qe(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Ze=I(e.defineComponent({__name:"MultipleSelectCheckBox",props:{status:{type:String,required:!0}},emits:["change"],setup(r,{emit:d}){const t=r;e.useCssVars(m=>({"51ab8a49":e.unref(c)}));const o=e.computed(()=>t.status==="allSelected"),p=()=>{d("change",!o.value)},c=e.inject("themeColor");return(m,s)=>(e.openBlock(),e.createElementBlock("div",{class:"easy-checkbox",onClick:e.withModifiers(p,["stop","prevent"])},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(o),class:e.normalizeClass(r.status)},null,10,Ye),Xe],8,Ue))}}),[["__scopeId","data-v-e0a0b7f0"]]),Bn="";const Ge=r=>(e.pushScopeId("data-v-7e69a276"),r=r(),e.popScopeId(),r),Ke=["checked"],Qe=Ge(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Ie=I(e.defineComponent({__name:"SingleSelectCheckBox",props:{checked:{type:Boolean,required:!0}},emits:["change"],setup(r,{emit:d}){e.useCssVars(o=>({fdaf7e9e:e.unref(t)}));const t=e.inject("themeColor");return(o,p)=>(e.openBlock(),e.createElementBlock("div",{class:"easy-checkbox",onClick:p[0]||(p[0]=e.withModifiers(c=>d("change"),["stop","prevent"]))},[e.createElementVNode("input",{type:"checkbox",checked:r.checked},null,8,Ke),Qe]))}}),[["__scopeId","data-v-7e69a276"]]),En="";const ve=r=>(e.pushScopeId("data-v-4eebb7b6"),r=r(),e.popScopeId(),r),et={class:"easy-data-table__rows-selector"},tt={class:"rows-input"},nt=ve(()=>e.createElementVNode("div",{class:"page-size"},[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"17",height:"16",viewBox:"0 0 17 16",fill:"none"},[e.createElementVNode("path",{d:"M4.5 10.1667L8.66667 14.3333L12.8333 10.1667M4.5 5.16667L8.66667 1L12.8333 5.16667",stroke:"#079455","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),at=["onClick"];var rt=I(e.defineComponent({__name:"RowsSelector",props:{modelValue:{type:Number,required:!0},rowsItems:{type:Array,required:!0}},emits:["update:modelValue"],setup(r,{emit:d}){const t=r;e.useCssVars(k=>({"52bbe872":e.unref(y)}));const o=e.ref(!1),p=e.ref(!1),c=e.inject("dataTable");e.watch(o,k=>{if(k&&c){const g=window.innerHeight,b=c.value.getBoundingClientRect().height,z=c.value.getBoundingClientRect().top;g-(b+z)<=100?p.value=!0:p.value=!1}});const m=e.computed({get:()=>t.modelValue,set:k=>{d("update:modelValue",k)}}),s=k=>{m.value=k,o.value=!1},a=(k,g)=>{let b=k.parentNode;for(;b!=null;){if(b.classList&&b.classList.contains(g))return!0;b=b.parentNode}return!1},i=k=>{a(k.target,"easy-data-table__rows-selector")||(o.value=!1)};e.onMounted(()=>{document.addEventListener("click",i)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",i)});const y=e.inject("themeColor");return(k,g)=>(e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("div",{class:"rows-input__wrapper",onClick:g[0]||(g[0]=b=>o.value=!o.value)},[e.createElementVNode("div",tt,e.toDisplayString(e.unref(m)),1),nt]),e.createElementVNode("ul",{class:e.normalizeClass(["select-items",{show:o.value,inside:p.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.rowsItems,b=>(e.openBlock(),e.createElementBlock("li",{key:b,class:e.normalizeClass({selected:b===e.unref(m)}),onClick:z=>s(b)},e.toDisplayString(b),11,at))),128))],2)]))}}),[["__scopeId","data-v-4eebb7b6"]]),$n="";const ue=r=>(e.pushScopeId("data-v-1fa3a520"),r=r(),e.popScopeId(),r),ot={class:"lds-ring"},lt=[ue(()=>e.createElementVNode("div",null,null,-1)),ue(()=>e.createElementVNode("div",null,null,-1)),ue(()=>e.createElementVNode("div",null,null,-1)),ue(()=>e.createElementVNode("div",null,null,-1))];var st=I(e.defineComponent({__name:"Loading",setup(r){e.useCssVars(t=>({"26774109":e.unref(d)}));const d=e.inject("themeColor");return(t,o)=>(e.openBlock(),e.createElementBlock("div",ot,lt))}}),[["__scopeId","data-v-1fa3a520"]]),Fn="";const it={class:"buttons-pagination"},ct=["onClick"];var dt=I(e.defineComponent({__name:"ButtonsPagination",props:{maxPaginationNumber:{type:Number,required:!0},currentPaginationNumber:{type:Number,required:!0}},emits:["updatePage"],setup(r,{emit:d}){const t=r;e.useCssVars(s=>({"40dd4f07":e.unref(m)}));const o=7,p=s=>{s.type==="button"&&!s.active&&d("updatePage",s.page)},c=e.computed(()=>{const s=[];if(t.maxPaginationNumber<=o)for(let a=1;a<=t.maxPaginationNumber;a+=1)s.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if([1,2,t.maxPaginationNumber,t.maxPaginationNumber-1].includes(t.currentPaginationNumber))for(let a=1;a<=o;a+=1)if(a<=3)s.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if(a===4)s.push({type:"omission"});else{const i=t.maxPaginationNumber-(o-a);s.push({type:"button",page:i,active:i===t.currentPaginationNumber,activePrev:i+1===t.currentPaginationNumber})}else if([3,4].includes(t.currentPaginationNumber))for(let a=1;a<=o;a+=1)a<=5?s.push({type:"button",page:a,active:a===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber}):a===6?s.push({type:"omission"}):s.push({type:"button",page:t.maxPaginationNumber,active:t.maxPaginationNumber===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else if([t.maxPaginationNumber-2,t.maxPaginationNumber-3].includes(t.currentPaginationNumber))for(let a=1;a<=o;a+=1)if(a===1)s.push({type:"button",page:1,active:t.currentPaginationNumber===1,activePrev:a+1===t.currentPaginationNumber});else if(a===2)s.push({type:"omission"});else{const i=t.maxPaginationNumber-(o-a);s.push({type:"button",page:i,active:i===t.currentPaginationNumber,activePrev:i+1===t.currentPaginationNumber})}else for(let a=1;a<=o;a+=1)if(a===1)s.push({type:"button",page:1,active:t.currentPaginationNumber===1,activePrev:a+1===t.currentPaginationNumber});else if(a===2||a===6)s.push({type:"omission"});else if(a===7)s.push({type:"button",page:t.maxPaginationNumber,active:t.maxPaginationNumber===t.currentPaginationNumber,activePrev:a+1===t.currentPaginationNumber});else{const i=4-a,y=t.currentPaginationNumber-i;s.push({type:"button",page:y,active:y===t.currentPaginationNumber,activePrev:y+1===t.currentPaginationNumber})}return s}),m=e.inject("themeColor");return(s,a)=>(e.openBlock(),e.createElementBlock("div",it,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),(i,y)=>(e.openBlock(),e.createElementBlock("div",{key:y,class:e.normalizeClass(["item",{button:i.type==="button",active:i.type==="button"&&i.active,"active-prev":i.type==="button"&&i.activePrev,omission:i.type==="omission"}]),onClick:k=>p(i)},e.toDisplayString(i.type==="button"?i.page:"..."),11,ct))),128))]))}}),[["__scopeId","data-v-4c681fa2"]]),Mn="";const $e=r=>(e.pushScopeId("data-v-c9da5286"),r=r(),e.popScopeId(),r),ut=[$e(()=>e.createElementVNode("span",{class:"arrow arrow-right"},null,-1))],pt=[$e(()=>e.createElementVNode("span",{class:"arrow arrow-left"},null,-1))];var ft=I(e.defineComponent({__name:"PaginationArrows",props:{isFirstPage:{type:Boolean,required:!1},isLastPage:{type:Boolean,required:!1}},emits:["clickPrevPage","clickNextPage"],setup(r,{emit:d}){const t=e.useSlots();return(o,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["previous-page__click-button",{"first-page":r.isFirstPage}]),onClick:p[0]||(p[0]=c=>d("clickPrevPage"))},ut,2),e.unref(t).buttonsPagination?e.renderSlot(o.$slots,"buttonsPagination",{key:0},void 0,!0):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["next-page__click-button",{"last-page":r.isLastPage}]),onClick:p[1]||(p[1]=c=>d("clickNextPage"))},pt,2)],64))}}),[["__scopeId","data-v-c9da5286"]]);function mt(r,d,t,o){return{clickRow:(c,m,s)=>{if(r.value!==m)return;const a=O({},c);if(d.value){const{checkbox:i}=c;delete a.checkbox,a.isSelected=i}if(t.value){const{index:i}=c;delete a.index,a.indexInCurrentPage=i}o("clickRow",a,s)}}}function gt(r,d,t,o){const p=e.ref([]);return{expandingItemIndexList:p,updateExpandingItemIndexList:(s,a,i)=>{console.log("we got here let's see how it goes in expanding the item..."),console.log("expandingItemIndexList before: ",JSON.parse(JSON.stringify(p))),i.stopPropagation();const y=p.value.indexOf(s);if(console.log("index: ",y),y!==-1)p.value.splice(y,1);else{p.value=[];let k=r.value.findIndex(b=>JSON.stringify(b)===JSON.stringify(a));JSON.stringify(o.value)===JSON.stringify(a)&&(k=s),p.value.push(d.value+k)}console.log("expandingItemIndexList after: ",p)},clearExpandingItemIndexList:()=>{p.value=[]}}}function yt(r){const d=e.computed(()=>r.value.filter(p=>p.fixed)),t=e.computed(()=>d.value.length?d.value[d.value.length-1].value:""),o=e.computed(()=>{if(!d.value.length)return[];const p=d.value.map(c=>{var m;return(m=c.width)!=null?m:100});return d.value.map((c,m)=>{var s,a;return{value:c.value,fixed:(s=c.fixed)!=null?s:!0,width:(a=c.width)!=null?a:100,distance:m===0?0:p.reduce((i,y,k)=>{let g=i;return k<m&&(g+=y),g})}})});return{fixedHeaders:d,lastFixedColumn:t,fixedColumnsInfos:o}}function ht(r,d,t,o,p,c,m,s,a,i,y,k,g,b,z,P,A,j,J){const u=e.computed(()=>m.value.findIndex(_=>_.fixed)!==-1),N=e.computed(()=>u.value?m.value.filter(_=>_.fixed):[]),B=e.computed(()=>m.value.filter(_=>!_.fixed)),$=(_,L)=>Array.isArray(_)&&Array.isArray(L)?{sortBy:_,sortDesc:L.map(w=>w==="desc")}:_!==""?{sortBy:z.value,sortDesc:P.value==="desc"}:null,f=e.ref($(z.value,P.value)),C=e.computed(()=>{var fe;const L=[...N.value,...B.value].map(ne=>{const x=Object.assign(ne);if(x.sortable&&(x.sortType="none"),g.value)if(Array.isArray(g.value.sortBy)&&Array.isArray(g.value.sortType)&&g.value.sortBy.includes(x.value)){const ae=g.value.sortBy.indexOf(x.value);x.sortType=g.value.sortType[ae]}else x.value===g.value.sortBy&&g.value.sortType&&(x.sortType=g.value.sortType);if(f.value&&Array.isArray(f.value.sortBy)&&Array.isArray(f.value.sortDesc)&&f.value.sortBy.includes(x.value)){const ae=f.value.sortBy.indexOf(x.value);x.sortType=f.value.sortDesc[ae]?"desc":"asc"}else f.value&&x.value===f.value.sortBy&&(x.sortType=f.value.sortDesc?"desc":"asc");return x});let w=[];s.value&&(p.value||u.value)&&t.value,w=L;let Z=[];b.value?Z=[c.value||u.value?{text:r.value,value:"index",fixed:!0,width:a.value}:{text:r.value,value:"index"},...w]:Z=w;let D=[];return i.value?D=[o.value||u.value?{text:"checkbox",value:"checkbox",fixed:!0,width:(fe=d.value)!=null?fe:36}:{text:"checkbox",value:"checkbox"},...Z]:D=Z,D}),R=e.computed(()=>C.value.map(_=>_.value)),F=["desc","asc","none"],Y=e.ref("none");return e.ref(!0),{clientSortOptions:f,headerColumns:R,headersForRender:C,updateSortField:(_,L)=>{let w="none";console.log("odlSortType",L);let Z=F.indexOf(L);if(Y.value===L)L==="none"?w="desc":L==="asc"?w=null:L==="desc"&&(w="asc");else{const D=(Z+1)%F.length;w=F[D]==="none"?null:F[D],k&&w==="none"&&(w="asc"),Y.value=w}if(y.value&&j(_,w),f.value&&Array.isArray(f.value.sortBy)&&Array.isArray(f.value.sortDesc)){const D=f.value.sortBy.indexOf(_);D===-1?w!==null&&(f.value.sortBy.push(_),f.value.sortDesc.push(w==="desc")):w===null?(f.value.sortDesc.splice(D,1),f.value.sortBy.splice(D,1)):f.value.sortDesc[D]=w==="desc"}else w===null?f.value=null:f.value={sortBy:_,sortDesc:w==="desc"};J("updateSort",{sortType:w,sortBy:_})},isMultiSorting:_=>g.value&&Array.isArray(g.value.sortBy)?g.value.sortBy.includes(_):f.value&&Array.isArray(f.value.sortBy)?f.value.sortBy.includes(_):!1,getMultiSortNumber:_=>g.value&&Array.isArray(g.value.sortBy)?g.value.sortBy.indexOf(_)+1:f.value&&Array.isArray(f.value.sortBy)?f.value.sortBy.indexOf(_)+1:!1}}function kt(r,d,t,o,p,c,m,s,a){const i=e.computed(()=>(r.value-1)*p.value+1),y=e.computed(()=>t.value?Math.min(a.value,r.value*p.value):Math.min(s.value.length,r.value*p.value)),k=e.computed(()=>t.value?o.value:s.value.slice(i.value-1,y.value)),g=e.computed(()=>m.value?k.value.map((P,A)=>O({index:i.value+A},P)):k.value),b=e.computed(()=>c.value.length===0||c.value.every(A=>s.value.findIndex(j=>JSON.stringify(A)===JSON.stringify(j))===-1)?"noneSelected":c.value.length===s.value.length&&c.value.every(j=>s.value.findIndex(J=>JSON.stringify(j)===JSON.stringify(J))!==-1)?"allSelected":"partSelected"),z=e.computed(()=>d.value?b.value==="allSelected"?g.value.map(P=>O({checkbox:!0},P)):b.value==="noneSelected"?g.value.map(P=>O({checkbox:!1},P)):g.value.map(P=>{const A=c.value.findIndex(j=>{const J=O({},P);return delete J.index,JSON.stringify(j)===JSON.stringify(J)})!==-1;return O({checkbox:A},P)}):g.value);return{currentPageFirstIndex:i,currentPageLastIndex:y,multipleSelectStatus:b,pageItems:z}}function bt(r,d,t,o,p,c,m){const s=e.ref(c.value?c.value.page:r.value),a=e.computed(()=>Math.ceil(o.value/p.value)),i=e.computed(()=>a.value===0||s.value===a.value),y=e.computed(()=>s.value===1);return{currentPaginationNumber:s,maxPaginationNumber:a,isLastPage:i,isFirstPage:y,nextPage:()=>{if(o.value!==0&&!i.value&&!t.value)if(d.value){const P=s.value+1;m(P)}else s.value+=1},prevPage:()=>{if(o.value!==0&&!y.value&&!t.value)if(d.value){const P=s.value-1;m(P)}else s.value-=1},updatePage:P=>{t.value||(d.value?m(P):s.value=P)},updateCurrentPaginationNumber:P=>{s.value=P}}}function _t(r,d,t,o){const p=e.computed(()=>!r.value&&d.value.findIndex(s=>s===o.value)===-1?[o.value,...d.value]:d.value),c=e.ref(t.value?t.value.rowsPerPage:o.value);return{rowsItemsComputed:p,rowsPerPageRef:c,updateRowsPerPage:s=>{c.value=s}}}function xt(r,d,t){const o=e.computed({get:()=>{if(r.value){const{page:s,rowsPerPage:a,sortBy:i,sortType:y}=r.value;return{page:s,rowsPerPage:a,sortBy:i!=null?i:null,sortType:y!=null?y:null}}return null},set:s=>{t("update:serverOptions",s)}});return{serverOptionsComputed:o,updateServerOptionsPage:s=>{o.value&&(o.value=de(O({},o.value),{page:s}))},updateServerOptionsSort:(s,a)=>{if(o.value)if(d.value&&Array.isArray(o.value.sortBy)&&Array.isArray(o.value.sortType)){const i=o.value.sortBy.findIndex(y=>y===s);i===-1&&a!==null&&(o.value.sortBy.push(s),o.value.sortType.push(a)),a===null?(o.value.sortBy.splice(i,1),o.value.sortType.splice(i,1)):o.value.sortType[i]=a}else o.value=de(O({},o.value),{sortBy:a!==null?s:null,sortType:a})},updateServerOptionsRowsPerPage:s=>{o.value&&(o.value=de(O({},o.value),{page:1,rowsPerPage:s}))}}}function T(r,d){var t;if(r.includes(".")){const o=r.split("."),{length:p}=o;let c,m=0;for(;m<p;){if(m===0)c=d[o[0]];else if(c&&typeof c=="object")c=c[o[m]];else{c="";break}m+=1}return c!=null?c:""}return(t=d[r])!=null?t:""}function pe(r,d){const t=T(r,d);return Array.isArray(t)?t.join(","):t}function Pt(r,d,t,o,p,c,m,s,a,i){const y=u=>{if(typeof c.value=="string"&&c.value!=="")return T(c.value,u);if(Array.isArray(c.value)){let N="";return c.value.forEach(B=>{N+=T(B,u)}),N}return Object.values(u).join(" ")},k=e.computed(()=>{if(!t.value&&m.value!==""){const u=new RegExp(m.value,"i");return o.value.filter(N=>u.test(y(N)))}return o.value}),g=e.computed(()=>{let u=[...k.value];return d.value?(d.value.forEach(N=>{u=u.filter(B=>{const{field:$,comparison:f,criteria:C}=N;if(typeof f=="function")return f(T($,B),C);const R=T($,B);switch(f){case"=":return R===C;case"!=":return R!==C;case">":return R>C;case"<":return R<C;case"<=":return R<=C;case">=":return R>=C;case"between":return R>=Math.min(...C)&&R<=Math.max(...C);case"in":return C.includes(R);default:return R===C}})}),u):k.value});e.watch(g,u=>{d.value&&i("updateFilter",u)},{immediate:!0,deep:!0});function b(u,N,B,$){const f=u[$],C=N[$];return($===0?B:b(u,N,B,$-1)).sort((F,Y)=>{let X=!0;for(let W=0;W<$;W+=1)if(T(u[W],F)!==T(u[W],Y)){X=!1;break}return X?T(f,F)<T(f,Y)?C?1:-1:T(f,F)>T(f,Y)?C?-1:1:0:0})}const z=e.computed(()=>{if(t.value)return o.value;if(r.value===null)return g.value;const{sortBy:u,sortDesc:N}=r.value,B=[...g.value];return a&&Array.isArray(u)&&Array.isArray(N)?u.length===0?B:b(u,N,B,u.length-1):B.sort(($,f)=>T(u,$)<T(u,f)?N?1:-1:T(u,$)>T(u,f)?N?-1:1:0)}),P=e.computed(()=>t.value?s.value:z.value.length),A=e.computed({get:()=>{var u;return(u=p.value)!=null?u:[]},set:u=>{i("update:itemsSelected",u)}});return{totalItems:z,selectItemsComputed:A,totalItemsLength:P,toggleSelectAll:u=>{A.value=u?z.value:[],u&&i("selectAll")},toggleSelectItem:u=>{const N=u.checkbox;if(delete u.checkbox,delete u.index,N)A.value=A.value.filter(B=>JSON.stringify(B)!==JSON.stringify(u)),i("deselectRow",u);else{const B=A.value;B.unshift(u),A.value=B,i("selectRow",u)}}}}var wt={alternating:{type:Boolean,default:!1},buttonsPagination:{type:Boolean,default:!1},checkboxColumnWidth:{type:Number,default:null},currentPage:{type:Number,default:1},emptyMessage:{type:String,default:"No Available Data"},expandColumnWidth:{type:Number,default:36},filterOptions:{type:Array,default:null},fixedExpand:{type:Boolean,default:!1},fixedHeader:{type:Boolean,default:!0},fixedCheckbox:{type:Boolean,default:!1},fixedIndex:{type:Boolean,default:!1},headerTextDirection:{type:String,default:"left"},bodyTextDirection:{type:String,default:"left"},hideFooter:{type:Boolean,default:!1},hideRowsPerPage:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},indexColumnWidth:{type:Number,default:60},itemsSelected:{type:Array,default:null},loading:{type:Boolean,default:!1},rowsPerPage:{type:Number,default:25},rowsItems:{type:Array,default:()=>[25,50,100]},rowsPerPageMessage:{type:String,default:"rows per page:"},searchField:{type:[String,Array],default:""},searchValue:{type:String,default:""},serverOptions:{type:Object,default:null},serverItemsLength:{type:Number,default:0},showIndex:{type:Boolean,default:!1},sortBy:{type:[String,Array],default:""},sortType:{type:[String,Array],default:"asc"},multiSort:{type:Boolean,default:!1},tableMinHeight:{type:Number,default:180},tableHeight:{type:Number,default:null},themeColor:{type:String,default:"#42b883"},tableClassName:{type:String,default:""},headerClassName:{type:String,default:""},headerItemClassName:{type:[Function,String],default:""},bodyRowClassName:{type:[Function,String],default:""},bodyExpandRowClassName:{type:[Function,String],default:""},bodyItemClassName:{type:[Function,String],default:""},noHover:{type:Boolean,default:!1},borderCell:{type:Boolean,default:!1},mustSort:{type:Boolean,default:!1},rowsOfPageSeparatorMessage:{type:String,default:"of"},clickEventType:{type:String,default:"single"},clickRowToExpand:{type:Boolean,default:!1},tableNodeId:{type:String,default:""},showIndexSymbol:{type:String,default:"#"},preventContextMenuRow:{type:Boolean,default:!0},fullPageMetrics:{type:Object,default:null}},jn="",Jn="";const ee=r=>(e.pushScopeId("data-v-2abf9e40"),r=r(),e.popScopeId(),r),Nt={style:{position:"relative"}},St=ee(()=>e.createElementVNode("div",{class:"data_table_tooltip-arrow"},null,-1)),Bt=["id"],Ct=["onMouseenter","onClick"],Et={key:3,class:"header-text"},It={key:0,xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10",viewBox:"0 0 14 10",fill:"none"},$t=[ee(()=>e.createElementVNode("path",{d:"M3 5H11M1 1H13M5 9H9",stroke:"#A4A7AE","stroke-linecap":"round","stroke-linejoin":"round"},null,-1))],Vt=[ee(()=>e.createElementVNode("path",{d:"M9 8.05556H13.3333M9 3.72222H15.5M9 12.3889H11.1667M4.66667 13.1111V3M4.66667 13.1111L2.5 10.9444M4.66667 13.1111L6.83333 10.9444",stroke:"#2EC666","stroke-linecap":"round","stroke-linejoin":"round"},null,-1))],At={key:5,class:"multi-sort__number"},Rt={key:0,class:"expandable-column"},Lt={key:0,class:"expandable-column"},Tt=["onClick","onDblclick","onContextmenu"],Ft=["onClick"],zt={key:0,class:"expandable-column"},Mt={key:0,class:"expandable-column"},Dt={key:0,class:"vue3-easy-data-table__loading"},Ht=ee(()=>e.createElementVNode("div",{class:"vue3-easy-data-table__loading-mask"},null,-1)),Ot={class:"loading-entity"},jt={key:1,class:"vue3-easy-data-table__message"},Jt={class:"no-data-container"},Wt={class:"content"},qt=[e.createStaticVNode('<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg" class="icon" data-v-2abf9e40><circle cx="60" cy="60" r="54" class="main-circle" data-v-2abf9e40></circle><rect x="35" y="40" width="12" height="40" class="column" data-v-2abf9e40></rect><rect x="55" y="40" width="12" height="40" class="column" data-v-2abf9e40></rect><rect x="75" y="40" width="12" height="40" class="column" data-v-2abf9e40></rect><circle cx="93" cy="27" r="15" class="error-indicator" data-v-2abf9e40></circle><path d="M87 21L99 33M99 21L87 33" class="cross-line" data-v-2abf9e40></path></svg><div data-v-2abf9e40><h3 class="title" data-v-2abf9e40>No Data Found</h3><p class="message" data-v-2abf9e40>No items were found to display.</p></div>',2)],Ut={class:"content"},Yt=[ee(()=>e.createElementVNode("path",{d:"M21 21L16.65 16.65M11 6C13.7614 6 16 8.23858 16 11M19 11C19 15.4183 15.4183 19 11 19C6.58172 19 3 15.4183 3 11C3 6.58172 6.58172 3 11 3C15.4183 3 19 6.58172 19 11Z",stroke:"#CBD5E0","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1))],Xt={class:"message"},Zt=ee(()=>e.createElementVNode("br",null,null,-1)),Gt={key:0,class:"vue3-easy-data-table__footer"},Kt={key:0,class:"pagination__rows-per-page"},Qt={class:"pagination__items-index"},vt=e.defineComponent({__name:"DataTable",props:de(O({},wt),{items:{type:Array,required:!0},headers:{type:Array,required:!0}}),emits:["clickRow","contextmenuRow","selectRow","deselectRow","expandRow","updateSort","updateFilter","update:itemsSelected","update:serverOptions","updatePageItems","updateTotalItems","selectAll"],setup(r,{expose:d,emit:t}){const o=r;e.useCssVars(l=>({"68dcc584":e.unref(en),"396b94ec":e.unref(ae)}));const{tableNodeId:p,clickEventType:c,bodyTextDirection:m,checkboxColumnWidth:s,currentPage:a,expandColumnWidth:i,filterOptions:y,fixedCheckbox:k,fixedExpand:g,fixedHeader:b,fixedIndex:z,headers:P,headerTextDirection:A,indexColumnWidth:j,items:J,itemsSelected:u,loading:N,mustSort:B,multiSort:$,rowsItems:f,rowsPerPage:C,searchField:R,searchValue:F,serverItemsLength:Y,serverOptions:X,showIndex:W,sortBy:Ae,sortType:_,tableHeight:L,tableMinHeight:w,themeColor:Z,rowsOfPageSeparatorMessage:D,showIndexSymbol:fe,preventContextMenuRow:ne,fullPageMetrics:x}=e.toRefs(o),ae=e.computed(()=>L.value?`${L.value}px`:null),en=e.computed(()=>`${w.value}px`);e.provide("themeColor",Z.value);const M=e.useSlots(),tn=e.computed(()=>!!M.pagination),nn=e.computed(()=>!!M.loading),ke=e.computed(()=>!!M.expand),an=e.computed(()=>!!M.body),Re=e.ref(),be=e.ref();e.provide("dataTable",Re);const Le=e.ref(!1);e.onMounted(()=>{be.value.addEventListener("scroll",()=>{Le.value=be.value.scrollLeft>0})});const _e=e.computed(()=>u.value!==null),G=e.computed(()=>X.value!==null),{serverOptionsComputed:xe,updateServerOptionsPage:rn,updateServerOptionsSort:on,updateServerOptionsRowsPerPage:ln}=xt(X,$,t),{clientSortOptions:Te,headerColumns:Pe,headersForRender:K,updateSortField:sn,isMultiSorting:cn,getMultiSortNumber:dn}=ht(fe,s,i,k,g,z,P,ke,j,_e,G,B,xe,W,Ae,_,$,on,t),{rowsItemsComputed:Fe,rowsPerPageRef:q,updateRowsPerPage:un}=_t(G,f,X,C),{totalItems:ze,selectItemsComputed:pn,totalItemsLength:me,toggleSelectAll:fn,toggleSelectItem:Me}=Pt(Te,y,G,J,u,R,F,Y,$,t),{currentPaginationNumber:U,maxPaginationNumber:re,isLastPage:oe,isFirstPage:le,nextPage:se,prevPage:ie,updatePage:ce,updateCurrentPaginationNumber:mn}=bt(a,G,N,me,q,X,rn),{currentPageFirstIndex:De,currentPageLastIndex:He,multipleSelectStatus:Oe,pageItems:Q}=kt(U,_e,G,J,q,pn,W,ze,me),H=e.computed(()=>U.value===0?0:(U.value-1)*q.value),{expandingItemIndexList:te,updateExpandingItemIndexList:ge,clearExpandingItemIndexList:je}=gt(Q,H,t,x),{fixedHeaders:we,lastFixedColumn:Ne,fixedColumnsInfos:gn}=yt(K),v=K.value.filter(l=>l.expandable)[0].value,{clickRow:ye}=mt(c,_e,W,t),yn=(l,S)=>{ne.value&&S.preventDefault(),t("contextmenuRow",l,S)},hn=l=>{var n;const S=(n=l.width)!=null?n:we.value.length?100:null;if(S)return`width: ${S}px; min-width: ${S}px;`},Se=(l,S="th")=>{if(!we.value.length)return;const n=gn.value.find(E=>E.value===l);if(n)return`left: ${n.distance}px;z-index: ${S==="th"?3:1};position: sticky;`},he=e.ref(!1),Be=e.ref(null),Ce=e.ref(""),kn=(l,S)=>{if(!S.tooltipText){he.value=!1,Ce.value="",Be.value.style.left="0px";return}const n=l.target.getBoundingClientRect().left;Be.value.style.left=`${n}px`,he.value=!0,Ce.value=S.tooltipText};return e.watch(N,(l,S)=>{xe.value&&l===!1&&S===!0&&(mn(xe.value.page),je())}),e.watch(q,l=>{G.value?ln(l):ce(1)}),e.watch([F,y],()=>{G.value||ce(1)}),e.watch([U,Te,R,F,y],()=>{je()},{deep:!0}),e.watch(Q,l=>{t("updatePageItems",{pageItems:l,rowsPerPage:q.value})},{deep:!0}),e.watch(ze,l=>{t("updateTotalItems",l)},{deep:!0}),d({currentPageFirstIndex:De,currentPageLastIndex:He,clientItemsLength:me,maxPaginationNumber:re,currentPaginationNumber:U,isLastPage:oe,isFirstPage:le,nextPage:se,prevPage:ie,updatePage:ce,rowsPerPageOptions:Fe,rowsPerPageActiveOption:q,updateRowsPerPageActiveOption:un}),(l,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Nt,[e.withDirectives(e.createElementVNode("div",{ref_key:"tooltipRef",ref:Be,class:"data_table_tooltip",style:{width:"max-content",position:"absolute",top:"-45px","z-index":"3",display:"block",transform:"translateX(-100%)"}},[e.createTextVNode(e.toDisplayString(Ce.value)+" ",1),St],512),[[e.vShow,he.value]])]),e.createElementVNode("div",{ref_key:"dataTable",ref:Re,class:e.normalizeClass(["vue3-easy-data-table",[l.tableClassName]])},[e.createElementVNode("div",{ref_key:"tableBody",ref:be,class:e.normalizeClass(["vue3-easy-data-table__main",{"fixed-header":e.unref(b),"fixed-height":e.unref(L),"show-shadow":Le.value,"table-fixed":e.unref(we).length,hoverable:!l.noHover,"border-cell":l.borderCell}])},[e.createElementVNode("table",{id:e.unref(p)},[e.createElementVNode("colgroup",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(K),(n,E)=>(e.openBlock(),e.createElementBlock("col",{key:E,style:e.normalizeStyle(hn(n))},null,4))),128))]),e.unref(M)["customize-headers"]?e.renderSlot(l.$slots,"customize-headers",{key:0},void 0,!0):e.unref(K).length&&!l.hideHeader?(e.openBlock(),e.createElementBlock("thead",{key:1,class:e.normalizeClass(["vue3-easy-data-table__header",[l.headerClassName]])},[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(K),(n,E)=>(e.openBlock(),e.createElementBlock("th",{key:E,class:e.normalizeClass([n.value,{sortable:n.sortable,none:n.sortable&&n.sortType==="none",desc:n.sortable&&n.sortType==="desc",asc:n.sortable&&n.sortType==="asc",shadow:n.value===e.unref(Ne)},typeof l.headerItemClassName=="string"?l.headerItemClassName:l.headerItemClassName(n,E+1)]),style:e.normalizeStyle(Se(n.value)),onMouseenter:h=>{kn(h,n)},onMouseleave:S[0]||(S[0]=h=>he.value=!1),onClick:e.withModifiers(h=>n.sortable&&n.sortType?e.unref(sn)(n.value,n.sortType):null,["stop"])},[n.text==="checkbox"?(e.openBlock(),e.createBlock(Ze,{key:e.unref(Oe),status:e.unref(Oe),onChange:e.unref(fn)},null,8,["status","onChange"])):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["header",`direction-${e.unref(A)}`])},[e.unref(M)[`header-${n.value}`]?e.renderSlot(l.$slots,`header-${n.value}`,e.normalizeProps(e.mergeProps({key:0},n)),void 0,!0):e.unref(M)[`header-${n.value.toLowerCase()}`]?e.renderSlot(l.$slots,`header-${n.value.toLowerCase()}`,e.normalizeProps(e.mergeProps({key:1},n)),void 0,!0):e.unref(M).header?e.renderSlot(l.$slots,"header",e.normalizeProps(e.mergeProps({key:2},n)),void 0,!0):(e.openBlock(),e.createElementBlock("span",Et,e.toDisplayString(n.text),1)),n.sortable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[n.sortType==="none"?(e.openBlock(),e.createElementBlock("svg",It,$t)):(e.openBlock(),e.createElementBlock("svg",{key:1,width:"17",height:"16",viewBox:"0 0 17 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:e.normalizeStyle({transform:n.sortType==="asc"?"scaleY(-1)":"scaleY(1)"})},Vt,4))],64)):e.createCommentVNode("",!0),e.unref($)&&e.unref(cn)(n.value)?(e.openBlock(),e.createElementBlock("span",At,e.toDisplayString(e.unref(dn)(n.value)),1)):e.createCommentVNode("",!0)],2))],46,Ct))),128))])],2)):e.createCommentVNode("",!0),e.unref(an)?e.renderSlot(l.$slots,"body",e.normalizeProps(e.mergeProps({key:2},e.unref(Q))),void 0,!0):e.unref(Pe).length?(e.openBlock(),e.createElementBlock("tbody",{key:3,class:e.normalizeClass(["vue3-easy-data-table__body",{"row-alternation":l.alternating}])},[e.renderSlot(l.$slots,"body-prepend",e.normalizeProps(e.guardReactiveProps({items:e.unref(Q),pagination:{isFirstPage:e.unref(le),isLastPage:e.unref(oe),currentPaginationNumber:e.unref(U),maxPaginationNumber:e.unref(re),nextPage:e.unref(se),prevPage:e.unref(ie)},headers:e.unref(K)})),void 0,!0),e.unref(x)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("tr",{class:"full-page-metrics-row",onClick:S[2]||(S[2]=n=>{e.unref(ye)(e.unref(x),"single",n),l.clickRowToExpand&&e.unref(ge)(1e14+e.unref(H),e.unref(x),n)})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Pe),(n,E)=>(e.openBlock(),e.createElementBlock("td",{key:E,style:e.normalizeStyle(Se(n,"td")),class:e.normalizeClass([{shadow:n===e.unref(Ne),"can-expand":n===e.unref(v)},typeof l.bodyItemClassName=="string"?l.bodyItemClassName:l.bodyItemClassName(n,l.index+1),`direction-${e.unref(m)}`])},[e.unref(M)[`item-${n}`]?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n===e.unref(v)?(e.openBlock(),e.createElementBlock("div",Rt,[e.renderSlot(l.$slots,`item-${n}`,e.normalizeProps(e.guardReactiveProps(e.unref(x))),void 0,!0),e.createElementVNode("i",{class:e.normalizeClass(["expand-icon",{expanding:e.unref(te).includes(e.unref(H)+1e14)}])},null,2)])):e.renderSlot(l.$slots,`item-${n}`,e.normalizeProps(e.mergeProps({key:1},e.unref(x))),void 0,!0)],64)):e.unref(M)[`item-${n.toLowerCase()}`]?e.renderSlot(l.$slots,`item-${n.toLowerCase()}`,e.normalizeProps(e.mergeProps({key:1},e.unref(x))),void 0,!0):n==="checkbox"?(e.openBlock(),e.createBlock(Ie,{key:2,checked:e.unref(x)[n],onChange:S[1]||(S[1]=h=>e.unref(Me)(e.unref(x)))},null,8,["checked"])):e.unref(M).item?e.renderSlot(l.$slots,"item",e.normalizeProps(e.mergeProps({key:3},{column:n,item:l.item})),void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[n===e.unref(v)?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(pe)(n,e.unref(x))),1),e.createElementVNode("i",{class:e.normalizeClass(["expand-icon",{expanding:e.unref(te).includes(e.unref(H)+1e14)}])},null,2)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(pe)(n,e.unref(x))),1)],64))],64))],6))),128))]),e.unref(ke)&&e.unref(te).includes(1e14+e.unref(H))?e.renderSlot(l.$slots,"expand-full-page-metrics",e.normalizeProps(e.mergeProps({key:0},e.unref(x))),void 0,!0):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Q),(n,E)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E},[e.createElementVNode("tr",{class:e.normalizeClass([{"even-row":(E+1)%2===0},typeof l.bodyRowClassName=="string"?l.bodyRowClassName:l.bodyRowClassName(n,E+1)]),onClick:h=>{e.unref(ye)(n,"single",h),l.clickRowToExpand&&e.unref(ge)(E+e.unref(H),n,h)},onDblclick:h=>{e.unref(ye)(n,"double",h),l.clickRowToExpand&&e.unref(ge)(E+e.unref(H),n,h)},onContextmenu:h=>{yn(n,h)}},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Pe),(h,bn)=>(e.openBlock(),e.createElementBlock("td",{key:bn,style:e.normalizeStyle(Se(h,"td")),class:e.normalizeClass([{shadow:h===e.unref(Ne),"can-expand":h===e.unref(v)},typeof l.bodyItemClassName=="string"?l.bodyItemClassName:l.bodyItemClassName(h,E+1),`direction-${e.unref(m)}`]),onClick:Ee=>{h===e.unref(v)&&(e.unref(ye)(n,"single",Ee),e.unref(ge)(E+e.unref(H),n,Ee))}},[e.unref(M)[`item-${h}`]?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[h===e.unref(v)?(e.openBlock(),e.createElementBlock("div",zt,[e.renderSlot(l.$slots,`item-${h}`,e.normalizeProps(e.guardReactiveProps(n)),void 0,!0),e.createElementVNode("i",{class:e.normalizeClass(["expand-icon",{expanding:e.unref(te).includes(e.unref(H)+E)}])},null,2)])):e.renderSlot(l.$slots,`item-${h}`,e.normalizeProps(e.mergeProps({key:1},n)),void 0,!0)],64)):e.unref(M)[`item-${h.toLowerCase()}`]?e.renderSlot(l.$slots,`item-${h.toLowerCase()}`,e.normalizeProps(e.mergeProps({key:1},n)),void 0,!0):h==="checkbox"?(e.openBlock(),e.createBlock(Ie,{key:2,checked:n[h],onChange:Ee=>e.unref(Me)(n)},null,8,["checked","onChange"])):e.unref(M).item?e.renderSlot(l.$slots,"item",e.normalizeProps(e.mergeProps({key:3},{column:h,item:n})),void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[h===e.unref(v)?(e.openBlock(),e.createElementBlock("div",Mt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(pe)(h,n)),1),e.createElementVNode("i",{class:e.normalizeClass(["expand-icon",{expanding:e.unref(te).includes(e.unref(H)+E)}])},null,2)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(pe)(h,n)),1)],64))],64))],14,Ft))),128))],42,Tt),e.unref(ke)&&e.unref(te).includes(E+e.unref(H))?e.renderSlot(l.$slots,"expand",e.normalizeProps(e.mergeProps({key:0},n)),void 0,!0):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(l.$slots,"body-append",e.normalizeProps(e.guardReactiveProps({items:e.unref(Q),pagination:{isFirstPage:e.unref(le),isLastPage:e.unref(oe),currentPaginationNumber:e.unref(U),maxPaginationNumber:e.unref(re),nextPage:e.unref(se),prevPage:e.unref(ie),updatePage:e.unref(ce)},headers:e.unref(K)})),void 0,!0)],2)):e.createCommentVNode("",!0)],8,Bt),e.unref(N)?(e.openBlock(),e.createElementBlock("div",Dt,[Ht,e.createElementVNode("div",Ot,[e.unref(nn)?e.renderSlot(l.$slots,"loading",{key:0},void 0,!0):(e.openBlock(),e.createBlock(st,{key:1}))])])):e.createCommentVNode("",!0),!e.unref(Q).length&&!e.unref(N)?(e.openBlock(),e.createElementBlock("div",jt,[e.renderSlot(l.$slots,"empty-message",{},()=>[e.createElementVNode("div",Jt,[e.withDirectives(e.createElementVNode("div",Wt,qt,512),[[e.vShow,!e.unref(F)]]),e.withDirectives(e.createElementVNode("div",Ut,[(e.openBlock(),e.createElementBlock("svg",{width:"80",height:"80",viewBox:"0 0 24 24",class:e.normalizeClass(["opacity-50",{"w-12 h-12 mb-4":l.size==="sm","w-16 h-16 mb-5":l.size==="md","w-20 h-20 mb-5":l.size==="lg","w-20 h-20 mb-6":l.size==="xl"||l.size==="xxl"}]),fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yt,2)),e.createElementVNode("p",Xt,[e.createTextVNode(` We couldn't find any results for "`+e.toDisplayString(e.unref(F))+'". ',1),Zt,e.createTextVNode(" Try adjusting your search to find what you're looking for. ")])],512),[[e.vShow,e.unref(F)]])])],!0)])):e.createCommentVNode("",!0)],2),l.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Gt,[l.hideRowsPerPage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Kt,[e.createTextVNode(e.toDisplayString(l.rowsPerPageMessage)+" ",1),e.createVNode(rt,{modelValue:e.unref(q),"onUpdate:modelValue":S[3]||(S[3]=n=>e.isRef(q)?q.value=n:null),"rows-items":e.unref(Fe)},null,8,["modelValue","rows-items"])])),e.createElementVNode("div",Qt,e.toDisplayString(`${e.unref(De)}\u2013${e.unref(He)}`)+" "+e.toDisplayString(e.unref(D))+" "+e.toDisplayString(e.unref(me)),1),e.unref(tn)?e.renderSlot(l.$slots,"pagination",e.normalizeProps(e.mergeProps({key:1},{isFirstPage:e.unref(le),isLastPage:e.unref(oe),currentPaginationNumber:e.unref(U),maxPaginationNumber:e.unref(re),nextPage:e.unref(se),prevPage:e.unref(ie)})),void 0,!0):(e.openBlock(),e.createBlock(ft,{key:2,"is-first-page":e.unref(le),"is-last-page":e.unref(oe),onClickNextPage:e.unref(se),onClickPrevPage:e.unref(ie)},e.createSlots({_:2},[l.buttonsPagination?{name:"buttonsPagination",fn:e.withCtx(()=>[e.createVNode(dt,{"current-pagination-number":e.unref(U),"max-pagination-number":e.unref(re),onUpdatePage:e.unref(ce)},null,8,["current-pagination-number","max-pagination-number","onUpdatePage"])]),key:"0"}:void 0]),1032,["is-first-page","is-last-page","onClickNextPage","onClickPrevPage"]))]))],2)],64))}});var Ve=I(vt,[["__scopeId","data-v-2abf9e40"]]);return typeof window!="undefined"&&window.Vue&&window.Vue.createApp({}).component("Vue3EasyDataTable",Ve),Ve});