UNPKG

vue-data-ui

Version:

A user-empowering data visualization Vue 3 components library for eloquent data storytelling

14 lines 68.2 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("./index-B7zOq_yO.cjs"),S=require("./vue-ui-xy-CHcCU9pB.cjs"),w=require("./vue-ui-donut-BjGbzLsC.cjs"),e=require("vue"),_=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),O={name:"vue-ui-table",props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},components:{VueUiXy:S.default,VueUiDonut:w.default},data(){return{uid:`vue-ui-table-${Math.random()}`,bodyCopy:JSON.parse(JSON.stringify(this.dataset.body)).map((n,o)=>({...n,absoluteIndex:o})),buttonTimeout:null,canMoveChart:!1,chart:{height:316,type:"bar",width:512},constants:{ASC:1,BAR:"bar",DATE:"date",DESC:-1,DONUT:"donut",LINE:"line",NUMERIC:"numeric",PERCENTAGE:"percentage",TEXT:"text"},clientX:100,clientY:100,dragOffsetX:0,dragOffsetY:0,modalWidth:400,modalHeight:200,cssClass:{CELL:"smart-td-selected",FIRST_TD:"smart-td-selected-first",LAST_TD:"smart-td-selected-last",ROW:"smart-td-selected-neighbor"},currentDonut:void 0,currentFilter:void 0,currentSearch:void 0,currentSelectionSpan:{col:void 0,rows:[]},currentPage:0,dates:{},filteredDatesIndexes:{},hasNaN:{},iconColor:"#2D353C",iconSize:20,immutableRangeFilters:{},isExportRequest:!1,isLoading:!1,itemsPerPage:this.config.rowsPerPage?this.config.rowsPerPage:25,multiselects:{},paginatorOptions:[...new Set([10,25,50,100,250,500,this.config.rowsPerPage?this.config.rowsPerPage:25,this.dataset.body.length])].sort((n,o)=>n-o),palette:N.palette,percentages:{},rafId:null,rangeFilters:{},searches:{},selectedColumn:void 0,selectedDonutCategory:void 0,selectedPlot:void 0,showChart:!1,showDonutOptions:!1,sorts:{},tableBody:JSON.parse(JSON.stringify(this.dataset.body)).map((n,o)=>({...n,absoluteIndex:o})),tableHead:JSON.parse(JSON.stringify(this.dataset.header)).map(n=>({average:Object.hasOwn(n,"average")?n.average:!1,decimals:Object.hasOwn(n,"decimals")?n.decimals:0,isMultiselect:Object.hasOwn(n,"isMultiselect")?n.isMultiselect:!1,isPercentage:Object.hasOwn(n,"isPercentage")?n.isPercentage:!1,isSearch:Object.hasOwn(n,"isSearch")?n.isSearch:!1,isSort:Object.hasOwn(n,"isSort")?n.isSort:!1,name:n.name,percentageTo:Object.hasOwn(n,"percentageTo")?n.percentageTo:void 0,prefix:Object.hasOwn(n,"prefix")?n.prefix:"",rangeFilter:Object.hasOwn(n,"rangeFilter")?n.rangeFilter:!1,suffix:Object.hasOwn(n,"suffix")?n.suffix:"",sum:Object.hasOwn(n,"sum")?n.sum:!1,type:n.type}))}},mounted(){if(this.dataset.header.length===0)throw new Error(`vue-ui-table error: missing header data. Provide an array of objects of type: { name: string; type: string; ('text' | 'numeric' | 'date') average: boolean; decimals: number | undefined; sum: boolean; isSort:boolean; isSearch: boolean; isMultiselect: boolean; isPercentage: boolean; percentageTo: string; (or '') }`);if(this.dataset.body.length===0)throw new Error("vue-ui-table error: missing body data");this.isLoading=!0,this.promiseWithAsyncFunction(this.prepareBodyCopy,()=>{this.$forceUpdate(),this.isLoading=!1}),document.addEventListener("keydown",r=>{const n=document.activeElement;(n&&Array.from(n.classList).includes("td-focusable")&&r.key.includes("Arrow")||r.code==="Space")&&r.preventDefault()})},watch:{showChart:function(r){r&&this.$nextTick(()=>{this.closeDragElement()})},dataset:{handler(r){this.isLoading=!0,this.bodyCopy=JSON.parse(JSON.stringify(r.body)).map((n,o)=>({...n,absoluteIndex:o})),this.tableBody=JSON.parse(JSON.stringify(r.body)).map((n,o)=>({...n,absoluteIndex:o})),this.tableHead=JSON.parse(JSON.stringify(r.header)).map(n=>({average:Object.hasOwn(n,"average")?n.average:!1,decimals:Object.hasOwn(n,"decimals")?n.decimals:0,isMultiselect:Object.hasOwn(n,"isMultiselect")?n.isMultiselect:!1,isPercentage:Object.hasOwn(n,"isPercentage")?n.isPercentage:!1,isSearch:Object.hasOwn(n,"isSearch")?n.isSearch:!1,isSort:Object.hasOwn(n,"isSort")?n.isSort:!1,name:n.name,percentageTo:Object.hasOwn(n,"percentageTo")?n.percentageTo:void 0,prefix:Object.hasOwn(n,"prefix")?n.prefix:"",rangeFilter:Object.hasOwn(n,"rangeFilter")?n.rangeFilter:!1,suffix:Object.hasOwn(n,"suffix")?n.suffix:"",sum:Object.hasOwn(n,"sum")?n.sum:!1,type:n.type})),this.currentSelectionSpan={col:void 0,rows:[]},this.selectedColumn=void 0,this.itemsPerPage=this.config.rowsPerPage?this.config.rowsPerPage:25,this.percentages={},this.dates={},this.filteredDatesIndexes={},this.hasNaN={},this.immutableRangeFilters={},this.rangeFilters={},this.multiselects={},this.searches={},this.sorts={},this.showChart=!1,this.currentDonut=void 0,this.selectedDonutCategory=void 0,this.selectedPlot=void 0,this.showDonutOptions=!1,this.currentSelectionSpan.col=void 0,this.currentSelectionSpan.rows=[],this.promiseWithAsyncFunction(this.prepareBodyCopy,()=>{this.$forceUpdate(),this.updateCurrentPage(),this.isLoading=!1})},deep:!0,immediate:!1}},computed:{availableDonutCategories(){return Object.keys(this.multiselects).map(r=>({index:r,name:this.dataset.header[r].name,options:this.multiselects[r]}))},canChart(){return this.FINAL_CONFIG.useChart&&this.currentSelectionSpan.rows.length>1},chartData(){if(!this.canChart)return[];const r=316,n=512,o=this.currentSelectionSpan.rows.length,i=n/o,s=Math.max(...this.currentSelectionSpan.rows.map(p=>p.value)),t=Math.min(...this.currentSelectionSpan.rows.map(p=>p.value)),u=this.dataset.header[this.currentSelectionSpan.col].isPercentage&&this.dataset.header[this.currentSelectionSpan.col].percentageTo,h=this.chart.type===this.constants.DONUT&&this.selectedDonutCategory&&this.selectedDonutCategory.name,a=this.dataset.header[this.currentSelectionSpan.col].name+(u?` / ${this.dataset.header[this.percentages[this.currentSelectionSpan.col].referenceIndex].name}`:"")+(h?` ${this.FINAL_CONFIG.translations.by} ${this.selectedDonutCategory.name}`:""),l=this.dataset.header[this.currentSelectionSpan.col].prefix,c=this.dataset.header[this.currentSelectionSpan.col].suffix,d=[{name:a,series:this.currentSelectionSpan.rows.map(p=>p.value),type:"line",useProgression:!0,smooth:this.FINAL_CONFIG.style.chart.layout.line.smooth,color:this.FINAL_CONFIG.style.chart.layout.line.stroke,useArea:this.FINAL_CONFIG.style.chart.layout.line.useArea}],y=[{name:a,series:this.currentSelectionSpan.rows.map(p=>p.value),type:"bar",useProgression:!0,color:this.FINAL_CONFIG.style.chart.layout.bar.fill}],b=this.FINAL_CONFIG.style.chart.modal.backgroundColor,g=this.adaptColorToBackground(b),m=this.dataset.header[this.currentSelectionSpan.col].decimals,F={chart:{backgroundColor:b,color:g,labels:{fontSize:18,prefix:l,suffix:c},grid:{stroke:N.lightenHexColor(g,.5),labels:{color:g,xAxisLabels:{show:!1}}},highlighter:{color:g},legend:{color:g},padding:{left:72,bottom:24,top:36},title:{text:a,color:g,fontSize:18},tooltip:{showTimeLabel:!1,backgroundOpacity:30,color:g,backgroundColor:b,showPercentage:!1,roundingValue:m},userOptions:{position:"left",buttons:{pdf:!1,csv:!1,table:!1,annotator:!1}},zoom:{show:!1}},line:{labels:{show:!0,color:g,rounding:m},dot:{useSerieColor:!1,fill:this.FINAL_CONFIG.style.chart.layout.line.plot.fill,strokeWidth:this.FINAL_CONFIG.style.chart.layout.line.plot.strokeWidth}},bar:{useGradient:!1,border:{useSerieColor:!1,stroke:this.FINAL_CONFIG.style.chart.layout.bar.stroke,strokeWidth:this.FINAL_CONFIG.style.chart.layout.bar.strokeWidth},labels:{show:!0,color:g,rounding:m}}},f=t>=0?0:Math.abs(t),I=s+f,C=this.dataset.header[this.currentSelectionSpan.col].isPercentage,k=this.currentSelectionSpan.rows.map((p,v)=>({x:i*v+i/2,y:(1-(p.value+f)/I)*r,value:C?p.value*100:p.value,suffix:C?"%":this.dataset.header[this.currentSelectionSpan.col].suffix?this.dataset.header[this.currentSelectionSpan.col].suffix:"",prefix:this.dataset.header[this.currentSelectionSpan.col].prefix?this.dataset.header[this.currentSelectionSpan.col].prefix:"",index:p.index,absoluteValue:C?Math.abs(p.value)*100:Math.abs(p.value)}));return{donutConfig:{userOptions:{position:"left",buttons:{pdf:!1,csv:!1,table:!1,annotator:!1}},style:{chart:{backgroundColor:b,color:g,layout:{curvedMarkers:!0,donut:{strokeWidth:64},labels:{dataLabels:{suffix:C?"%":"",prefix:l},value:{rounding:m},percentage:{color:g,rounding:m},name:{color:g},hollow:{average:{color:g,text:this.FINAL_CONFIG.translations.average,value:{color:g}},total:{color:g,offsetY:-12,text:this.FINAL_CONFIG.translations.total,value:{color:g,offsetY:-12}}}}},legend:{backgroundColor:b,color:g,roundingValue:m,roundingPercentage:m},padding:{left:12,right:12},title:{text:a,color:g,fontSize:18},tooltip:{backgroundOpacity:30,color:g,backgroundColor:b,roundingValue:m,roundingValue:m}}}},xyConfig:F,xyDatasetLine:d,xyDatasetBar:y,progression:k.length>=2?this.calcLinearProgression(k):!1}},hasNumericTypes(){return this.dataset.header.map(r=>r.type).includes(this.constants.NUMERIC)},icons(){return{arrowSort:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 9l4 -4l4 4m-4 -4v14" /><path d="M21 15l-4 4l-4 -4m4 4v-14" /></svg>`,bar:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 12m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M9 8m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M15 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M4 20l14 0" /></svg>`,chart:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 19l16 0" /><path d="M4 15l4 -6l4 2l4 -5l4 4" /></svg>`,chevronDown:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>`,chevronLeft:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize*1.6}" height="${this.iconSize*1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 6l-6 6l6 6" /></svg>`,chevronRight:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize*1.6}" height="${this.iconSize*1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 6l6 6l-6 6" /></svg>`,donut:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize*.8}" height="${this.iconSize*.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 3v5m4 4h5" /><path d="M8.929 14.582l-3.429 2.918" /><path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" /><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" /></svg>`,export:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12.5 21h-7.5a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5" /><path d="M3 10h18" /><path d="M10 3v18" /><path d="M16 19h6" /><path d="M19 16l3 3l-3 3" /></svg>`,fileDownload:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14 3v4a1 1 0 0 0 1 1h4" /><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /><path d="M12 17v-6" /><path d="M9.5 14.5l2.5 2.5l2.5 -2.5" /></svg>`,filter:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z" /></svg>`,move:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 9l3 3l-3 3" /><path d="M15 12h6" /><path d="M6 9l-3 3l3 3" /><path d="M3 12h6" /><path d="M9 18l3 3l3 -3" /><path d="M12 15v6" /><path d="M15 6l-3 -3l-3 3" /><path d="M12 3v6" /></svg>`,sort09:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 3a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 16m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 16v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,sort90:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 14a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 5v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,sortAZ:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 21h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,sortZA:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 21v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 10h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,sum:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>`,table:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" fill="white" d="M 10 2, 21 2, 21 21, 10 21Z"/><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z" /><path d="M3 10h18" /><path d="M10 3v18" /></svg>`,warning:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize*.8}" height="${this.iconSize*.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10.24 3.957l-8.422 14.06a1.989 1.989 0 0 0 1.7 2.983h16.845a1.989 1.989 0 0 0 1.7 -2.983l-8.423 -14.06a1.989 1.989 0 0 0 -3.4 0z" /><path d="M12 9v4" /><path d="M12 17h.01" /></svg>`,grip:`<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M5 15m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 15m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M19 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M19 15m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /></svg>`}},pages(){const r=[];if(this.bodyCopy.length)for(let n=0;n<this.bodyCopy.length;n+=this.itemsPerPage)r.push(this.bodyCopy.slice(n,n+this.itemsPerPage));return r},rows(){return this.bodyCopy.map(r=>r.td)},selectedCellsCalculations(){return{sumPercentage:Number((this.currentSelectionSpan.rows.map(r=>r.value).reduce((r,n)=>r+n,0)*100).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),sumRegular:Number(this.currentSelectionSpan.rows.map(r=>r.value).reduce((r,n)=>r+n,0).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),averagePercentage:Number((this.currentSelectionSpan.rows.map(r=>r.value).reduce((r,n)=>r+n,0)/this.currentSelectionSpan.rows.length*100).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),averageRegular:Number((this.currentSelectionSpan.rows.map(r=>r.value).reduce((r,n)=>r+n,0)/this.currentSelectionSpan.rows.length).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString()}},FINAL_CONFIG(){const{vue_ui_table:r}=N.useConfig();if(!Object.keys(this.config||{}).length)return r;const n=this.treeShake({defaultConfig:r,userConfig:this.config});return this.convertConfigColors(n)},visibleRows(){return this.pages[this.currentPage]}},methods:{adaptColorToBackground:N.adaptColorToBackground,convertColorToHex:N.convertColorToHex,convertConfigColors:N.convertConfigColors,createCsvContent:N.createCsvContent,darkenHexColor:N.darkenHexColor,dataLabel:N.dataLabel,downloadCsv:N.downloadCsv,lightenHexColor:N.lightenHexColor,treeShake:N.treeShake,applyDonutOption(){const r=this.selectedDonutCategory.options.map((n,o)=>({name:n,color:this.palette[o]||this.palette[o%this.palette.length],values:[this.visibleRows.filter((i,s)=>i.td[this.selectedDonutCategory.index]===n&&this.currentSelectionSpan.rows.map(t=>t.index).includes(s)).map(i=>i.td[this.currentSelectionSpan.col]).reduce((i,s)=>Math.abs(i)+Math.abs(s),0)],absoluteValue:this.visibleRows.filter((i,s)=>i.td[this.selectedDonutCategory.index]===n&&this.currentSelectionSpan.rows.map(t=>t.index).includes(s)).map(i=>i.td[this.currentSelectionSpan.col]).reduce((i,s)=>i+s,0)})).sort((n,o)=>o.value-n.value);this.currentDonut=r,this.$nextTick(()=>{this.chart.type=this.constants.DONUT,this.showDonutOptions=!1})},calcRectY(r,n){return r>=0?n:this.chartData.zero},canResetColumn(r,n){return!this.hasNaN[r]&&(n.isSort||n.isSearch||n.isMultiselect||n.rangeFilter)&&![this.constants.DATE].includes(n.type)},createXls(r="all"){const n=this.dataset.header.map(t=>t.name),o=r==="all"?this.bodyCopy.map(t=>t.td):this.visibleRows.map(t=>t.td),i=[n].concat(o),s=this.createCsvContent(i);this.downloadCsv({csvContent:s,title:"vue-ui-table"})},calcLinearProgression:N.calcLinearProgression,closeAllDropdowns(){const r=document.getElementsByClassName("th-dropdown");r.length&&Array.from(r).forEach(n=>{n.dataset.isOpen=!1})},debounce(r,n){let o;clearTimeout(o),o=setTimeout(r,n)},filterBody(){this.bodyCopy=this.tableBody.filter(r=>{for(const n in this.searches)if(!r.td[n].toUpperCase().includes(this.searches[n].toUpperCase()))return!1;for(const n in this.multiselects)if(!this.multiselects[n].some(i=>i===r.td[n]))return!1;for(const n in this.dates){const o=new Date(r.td[n]),i=new Date(this.dates[n].from),s=new Date(this.dates[n].to);if(o<i||o>s)return!1}return!0}),this.sortBody()},getAverage(r){return this.rows.map(n=>n[r]).map(n=>isNaN(Number(n))?0:n).reduce((n,o)=>n+o,0)/this.bodyCopy.length},getDatesRange(r){const n=this.dataset.body.map(y=>new Date(y.td[r])),o=new Date(Math.min(...n)),i=new Date(Math.max(...n)),s=o.getFullYear(),t=i.getFullYear(),u=String(o.getMonth()+1).padStart(2,"0"),h=String(i.getMonth()+1).padStart(2,"0"),a=String(o.getDate()).padStart(2,"0"),l=String(i.getDate()).padStart(2,"0"),c=`${s}-${u}-${a}`,d=`${t}-${h}-${l}`;return{from:c,to:d}},getDonutLegendValue(r){return Number((r*(this.dataset.header[this.currentSelectionSpan.col].isPercentage?100:1)).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString()},getDropdownOptions(r){return[...new Set(this.dataset.body.map(n=>n.td[r]))]},getSum(r){return this.rows.map(n=>n[r]).map(n=>isNaN(Number(n))?0:n).reduce((n,o)=>n+o,0)},includesNaN(r){return r.includes(NaN)},isDropdownOptionSelected(r,n){return this.multiselects[n]?this.multiselects[n].includes(r):!0},isNumeric(r){return!isNaN(Number(String(r).replaceAll("%","")))},isResetDisabled(r,n){const o=n.isSort,i=n.isSearch,s=n.isMultiselect&&this.multiselects[r],t=n.rangeFilter,u=h=>{if(t&&this.rangeFilters[h])return Math.round(this.rangeFilters[h].min)===this.immutableRangeFilters[h].min&&Math.round(this.rangeFilters[h].max)===this.immutableRangeFilters[h].max};if(o&&i&&s&&t)return["",void 0].includes(this.searches[r])&&[void 0].includes(this.sorts[r])&&this.multiselects[r].length===this.getDropdownOptions(r).length&&u(r);if(o&&i&&s)return["",void 0].includes(this.searches[r])&&[void 0].includes(this.sorts[r])&&this.multiselects[r].length===this.getDropdownOptions(r).length;if(o&&i&&t)return["",void 0].includes(this.searches[r])&&[void 0].includes(this.sorts[r])&&u(r);if(o&&i)return["",void 0].includes(this.searches[r])&&[void 0].includes(this.sorts[r]);if(o&&s&&t)return[void 0].includes(this.sorts[r])&&this.multiselects[r].length===this.getDropdownOptions(r).length&&u(r);if(o&&s)return[void 0].includes(this.sorts[r])&&this.multiselects[r].length===this.getDropdownOptions(r).length;if(i&&s&&t)return["",void 0].includes(this.searches[r])&&this.multiselects[r].length===this.getDropdownOptions(r).length&&u(r);if(i&&s)return["",void 0].includes(this.searches[r])&&this.multiselects[r].length===this.getDropdownOptions(r).length;if(i&&t)return["",void 0].includes(this.searches[r])&&u(r);if(i)return["",void 0].includes(this.searches[r]);if(o&&t)return[void 0].includes(this.sorts[r])&&u(r);if(o)return[void 0].includes(this.sorts[r]);if(s&&t)return this.multiselects[r].length===this.getDropdownOptions(r).length&&u(r);if(s)return this.multiselects[r].length===this.getDropdownOptions(r).length},navigate(r){this.resetSelection(),r==="next"&&this.currentPage<this.pages.length?this.currentPage+=1:r==="previous"&&this.currentPage>=1?this.currentPage-=1:this.currentPage=r-1,this.$refs.tableWrapper.scrollTo({top:0,left:0,behavior:"smooth"})},navigateCell(r){r.preventDefault();const n=r.keyCode,o=38,i=40,s=37,t=39;if(![o,i,s,t].includes(n))return;const u=r.target.id,h=/cell_(\d+)_(\d+)_vue-ui-table-(\d+)/,a=u.match(h),l=parseInt(a[1]),c=parseInt(a[2]),d=document.getElementById(`cell_${l}_${c+1}_${this.uid}`),y=document.getElementById(`cell_${l}_${c-1}_${this.uid}`),b=document.getElementById(`cell_${l+1}_${c}_${this.uid}`),g=document.getElementById(`cell_${l-1}_${c}_${this.uid}`);let m;switch(!0){case n===t:m=d;break;case n===s:m=y;break;case n===o:m=g;break;case n===i:m=b;break;default:return}m&&(m.focus(),m.scrollIntoView({behavior:"smooth",block:"center"}))},openDonutOptions(){this.selectedDonutCategory=this.availableDonutCategories[0],this.showDonutOptions=!0},placeLabelOnTopOrBottom({previousPlot:r,currentPlot:n,nextPlot:o}){const i=n.y-38,s=n.y+16;return r&&o?r.value<n.value&&o.value<n.value?i:r.value>n.value&&o.value>n.value?s:(r.value>n.value&&o.value<n.value||r.value<n.value&&o.value>n.value,i):r&&!o?r.value>n.value?s:i:!r&&o&&o.value>n.value?s:i},async prepareBodyCopy(){return new Promise(r=>{const n=[];this.tableHead.forEach((o,i)=>{if(o.isSearch&&Object.assign(this.searches,{[i]:""}),o.isMultiselect&&Object.assign(this.multiselects,{[i]:this.getDropdownOptions(i)}),o.type===this.constants.DATE&&(Object.assign(this.dates,{[i]:this.getDatesRange(i)}),Object.assign(this.filteredDatesIndexes,{[i]:!1})),(o.isPercentage||o.percentageTo)&&Object.assign(this.percentages,{[i]:{reference:o.percentageTo,referenceIndex:this.dataset.header.map(s=>s.name).indexOf(o.percentageTo)}}),o.rangeFilter&&(Object.assign(this.rangeFilters,{[i]:{min:Math.round(Math.min(...this.dataset.body.map(s=>s.td).map(s=>s[i]))),max:Math.round(Math.max(...this.dataset.body.map(s=>s.td).map(s=>s[i])))}}),Object.assign(this.immutableRangeFilters,{[i]:{min:Math.round(Math.min(...this.dataset.body.map(s=>s.td).map(s=>s[i]))),max:Math.round(Math.max(...this.dataset.body.map(s=>s.td).map(s=>s[i])))}})),o.isPercentage){const s=this.dataset.header.map(u=>u.name).indexOf(o.percentageTo),t=this.dataset.body.map(u=>u.td[s]).reduce((u,h)=>u+h,0);n.push([i,s,t])}o.type===this.constants.NUMERIC&&!o.isPercentage&&Object.assign(this.hasNaN,{[i]:this.includesNaN(this.dataset.body.map(s=>Number(s.td[i])))})}),this.bodyCopy.forEach((o,i)=>{n.map(s=>{const[t,u,h]=s;o.td[t]=o.td[u]/h}),o.td.forEach((s,t)=>{this.dataset.header[t].type===this.constants.TEXT&&this.dataset.header[t].isSearch&&(o[t]=this.stringToNumber(s)),this.dataset.header[t].type===this.constants.DATE&&(o[t]=new Date(s).getTime()),this.dataset.header[t].type===this.constants.NUMERIC&&(o[t]=isNaN(Number(s))?t:s),this.tableBody[i][t]=o[t]})}),r(!0)})},promiseWithAsyncFunction(r,n){return new Promise((o,i)=>{r().then(s=>{try{const t=n(s);o(t)}catch(t){i(t)}}).catch(s=>{i(s)})})},resetDates(r){this.dates[r]={from:this.getDatesRange(r).from,to:this.getDatesRange(r).to},this.filteredDatesIndexes[r]=!1,this.$forceUpdate(),this.filterBody()},resetFilter(r,n,o){const i=o.currentTarget;clearTimeout(this.buttonTimeout),i.classList.add("clicked"),this.buttonTimeout=setTimeout(()=>{i.classList.remove("clicked")},200),this.currentFilter=void 0,n.rangeFilter&&(this.rangeFilters[r].min=this.immutableRangeFilters[r].min,this.rangeFilters[r].max=this.immutableRangeFilters[r].max),n.isMultiselect?(this.multiselects[r]=this.getDropdownOptions(r),n.type===this.constants.TEXT&&(this.sorts[r]=void 0),n.isSearch&&(this.searches[r]="")):n.type===this.constants.NUMERIC?this.sorts[r]=void 0:n.type===this.constants.TEXT?(this.sorts[r]=void 0,this.searches[r]=""):n.type===this.constants.DATE&&(this.sorts[r]=void 0),this.filterBody()},resetSelection(){const r=document.getElementsByClassName(`tr_${this.uid}`);Array.from(r).forEach(n=>{Array.from(n.getElementsByTagName("td")).forEach(o=>{o.dataset.row==="even"?(o.style.background=this.FINAL_CONFIG.style.rows.even.backgroundColor,o.style.color=this.FINAL_CONFIG.style.rows.even.color):(o.style.background=this.FINAL_CONFIG.style.rows.odd.backgroundColor,o.style.color=this.FINAL_CONFIG.style.rows.odd.color)})}),Array.from(r).forEach(n=>n.dataset.selected="false"),this.currentPage>this.pages.length-1&&(this.currentPage=this.pages.length-1),this.showChart=!1,this.currentDonut=void 0,this.selectedColumn=void 0,this.chart.type=this.constants.BAR,this.currentSelectionSpan={col:void 0,rows:[]},this.clientX=100,this.clientY=100},selectColumn(r){this.currentSelectionSpan.col!==r?(this.visibleRows.forEach((n,o)=>{this.selectTd({td:n.td[r],rowIndex:o,colIndex:r,headerType:this.constants.NUMERIC,event:{currentTarget:document.getElementById(`cell_${o}_${r}_${this.uid}`)}})}),this.selectedColumn=r):(this.selectedColumn=void 0,this.resetSelection())},selectDropdownOption(r,n){this.multiselects[n].includes(r)?this.multiselects[n]=this.multiselects[n].filter(o=>o!==r):this.multiselects[n].push(r),this.$forceUpdate(),this.filterBody()},selectTd({td:r,rowIndex:n,colIndex:o,headerType:i,event:s}){if(i!==this.constants.NUMERIC||isNaN(Number(r))){this.resetSelection();return}this.currentSelectionSpan.col!==o&&this.resetSelection();const t=s.currentTarget.parentNode;this.currentSelectionSpan.col=o,this.currentSelectionSpan.rows.map(u=>u.index).includes(n)?(t.dataset.selected="false",this.currentSelectionSpan.rows=this.currentSelectionSpan.rows.filter(u=>u.index!==n),s.currentTarget.classList.remove(this.cssClass.CELL),Array.from(t.children).forEach((u,h)=>{u.dataset.row==="even"?(u.style.background=this.FINAL_CONFIG.style.rows.even.backgroundColor,u.style.color=this.FINAL_CONFIG.style.rows.even.olor):(u.style.background=this.FINAL_CONFIG.style.rows.odd.backgroundColor,u.style.color=this.FINAL_CONFIG.style.rows.odd.color)}),s.currentTarget.dataset.row==="even"?(s.currentTarget.style.background=this.FINAL_CONFIG.style.rows.even.backgroundColor,s.currentTarget.style.color=this.FINAL_CONFIG.style.rows.even.color):(s.currentTarget.style.background=this.FINAL_CONFIG.style.rows.odd.backgroundColor,s.currentTarget.style.color=this.FINAL_CONFIG.style.rows.odd.color)):(t.dataset.selected="true",this.currentSelectionSpan.rows.push({index:n,value:r}),Array.from(t.children).forEach((u,h)=>{u.dataset.row==="even"?(u.style.background=this.FINAL_CONFIG.style.rows.even.selectedNeighbors.backgroundColor,u.style.color=this.FINAL_CONFIG.style.rows.even.selectedNeighbors.color):(u.style.background=this.FINAL_CONFIG.style.rows.odd.selectedNeighbors.backgroundColor,u.style.color=this.FINAL_CONFIG.style.rows.odd.selectedNeighbors.color)}),s.currentTarget.dataset.row==="odd"?(s.currentTarget.style.background=this.FINAL_CONFIG.style.rows.odd.selectedCell.backgroundColor,s.currentTarget.style.color=this.FINAL_CONFIG.style.rows.odd.selectedCell.color):(s.currentTarget.style.background=this.FINAL_CONFIG.style.rows.even.selectedCell.backgroundColor,s.currentTarget.style.color=this.FINAL_CONFIG.style.rows.even.selectedCell.color)),this.currentSelectionSpan.rows=this.currentSelectionSpan.rows.sort((u,h)=>u.index-h.index),this.chart.type===this.constants.DONUT&&this.currentSelectionSpan.rows.length>0&&this.applyDonutOption()},setFilterDatesIndexes(r){this.filteredDatesIndexes[r]=!(this.getDatesRange(r).from===this.dates[r].from&&this.getDatesRange(r).to===this.dates[r].to)},sortBody(){this.resetSelection(),Object.keys(this.rangeFilters).forEach(r=>{this.filterByRange(this.bodyCopy,r)}),Object.keys(this.sorts).forEach(r=>{this.sortByNumber(this.bodyCopy,r)}),this.currentFilter!==void 0&&this.sortByNumber(this.bodyCopy,this.currentFilter),this.dataset.header.forEach((r,n)=>{if(r.isPercentage){const o=this.percentages[n].referenceIndex,i=this.bodyCopy.map(s=>s.td[o]).reduce((s,t)=>s+t,0);this.bodyCopy.forEach(s=>{s.td[n]=s.td[o]/i})}}),this.currentPage>this.pages.length-1&&(this.currentPage=this.pages.length-1),[-1].includes(this.currentPage)&&(this.currentPage=0),this.$forceUpdate()},filterByRange(r,n){this.bodyCopy=r.filter(o=>o.td[n]>=this.rangeFilters[n].min&&o[n]<=this.rangeFilters[n].max)},sortByNumber(r,n){if(this.sorts[n]===this.constants.ASC&&(r=r.sort((o,i)=>o[n]-i[n])),this.sorts[n]===this.constants.DESC)r=r.sort((o,i)=>i[n]-o[n]);else return 0},sortTh(r,n){this.currentFilter=r;const o=n.currentTarget;clearTimeout(this.buttonTimeout),o.classList.add("clicked"),this.buttonTimeout=setTimeout(()=>{o.classList.remove("clicked")},200),this.sorts[r]===1?this.sorts[r]=this.constants.DESC:this.sorts[r]=this.constants.ASC,this.sortBody()},stringToNumber(r){let n=0;for(let o=0;o<r.length;o+=1)n+=r.charCodeAt(o);return n},toggleMultiselect(r,n,o){const i=o.currentTarget;clearTimeout(this.buttonTimeout),i.classList.add("clicked"),this.buttonTimeout=setTimeout(()=>{i.classList.remove("clicked")},200);const s=document.getElementById(`th_dropdown_${r}`);s.dataset.isOpen==="false"?s.dataset.isOpen="true":s.dataset.isOpen="false"},updateCurrentPage(r){this.resetSelection(),!r||!r.target.value?this.currentPage=0:this.currentPage=Number(r.target.value)},calcDonutMarkerConnectorColor(r){return r.proportion*100>3?r.color:"transparent"},calcDonutMarkerLabelPositionX(r){return r.center.endX+this.calcMarkerOffset(r,50)},calcMarkerOffset(r,n){return r.center.endX-n>=0?3:-2},displayArcPercentage(r,n){return isNaN(r.value/this.sumValues(n))?0:(r.value/this.sumValues(n)*100).toFixed(0)+"%"},isArcBigEnough(r){return r.proportion*100>3},sumValues(r){return[...r].map(n=>n.value).reduce((n,o)=>n+o,0)},closeDragElement(){document.onmouseup=null,document.onmousemove=null},dragMouseDown(r){r=r||window.event,r.preventDefault();const o=this.$refs.chartModal.getBoundingClientRect();this.dragOffsetX=r.clientX-o.left,this.dragOffsetY=r.clientY-o.top,this.modalWidth=o.width,this.modalHeight=o.height,document.onmouseup=this.closeDragElement,document.onmousemove=this.elementDrag},elementDrag(r){if(this.rafId)return;const o=this.$refs.chartModal.getBoundingClientRect();this.clientX=r.clientX-this.dragOffsetX,this.clientY=r.clientY-this.dragOffsetY-40,this.clientX<0&&(this.clientX=0),this.clientX+o.width>window.innerWidth&&(this.clientX=window.innerWidth-o.width-48),this.clientY<0&&(this.clientY=0),this.clientY+o.height>window.innerHeight&&(this.clientY=window.innerHeight-o.height-24)}}},L={class:"vue-ui-table-export-hub"},E=["innerHTML"],D=["data-is-open"],B={class:"vue-ui-table-export-hub-options"},A={class:"vue-ui-table-export-hub-option-wrapper"},M={class:"label"},T=["innerHTML"],x={class:"vue-ui-table-export-hub-option-wrapper"},G={class:"label"},V=["innerHTML"],z={class:"vue-ui-table"},H={id:"tableHead"},P={key:0},R={key:0},U={key:1},X={key:0,style:{display:"flex","align-items":"center","justify-content":"flex-end"}},j=["innerHTML"],Y={key:0,style:{"margin-left":"3px"}},W={key:0},J={class:"th-filter"},K={key:0,class:"th-date"},q={class:"date-wrapper--inputs"},Z={class:"date-fieldset"},Q=["for"],$=["id","onUpdate:modelValue","onInput"],ee={class:"date-fieldset"},te=["for"],se=["id","onUpdate:modelValue","onInput"],ne={class:"date-wrapper--button"},re=["onClick"],oe=["innerHTML"],le=["innerHTML"],ae=["innerHTML"],ie=["onClick","disabled"],ce=["placeholder","onUpdate:modelValue","name"],ue=["onClick"],de=["innerHTML"],he=["innerHTML"],ge=["innerHTML"],me=["onClick","innerHTML"],ye=["innerHTML"],pe={key:5,class:"th-range-filter"},Ne=["for"],be=["id","max","min","onUpdate:modelValue"],Ce=["id","max","min","onUpdate:modelValue"],fe=["for"],ke=["onClick","disabled"],Fe=["id"],Ie=["onClick"],ve=["onClick","onKeyup"],Se=["innerHTML","onClick","onKeyup"],we=["data-row"],_e=["data-row"],Oe=["data-row","onClick","onKeyup","id"],Le=["innerHTML"],Ee={key:1},De={key:2},Be={key:5},Ae=["innerHTML"],Me={key:0},Te={style:{"margin-left":"12px"}},xe={class:"format-num"},Ge={style:{"margin-left":"12px"}},Ve={key:0,class:"format-num"},ze={key:1,class:"format-num"},He={key:2},Pe={style:{"margin-left":"12px"}},Re={key:0,class:"format-num"},Ue={key:1,class:"format-num"},Xe={key:2},je={key:0,class:"vue-ui-table-paginator format-num"},Ye={key:1,class:"vue-ui-table-size-warning"},We=["innerHTML"],Je={key:3,class:"vue-ui-table-pagination format-num"},Ke=["innerHTML","disabled"],qe=["disabled"],Ze={key:0,class:"vue-ui-table-page-scroller-wrapper"},Qe={for:"pageScroller",style:{"font-size":"14px"}},$e=["max","value"],et={key:1},tt=["disabled"],st=["innerHTML","disabled"],nt=["innerHTML"],rt={class:"chart-modal-options"},ot=["innerHTML"],lt=["innerHTML"],at=["innerHTML"],it={style:{width:"100%",height:"fit-content"},ref:"chartModal"},ct={class:"vue-ui-table-fieldset"},ut={class:"vue-ui-table-fieldset-wrapper"},dt=["name","id","checked","onInput"],ht=["for"],gt=["disabled"],mt=["innerHTML"],yt={style:{width:"100%","margin-bottom":"12px"}},pt={key:2,style:{width:"100%","margin-bottom":"32px"}};function Nt(r,n,o,i,s,t){const u=e.resolveComponent("VueUiXy"),h=e.resolveComponent("VueUiDonut");return e.openBlock(),e.createElementBlock("div",{class:"vue-ui-table-main",style:e.normalizeStyle(`font-family: ${t.FINAL_CONFIG.fontFamily}`)},[e.createElementVNode("div",L,[e.createElementVNode("button",{onClick:n[0]||(n[0]=a=>s.isExportRequest=!s.isExportRequest),innerHTML:t.icons.export,style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.exportMenu.backgroundColor};color:${t.FINAL_CONFIG.style.exportMenu.color}`)},null,12,E),e.createElementVNode("div",{class:"vue-ui-table-export-hub-dropdown","data-is-open":s.isExportRequest||"false",style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.exportMenu.backgroundColor};color:${t.FINAL_CONFIG.style.exportMenu.color}`)},[n[25]||(n[25]=e.createElementVNode("b",{class:"vue-ui-table-export-hub-title"}," Export ",-1)),e.createElementVNode("button",{class:"close-dropdown",onClick:n[1]||(n[1]=a=>s.isExportRequest=!1),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${t.FINAL_CONFIG.style.closeButtons.color};border-radius:${t.FINAL_CONFIG.style.closeButtons.borderRadius}`)}," ✖ ",4),e.createElementVNode("div",B,[e.createElementVNode("div",A,[e.createElementVNode("div",M,e.toDisplayString(t.FINAL_CONFIG.translations.exportAllLabel)+" ("+e.toDisplayString(s.bodyCopy.length)+") ",1),e.createElementVNode("button",{id:"exportAll",onClick:n[2]||(n[2]=a=>t.createXls("all")),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.exportMenu.buttons.backgroundColor};color:${t.FINAL_CONFIG.style.exportMenu.buttons.color}`)},[e.createElementVNode("div",{innerHTML:t.icons.fileDownload},null,8,T),e.createElementVNode("span",null,e.toDisplayString(t.FINAL_CONFIG.translations.exportAllButton),1)],4)]),e.createElementVNode("div",x,[e.createElementVNode("div",G,e.toDisplayString(t.FINAL_CONFIG.translations.exportPageLabel),1),e.createElementVNode("button",{id:"exportPage",onClick:n[3]||(n[3]=a=>t.createXls("page")),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.exportMenu.buttons.backgroundColor};color:${t.FINAL_CONFIG.style.exportMenu.buttons.color}`)},[e.createElementVNode("div",{innerHTML:t.icons.fileDownload},null,8,V),e.createElementVNode("span",null,e.toDisplayString(t.FINAL_CONFIG.translations.exportPageButton),1)],4)])])],12,D)]),e.createElementVNode("div",{class:"vue-ui-table__wrapper",style:e.normalizeStyle(`max-height:${t.FINAL_CONFIG.maxHeight}px`),ref:"tableWrapper"},[e.createElementVNode("table",z,[e.createElementVNode("thead",H,[e.createElementVNode("tr",null,[n[26]||(n[26]=e.createElementVNode("th",{class:"invisible-cell"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.tableHead,(a,l)=>(e.openBlock(),e.createElementBlock("th",{key:`thead_${l}`,style:e.normalizeStyle(`overflow: visible;background:${t.FINAL_CONFIG.style.th.backgroundColor};color:${t.FINAL_CONFIG.style.th.color};outline:${t.FINAL_CONFIG.style.th.outline}`),class:e.normalizeClass({"th-has-nan":s.hasNaN[l]})},[t.hasNumericTypes&&([s.constants.TEXT,s.constants.DATE].includes(a.type)||a.isPercentage)?(e.openBlock(),e.createElementBlock("span",P,[e.createTextVNode(e.toDisplayString(a.name)+" ",1),a.isPercentage?(e.openBlock(),e.createElementBlock("span",R," / "+e.toDisplayString(a.percentageTo),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("span",U,e.toDisplayString(a.name),1))],6))),128))]),t.hasNumericTypes?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("tr",null,[n[27]||(n[27]=e.createElementVNode("th",{class:"invisible-cell"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.tableHead,(a,l)=>(e.openBlock(),e.createElementBlock("th",{key:`thead_${l}`,class:e.normalizeClass({"th-numeric":!0,"th-has-nan":s.hasNaN[l]}),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.th.backgroundColor};color:${t.FINAL_CONFIG.style.th.color};outline:${t.FINAL_CONFIG.style.th.outline}`)},[a.sum&&!s.hasNaN[l]?(e.openBlock(),e.createElementBlock("span",X,[e.createElementVNode("span",{innerHTML:t.icons.sum,style:{"margin-bottom":"-4px","margin-right":"3px"}},null,8,j),e.createTextVNode(" "+e.toDisplayString(t.dataLabel({p:a.prefix,v:Number(t.getSum(l)),s:a.suffix,r:a.decimals}))+" ",1),s.percentages[l]&&a.percentageTo&&!a.isPercentage?(e.openBlock(),e.createElementBlock("span",Y," ("+e.toDisplayString(isNaN(t.getSum(l)/t.getSum(s.percentages[l].referenceIndex))?"-":t.dataLabel({v:t.getSum(l)/t.getSum(s.percentages[l].referenceIndex)*100,s:"%",r:a.decimals}))+") ",1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],6))),128))]),e.createElementVNode("tr",null,[n[28]||(n[28]=e.createElementVNode("th",{class:"invisible-cell"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.tableHead,(a,l)=>(e.openBlock(),e.createElementBlock("th",{key:`thead_${l}`,class:e.normalizeClass({"th-numeric":!0,"th-has-nan":s.hasNaN[l]}),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.th.backgroundColor};color:${t.FINAL_CONFIG.style.th.color};outline:${t.FINAL_CONFIG.style.th.outline}`)},[a.average&&!s.hasNaN[l]?(e.openBlock(),e.createElementBlock("span",W," ~ "+e.toDisplayString(isNaN(t.getAverage(l))?"":t.dataLabel({p:a.prefix,v:Number(t.getAverage(l)),s:a.suffix,r:a.decimals})),1)):e.createCommentVNode("",!0)],6))),128))]),e.createElementVNode("tr",null,[n[31]||(n[31]=e.createElementVNode("th",{class:"invisible-cell"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.tableHead,(a,l)=>(e.openBlock(),e.createElementBlock("th",{key:`thead_${l}`,class:e.normalizeClass({"th-has-nan":s.hasNaN[l]}),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.th.backgroundColor};color:${t.FINAL_CONFIG.style.th.color};outline:${t.FINAL_CONFIG.style.th.outline}`)},[e.createElementVNode("div",J,[a.type===s.constants.DATE&&s.dates[l]?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("div",q,[e.createElementVNode("div",Z,[e.createElementVNode("label",{for:`from_${l}`},e.toDisplayString(t.FINAL_CONFIG.translations.from),9,Q),e.withDirectives(e.createElementVNode("input",{id:`from_${l}`,type:"date","onUpdate:modelValue":c=>s.dates[l].from=c,onInput:c=>{t.filterBody(),t.setFilterDatesIndexes(l)},style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.inputs.backgroundColor};color:${t.FINAL_CONFIG.style.inputs.color};border:${t.FINAL_CONFIG.style.inputs.border}`)},null,44,$),[[e.vModelText,s.dates[l].from]])]),e.createElementVNode("div",ee,[e.createElementVNode("label",{for:`to_${l}`},e.toDisplayString(t.FINAL_CONFIG.translations.to),9,te),e.withDirectives(e.createElementVNode("input",{id:`to_${l}`,type:"date","onUpdate:modelValue":c=>s.dates[l].to=c,onInput:c=>{t.filterBody(),t.setFilterDatesIndexes(l)},style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.inputs.backgroundColor};color:${t.FINAL_CONFIG.style.inputs.color};border:${t.FINAL_CONFIG.style.inputs.border}`)},null,44,se),[[e.vModelText,s.dates[l].to]])])]),e.createElementVNode("div",ne,[a.isSort?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:c=>t.sortTh(l,c),class:e.normalizeClass({"th-button-active":[s.constants.DESC,s.constants.ASC].includes(s.sorts[l])}),style:e.normalizeStyle(`background:${[s.constants.DESC,s.constants.ASC].includes(s.sorts[l])?"":t.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${[s.constants.DESC,s.constants.ASC].includes(s.sorts[l])?"":t.FINAL_CONFIG.style.pagination.buttons.color}`)},[s.sorts[l]===s.constants.ASC?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:[s.constants.DATE].includes(a.type)?t.icons.sort09:t.icons.sortAZ},null,8,oe)):s.sorts[l]===s.constants.DESC?(e.openBlock(),e.createElementBlock("span",{key:1,innerHTML:[s.constants.DATE].includes(a.type)?t.icons.sort90:t.icons.sortZA},null,8,le)):(e.openBlock(),e.createElementBlock("span",{key:2,innerHTML:t.icons.arrowSort},null,8,ae))],14,re)):e.createCommentVNode("",!0),e.createElementVNode("button",{onClick:c=>{t.resetDates(l),t.resetFilter(l,a,c)},disabled:!s.filteredDatesIndexes[l]&&t.isResetDisabled(l,a),class:"th-reset"}," ✖ ",8,ie)])])):e.createCommentVNode("",!0),a.isSearch?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,placeholder:t.FINAL_CONFIG.translations.inputPlaceholder,"onUpdate:modelValue":c=>s.searches[l]=c,onInput:n[4]||(n[4]=c=>t.debounce(t.filterBody,400)),name:`search_${l}`,style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.inputs.backgroundColor};color:${t.FINAL_CONFIG.style.inputs.color};border:${t.FINAL_CONFIG.style.inputs.border}`)},null,44,ce)),[[e.vModelText,s.searches[l]]]):e.createCommentVNode("",!0),!s.hasNaN[l]&&a.isSort&&a.type!==s.constants.DATE?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:c=>t.sortTh(l,c),class:e.normalizeClass({"th-button-active":[s.constants.DESC,s.constants.ASC].includes(s.sorts[l])}),style:e.normalizeStyle(`background:${[s.constants.DESC,s.constants.ASC].includes(s.sorts[l])?"":t.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${[s.constants.DESC,s.constants.ASC].includes(s.sorts[l])?"":t.FINAL_CONFIG.style.pagination.buttons.color}`)},[s.sorts[l]===s.constants.ASC?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:[s.constants.NUMERIC].includes(a.type)?t.icons.sort09:t.icons.sortZA},null,8,de)):s.sorts[l]===s.constants.DESC?(e.openBlock(),e.createElementBlock("span",{key:1,innerHTML:[s.constants.NUMERIC].includes(a.type)?t.icons.sort90:t.icons.sortAZ},null,8,he)):(e.openBlock(),e.createElementBlock("span",{key:2,innerHTML:t.icons.arrowSort},null,8,ge))],14,ue)):e.createCommentVNode("",!0),a.isMultiselect?(e.openBlock(),e.createElementBlock("button",{key:3,onClick:c=>t.toggleMultiselect(l,a,c),innerHTML:t.icons.filter,class:e.normalizeClass({"th-button-active":s.multiselects[l]&&s.multiselects[l].length!==t.getDropdownOptions(l).length}),style:e.normalizeStyle(`background:${s.multiselects[l]&&s.multiselects[l].length!==t.getDropdownOptions(l).length?"":t.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${s.multiselects[l]&&s.multiselects[l].length!==t.getDropdownOptions(l).length?"":t.FINAL_CONFIG.style.pagination.buttons.color}`)},null,14,me)):e.createCommentVNode("",!0),s.currentSelectionSpan.col===l&&t.canChart?(e.openBlock(),e.createElementBlock("button",{key:4,onClick:n[5]||(n[5]=c=>s.showChart=!s.showChart),innerHTML:t.icons.chart,class:e.normalizeClass({"th-button-active":s.showChart}),style:e.normalizeStyle(`background:${s.showChart?"":t.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${s.showChart?"":t.FINAL_CONFIG.style.pagination.buttons.color}`)},null,14,ye)):e.createCommentVNode("",!0),a.rangeFilter&&s.rangeFilters[l]&&!s.hasNaN[l]?(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("label",{for:`rangeMin${l}`},n[29]||(n[29]=[e.createElementVNode("span",{style:{color:"grey"}},"ᒥ",-1),e.createTextVNode(" min "),e.createElementVNode("span",{style:{color:"grey"}},"ᒣ",-1)]),8,Ne),e.withDirectives(e.createElementVNode("input",{type:"number",id:`rangeMin${l}`,max:s.immutableRangeFilters[l].max,min:s.immutableRangeFilters[l].min,"onUpdate:modelValue":c=>s.rangeFilters[l].min=c,onInput:n[6]||(n[6]=c=>t.debounce(t.filterBody,400)),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.inputs.backgroundColor};color:${t.FINAL_CONFIG.style.inputs.color};border:${t.FINAL_CONFIG.style.inputs.border}`)},null,44,be),[[e.vModelText,s.rangeFilters[l].min,void 0,{number:!0}]]),e.withDirectives(e.createElementVNode("input",{type:"number",id:`rangeMax${l}`,max:s.immutableRangeFilters[l].max,min:s.immutableRangeFilters[l].min,"onUpdate:modelValue":c=>s.rangeFilters[l].max=c,onInput:n[7]||(n[7]=c=>t.debounce(t.filterBody,400)),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.inputs.backgroundColor};color:${t.FINAL_CONFIG.style.inputs.color};border:${t.FINAL_CONFIG.style.inputs.border}`)},null,44,Ce),[[e.vModelText,s.rangeFilters[l].max,void 0,{number:!0}]]),e.createElementVNode("label",{for:`rangeMax${l}`},n[30]||(n[30]=[e.createElementVNode("span",{style:{color:"grey"}},"ᒪ",-1),e.createTextVNode(" max "),e.createElementVNode("span",{style:{color:"grey"}},"ᒧ",-1)]),8,fe)])):e.createCommentVNode("",!0),t.canResetColumn(l,a)?(e.openBlock(),e.createElementBlock("button",{key:6,onClick:c=>t.resetFilter(l,a,c),disabled:t.isResetDisabled(l,a),class:"th-reset"}," ✖ ",8,ke)):e.createCommentVNode("",!0),a.isMultiselect?(e.openBlock(),e.createElementBlock("div",{key:7,class:"th-dropdown","data-is-open":"false",id:`th_dropdown_${l}`,style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.dropdowns.backgroundColor};color:${t.FINAL_CONFIG.style.dropdowns.color}`)},[e.createElementVNode("button",{class:"close-dropdown",onClick:c=>t.toggleMultiselect(l,a,c),style:e.normalizeStyle(`background:${t.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${t.FINAL_CONFIG.style.closeButtons.color}`)}," ✖ ",12,Ie),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.getDropdownOptions(l),(c,d)=>(e.openBlock(),e.createElementBlock("span",{class:"th-option",key:`th_option_${l}_${d}`,onClick:y=>t.selectDropdownOption(c,l),onKeyup:[e.withKeys(y=>t.selectDropdownOption(c,l),["enter"]),e.withKeys(y=>t.selectDropdownOption(c,l),["space"])],style:e.normalizeStyle(`opacity:${t.isDropdownOptionSelected(c,l)?1:.5}`),tabindex:"0"},[t.isDropdownOptionSelected(c,l)?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(`color:${t.FINAL_CONFIG.style.dropdowns.icons.selected.color};margin-right:5px`),class:"th-icon-green"},e.toDisplayString(t.FINAL_CONFIG.style.dropdowns.icons.selected.unicode),5)):(e.openBlock(),e.createElementBlock("span",{key:1,style:e.normalizeStyle(`color:${t.FINAL_CONFIG.style.dropdowns.icons.unselected.color};margin-right:5px`),class:"th-icon-red"},e.toDisplayString(t.FINAL_CONFIG.style.dropdowns.icons.unselected.unicode),5)),e.createElementVNode("span",null,e.toDisplayString(c),1)],44,ve))),128))],12,Fe)):e.createCommentVNode("",!0)])],6))),128))])],64)):e.c