mi-heatmapcom-data-table-component-v2
Version:
A customizable and easy-to-use data table component made with Vue.js 3.x.
2 lines (1 loc) • 36.9 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 bn=Object.defineProperty,xn=Object.defineProperties;var Pn=Object.getOwnPropertyDescriptors;var Je=Object.getOwnPropertySymbols;var Nn=Object.prototype.hasOwnProperty,wn=Object.prototype.propertyIsEnumerable;var We=(e,V,E)=>V in e?bn(e,V,{enumerable:!0,configurable:!0,writable:!0,value:E}):e[V]=E,H=(e,V)=>{for(var E in V||(V={}))Nn.call(V,E)&&We(e,E,V[E]);if(Je)for(var E of Je(V))wn.call(V,E)&&We(e,E,V[E]);return e},de=(e,V)=>xn(e,Pn(V));var V="",E=(o,d)=>{const t=o.__vccOpts||o;for(const[l,p]of d)t[l]=p;return t};const qe=o=>(e.pushScopeId("data-v-e0a0b7f0"),o=o(),e.popScopeId(),o),Ue=["onClick"],Ye=["checked"],Xe=qe(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Ze=E(e.defineComponent({__name:"MultipleSelectCheckBox",props:{status:{type:String,required:!0}},emits:["change"],setup(o,{emit:d}){const t=o;e.useCssVars(m=>({"51ab8a49":e.unref(c)}));const l=e.computed(()=>t.status==="allSelected"),p=()=>{d("change",!l.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(l),class:e.normalizeClass(o.status)},null,10,Ye),Xe],8,Ue))}}),[["__scopeId","data-v-e0a0b7f0"]]),Bn="";const Ge=o=>(e.pushScopeId("data-v-7e69a276"),o=o(),e.popScopeId(),o),Ke=["checked"],Qe=Ge(()=>e.createElementVNode("label",{for:"checbox"},null,-1));var Ie=E(e.defineComponent({__name:"SingleSelectCheckBox",props:{checked:{type:Boolean,required:!0}},emits:["change"],setup(o,{emit:d}){e.useCssVars(l=>({fdaf7e9e:e.unref(t)}));const t=e.inject("themeColor");return(l,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:o.checked},null,8,Ke),Qe]))}}),[["__scopeId","data-v-7e69a276"]]),En="";const ve=o=>(e.pushScopeId("data-v-4eebb7b6"),o=o(),e.popScopeId(),o),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=E(e.defineComponent({__name:"RowsSelector",props:{modelValue:{type:Number,required:!0},rowsItems:{type:Array,required:!0}},emits:["update:modelValue"],setup(o,{emit:d}){const t=o;e.useCssVars(k=>({"52bbe872":e.unref(y)}));const l=e.ref(!1),p=e.ref(!1),c=e.inject("dataTable");e.watch(l,k=>{if(k&&c){const g=window.innerHeight,_=c.value.getBoundingClientRect().height,z=c.value.getBoundingClientRect().top;g-(_+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,l.value=!1},a=(k,g)=>{let _=k.parentNode;for(;_!=null;){if(_.classList&&_.classList.contains(g))return!0;_=_.parentNode}return!1},i=k=>{a(k.target,"easy-data-table__rows-selector")||(l.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]=_=>l.value=!l.value)},[e.createElementVNode("div",tt,e.toDisplayString(e.unref(m)),1),nt]),e.createElementVNode("ul",{class:e.normalizeClass(["select-items",{show:l.value,inside:p.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.rowsItems,_=>(e.openBlock(),e.createElementBlock("li",{key:_,class:e.normalizeClass({selected:_===e.unref(m)}),onClick:z=>s(_)},e.toDisplayString(_),11,at))),128))],2)]))}}),[["__scopeId","data-v-4eebb7b6"]]),$n="";const ue=o=>(e.pushScopeId("data-v-1fa3a520"),o=o(),e.popScopeId(),o),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=E(e.defineComponent({__name:"Loading",setup(o){e.useCssVars(t=>({"26774109":e.unref(d)}));const d=e.inject("themeColor");return(t,l)=>(e.openBlock(),e.createElementBlock("div",ot,lt))}}),[["__scopeId","data-v-1fa3a520"]]),Tn="";const it={class:"buttons-pagination"},ct=["onClick"];var dt=E(e.defineComponent({__name:"ButtonsPagination",props:{maxPaginationNumber:{type:Number,required:!0},currentPaginationNumber:{type:Number,required:!0}},emits:["updatePage"],setup(o,{emit:d}){const t=o;e.useCssVars(s=>({"40dd4f07":e.unref(m)}));const l=7,p=s=>{s.type==="button"&&!s.active&&d("updatePage",s.page)},c=e.computed(()=>{const s=[];if(t.maxPaginationNumber<=l)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<=l;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-(l-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<=l;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<=l;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-(l-a);s.push({type:"button",page:i,active:i===t.currentPaginationNumber,activePrev:i+1===t.currentPaginationNumber})}else for(let a=1;a<=l;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=o=>(e.pushScopeId("data-v-c9da5286"),o=o(),e.popScopeId(),o),ut=[$e(()=>e.createElementVNode("span",{class:"arrow arrow-right"},null,-1))],pt=[$e(()=>e.createElementVNode("span",{class:"arrow arrow-left"},null,-1))];var ft=E(e.defineComponent({__name:"PaginationArrows",props:{isFirstPage:{type:Boolean,required:!1},isLastPage:{type:Boolean,required:!1}},emits:["clickPrevPage","clickNextPage"],setup(o,{emit:d}){const t=e.useSlots();return(l,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["previous-page__click-button",{"first-page":o.isFirstPage}]),onClick:p[0]||(p[0]=c=>d("clickPrevPage"))},ut,2),e.unref(t).buttonsPagination?e.renderSlot(l.$slots,"buttonsPagination",{key:0},void 0,!0):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["next-page__click-button",{"last-page":o.isLastPage}]),onClick:p[1]||(p[1]=c=>d("clickNextPage"))},pt,2)],64))}}),[["__scopeId","data-v-c9da5286"]]);function mt(o,d,t,l){return{clickRow:(c,m,s)=>{if(o.value!==m)return;const a=H({},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}l("clickRow",a,s)}}}function gt(o,d,t,l){const p=e.ref([]);return{expandingItemIndexList:p,updateExpandingItemIndexList:(s,a,i)=>{i.stopPropagation();const y=p.value.indexOf(s);if(y!==-1)p.value.splice(y,1);else{p.value=[];let k=o.value.findIndex(_=>JSON.stringify(_)===JSON.stringify(a));JSON.stringify(l.value)===JSON.stringify(a)&&(k=s),p.value.push(d.value+k)}},clearExpandingItemIndexList:()=>{p.value=[]}}}function yt(o){const d=e.computed(()=>o.value.filter(p=>p.fixed)),t=e.computed(()=>d.value.length?d.value[d.value.length-1].value:""),l=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:l}}function ht(o,d,t,l,p,c,m,s,a,i,y,k,g,_,z,P,A,O,j){const u=e.computed(()=>m.value.findIndex(b=>b.fixed)!==-1),S=e.computed(()=>u.value?m.value.filter(b=>b.fixed):[]),B=e.computed(()=>m.value.filter(b=>!b.fixed)),I=(b,F)=>Array.isArray(b)&&Array.isArray(F)?{sortBy:b,sortDesc:F.map(N=>N==="desc")}:b!==""?{sortBy:z.value,sortDesc:P.value==="desc"}:null,f=e.ref(I(z.value,P.value)),C=e.computed(()=>{var fe;const F=[...S.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 N=[];s.value&&(p.value||u.value)&&t.value,N=F;let Z=[];_.value?Z=[c.value||u.value?{text:o.value,value:"index",fixed:!0,width:a.value}:{text:o.value,value:"index"},...N]:Z=N;let D=[];return i.value?D=[l.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(b=>b.value)),T=["desc","asc","none"],Y=e.ref("none");return e.ref(!0),{clientSortOptions:f,headerColumns:R,headersForRender:C,updateSortField:(b,F)=>{let N="none";console.log("odlSortType",F);let Z=T.indexOf(F);if(Y.value===F)F==="none"?N="desc":F==="asc"?N=null:F==="desc"&&(N="asc");else{const D=(Z+1)%T.length;N=T[D]==="none"?null:T[D],k&&N==="none"&&(N="asc"),Y.value=N}if(y.value&&O(b,N),f.value&&Array.isArray(f.value.sortBy)&&Array.isArray(f.value.sortDesc)){const D=f.value.sortBy.indexOf(b);D===-1?N!==null&&(f.value.sortBy.push(b),f.value.sortDesc.push(N==="desc")):N===null?(f.value.sortDesc.splice(D,1),f.value.sortBy.splice(D,1)):f.value.sortDesc[D]=N==="desc"}else N===null?f.value=null:f.value={sortBy:b,sortDesc:N==="desc"};j("updateSort",{sortType:N,sortBy:b})},isMultiSorting:b=>g.value&&Array.isArray(g.value.sortBy)?g.value.sortBy.includes(b):f.value&&Array.isArray(f.value.sortBy)?f.value.sortBy.includes(b):!1,getMultiSortNumber:b=>g.value&&Array.isArray(g.value.sortBy)?g.value.sortBy.indexOf(b)+1:f.value&&Array.isArray(f.value.sortBy)?f.value.sortBy.indexOf(b)+1:!1}}function kt(o,d,t,l,p,c,m,s,a){const i=e.computed(()=>(o.value-1)*p.value+1),y=e.computed(()=>t.value?Math.min(a.value,o.value*p.value):Math.min(s.value.length,o.value*p.value)),k=e.computed(()=>t.value?l.value:s.value.slice(i.value-1,y.value)),g=e.computed(()=>m.value?k.value.map((P,A)=>H({index:i.value+A},P)):k.value),_=e.computed(()=>c.value.length===0||c.value.every(A=>s.value.findIndex(O=>JSON.stringify(A)===JSON.stringify(O))===-1)?"noneSelected":c.value.length===s.value.length&&c.value.every(O=>s.value.findIndex(j=>JSON.stringify(O)===JSON.stringify(j))!==-1)?"allSelected":"partSelected"),z=e.computed(()=>d.value?_.value==="allSelected"?g.value.map(P=>H({checkbox:!0},P)):_.value==="noneSelected"?g.value.map(P=>H({checkbox:!1},P)):g.value.map(P=>{const A=c.value.findIndex(O=>{const j=H({},P);return delete j.index,JSON.stringify(O)===JSON.stringify(j)})!==-1;return H({checkbox:A},P)}):g.value);return{currentPageFirstIndex:i,currentPageLastIndex:y,multipleSelectStatus:_,pageItems:z}}function _t(o,d,t,l,p,c,m){const s=e.ref(c.value?c.value.page:o.value),a=e.computed(()=>Math.ceil(l.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(l.value!==0&&!i.value&&!t.value)if(d.value){const P=s.value+1;m(P)}else s.value+=1},prevPage:()=>{if(l.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 bt(o,d,t,l){const p=e.computed(()=>!o.value&&d.value.findIndex(s=>s===l.value)===-1?[l.value,...d.value]:d.value),c=e.ref(t.value?t.value.rowsPerPage:l.value);return{rowsItemsComputed:p,rowsPerPageRef:c,updateRowsPerPage:s=>{c.value=s}}}function xt(o,d,t){const l=e.computed({get:()=>{if(o.value){const{page:s,rowsPerPage:a,sortBy:i,sortType:y}=o.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:l,updateServerOptionsPage:s=>{l.value&&(l.value=de(H({},l.value),{page:s}))},updateServerOptionsSort:(s,a)=>{if(l.value)if(d.value&&Array.isArray(l.value.sortBy)&&Array.isArray(l.value.sortType)){const i=l.value.sortBy.findIndex(y=>y===s);i===-1&&a!==null&&(l.value.sortBy.push(s),l.value.sortType.push(a)),a===null?(l.value.sortBy.splice(i,1),l.value.sortType.splice(i,1)):l.value.sortType[i]=a}else l.value=de(H({},l.value),{sortBy:a!==null?s:null,sortType:a})},updateServerOptionsRowsPerPage:s=>{l.value&&(l.value=de(H({},l.value),{page:1,rowsPerPage:s}))}}}function L(o,d){var t;if(o.includes(".")){const l=o.split("."),{length:p}=l;let c,m=0;for(;m<p;){if(m===0)c=d[l[0]];else if(c&&typeof c=="object")c=c[l[m]];else{c="";break}m+=1}return c!=null?c:""}return(t=d[o])!=null?t:""}function pe(o,d){const t=L(o,d);return Array.isArray(t)?t.join(","):t}function Pt(o,d,t,l,p,c,m,s,a,i){const y=u=>{if(typeof c.value=="string"&&c.value!=="")return L(c.value,u);if(Array.isArray(c.value)){let S="";return c.value.forEach(B=>{S+=L(B,u)}),S}return Object.values(u).join(" ")},k=e.computed(()=>{if(!t.value&&m.value!==""){const u=new RegExp(m.value,"i");return l.value.filter(S=>u.test(y(S)))}return l.value}),g=e.computed(()=>{let u=[...k.value];return d.value?(d.value.forEach(S=>{u=u.filter(B=>{const{field:I,comparison:f,criteria:C}=S;if(typeof f=="function")return f(L(I,B),C);const R=L(I,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 _(u,S,B,I){const f=u[I],C=S[I];return(I===0?B:_(u,S,B,I-1)).sort((T,Y)=>{let X=!0;for(let W=0;W<I;W+=1)if(L(u[W],T)!==L(u[W],Y)){X=!1;break}return X?L(f,T)<L(f,Y)?C?1:-1:L(f,T)>L(f,Y)?C?-1:1:0:0})}const z=e.computed(()=>{if(t.value)return l.value;if(o.value===null)return g.value;const{sortBy:u,sortDesc:S}=o.value,B=[...g.value];return a&&Array.isArray(u)&&Array.isArray(S)?u.length===0?B:_(u,S,B,u.length-1):B.sort((I,f)=>L(u,I)<L(u,f)?S?1:-1:L(u,I)>L(u,f)?S?-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 S=u.checkbox;if(delete u.checkbox,delete u.index,S)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 Nt={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=o=>(e.pushScopeId("data-v-4a798c62"),o=o(),e.popScopeId(),o),wt={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"},Ft={key:0,class:"expandable-column"},Lt=["onClick","onDblclick","onContextmenu"],Tt=["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-4a798c62><circle cx="60" cy="60" r="54" class="main-circle" data-v-4a798c62></circle><rect x="35" y="40" width="12" height="40" class="column" data-v-4a798c62></rect><rect x="55" y="40" width="12" height="40" class="column" data-v-4a798c62></rect><rect x="75" y="40" width="12" height="40" class="column" data-v-4a798c62></rect><circle cx="93" cy="27" r="15" class="error-indicator" data-v-4a798c62></circle><path d="M87 21L99 33M99 21L87 33" class="cross-line" data-v-4a798c62></path></svg><div data-v-4a798c62><h3 class="title" data-v-4a798c62>No Data Found</h3><p class="message" data-v-4a798c62>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(H({},Nt),{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(o,{expose:d,emit:t}){const l=o;e.useCssVars(r=>({"3907493f":e.unref(en),c601b9de:e.unref(ae)}));const{tableNodeId:p,clickEventType:c,bodyTextDirection:m,checkboxColumnWidth:s,currentPage:a,expandColumnWidth:i,filterOptions:y,fixedCheckbox:k,fixedExpand:g,fixedHeader:_,fixedIndex:z,headers:P,headerTextDirection:A,indexColumnWidth:O,items:j,itemsSelected:u,loading:S,mustSort:B,multiSort:I,rowsItems:f,rowsPerPage:C,searchField:R,searchValue:T,serverItemsLength:Y,serverOptions:X,showIndex:W,sortBy:Ae,sortType:b,tableHeight:F,tableMinHeight:N,themeColor:Z,rowsOfPageSeparatorMessage:D,showIndexSymbol:fe,preventContextMenuRow:ne,fullPageMetrics:x}=e.toRefs(l),ae=e.computed(()=>F.value?`${F.value}px`:null),en=e.computed(()=>`${N.value}px`);e.provide("themeColor",Z.value);const M=e.useSlots(),tn=e.computed(()=>!!M.pagination),nn=e.computed(()=>!!M.loading),he=e.computed(()=>!!M.expand),an=e.computed(()=>!!M.body),Re=e.ref(),ke=e.ref();e.provide("dataTable",Re);const Fe=e.ref(!1);e.onMounted(()=>{ke.value.addEventListener("scroll",()=>{Fe.value=ke.value.scrollLeft>0})});const _e=e.computed(()=>u.value!==null),G=e.computed(()=>X.value!==null),{serverOptionsComputed:be,updateServerOptionsPage:rn,updateServerOptionsSort:on,updateServerOptionsRowsPerPage:ln}=xt(X,I,t),{clientSortOptions:Le,headerColumns:xe,headersForRender:K,updateSortField:sn,isMultiSorting:cn,getMultiSortNumber:dn}=ht(fe,s,i,k,g,z,P,he,O,_e,G,B,be,W,Ae,b,I,on,t),{rowsItemsComputed:Te,rowsPerPageRef:q,updateRowsPerPage:un}=bt(G,f,X,C),{totalItems:ze,selectItemsComputed:pn,totalItemsLength:me,toggleSelectAll:fn,toggleSelectItem:Me}=Pt(Le,y,G,j,u,R,T,Y,I,t),{currentPaginationNumber:U,maxPaginationNumber:re,isLastPage:oe,isFirstPage:le,nextPage:se,prevPage:ie,updatePage:ce,updateCurrentPaginationNumber:mn}=_t(a,G,S,me,q,X,rn),{currentPageFirstIndex:De,currentPageLastIndex:He,multipleSelectStatus:Oe,pageItems:Q}=kt(U,_e,G,j,q,pn,W,ze,me),J=e.computed(()=>U.value===0?0:(U.value-1)*q.value),{expandingItemIndexList:te,updateExpandingItemIndexList:Pe,clearExpandingItemIndexList:je}=gt(Q,J,t,x),{fixedHeaders:Ne,lastFixedColumn:we,fixedColumnsInfos:gn}=yt(K),v=K.value.filter(r=>r.expandable)[0].value,{clickRow:ge}=mt(c,_e,W,t),yn=(r,w)=>{ne.value&&w.preventDefault(),t("contextmenuRow",r,w)},hn=r=>{var n;const w=(n=r.width)!=null?n:Ne.value.length?100:null;if(w)return`width: ${w}px; min-width: ${w}px;`},Se=(r,w="th")=>{if(!Ne.value.length)return;const n=gn.value.find($=>$.value===r);if(n)return`left: ${n.distance}px;z-index: ${w==="th"?3:1};position: sticky;`},ye=e.ref(!1),Be=e.ref(null),Ce=e.ref(""),kn=(r,w)=>{if(!w.tooltipText){ye.value=!1,Ce.value="",Be.value.style.left="0px";return}const n=r.target.getBoundingClientRect().left;Be.value.style.left=`${n}px`,ye.value=!0,Ce.value=w.tooltipText};return e.watch(S,(r,w)=>{be.value&&r===!1&&w===!0&&(mn(be.value.page),je())}),e.watch(q,r=>{G.value?ln(r):ce(1)}),e.watch([T,y],()=>{G.value||ce(1)}),e.watch([U,Le,R,T,y],(r,w)=>{JSON.stringify(r)!==JSON.stringify(w)&&je()},{deep:!0}),e.watch(Q,r=>{t("updatePageItems",{pageItems:r,rowsPerPage:q.value})},{deep:!0}),e.watch(ze,r=>{t("updateTotalItems",r)},{deep:!0}),d({currentPageFirstIndex:De,currentPageLastIndex:He,clientItemsLength:me,maxPaginationNumber:re,currentPaginationNumber:U,isLastPage:oe,isFirstPage:le,nextPage:se,prevPage:ie,updatePage:ce,rowsPerPageOptions:Te,rowsPerPageActiveOption:q,updateRowsPerPageActiveOption:un}),(r,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",wt,[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,ye.value]])]),e.createElementVNode("div",{ref_key:"dataTable",ref:Re,class:e.normalizeClass(["vue3-easy-data-table",[r.tableClassName]])},[e.createElementVNode("div",{ref_key:"tableBody",ref:ke,class:e.normalizeClass(["vue3-easy-data-table__main",{"fixed-header":e.unref(_),"fixed-height":e.unref(F),"show-shadow":Fe.value,"table-fixed":e.unref(Ne).length,hoverable:!r.noHover,"border-cell":r.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.openBlock(),e.createElementBlock("col",{key:$,style:e.normalizeStyle(hn(n))},null,4))),128))]),e.unref(M)["customize-headers"]?e.renderSlot(r.$slots,"customize-headers",{key:0},void 0,!0):e.unref(K).length&&!r.hideHeader?(e.openBlock(),e.createElementBlock("thead",{key:1,class:e.normalizeClass(["vue3-easy-data-table__header",[r.headerClassName]])},[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(K),(n,$)=>(e.openBlock(),e.createElementBlock("th",{key:$,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(we)},typeof r.headerItemClassName=="string"?r.headerItemClassName:r.headerItemClassName(n,$+1)]),style:e.normalizeStyle(Se(n.value)),onMouseenter:h=>{kn(h,n)},onMouseleave:w[0]||(w[0]=h=>ye.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(r.$slots,`header-${n.value}`,e.normalizeProps(e.mergeProps({key:0},n)),void 0,!0):e.unref(M)[`header-${n.value.toLowerCase()}`]?e.renderSlot(r.$slots,`header-${n.value.toLowerCase()}`,e.normalizeProps(e.mergeProps({key:1},n)),void 0,!0):e.unref(M).header?e.renderSlot(r.$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(I)&&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(r.$slots,"body",e.normalizeProps(e.mergeProps({key:2},e.unref(Q))),void 0,!0):e.unref(xe).length?(e.openBlock(),e.createElementBlock("tbody",{key:3,class:e.normalizeClass(["vue3-easy-data-table__body",{"row-alternation":r.alternating}])},[e.renderSlot(r.$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:w[2]||(w[2]=n=>{e.unref(ge)(e.unref(x),"single",n),r.clickRowToExpand&&e.unref(Pe)(1e14+e.unref(J),e.unref(x),n)})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(xe),(n,$)=>(e.openBlock(),e.createElementBlock("td",{key:$,style:e.normalizeStyle(Se(n,"td")),class:e.normalizeClass([{shadow:n===e.unref(we),"can-expand":n===e.unref(v)},typeof r.bodyItemClassName=="string"?r.bodyItemClassName:r.bodyItemClassName(n,r.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(r.$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(J)+1e14)}])},null,2)])):e.renderSlot(r.$slots,`item-${n}`,e.normalizeProps(e.mergeProps({key:1},e.unref(x))),void 0,!0)],64)):e.unref(M)[`item-${n.toLowerCase()}`]?e.renderSlot(r.$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:w[1]||(w[1]=h=>e.unref(Me)(e.unref(x)))},null,8,["checked"])):e.unref(M).item?e.renderSlot(r.$slots,"item",e.normalizeProps(e.mergeProps({key:3},{column:n,item:r.item})),void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[n===e.unref(v)?(e.openBlock(),e.createElementBlock("div",Ft,[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(J)+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(he)&&e.unref(te).includes(1e14+e.unref(J))?e.renderSlot(r.$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.openBlock(),e.createElementBlock(e.Fragment,{key:$},[e.createElementVNode("tr",{class:e.normalizeClass([{"even-row":($+1)%2===0},typeof r.bodyRowClassName=="string"?r.bodyRowClassName:r.bodyRowClassName(n,$+1)]),onClick:h=>{e.unref(ge)(n,"single",h),r.clickRowToExpand&&e.unref(Pe)($+e.unref(J),n,h)},onDblclick:h=>{e.unref(ge)(n,"double",h)},onContextmenu:h=>{yn(n,h)}},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(xe),(h,_n)=>(e.openBlock(),e.createElementBlock("td",{key:_n,style:e.normalizeStyle(Se(h,"td")),class:e.normalizeClass([{shadow:h===e.unref(we),"can-expand":h===e.unref(v)},typeof r.bodyItemClassName=="string"?r.bodyItemClassName:r.bodyItemClassName(h,$+1),`direction-${e.unref(m)}`]),onClick:Ee=>{h===e.unref(v)&&(e.unref(ge)(n,"single",Ee),e.unref(Pe)($+e.unref(J),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(r.$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(J)+$)}])},null,2)])):e.renderSlot(r.$slots,`item-${h}`,e.normalizeProps(e.mergeProps({key:1},n)),void 0,!0)],64)):e.unref(M)[`item-${h.toLowerCase()}`]?e.renderSlot(r.$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(r.$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(J)+$)}])},null,2)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(pe)(h,n)),1)],64))],64))],14,Tt))),128))],42,Lt),e.unref(he)&&e.unref(te).includes($+e.unref(J))?e.renderSlot(r.$slots,"expand",e.normalizeProps(e.mergeProps({key:0},n)),void 0,!0):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(r.$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(S)?(e.openBlock(),e.createElementBlock("div",Dt,[Ht,e.createElementVNode("div",Ot,[e.unref(nn)?e.renderSlot(r.$slots,"loading",{key:0},void 0,!0):(e.openBlock(),e.createBlock(st,{key:1}))])])):e.createCommentVNode("",!0),!e.unref(Q).length&&!e.unref(S)?(e.openBlock(),e.createElementBlock("div",jt,[e.renderSlot(r.$slots,"empty-message",{},()=>[e.createElementVNode("div",Jt,[e.withDirectives(e.createElementVNode("div",Wt,qt,512),[[e.vShow,!e.unref(T)]]),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":r.size==="sm","w-16 h-16 mb-5":r.size==="md","w-20 h-20 mb-5":r.size==="lg","w-20 h-20 mb-6":r.size==="xl"||r.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(T))+'". ',1),Zt,e.createTextVNode(" Try adjusting your search to find what you're looking for. ")])],512),[[e.vShow,e.unref(T)]])])],!0)])):e.createCommentVNode("",!0)],2),r.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Gt,[r.hideRowsPerPage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Kt,[e.createTextVNode(e.toDisplayString(r.rowsPerPageMessage)+" ",1),e.createVNode(rt,{modelValue:e.unref(q),"onUpdate:modelValue":w[3]||(w[3]=n=>e.isRef(q)?q.value=n:null),"rows-items":e.unref(Te)},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(r.$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},[r.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=E(vt,[["__scopeId","data-v-4a798c62"]]);return typeof window!="undefined"&&window.Vue&&window.Vue.createApp({}).component("Vue3EasyDataTable",Ve),Ve});